Sie sind auf Seite 1von 2

Change Specification for Program S9CPSLCT

Check Point / Restart Concept Inclusion

The program will perform IMS checkpoint/restart functions in case of up normal termination of the program.

Checkpoint/Restart Support
To support checkpoint/restart under IMS, the following things needs to be implement A restart call (XRST) performed before the first IMS database call. Reposition logic that implements a reposition call on the GO PCB against respective database after a restart or a checkpoint. A checkpoint call performed before the first IMS Replace Call. Capturing a checkpoint threshold count from the control record. A checkpoint call that occurs after the number of defined operations (end / beginning of a cycle of operation) exceeds the threshold count. Implementing a checkpoint ID numbering scheme. All flat files has to be designated as GSAM databases (Input and output files based on execution, for example in some cases the input file is used to fill the temporary storage (array)). The respective PSBs has to be changed according to GSAM definitions. The care should be taken to ensure the flow of output file. The back out jobs has to modified according to the checkpoint value, unless all data would get backed out to normal position.

The CKPT and XRST calls refer to one or more backup areas inside the program. These are storage areas that are written out to the IMS Log with a checkpoint and restored to the program with a restart call. The necessary key fields and search fields of the database needs to be included in the backup area: The control record Database keys to position into the respective database (including GSAM database keys) Counters to support report generation Checkpoint ID Checkpoint/Restart logic can be copied from program S9HPNT12. The following logic components need to be implemented: 1. At startup, an XRST call is made. If it is successful (i.e., a restart), the backup I/O areas are restored, and the respective database (GO PCB) is repositioned to support the next sequential read.

2. If the startup is not a restart, the control record is read. The checkpoint interval is established and Checkpoint Id is initialized. At startup, an initial checkpoint is made before any replace calls to support full back out should it be needed. A switch is needed to suppress database repositioning after the initial call. 3. The program will maintain a count of records of the respective segments. 4. When a checkpoint is triggered, data fields are moved to the checkpoint backup areas and a unique Checkpoint Id is assigned. A checkpoint call is made. An IMS call is made to reposition the respective database (same logic as after an XRST call). The checkpoint threshold counter is reset to zero.

Das könnte Ihnen auch gefallen