Timers let you schedule deferred or periodic work. Combine timers with events and BTS to orchestrate background processing reliably.
FORMATTIME to compute values; implementation varies by site standards).SIGNAL EVENT to fan-out processing.123456* Start an interval timer EXEC CICS START INTERVAL('ORDTMR') TIME(300) * seconds TRANSID('ORD1') RESP(WS-RESP) END-EXEC.
123EXEC CICS INQUIRE TIMER('ORDTMR') RESP(WS-RESP) END-EXEC. EXEC CICS CHECK TIMER('ORDTMR') RESP(WS-RESP) END-EXEC. EXEC CICS FORCE TIMER('ORDTMR') RESP(WS-RESP) END-EXEC.
12345678* Inside ORD1 transaction PERFORM DO-WORK * Reschedule self for next run EXEC CICS START INTERVAL('ORDTMR') TIME(300) TRANSID('ORD1') RESP(WS-RESP) END-EXEC.
12345* Timer fires and signals an event picked up by a worker EXEC CICS SIGNAL EVENT('REPRICE-JOB') CHANNEL('RPCH') RESP(WS-RESP) END-EXEC.
Check RESP/RESP2 after each operation. Handle INVREQ, NOTFND, and LENGERR appropriately.
| RESP | Meaning | Typical Action |
|---|---|---|
| NORMAL | Operation succeeded | Continue |
| NOTFND | Timer not found | Create or skip |
| INVREQ | Invalid parameter/state | Validate inputs |