Update the z/OS link list and LPA
Update the LPA libraries with the new version of early code libraries. Other code can go in the link list or the LPA.
- We need to perform this task once for each z/OS system where we want to run IBM MQ .
- If we are using queue sharing groups, we must ensure that the settings for IBM MQ are identical on each z/OS system in the sysplex.
- We might need to perform this task when migrating from a previous version. For further details, see the Program Directory. Program Directories can be downloaded from the IBM Publications Center (see IBM MQ for z/OS Program Directory PDF files).
Note: The data set for LPA is version specific. If we are using an existing LPA in the system, contact the system administrator to decide which LPA to use.
Early code
Some IBM MQ load modules need to be added to MVS™ for IBM MQ to act as a subsystem. These modules are known as the Early code, and they can be executed even if a queue manager is not active. For example, when an operator command is issued on the console with an IBM MQ command prefix, this Early code will get control and check if it needs to start a queue manager, or to pass the request to a running queue manager. This code is loaded into the Link Pack Area (LPA). There is one set of Early modules, which are used for all queue managers, and these need to be at the highest level of IBM MQ. Early code from a higher version of IBM MQ will work with a queue manager with a lower version of IBM MQ, but not the opposite.
The early code comprises the following load modules:- CSQ3INI and CSQ3EPX in the library thqual.SCSQLINK
- CSQ3ECMX in the library thqual.SCSQSNL x, where x is your
language letter:
- thlqual.SCSQSNLE, for US English mixed case
- thlqual.SCSQSNLU, for US English uppercase
- thlqual.SCSQSNLK, for Japanese
- thlqual.SCSQSNLF, for French
- thlqual.SCSQSNLC, for Chinese
IBM MQ includes a user modification that moves the contents of the thqual.SCSQSNL i library into the thqual.SCSQLINK and informs SMP/E. This user modification is called CSQ8UERL and is described in the Program Directory for IBM MQ for z/OS , for either Long Term Support or Continuous Delivery. Program Directories can be downloaded from the IBM Publications Center (see IBM MQ for z/OS Program Directory PDF files).
When you have updated the early code in the LPA libraries, it is available from the next z/OS IPL (with the CLPA option) to all queue manager subsystems added during IPL from definitions in IEFSSNss members in SYS1.PARMLIB.
We can make it available immediately without an IPL for any new queue manager subsystem added later (as described in Define the IBM MQ subsystem to z/OS ) by adding it to the LPA as follows:- If you did not use CSQ8UERL, issue these z/OS
commands:
SETPROG LPA,ADD,MODNAME=(CSQ3INI,CSQ3EPX),DSNAME=thqual.SCSQLINK SETPROG LPA,ADD,MODNAME=(CSQ3ECMX),DSNAME=thqual.SCSQSNL x
- If you did use CSQ8UERL, we can load the early code into the LPA using the following z/OS command:
SETPROG LPA,ADD,MASK=*,DSNAME=thqual.SCSQLINK
- If we are using Advanced Message Security we must
also issue the following z/OS command to include an
additional module in the LPA:
SETPROG LPA,ADD,MODNAME=(CSQ0DRTM),DSNAME=thqual.SCSQLINK
If we have applied maintenance, or you intend to restart a queue manager with a later version or release of IBM MQ, the early code can be made available to queue manager subsystems that are already defined, provided the level of the early code when the z/OS system was started was at least that of Version 5.3. To make it available, use the following steps:
- Add it to the LPA using z/OS SETPROG commands as described previously in this topic.
- Stop the queue manager, using the IBM MQ command STOP QMGR.
- Ensure that the qmgr.REFRESH.QMGR security profile is set up. See MQSC commands, profiles, and their access levels.
- Refresh the early code for the queue manager using the IBM MQ command REFRESH QMGR TYPE(EARLY).
- Restart the queue manager, using the IBM MQ command START QMGR.
The IBM MQ commands STOP QMGR, REFRESH QMGR, and START QMGR are described in MQSC commands.
Other code
All the IBM MQ supplied load modules in the following libraries are reentrant and can be placed in the LPA:- SCSQAUTH
- SCSQANL x, where x is your language letter
- SCSQMVR1
Important: However, if you place the libraries in the LPA, whenever you apply maintenance, you have to copy any changed modules manually into the LPA. Therefore, it is preferable to put the IBM MQ load libraries in the link list, which can be updated after maintenance by issuing the z/OS command REFRESH LLA.
This is particularly recommended for SCSQAUTH so that we do not have to include it in several STEPLIBs. Only one language library, SCSQANL x should be placed in the LPA or link list. The link list libraries are specified in an LNKLSTkk member of SYS1.PARMLIB.
The distributed queuing facility and CICS bridge (but not the queue manager itself) need access to the Language Environment (LE) runtime library SCEERUN. If we use either of these facilities, we need to include SCEERUN in the link list.
Parent topic: Configure the z/OS system for IBM MQRelated concepts