The CICS adapter user ID

The user ID associated with the CICS® adapter is that of the IBM® MQ-supplied task initiator transaction, CKTI. This has a number of implications.

User ID checking for IBM MQ resources during PLTPI and PLTSD

If an IBM MQ resource is accessed during the CICS PLTPI phase, the user ID passed to IBM MQ is blanks. If an IBM MQ resource is accessed during the CICS PLTSD phase, the user ID passed to IBM MQ is the user ID associated with the shutdown transaction.

If CKTI is started during the CICS PLTPI phase, the user ID of the CKTI task is the CICS sysidnt. This means that a user ID with the same name as the CICS sysidnt must be defined and given access to the required IBM MQ resources, for example, initiation queues.

Terminal user IDs

If CKTI is started from a terminal from the CKQC transaction or a user-written program that links to CSQCSSQ, the user ID that CKTI uses is the same as the user ID of the terminal that started CKTI.

Automating starting of CKTI

To automate the starting of CKTIs under a specific user ID, you can use an automation product, for example, Tivoli® NetView® for z/OS®. You can use this to sign on a CICS console and issue the STARTCKTI command.

You can also use preset security sequential terminals, which have been defined to emulate a CRLP terminal, with the sequential terminal input containing the CKQC STARTCKTI command.

However, when the CICS adapter alert monitor reconnects CICS to IBM MQ, after, for example, an IBM MQ restart, only the CKTI specified at the initial IBM MQ connection is restarted. You must automate starting any extra CKTIs yourself.

Propagating the CKTI user ID to other CICS transactions

If CKTI starts other CICS transactions, for example, message channel agents (MCAs) or user-written CICS applications, the user ID of CKTI is propagated to these applications. For example, if CKTI is running under user ID USERNAME and a trigger event occurs that requires the sender MCA transaction, TRNA, to be started, the TRNA transaction also runs under user ID USERNAME. Therefore user ID USERNAME must have access to the required transmission queue.