PL/I programming language supplement


Refer to COBOL-programming-language-supplement 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 PL/I programming language and to present PL/I coding examples.

There are three primary deviations from normal PL/I coding styles when incorporating QUICKSTART into PL/I application programs:

  • In lieu of specifying “DECLARE <file-name> FILE EXTERNAL” Statements for READing from or WRITing to sequential files, the PL/I program issues “CALLs” 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 “CALL” to the appropriate DBMS to perform a checkpoint, the PL/I program calls CKPT_RTN, which manages the necessary coordination between the DBMS, the Working 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 PL/I program provided (see Examples-of-application-program-code-and-JCL). This provides the basic structure of a program that performs DBMS updates and sequential file accesses.

This section contains the following topics:

Related topic

 

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