Sample COBOL program


This topic explains how the QUICKSTART Transparent mode sample program (TMDEMO) functions and demonstrates how to add QUICKSTART by modifying the JCL. Transparent mode requires no changes to the COBOL program to perform checkpointing and restarting. Checkpointing is invoked automatically at each COBOL READ. For information about executing the TMDEMO program, see Executing-the-TMDEMO-program.

Locate member TMDEMO in the QUICKSTART sample library (QUICKSTART.SAMPLIB). This member is referenced in the following figure:

IDENTIFICATION DIVISION.
PROGRAM-ID. TMDEMO.
*****************************************************************
*   SAMPLE PROGRAM THAT CAN BE USED TO TEST QUICKSTART'S
*   TRANSPARENT MODE. IT READS AN 80 CHARACTER INPUT FILE
*   (DD=INFILE) AND CREATES AN 80 CHARACTER OUTPUT FILE
*   (DD=OUTFILE) BY USING A FILE WITH AT LEAST 30000 RECORDS.
*
*   THE DB2 CHECKPOINT ROUTINE IS INVOKED IMPLICITLY AT EACH
*   READ OF THE INPUT FILE.
*****************************************************************
 ENVIRONMENT DIVISION.
 CONFIGURATION SECTION.
 SOURCE-COMPUTER. IBM-370.
 OBJECT-COMPUTER. IBM-370.
  INPUT-OUTPUT SECTION.
 FILE-CONTROL.
  SELECT INFILE ASSIGN TO INFILE.
  SELECT OUTFILE ASSIGN TO OUTFILE.
 I-O-CONTROL.
 DATA DIVISION.
 FILE SECTION.
 FD INFILE
  RECORD CONTAINS 80 CHARACTERS
  BLOCK CONTAINS 0 RECORDS.
 01 IN-REC                     PIC X(80).
 FD OUTFILE
  RECORD CONTAINS 80 CHARACTERS
  BLOCK CONTAINS 0 RECORDS.
01 OUT-REC                    PIC X(80).

WORKING-STORAGE SECTION.
01 WORK-EYE                   PIC X(14) VALUE 'PROGRAM=TMDEMO'.
01 EOF-FLAG                   PIC X(1) VALUE 'N'.
01 REC-CNTR                   PIC 9(7) VALUE 0.

PROCEDURE DIVISION.

DISPLAY 'RECORD COUNTER=' REC-CNTR.
OPEN INPUT INFILE.
OPEN OUTPUT OUTFILE.
PERFORM LUW UNTIL EOF-FLAG = 'Y'.
CLOSE INFILE.
CLOSE OUTFILE.

DISPLAY 'PROGRAM TERMINATING AFTER ' ,
  REC-CNTR,  ' RECORDS.'.
GOBACK.
LUW.
READ INFILE
       AT END MOVE 'Y' TO EOF-FLAG.
IF READ-FLAG IS NOT = 'Y'
       ADD 1 TO REC-CNTR
       MOVE IN-REC TO OUT-REC
       WRITE OUT-REC
END-IF.
EXIT

To demonstrate how to add QUICKSTART, this example shows the program reading in a sequential file (INFILE), recording changes on an increment counter, and writing an output file (OUTFILE). The program performs no DB2 access, but DB2 is used by QUICKSTART to support the checkpoint restart process. You can also execute this program by using the QUICKSTART NODBMS mode.

There are no explicit references to QUICKSTART in the program. The LUW within the program is referenced by the LUW paragraph consisting of a READ file, an increment counter, and a WRITE record. Based on the READ of the input file,QUICKSTART will implicitly issue checkpoints as shown in the previous figure.


 

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