Source code versions of the default program are provided in Assembler, COBOL, and PL/I, in the CICSTS31.CICS.SDFHSAMP library. They are named DFHCESD, DFH0CESD, and DFH$CESD, respectively. All contain the same logic. Resource definitions of DFH0CESD and DFH$CESD and their associated transactions, SDA1 and SDA2, are in the sample CSD group DFH$SDAP. Definitions of DFHCESD and CESD are in the DFHSDAP CSD group (which is included in the default startup group list, DFHLIST).
If the restart manager (ARM) is active, and you use the default shutdown assist program during shutdown processing, ARM restarts the CICS® region after the region has completed shutting down. If you do not want ARM to restart the CICS region, amend the sample shutdown assist program by adding the NORESTART option to the command EXEC CICS PERFORM SHUT IMMEDIATE.
If you use one of the samples as the basis for your own program:
The shutdown assist task is a system task that behaves differently from a user task. If all user tasks have ended, shutdown continues to completion as quickly as possible, and CICS does not wait for the shutdown assist program to complete.
If your shutdown assist program loses control and then all user tasks terminate, control might not return to the program before shutdown completes. For example, if an EXEC CICS DELAY, WAIT EXTERNAL or SUSPEND command is coded in the program, and all user tasks complete before the interval elapse time expires, then the program does not regain control. You should bear this in mind if recoverable resources are updated by your program, because if the program loses control and then all user tasks complete, full commit and backout protection cannot be guaranteed. The EXEC CICS commands which might cause the program to lose control are not limited to those mentioned here.
Specifying REQID(DFHCESD) on an EXEC CICS DELAY command coded in your program results in early expiration of the unexpired DELAY request if all user tasks complete during the delay interval. In this case, the program regains control from the EXEC CICS command even though all non-system tasks have finished. However, bear in mind that the full interval elapse time might not have expired when the program regains control. If the EXEC CICS DELAY command is issued after all user tasks have completed, it might never expire, because CICS shutdown continues without resuming the system task.
Figure 60 shows some example messages generated by a run of the DFHCESD sample program.
16.14.08 JOB09120 +DFHTM1715 IYLX1 CICS is being quiesced by userid CICSUSER in transaction CEMT
at netname IGCS21F.
16.14.08 JOB09120 +DFHDM0102I IYLX1 CICS is quiescing.
16.14.08 JOB09120 +DFHTM1781 IYLX1 CICS shutdown cannot complete because some non-system user tasks
have not terminated.
16.14.09 JOB09120 +DFHCESD IYLX1 SHUTDOWN ASSIST TRANSACTION CESD STARTING. SHUTDOWN IS NORMAL.
16.14.09 JOB09120 +DFHCESD IYLX1 LIST OF SHUNTED UNITS OF WORK IN THE SYSTEM FOLLOWS.
16.14.09 JOB09120 +DFHCESD IYLX1 SHUNTED TRANSACTION RFI4, TERMID S21F, UNIT OF WORK ABE7194B52539603
16.16.09 JOB09120 +DFHCESD IYLX1 THERE ARE NOW 0100 TASKS STILL IN THE SYSTEM.
16.16.26 JOB09120 +DFHDU0303I IYLX1 Transaction Dump Data set DFHDMPA closed.
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID KK07, TERMID , USERID CICSUSER, TASKNO 000113
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID KK15, TERMID , USERID CICSUSER, TASKNO 000119
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID KK16, TERMID , USERID CICSUSER, TASKNO 000120
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID KK23, TERMID , USERID CICSUSER, TASKNO 000127
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID KK24, TERMID , USERID CICSUSER, TASKNO 000128
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID KK29, TERMID , USERID CICSUSER, TASKNO 000133
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID KK36, TERMID , USERID CICSUSER, TASKNO 000139
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID KK38, TERMID , USERID CICSUSER, TASKNO 000140
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID KK47, TERMID , USERID CICSUSER, TASKNO 000144
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID SK07, TERMID , USERID CICSUSER, TASKNO 000161
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID SK15, TERMID , USERID CICSUSER, TASKNO 000167
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID SK16, TERMID , USERID CICSUSER, TASKNO 000168
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID SK23, TERMID , USERID CICSUSER, TASKNO 000175
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID SK24, TERMID , USERID CICSUSER, TASKNO 000176
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID SK29, TERMID , USERID CICSUSER, TASKNO 000181
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID SK36, TERMID , USERID CICSUSER, TASKNO 000187
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID SK38, TERMID , USERID CICSUSER, TASKNO 000188
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID SK44, TERMID , USERID CICSUSER, TASKNO 000189
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID SK47, TERMID , USERID CICSUSER, TASKNO 000192
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID SK49, TERMID , USERID CICSUSER, TASKNO 000194
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RSD1, TERMID S234, USERID CICSUSER, TASKNO 000418
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID SK49, TERMID , USERID CICSUSER, TASKNO 000424
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID SK47, TERMID , USERID CICSUSER, TASKNO 000426
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID SK44, TERMID , USERID CICSUSER, TASKNO 000429
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID SK23, TERMID , USERID CICSUSER, TASKNO 000437
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID SK16, TERMID , USERID CICSUSER, TASKNO 000444
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X134, USERID CICSUSER, TASKNO 000531
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X150, USERID CICSUSER, TASKNO 000532
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X141, USERID CICSUSER, TASKNO 000533
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X124, USERID CICSUSER, TASKNO 000534
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X147, USERID CICSUSER, TASKNO 000535
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X152, USERID CICSUSER, TASKNO 000536
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X178, USERID CICSUSER, TASKNO 000537
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X158, USERID CICSUSER, TASKNO 000538
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X168, USERID CICSUSER, TASKNO 000540
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X127, USERID CICSUSER, TASKNO 000542
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X176, USERID CICSUSER, TASKNO 000543
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X122, USERID CICSUSER, TASKNO 000545
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X149, USERID CICSUSER, TASKNO 000546
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X145, USERID CICSUSER, TASKNO 000547
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X117, USERID CICSUSER, TASKNO 000548
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X128, USERID CICSUSER, TASKNO 000550
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X126, USERID CICSUSER, TASKNO 000551
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X162, USERID CICSUSER, TASKNO 000552
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X143, USERID CICSUSER, TASKNO 000553
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X164, USERID CICSUSER, TASKNO 000554
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X133, USERID CICSUSER, TASKNO 000555
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X121, USERID CICSUSER, TASKNO 000556
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X113, USERID CICSUSER, TASKNO 000558
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X160, USERID CICSUSER, TASKNO 000559
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X170, USERID CICSUSER, TASKNO 000560
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X120, USERID CICSUSER, TASKNO 000561
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X115, USERID CICSUSER, TASKNO 000562
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X139, USERID CICSUSER, TASKNO 000563
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X137, USERID CICSUSER, TASKNO 000564
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X110, USERID CICSUSER, TASKNO 000565
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X157, USERID CICSUSER, TASKNO 000566
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X154, USERID CICSUSER, TASKNO 000567
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X112, USERID CICSUSER, TASKNO 000568
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X177, USERID CICSUSER, TASKNO 000569
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X156, USERID CICSUSER, TASKNO 000570
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X125, USERID CICSUSER, TASKNO 000571
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X130, USERID CICSUSER, TASKNO 000572
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X155, USERID CICSUSER, TASKNO 000573
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X119, USERID CICSUSER, TASKNO 000574
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X174, USERID CICSUSER, TASKNO 000575
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID SK51, TERMID , USERID CICSUSER, TASKNO 000576
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X142, USERID CICSUSER, TASKNO 000577
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X179, USERID CICSUSER, TASKNO 000578
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X132, USERID CICSUSER, TASKNO 000579
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X135, USERID CICSUSER, TASKNO 000580
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X118, USERID CICSUSER, TASKNO 000581
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X175, USERID CICSUSER, TASKNO 000582
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X131, USERID CICSUSER, TASKNO 000583
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X163, USERID CICSUSER, TASKNO 000584
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X159, USERID CICSUSER, TASKNO 000585
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X111, USERID CICSUSER, TASKNO 000586
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X151, USERID CICSUSER, TASKNO 000587
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X169, USERID CICSUSER, TASKNO 000588
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X171, USERID CICSUSER, TASKNO 000589
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X166, USERID CICSUSER, TASKNO 000590
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID SK07, TERMID , USERID CICSUSER, TASKNO 000591
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X153, USERID CICSUSER, TASKNO 000593
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X114, USERID CICSUSER, TASKNO 000594
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X148, USERID CICSUSER, TASKNO 000596
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X173, USERID CICSUSER, TASKNO 000597
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X136, USERID CICSUSER, TASKNO 000598
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X165, USERID CICSUSER, TASKNO 000599
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X116, USERID CICSUSER, TASKNO 000600
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X123, USERID CICSUSER, TASKNO 000601
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X144, USERID CICSUSER, TASKNO 000602
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X129, USERID CICSUSER, TASKNO 000603
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X172, USERID CICSUSER, TASKNO 000604
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X167, USERID CICSUSER, TASKNO 000605
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X138, USERID CICSUSER, TASKNO 000606
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X161, USERID CICSUSER, TASKNO 000607
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X146, USERID CICSUSER, TASKNO 000608
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID RFS1, TERMID X140, USERID CICSUSER, TASKNO 000609
16.16.26 JOB09120 +DFHCESD IYLX1 PURGING TRANID SK52, TERMID , USERID CICSUSER, TASKNO 000613
16.16.27 JOB09120 +DFHCESD IYLX1 LIST OF SHUNTED UNITS OF WORK IN THE SYSTEM FOLLOWS.
16.16.27 JOB09120 +DFHCESD IYLX1 SHUNTED TRANSACTION RFI4, TERMID S21F, UNIT OF WORK ABE7194B52539603
16.16.28 JOB09120 +DFHCESD IYLX1 THERE ARE NOW 0081 TASKS STILL IN THE SYSTEM.
16.16.31 JOB09120 +DFHCESD IYLX1 THERE ARE NOW 0073 TASKS STILL IN THE SYSTEM.
16.16.43 JOB09120 +DFHCESD IYLX1 THERE ARE NOW 0072 TASKS STILL IN THE SYSTEM.
16.16.45 JOB09120 +DFHCESD IYLX1 THERE ARE NOW 0070 TASKS STILL IN THE SYSTEM.
16.16.47 JOB09120 +DFHCESD IYLX1 THERE ARE NOW 0004 TASKS STILL IN THE SYSTEM.
16.17.05 JOB09120 +DFHCESD IYLX1 LIST OF SHUNTED UNITS OF WORK IN THE SYSTEM FOLLOWS.
16.17.05 JOB09120 +DFHCESD IYLX1 SHUNTED TRANSACTION RFI4, TERMID S21F, UNIT OF WORK ABE7194B52539603
16.17.07 JOB09120 +DFHZC2316 IYLX1 VTAM ACB is closed
16.17.09 JOB09120 +DFHCESD IYLX1 THERE ARE NOW 0002 TASKS STILL IN THE SYSTEM.
16.17.09 JOB09120 +DFHTM1782I IYLX1 All non-system tasks have been successfully terminated.
16.17.30 JOB09120 +DFHRM0131 IYLX1 Resynchronization required with IRC resources.
16.17.30 JOB09120 +DFHRM0131 IYLX1 Resynchronization required with LU62 resources.
16.17.30 JOB09120 +DFHRM0131 IYLX1 Resynchronization required with IND resources.
16.17.40 JOB09120 +DFHRM0203 IYLX1 There are 1 indoubt, 0 commit-failed and 0 backout-failed UOWs.
16.17.56 JOB09120 +DFHRM0130 IYLX1 Recovery manager has successfully quiesced.
16.18.01 JOB09120 +DFHKE1799 IYLX1 TERMINATION OF CICS IS COMPLETE.