+

Search Tips | Advanced Search

Tailor the 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. We should create your own system parameter module as some parameters, for example data set names, are usually site specific.

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

The system parameter module has four macros as follows:

Macro name Purpose
CSQ6SYSP Specifies the connection and tracing parameters, see Use CSQ6SYSP
CSQ6LOGP Controls log initialization, see Use CSQ6LOGP
CSQ6ARVP Controls archive initialization, see Use CSQ6ARVP
CSQ6USGP Controls usage recording, see Use CSQ6USGP

IBM MQ supplies a default system parameter module, CSQZPARM, which is invoked automatically if we 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.


Create your own system parameter module

If CSQZPARM does not contain the system parameters we want, we 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 we 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
    

We 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, we 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, we 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 we 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

We 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.

  • Use CSQ6SYSP
    Use this topic as a reference for how to set system parameters using CSQ6SYSP.
  • Use CSQ6LOGP
    Use this topic as a reference for how to specify logging options using CSQ6LOGP.
  • Use CSQ6ARVP
    Use this topic as a reference for how to specify your archiving environment using CSQ6ARVP
  • Use CSQ6USGP
    Use this topic as a reference for how to set the system parameters using CSQ6USGP

Parent topic: Configure the queue manager and channel initiator


Related concepts

Last updated: 2020-10-04