Coding the checkpoint ARB


The application program and 

AR/CTL

 use the ARB to exchange information such as call functions and results. Code the ARB in the working storage area of the application program. The program can use a single ARB for all calls, or it can use a separate ARB for checkpoint support and for each sequential file that uses ASAM support. If the program uses a single ARB for multiple call types, it must reinitialize the ARB for each call.

The following example shows the ARB in COBOL:

IDENTIFICATION DIVISION.
...
DATA DIVISION.
WORKING-STORAGE SECTION.
01   ARCARB.
     02 ARCARB-TYPE PIC X(8) VALUE '$ARCARB '.
     02 FUNC-CODE   PIC X(8) VALUE '        '.
     02 FILLER      PIC X(8) VALUE SPACES.
     02 STATUS-CODE PIC X(2) VALUE SPACES.
     02 FILLER      PIC X(2) VALUE SPACES.
     02 FILLER      PIC X(4) VALUE SPACES.

ARB Type

This field serves to identify the ARB.

Function Code

This field (at offset 8 from the beginning byte 0) indicates the type of access you want for the next call. If the call is a checkpoint call, you can leave the function code field blank or set it to FORCE. A function code of FORCE overrides the checkpoint pacing decision and forces checkpoint processing to occur for the checkpoint identified in the call. You can use the FORCE function to ensure that a restart point is established after a long-running procedure such as a sort.

Warning

Note

If a checkpoint pacing exit routine returns a code that tells AR/CTL to bypass the checkpoint, AR/CTL bypasses checkpoint processing even if FORCE is specified.

Status Code

This field contains the status code that the application program can check to determine the results of a call to AR/CTL. The status codes that AR/CTL can return are recorded with the calls.


 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*

BMC AMI Application Restart Control for Db2, IMS and VSAM 4.2