Checkpoint and Restart logic is used in IMS where you perform large scale database update processing.
For example, if you are updating 1000 records into IMS database. If you are using Check point, then you encounter abend in 999th updation. Then whataver the system resources, CPU time used will be lost and agin you have restart the process from begin.
You can issue a CHKPT call for every updates of 10 records. And these updates will be committed permanently in IMS database.
Say for esample if you encounter abend during updation of 88th record in the input file. so far 80 records have been successfully updated with checkpoint call. Now you have to restart your process from 81st record.
Eac CHKPT call will have checkpoint Id and I/O areas. Whever you restart process, you have to provide this checkpoint ID in the PARM of JCL that executes the IMS program as last parameter. Program will uses this checkpoint Id to restart the process from the last check point.