During Restart, Checkpoint-id will be supplied by operator thru PARM fields , and system will identify in Restart-workarea in XRST call. Along with CHKP call fourth and Fifth parameter we can store segment length and segment, will be used when XRST call is Issued.
Please go thru some document on the same, reply if you have any more doubts.
Thanks,
kodees
CHECKPOINT(CHKP) CALL
A point in the execution of program when, the changes made to the database are considered complete and accurate. Once checkpointed, the changes made are not reversible. A CHKP call causes the database position for a PCB to be reset, apart from releasing all the locks held by program. A CHKP call is of two types:
1) BASIC CHECKPOINT CALL
Can be issued by a BATCH and BMP programs. MPP and Message Driven Fast Path programs must issue only this call. Apart from committing changes made to the data, it also establishes position in the
program from where to Restart, in case the program abnormally terminates
CALL 'CBLTDLI' USING CHKP
I-O PCB MASK
CHECKPOINT-ID
The I-O PCB must be the first PCB listed on the ENTRY statement normally used for data communication programs. Checkpoint-ID names a I-O area that contains an Eightbyte value to identify a checkpoint record written to the log file. During recovery, this eight byte Checkpoint-ID is used by IMS to Restart the program.
2)SYMBOLIC CHECKPOINT CALL
Can be issued by a BATCH and BMP program. Apart from committing changes made to the database, it also establishes position in the program from where to Restart, in case the program abnormally terminates. The program can also save as many as SEVEN PAIRS of data area along with the checkpoint record. These data areas are restored during the program restart. A symbolic checkpoint call works with the Extended Restart (XRST) call to restart the program.
CALL 'CBLTDLI' USING CHKP
I-O PCB MASK
CHECKPOINT-ID
FIRST-AREA-LENGTH
FIRST-IO-AREA
SECOND-AREA-LENGTH
SECOND-IO-AREA
----------
----------
SEVENTH-AREA-LENGTH
SEVENTH-IO-AREA
RESTART CALL (XRST)
The program that issued a symbolic checkpoint CHKP call must issue a restart call (XRST). The XRST call, which is issued only once, does not have to be the first call issued in the program, though it must be issued before any CHKP call. Whether a program is to be restarted or not is determined by DL/I with the help of PARM parameter specified in the EXEC statement for the program in the execution JCL or the CheckPoint ID provided in the Restart Work Area.If a program is to be Restarted, the XRST call indicates that the following checkpoint call is a symbolic checkpoint. Any calls issued before the XRST call are not within the scope of Restart.
CALL 'CBLTDLI' USING XRST
I-O PCB MASK
Longest Segment Length
Restart-Work-Area
First-Area-Length
First-IO-Area
----------
----------
Seventh-Area-Length
Seventh-IO-Area
Request you to refer to the IMS manual for further details.