COBOL programmer's summary sheet
In order to correctly incorporate QUICKSTART into the COBOL application program, such that the application program is restartable, the programmer must:
- Identify those files which are to be repositioned by QUICKSTART during a restart.
- Convert those repositionable files from COBOL supported to use QUICKSTART's COBOL FD Interception by replacing COBOL OPEN and CLOSE verbs with QSOPENI, QSOPENO, and QSCLOSE COPYBOOKS. See Sequential-I-O-considerations for details on implementing this.
OR
Use the QUICKSAM API, as follows (see also Sequential-I-O-considerations):- Remove the associated “FD” and “SELECT” Statements.
- Relocate the file record layout to Working Storage.
- Create SAMn-DEFINITIONs for each repositionable file.
- Initialize the value of NBR-OF-SAMS.
- Remove all COBOL OPEN and CLOSE verbs.
- Convert all usages of COBOL READ and WRITE verbs for those files to CALLs to the QUICKSAM program.
- Copy into the application program the Checkpoint Area copybooks QSWSLIT, QSWSBEG, and QSWSEND.
- Identify any other application program Working Storage data areas which need to be included in the Checkpoint Area and place them immediately following QSWSBEG, or after the last SAM-DEFINITION if the QUICKSAM API is being used. Ensure that these data areas appear before QSWSEND.
- Copy into the application program the appropriate version of CKPT-RTN.
- Create a “Start-Up” CALL to CKPT-RTN to initialize QUICKSTART and check for a restart in-progress (see also Procedure-division).
- Create an “End” CALL to CKPT-RTN to terminate QUICKSTART processing and register the “normal” completion of the application program (see also Procedure-division).
- Design the application program to incorporate the Logical Unit of Work methodology (see also Application-requirements-for-restartability) and to strategically issue a CALL to CKPT-RTN, such that checkpoint activity can occur. Follow with application program code to manage any post-checkpoint activities, as necessitated by the Host DBMS(s) (see also Procedure-division).
Related topic
Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*