Sample definitions supplied with IBM MQ for z/OS

Use this topic as a reference for the sample JCL, and code supplied with IBM MQ for z/OS .

The following sample definitions are supplied with IBM MQ in the thlqual.SCSQPROC library. We can use them to define the system objects and to customize your own objects. We can include some of them in the initialization input data sets (described in Initialization commands ).

Initialization input data set Sample name
CSQINP1 CSQ4INP1
CSQ4INPR
CSQINP2 CSQ4INSA
CSQ4INYS 1
CSQ4INSX
CSQ4INSG
CSQ4INSR
CSQ4INSS
CSQ4INSJ
CSQ4INSM
CSQ4INYG
CSQ4INYR
CSQ4INYC
CSQ4INYD
CSQ4INSC
CSQINPT CSQ4INST
CSQ4INYT

Other CSQ4DISP
CSQ4INPX
CSQ4IVPQ
CSQ4IVPG
CSQ4MSTR
CSQ4MSRR
CSQ4QMIN
Note:
  1. The order of these sample definitions is important: an error occurs if INYS, INSX, and INSG are ordered incorrectly.


CSQINP1 samples

Use the sample CSQINP1 data set thlqual.SCSQPROC(CSQ4INP1) when we are using one page set for each class of message, or thlqual.SCSQPROC(CSQ4INPR) when using multiple page sets for the major classes of message. It contains definitions of buffer pools, page set to buffer pool associations, and an ALTER SECURITY command. Include the sample in the CSQINP1 concatenation of our queue manager started task procedure.


