Delay the processing of a task.
DELAY .-INTERVAL(0)------------------------. >>-DELAY--+------------------------------------+----------------> +-INTERVAL(hhmmss)-------------------+ +-TIME(hhmmss)-----------------------+ | .-------------------------. | | V | | +-FOR----+-HOURS(data-value)---+-+---+ | +-MINUTES(data-value)-+ | | '-SECONDS(data-value)-' | | .-------------------------. | | V | | '-UNTIL----+-HOURS(data-value)---+-+-' +-MINUTES(data-value)-+ '-SECONDS(data-value)-' >--+-------------+--------------------------------------------->< '-REQID(name)-'
Conditions: EXPIRED, INVREQ
Note for dynamic transaction routing: Using DELAY with REQID if later CANCELed could create inter-transaction affinities that adversely affect the use of dynamic transaction routing. See the CICS® Application Programming Guide for more information about transaction affinities.
DELAY suspends the processing of the issuing task for a specified interval of time or until a specified time of day. It supersedes any previously initiated POST command for the task.
The default is INTERVAL(0), but for C the default is FOR HOURS(0) MINUTES(0) SECONDS(0).
When using the C language, you are recommended to use the FOR/UNTIL HOURS, MINUTES, and SECONDS options as C does not provide a packed decimal data type. You may use INTERVAL, but if the value specified is not an integer constant, the application is responsible for ensuring that the value passed to CICS is in packed decimal format.
To enable other tasks to cancel unexpired DELAY requests, you must make the request identifier dynamically available. For example, storing it in a TS queue, whose name is known to other applications that may want to cancel the DELAY request, is one way you can pass a request identifier to other transactions.
When using the C language, you are recommended to use the FOR/UNTIL HOURS, MINUTES, and SECONDS options as C does not provide a packed decimal data type. You may use TIME, but if the value specified is not an integer constant, the application is responsible for ensuring that the value passed to CICS is in packed decimal format. See the section about expiration times in the CICS Application Programming Guide.
Default action: ignore the condition.
also occurs (RESP2 not set) if the DELAY command is not valid for processing by CICS.
Default action: terminate the task abnormally.
EXEC CICS DELAY
INTERVAL(500)
REQID('GXLBZQMR')
EXEC CICS DELAY FOR MINUTES(5)
EXEC CICS DELAY
TIME(124500)
REQID('UNIQCODE')