Assembler programming language supplement
Refer to COBOL Programming Language Supplement of this manual for overall strategies for incorporating QUICKSTART into an application program. This Section is meant to function as a supplement to COBOL Programming Language Supplement to address specifics of the Basic Assembler Language (BAL) and to present BAL coding examples.
There are three primary deviations from normal BAL coding styles when incorporating QUICKSTART into BAL application programs:
- In lieu of specifying BAL 'GET' and 'PUT' Macros for READing from or WRITing to sequential files, the BAL program issues CALLs (via BASSM) to QUICKSAM to perform the necessary READs from, and WRITEs to, the appropriate sequential files. This allows QUICKSTART to accurately track the status of sequential files for proper repositioning, should there be a need for a restart at some later time.
- In lieu of issuing a “COMMIT” to the appropriate DBMS to perform a checkpoint, the BAL program either BAL's to a CKPTRTN routine in the CSECT or BASSM's to a CKPTRTN module, which manages the necessary coordination between the DBMS, the Defined Data, and the QUICKSAM-controlled sequential files.
- Application programs must incorporate into their design the concept of the Logical Unit of Work. Note that most batch application programs already incorporate this design feature, since it is frequently used in conjunction with issuing any necessary DBMS “COMMIT” activity.
A truly restartable application program must allow QUICKSTART to issue all necessary checkpoints, to include checkpointing of the Checkpoint Area, and to control all sequential file operations. This Section deals with how the application program must incorporate the services of QUICKSTART to ensure restartability.
Copy the example BAL program provided (member BALDEMO in SAMPLIB). This provides the basic structure of a program that performs DBMS updates and sequential files accesses.
This section contains following topics:
Related topic