Table of Contents
- Overview
- Connection
- Opening & closing objects
- Sending & receiving messages
- Inquiry
- Unit of work (syncpoint)
- Option / control structures
- Triggered transactions
- Summary
- Related articles
Audience: developers and technical decision-makers checking which IBM MQ operations a Heirloom-migrated PL/I application supports.
Overview
This is a quick reference to the IBM MQ (MQI) operations the runtime supports, grouped by area with a one-line explanation each. Your migrated PL/I keeps its MQI calls and option structures unchanged; the runtime connects them to a real queue manager.
For configuration and usage patterns, see How to Use IBM MQ Messaging. For CICS and SQL, see the companion Supported CICS Features and Supported SQL Features.
Note: This is a summary of the commonly used surface, not an exhaustive option-by-option specification. If you need confirmation that a specific call or option your application relies on is covered, contact Heirloom support with the detail.
Connection
| Call | Purpose |
|---|---|
MQCONN, MQCONNX
|
Connect to a queue manager (and obtain a connection handle) |
MQDISC |
Disconnect from the queue manager |
Opening & closing objects
| Call | Purpose |
|---|---|
MQOPEN |
Open a queue (or other object) for input/output, using an MQOD
|
MQCLOSE |
Close a previously opened object |
Sending & receiving messages
| Call | Purpose |
|---|---|
MQGET |
Read a message from an open queue (wait/no-wait, syncpoint, match options via MQGMO) |
MQPUT |
Put a message on an already-open queue |
MQPUT1 |
Open + put + close in a single call (no persistent handle) |
Inquiry
| Call | Purpose |
|---|---|
MQINQ |
Inquire about an object's attributes |
Unit of work (syncpoint)
| Call | Purpose |
|---|---|
MQCMIT |
Commit messages within the current unit of work |
MQBACK |
Back out (roll back) messages in the current unit of work |
MQBEGIN |
Begin a unit of work |
When MQGET / MQPUT use the syncpoint options, message work commits or rolls back with the transaction (alongside DB2 updates, for example) at the transaction boundary.
Option / control structures
| Structure | Controls |
|---|---|
MQMD (Message Descriptor) |
Message identity & properties — MsgId, CorrelId, Format, Priority, Persistence, ReplyToQ, etc. |
MQGMO (Get Message Options) |
Get behavior — wait vs. no-wait, syncpoint, match options |
MQPMO (Put Message Options) |
Put behavior — syncpoint and related options |
MQOD (Object Descriptor) |
Which queue/object to open (ObjectName, ObjectQMgrName) |
MQTM (Trigger Message) |
The trigger message a trigger monitor reads to start a transaction |
Triggered transactions
The runtime supports the standard trigger-monitor model: a message arriving on a queue places a trigger message on an initiation queue; a trigger monitor (CKTI) reads it and starts the named transaction, which then MQGETs and processes the data. See How to Use IBM MQ Messaging for the full flow.
Every MQI call returns a completion code and reason code (
COMPCODE/REASON); always test them, just as on the host.
Summary
The supported MQ surface covers connection (MQCONN/MQCONNX/MQDISC), object handles (MQOPEN/MQCLOSE), messaging (MQGET/MQPUT/MQPUT1), inquiry (MQINQ), and unit-of-work control (MQCMIT/MQBACK/MQBEGIN), with the standard MQMD/MQGMO/MQPMO/MQOD/MQTM structures and the trigger-monitor model. This list is a summary; contact support to confirm a specific call or option.
0 Comments