CKTI

CKTI is the name operators and developers remember when messages pile up on a queue because nothing in CICS started to process them. IBM MQ wrote trigger messages to the initiation queue expecting the CICS trigger monitor to read them and launch the right application transaction; CKTI is that monitor on z/OS CICS. Without CKTI running, trigger-enabled queues become silent backlog. With CKTI misconfigured, the wrong program starts or starts with wrong context and abends immediately. This tutorial explains CKTI role in the trigger chain, initiation and application queues, PROCESS and TRIGGER attributes, trigger message contents at a conceptual level, CICS definitions CKTI needs, first and not triggered depth behavior, error symptoms and displays, and coordination with the broader CICS-MQ bridge and triggering tutorials.

Trigger Chain End to End

  1. Producer MQPUTs to application queue with TRIGGER enabled and thresholds set.
  2. Queue manager evaluates TRIGTYPE (FIRST, EVERY, DEPTH, etc.) per IBM rules.
  3. Queue manager creates trigger message on initiation queue (INITQ).
  4. CKTI transaction runs in CICS, MQGETs trigger message from INITQ.
  5. CKTI starts application transaction from PROCESS APPLICID or equivalent.
  6. Application MQGETs work from application queue and processes business logic.
Trigger-related objects and CKTI
ObjectRoleCKTI touchpoint
Application QLOCALHolds business messagesIndirect—trigger fires
INITQHolds trigger messagesMQGET trigger msgs
PROCESSNames CICS trans/programUses PROCESS name from trigger
TRIGGEROptional trigger controlPer site config
CKTI transMonitorExecutes monitor logic

DEFINE Examples (Conceptual)

text
1
2
3
4
5
6
7
8
9
10
11
DEFINE QLOCAL('PAY.WORK') REPLACE + TRIGGER + TRIGTYPE(FIRST) TRIGDPTH(1) + INITQ('SYSTEM.DEFAULT.INITIATION.QUEUE') + PROCESS('PAYPROC') DEFINE PROCESS('PAYPROC') REPLACE + APPLICID('PAY1') + USERDATA('Payment trigger app') /* CICS: CKTI transaction defined and active CICS: PAY1 transaction runs payment program */

TRIGTYPE(FIRST) fires when the queue goes from empty to having messages—common for waking processing. TRIGDPTH(1) means one message can satisfy depth-based rules depending on type. INITQ must exist and CKTI must read it. PROCESS APPLICID must match a CICS transaction that starts the correct program. USERDATA passes opaque context some programs read.

TRIGTYPE Values (Beginner Comparison)

  • FIRST—trigger when queue was empty and now has messages; good for idle workers.
  • EVERY—trigger on each message; can flood CKTI under high rate—use carefully.
  • DEPTH—trigger when depth crosses TRIGDPTH; batch style wakeups.
  • NONE—no trigger; default for queues without automation.

Wrong TRIGTYPE for your traffic pattern causes either no CKTI invocations or CKTI storms that exhaust CICS tasks. Load test before production.

CKTI in CICS Operations

CKTI must be defined as a transaction, often started automatically when CICS connects to MQ or via PLTPI. Operators verify CKTI is active with CICS inquiry commands before blaming MQ. Stopping CICS or MQ without draining initiation queue leaves trigger messages to process on restart—plan order of shutdown. Multiple CICS regions may each run CKTI against the same initiation queue only if architecture permits—usually one monitor pattern per queue manager connection design.

Troubleshooting Checklist

  1. DISPLAY QLOCAL application queue TRIGGER, TRIGTYPE, INITQ, PROCESS, CURDEPTH.
  2. DISPLAY QLOCAL initiation queue CURDEPTH—trigger msgs waiting?
  3. Confirm CKTI transaction active in CICS.
  4. DISPLAY PROCESS(name) APPLICID matches CICS trans.
  5. Review CICS and MQ logs for 2035 or not authorized on INITQ.
  6. Verify application transaction defined and program linkable.

CKTI Versus Distributed Trigger Monitor

Distributed MQ uses a trigger monitor process (amqzmur0 family) to start batch commands or programs. CKTI is the CICS equivalent binding trigger messages to CICS transaction IDs. Concepts—initiation queue, PROCESS, TRIGGER—transfer across platforms; implementation names differ.

Explainer: Doorbell to the Right Office

CKTI is the receptionist who hears the doorbell (trigger message) and calls the correct office extension (CICS transaction) to handle packages waiting in the mailroom (application queue).

Explain Like I'm Five: CKTI

CKTI is the helper who notices the mailbox flag went up and tells the right worker to come get the letters.

Practice Exercises

Exercise 1

Write TRIGGER attributes for a queue that should wake processing when the first message arrives after idle.

Exercise 2

Given depth on application queue but zero on initiation queue, list three hypotheses.

Exercise 3

Map PROCESS fields to CICS resource definitions in a diagram.

Frequently Asked Questions

Frequently Asked Questions

Test Your Knowledge

Test Your Knowledge

1. CKTI is a:

  • CICS transaction
  • Linux daemon
  • Channel type
  • Topic string

2. Trigger messages arrive on:

  • Initiation queue
  • XMITQ only
  • BSDS
  • Page set

3. PROCESS object defines:

  • Which CICS program to start
  • TLS cipher
  • JCL JOB name
  • DNS host

4. TRIGGR on application queue:

  • Enables triggering
  • Disables MQ
  • Creates topic
  • Formats log
Published
Read time22 min
AuthorMainframeMaster
Verified: IBM MQ 9.3 documentation