CHKP (symbolic) call

A symbolic Checkpoint (CHKP) call is used for recovery purposes.

Format

Read syntax diagramSkip visual syntax diagram
>>-CHKP--+-i/o_pcb-+--i/o_area_length--i/o_area----------------->
         '-aib-----'                              

   .-,------------------------.   
   V                          |   
>----+----------------------+-+--------------------------------><
     '-area_length--,--area-'     

Call Name DB/DC DBCTL DCCTL DB Batch TM Batch
CHKP X X X X X

Parameters

i/o pcb
Specifies the I/O PCB to use for the call, the first PCB address in the list passed to the program, to use for this call. This parameter is an input and output parameter.
aib
Specifies the application interface block (AIB) that is used for the call. This parameter is an input and output parameter.
The following fields must be initialized in the AIB:
AIBID
Eye catcher. This 8-byte field must contain DFSAIBbb.
AIBLEN
AIB lengths. This field must contain the actual length of the AIB that the application program obtained.
AIBRSNM1
Resource name. This 8-byte, left-justified field must contain the PCB name IOPCBbbb.
AIBOALEN
I/O area length. This field must contain the length of the I/O area that is specified in the call list.
i/o area length
Is no longer used by IMS™. For compatibility reasons, this parameter must still be included in the call, and it must contain a valid address. You can get a valid address by specifying the name of any area in your program.
i/o area
Specifies the I/O area to be used for your call. This parameter is an input and output parameter. For the CHKP call, the I/O area contains the 8-character checkpoint ID. If the program is a message-driven BMP, the CHKP call implicitly returns the next input message into this I/O area. Therefore, the area must be long enough to hold the longest message that can be returned.
area length
Specifies a 4-byte field in your program that contains the length in binary of the first area to checkpoint. This parameter is an input parameter. Up to seven area lengths can be specified. For each area length, you must also specify an area parameter.
area
Specifies the area in your program that you want IMS to checkpoint. This parameter is an input parameter. You can specify up to seven areas in your program that you want IMS to checkpoint. Always specify the area length parameter first, followed by the area parameter. The number of areas you specify on a XRST call must be less than or equal to the number of areas you specify on the CHKP calls the program issues. When you restart the program, IMS restores only the areas you specified in the CHKP call.

Usage

In transaction management application programs, the symbolic CHKP call can be used to retrieve the conversational SPA or the initial message segment that was queued before the application was scheduled. The CHKP call commits all changes made by the program and, if your application program abends, establishes the point at which the program can be restarted. In addition, the symbolic CHKP call can:

  • Work with the extended restart (XRST) call to restart your program if your program abends.
  • Enables you to save as many as seven data areas in your program, which are restored when your program is restarted.

Restrictions

A CPI Communications driven application program cannot issue the symbolic CHKP call. The symbolic CHKP call is only allowed from batch and BMP applications.

You must issue an XRST call before the symbolic CHKP call.