Issuing checkpoints

Two kinds of checkpoint (CHKP) calls exist: the basic CHKP and the symbolic CHKP. All IMS programs and CICS® shared database programs can issue the basic CHKP call; only BMPs and batch programs can use either call.

IMS Version 15.5 Application Programming APIs explains when and why you should issue checkpoints in your program. Both checkpoint calls cause a loss of database position when the call is issued, so you must reestablish position with a GU call or some other method. You cannot reestablish position in the middle of non-unique keys or nonkeyed segments.

Restriction: You must not specify CHKPT=EOV on any DD statement to take an IMS checkpoint.

Some differences exist if you issue the same call sequence against a full-function database or a DEDB, and an MSDB.

Depending on the database organization, a CHKP call can result in the database position for the PCB being reset. When the CHKP call is issued, the locks held by the program are released. Therefore, if locks are necessary for maintaining your database position, the position is reset by the CHKP call. Position is reset in all cases except those in which the organization is either GSAM (locks are not used) or DEDB, and the CHKP call is issued after a GC status code. For a DEDB, the position is maintained at the unit-of-work boundary.

Issuing a CHKP resets the destination of the modifiable alternate PCB.

Related Reading: For more information on CHKP calls, see the topic "CHKP (Basic) Call" and the topic "CHKP (Symbolic) Call" in IMS Version 15.5 Application Programming APIs .