CSQINP2 samples

    CSQ4INSG system object sample
    The sample CSQINP2 data set thlqual.SCSQPROC(CSQ4INSG) contains definitions for the following system objects for general use:

    • System default objects
    • System command objects
    • System administration objects
    • Other objects for system use

    We must define the objects in this sample, but we need to do it only once when the subsystem is first started. Including the definitions in the CSQINP2 data set is the best way to do this. They are maintained across queue manager shutdown and restart. We must not change the object names, but we can change their attributes if required.

    When the following conditions are met, one message is put to the SYSTEM.DURABLE.SUBSCRIBER.QUEUE queue (even if publish subscribe is not active):

    • The IBM MQ installation is Version 7.0.0 or later
    • The QMGR attribute PSMODE is set to DISABLED
    • The sample object CSQ4INST statement DEFINE SUB('SYSTEM.DEFAULT.SUB') is present.

    To avoid this, delete or comment out the DEFINE SUB('SYSTEM.DEFAULT.SUB') statement.

    The JMS 2.0 delivery delay staging queue, SYSTEM.DDELAY.LOCAL.QUEUE only need be defined if JMS 2.0 delivery delay is used. By default, the queue definition is commented out, which we can uncomment if required.

    CSQ4INSA system object and authentication sample

    The sample CSQINP2 data set thlqual.SCSQPROC(CSQ4INSA) contains the channel authentication system queue definition. This queue holds the channel authentication records. It also contains the default channel authentication rules.

    We must define the objects in this sample if CHLAUTH is ENABLED on the queue manager and you want to run channels, or we want to SET or DISPLAY CHLAUTH record. You only need to define them once when the subsystem is first started. Including the definitions in the CSQINP2 data set is the best way to do this. They are maintained across a queue manager shutdown and restart, we must not change the queue name.

    CSQ4INSS system object sample

    We can define additional system objects if we are using queue sharing groups.

    Sample data set thlqual.SCSQPROC(CSQ4INSS) contains sample commands for use with CF structures and a set of definitions for the system objects required for shared channels and intra-group queuing.

    We cannot use this sample as is; we must customize it before use. Then we can include this member in the CSQINP2 DD concatenation of the queue manager startup procedure, or we can use it as input to the COMMAND function of the CSQUTIL utility to issue the required commands.

    When we are defining group or shared objects, we need to include them in the CSQINP2 DD concatenation for only one queue manager in the queue sharing group.

    CSQ4INSX system object sample

    We must define additional system objects if we are using distributed queuing and clustering.

    Sample data set thlqual.SCSQPROC(CSQ4INSX) contains the queue definitions required. We can include this member in the CSQINP2 DD concatenation of the queue manager startup procedure, or you can use it as input to the COMMAND function in CSQUTIL utility to issue the required DEFINE commands.

    There are two types of object definitions:

    • SYSTEM.CHANNEL.xx, needed for any distributed queuing
    • SYSTEM.CLUSTER.xx, needed for clustering

    CSQ4INSJ system JMS object sample

    Defines queues used in the JMS publish/subscribe domain.

    CSQ4INSM system object sample

    If we are using advanced message security we must define additional system objects. Sample data set thlqual.SCSQPROC(CSQ4INSM) contains the queue definitions required.

    CSQ4INSR object sample

    Defines queues used by WebSphere Application Server and brokers.

    CSQ4INYD object sample

    If we are using distributed queuing and set up your own queues, processes, and channels.

    Sample data set thlqual.SCSQPROC(CSQ4INYD) contains sample definitions that we can use for customizing your distributed queuing objects. It comprises:

    • A set of definitions for the sending end
    • A set of definitions for the receiving end
    • A set of definitions for using clients

    We cannot use this sample as is - we must customize it before use. Then we can include this member in the CSQINP2 DD concatenation of the queue manager startup procedure, or we can use it as input to the COMMAND function of the CSQUTIL utility to issue the required DEFINE commands. (This is preferable because it means that you don't have to redefine these objects each time you restart the queue manager).

    CSQ4INYC object sample

    If we are using clustering, definitions equivalent to the channel definitions and remote queue definitions of distributed queuing are created automatically, when needed. However, some manual channel definitions are needed - a cluster-receiver channel for the cluster and a cluster-sender definition to at least one cluster repository queue manager.

    The sample data set: thlqual.SCSQPROC(CSQ4INYC) contains the following sample definitions that we can use for customizing the clustering objects:

    • Definitions for the queue manager
    • Definitions for the receiving channel
    • Definitions for the sending channel
    • Definitions for cluster queues
    • Definitions for lists of clusters

    We cannot use this sample as is - we must customize it before use. Then we can include this member in the CSQINP2 DD concatenation of the queue manager startup procedure, or we can use it as input to the COMMAND function of the CSQUTIL utility to issue the required DEFINE commands. This is preferable because it means that you don't have to redefine these objects each time that you restart IBM MQ.

    CSQ4INYG object sample
    The sample data set: thlqual.SCSQPROC(CSQ4INYG) contains the following sample definitions that we can use for customizing your own objects for general use:

    • Dead-letter queue
    • Default transmission queue
    • CICS adapter objects

    We cannot use this sample as is - we must customize it before use. Then we can include this member in the CSQINP2 DD concatenation of the queue manager startup procedure, or we can use it as input to the COMMAND function of the CSQUTIL utility to issue the required DEFINE commands. This is preferable because it means that you don't have to redefine these objects each time that you restart IBM MQ.

    In addition to the sample definitions here, we can use the system object definitions as the basis for the own resource definitions. For example, we can make a working copy of SYSTEM.DEFAULT.LOCAL.QUEUE and name it MY.DEFAULT.LOCAL.QUEUE. We can then change any of the parameters in this copy as required. You could then issue a DEFINE command by whichever method you choose, provided you have the authority to create resources of that type.

      Default transmission queue
      Read the Default transmission queue description before you decide whether we want to define a default transmission queue.

      • If you decide that you do want to define a default transmission queue, remember that we must also define a channel to serve it.
      • If you decide that we do not want to define one, remember to remove the DEFXMITQ statement from the ALTER QMGR command in the sample.

      CICS adapter objects
      The sample defines an initiation queue named CICS01.INITQ. This queue is used by the IBM MQ -supplied CKTI transaction. We can change the name of this queue; however it must match the name specified in the CICS system initialization table (SIT) or SYSIN override in the INITPARM statement.

    CSQ4INYS/CSQ4INYR object samples
    Storage class definitions for using:

    • one page set for each class of message
    • multiple page sets for major classes of message


CSQINPT samples

    CSQ4INST
    The sample data set: thlqual.SCSQPROC(CSQ4INST) contains the definition for the system default subscription.

    The default system subscription, SYSTEM.DEFAULT.SUB, moved from CSQ4INSG to CSQ4INST in IBM WebSphere MQ Version 7.1.

    We must define the object in this sample, but we need to do it only once when the publish/subscribe engine is first started. Including the definition in the CSQINPT data set is the best way to do this. It is maintained across queue manager shutdown and restart. We must not change the object name, but we can change their attributes if required.

    CSQ4INYT
    The sample data set: thlqual.SCSQPROC(CSQ4INYT) contains a set of commands that you might want to run when the publish/subscribe engine is started. This sample displays Topic and Subscription information.


Other

    CSQ4DISP display sample

    The sample data set: thlqual.SCSQPROC(CSQ4DISP) contains a set of generic DISPLAY commands that display all the defined resources on your queue manager. This includes the definitions for all IBM MQ objects and definitions such as storage classes and trace. These commands can generate a large amount of output. We can use this sample in the CSQINP2 data set or as input to the COMMAND function of the CSQUTIL utility.

    CSQ4INPX sample

    The sample data set: thlqual.SCSQPROC(CSQ4INPX) contains a set of commands that you might want to execute each time the channel initiator starts. We must customize this sample before use; we can then include it in the CSQINPX data set for the channel initiator.

    CSQ4IVPQ and CSQ4IVPG samples

    The sample data sets: thlqual.SCSQPROC(CSQ4IVPQ) and thlqual.SCSQPROC(CSQ4IVPG) contain sets of DEFINE commands that are required to run the installation verification programs (IVPs).

    We can include these samples in the CSQINP2 data set. When you have run the IVPs successfully, we do not need to run them again each time the queue manager is restarted. Therefore, we do not need to keep these samples in the CSQINP2 concatenation permanently.

    CSQ4MSTR and CSQ4MSRR samples
    These are sample started task procedures for the queue manager: thlqual.SCSQPROC(CSQ4MSTR) and thlqual.SCSQPROC(CSQ4MSRR).
    We can remove the comments, so that we can use the CSQMINI card for newly created queue managers if required.

    CSQ4QMIN sample

    A sample QMINI data set, thlqual.SCSQPROC(CSQ4QMIN).

    See QMINI data set for details of the QMINI data set and the TransportSecurity stanza.

Parent topic: Defining the system on z/OS