Task 17: Tailor your system parameter module

The IBM® MQ system parameter module controls the logging, archiving, tracing, and connection environments that IBM MQ uses in its operation. A default module is supplied, or you can create your own using supplied JCL and assembler source modules.

  • Repeat this task for each IBM MQ queue manager, as required.
  • You need to perform this task when migrating from a previous version. For details, see Migrating and upgrading IBM MQ.
  • To enable IBM MQ Advanced Message Security for z/OS® on an existing queue manager, you only need to set SPLCAP to YES as described in Using CSQ6SYSP. If you are configuring this queue manager for the first time, complete the whole of this task.

The system parameter module has three macros as follows:

Macro name Purpose
CSQ6SYSP Specifies the connection and tracing parameters, see Using CSQ6SYSP
CSQ6LOGP Controls log initialization, see Using CSQ6LOGP
CSQ6ARVP Controls archive initialization, see Using CSQ6ARVP

IBM MQ supplies a default system parameter module, CSQZPARM, which is invoked automatically if you issue the START QMGR command (without a PARM parameter) to start an instance of IBM MQ. CSQZPARM is in the APF-authorized library thlqual.SCSQAUTH also supplied with IBM MQ. The values of these parameters are displayed as a series of messages when you start IBM MQ.

See START QMGR for more information about how this command is used.

Creating your own system parameter module

If CSQZPARM does not contain the system parameters you want, you can create your own system parameter module using the sample JCL provided in thlqual.SCSQPROC(CSQ4ZPRM).

To create your own system parameter module:
  1. Make a working copy of the JCL sample.
  2. Edit the parameters for each macro in the copy as required. If you remove any parameters from the macro calls, the default values are automatically picked up at run time.
  3. Replace the placeholder ++NAME++ with the name that the load module is to take (this can be CSQZPARM).
  4. If your assembler is not high-level assembler, change the JCL as required by your assembler.
  5. Run the JCL to assemble and link edit the tailored versions of the system parameter macros to produce a load module. This is the new system parameter module with the name that you have specified.
  6. Put the load module produced in an APF-authorized user library.
  7. Add user READ access to the APF-authorized user library.
  8. Include this library in the IBM MQ queue manager started task procedure STEPLIB. This library name must come before the library thlqual.SCSQAUTH in STEPLIB.
  9. Invoke the new system parameter module when you start the queue manager. For example, if the new module is named NEWMODS, issue the command:
    
    START QMGR PARM(NEWMODS)
    
  10. Ensure successful completion of the command by checking the job log. There should be an entry in the log similar to the following:
    
    CSQ9022I CDL1 CSQYASCP 'START QMGR' NORMAL COMPLETION
    
You can also specify the parameter module name in the queue manager startup JCL. For more information, see Starting and stopping a queue manager.
Note: If you choose to name your module CSQZPARM, you do not need to specify the PARM parameter on the START QMGR command.

Fine tuning a system parameter module

IBM MQ also supplies a set of three assembler source modules, which can be used to fine-tune an existing system parameter module. These modules are in library thlqual.SCSQASMS. Typically, you use these modules in a test environment to change the default parameters in the system parameter macros. Each source module calls a different system parameter macro:

This assembler source module... Calls this macro...
CSQFSYSP CSQ6SYSP (connection and tracing parameters)
CSQJLOGP CSQ6LOGP (log initialization)
CSQJARVP CSQ6ARVP (archive initialization)
This is how you use these modules:
  1. Make working copies of each assembler source module in a user assembler library.
  2. Edit your copies by adding or altering the values of any parameters as required.
  3. Assemble your copies of any edited modules to create object modules in a user object library.
  4. Link edit these object code modules with an existing system parameter module to produce a load module that is the new system parameter module.
  5. Ensure that new system parameter module is a member of a user authorized library.
  6. Include this library in the queue manager started task procedure STEPLIB. This library must come before the library thlqual.SCSQAUTH in STEPLIB.
  7. Invoke the new system parameter module by issuing a START QMGR command, specifying the new module name in the PARM parameter, as before.

A sample usermod is provided in member CSQ4UZPR of SCSQPROC which demonstrates how to manage customized system parameters under SMP/E control.

Altering system parameters

You can alter some system parameters while a queue manager is running; see the SET SYSTEM, SET LOG, and SET ARCHIVE commands.

Put the SET commands in your initialization input data sets so that they take effect every time you start the queue manager.