Defining IBM MQ to IMS
IBM MQ must be defined to the IMS control region, and to each dependent region accessing that IBM MQ queue manager. To do this, you must create a subsystem member (SSM) in the IMS.PROCLIB library, and identify the SSM to the applicable IMS regions.
Placing the subsystem member entry in IMS.PROCLIB
Each SSM entry in IMS.PROCLIB defines a connection from an IMS region to a different queue manager.
To name an SSM member, concatenate the value (one to four alphanumeric characters) of the IMSID field of the IMS IMSCTRL macro with any name (one to four alphanumeric characters) defined by your site.
One SSM member can be shared by all the IMS regions, or a specific member can be defined for each region. This member contains as many entries as there are connections to external subsystems. Each entry is an 80-character record.
- Positional parameters
-
The fields in this entry are:
SSN,LIT,ESMT,RTT,REO,CRC
where:
- SSN
- Specifies the IBM MQ queue manager name. It is required, and must contain one through four characters.
- LIT
- Specifies the language interface token (LIT) supplied to IMS. This field is required, its value must match one in the CSQQDEFV module.
- ESMT
- Specifies the external subsystem module table (ESMT). This table specifies which attachment modules must be loaded by IMS. CSQQESMT is the required value for this field.
- RTT
- This option is not supported by IBM MQ.
- REO
-
Specifies the region error option (REO) to be used if an IMS application references a non-operational external subsystem or if resources are unavailable at create thread time. This field is optional and contains a single character, which can be:
- R
- Passes a return code to the application, indicating that the request for IBM MQ services failed.
- Q
- Ends the application with an abend code U3051, backs out activity to the last commit point, does a PSTOP of the transaction, and requeues the input message. This option only applies when an IMS application tries to reference a non-operational external subsystem or if the resources are unavailable at create thread time.
IBM MQ completion and reason codes are returned to the application if the IBM MQ problem occurs while IBM MQ is processing the request; that is, after the adapter has passed the request on to IBM MQ.
- A
- Ends the application with an abend code of U3047 and discards the input message. This option only applies when an IMS application references a non-operational external subsystem or if the resources are unavailable at create thread time.
IBM MQ completion and reason codes are returned to the application if the IBM MQ problem occurs while IBM MQ is processing the request; that is, after the adapter has passed the request on to IBM MQ.
- CRC
- This option can be specified but is not used by IBM MQ.
An example SSM entry is:
CSQ1,MQM1,CSQQESMT,,R,
where:CSQ1 The default subsystem name as supplied with IBM MQ. We can change this to suit your installation. MQM1 The default LIT as supplied in CSQQDEFV. CSQQESMT The external subsystem module name. You must use this value. R REO option. - Keyword parameters
-
IBM MQ parameters can be specified in keyword format; to do this you must specify SST=Db2®. Other parameters are as described in Positional parameters, and shown in the following example:
SST=DB2,SSN=SYS3,LIT=MQM3,ESMT=CSQQESMT
where:SYS3 The subsystem name MQM3 The LIT as supplied in CSQQDEFV CSQQESMT The external subsystem module name
Specifying the SSM EXEC parameter
Specify the SSM EXEC parameter in the startup procedure of the IMS control region. This parameter specifies the one-character to four-character subsystem member name (SSM).
If you specify the SSM for the IMS control region, any dependent region running under the control region can attach to the IBM MQ queue manager named in the IMS.PROCLIB member specified by the SSM parameter. The IMS.PROCLIB member name is the IMS ID (IMSID= xxxx) concatenated with the one to four characters specified in the SSM EXEC parameter. The IMS ID is the IMSID parameter of the IMSCTRL generation macro.
IMS lets you define as many external subsystem connections as are required. More than one connection can be defined for different IBM MQ queue managers. All IBM MQ connections must be within the same z/OS® system. For a dependent region, we can specify a dependent region SSM or use the one specified for the control region. We can specify different region error options (REOs) in the dependent region SSM member and the control region SSM member. Table 1 shows the different possibilities of SSM specifications.SSM for control region | SSM for dependent region | Action | Comments |
---|---|---|---|
No | No | None | No external subsystem can be connected. |
No | Yes | None | No external subsystem can be connected. |
Yes | No | Use the control region SSM | Applications scheduled in the region can access external subsystems identified in the control region SSM. Exits and control blocks for each attachment are loaded into the control region and the dependent region address spaces. |
Yes | Yes (empty) | No SSM is used for the dependent region | Applications scheduled in this region can access DL/I databases only. Exits and control blocks for each attachment are loaded into the control region address space. |
Yes | Yes (not empty) | Check the dependent region SSM with the control region SSM | Applications scheduled in this region can access only external subsystems identified in both SSMs. Exits and control blocks for each attachment are loaded into the control region and the dependent region address spaces. |
There is no specific parameter to control the maximum number of SSM specification possibilities.
Preloading the IMS adapter
The performance of the IMS adapter can be improved if it is preloaded by IMS. Preloading is controlled by the DFSMPLxx member of IMS.PROCLIB: see " IMS Administration Guide: System" for more information. The IBM MQ module names to specify are:CSQACLST | CSQAMLST | CSQAPRH | CSQAVICM | CSQFSALM | CSQQDEFV |
CSQQCONN | CSQQDISC | CSQQTERM | CSQQINIT | CSQQBACK | CSQQCMMT |
CSQQESMT | CSQQPREP | CSQQTTHD | CSQQWAIT | CSQQNORM | CSQQSSOF |
CSQQSSON | CSQFSTAB | CSQQRESV | CSQQSNOP | CSQQCMND | CSQQCVER |
CSQQTMID | CSQQTRGI | CSQQCON2 | CSQBPAPI | CSQBCRMH | CSQBAPPL |
For more information on the use of IBM MQ classes for JMS, see Use IBM MQ classes for JMS in IMS.
Current releases of IMS support preloading IBM MQ modules from PDS-E format libraries in MPP, BMP, IFP, JMP and JBP regions only. Any other type of IMS region does not support preloading from PDS-E libraries. If preloading is required for any other type of region, then the IBM MQ modules that are provided must be copied to a PDS format library.