Control IMS dependent region connections
We can control, monitor, and, when necessary, terminate connections between IMS and IBM MQ .
Controlling IMS dependent region connections involves the following activities:
- Connect from dependent regions
- Region error options
- Monitor the activity on connections
- Disconnect from dependent regions
Connect from dependent regions
The IMS adapter used in the control region is also loaded into dependent regions. A connection is made from each dependent region to IBM MQ. This connection is used to coordinate the commitment of IBM MQ and IMS work. To initialize and make the connection, IMS does the following:
- Reads the subsystem member (SSM) from IMS.PROCLIB.
A subsystem member can be specified on the dependent region EXEC parameter. If it is not specified, the control region SSM is used. If the region is never likely to connect to IBM MQ, to avoid loading the adapter, specify a member with no entries.
- Loads the IBM MQ adapter.
For a batch message program, the load is not done until the application issues its first messaging command. At that time, IMS tries to make the connection.
For a message-processing program region or IMS fast-path region, the attempt is made when the region is initialized.
Region error options
If the queue manager is not active, or if resources are not available when the first messaging command is sent from application programs, the action taken depends on the error option specified on the SSM entry. The options are:
- R
- The appropriate return code is sent to the application.
- Q
- The application ends abnormally with abend code U3051. The input message is re-queued.
- A
- The application ends abnormally with abend code U3047. The input message is discarded.
Monitor the activity on connections
A thread is established from a dependent region when an application makes its first successful IBM MQ request. We can display information about connections and the applications currently using them by issuing the following command from IBM MQ:+CSQ1 DISPLAY CONN(*) ALLThe command produces a message like the following:CONN(BC45A794C4290001) EXTCONN(C3E2D8C3C3E2D8F14040404040404040) TYPE(CONN) CONNOPTS( MQCNO_STANDARD_BINDING ) UOWLOGDA(2004-12-15) UOWLOGTI(16.39.43) UOWSTDA(2004-12-15) UOWSTTI(16.39.43) UOWSTATE(ACTIVE) NID( ) EXTURID( 0000052900000000 ) QMURID(00000354B76E) URTYPE(IMS) USERID(STCPI) APPLTAG(IM8F) ASID(0049) APPLTYPE(IMS) PSTID(0004) PSBNAME(GP01MPP)For the control region, thread-xref is the special value CONTROL. For dependent regions, it is the PSTid concatenated with the PSBname. auth-id is either the user field from the job card, or the ID from the z/OS started procedures table.
For an explanation of the displayed list, see the description of message CSQV402I in the IBM MQ for z/OS messages, completion, and reason codes documentation.
IMS provides a display command to monitor the connection to IBM MQ. It shows which program is active on each dependent region connection, the LTERM user name, and the control region connection status. The command is:/DISPLAY SUBSYS nameThe status of the connection between IMS and IBM MQ is shown as one of:CONNECTED NOT CONNECTED CONNECT IN PROGRESS STOPPED STOP IN PROGRESS INVALID SUBSYSTEM NAME= name SUBSYSTEM name NOT DEFINED BUT RECOVERY OUTSTANDINGThe thread status from each dependent region is one of the following:CONN CONN, ACTIVE (includes LTERM of user)
Disconnect from dependent regions
To change values in the SSM member of IMS.PROCLIB, you disconnect a dependent region. To do this, we must:
- Issue the IMS command:
/STOP REGION- Update the SSM member.
- Issue the IMS command:
/START REGIONParent topic: Operate the IMS adapter