Considerations for coding DL/I calls and data areas
If you have made all the design decisions about your program, coding the program is a matter of implementing the decisions that you have made. In addition to knowing the design and processing logic for your program, you need to know about the data that your program is processing, the PCBs it references, and the segment formats in the hierarchies your program processes.
You can use the following list as a checklist to make sure you are not missing any information. If you are missing information about data, IMS options being used in the application program, or segment layouts and the application program's data structures, obtain this information from the DBA or the equivalent specialist at your installation. Be aware of the programming standards and conventions that have been established at your installation.
Program design considerations:
- The sequence of calls for your program.
- The format of each call:
- Does the call include any SSAs?
- If so, are they qualified or unqualified?
- Does the call contain any command codes?
- The processing logic for the program.
- The routine the program uses to check the status code after each call.
- The error routine the program uses.
Checkpoint considerations:
- The type of checkpoint call to use (basic or symbolic).
- The identification to assign to each checkpoint call, regardless of whether the Checkpoint call is basic or symbolic.
- If you are going to use the symbolic checkpoint call, which areas of your program to checkpoint.
Segment considerations:
- Whether the segment is fixed length or variable length.
- The length of the segment (the maximum length, if the segment is variable length).
- The names of the fields that each segment contains.
- Whether the segment has a key field. If it does, is the key field unique or non-unique? If it does not, what sequencing rule has been defined for it? (A segment's key field is defined in the SEQ keyword of the FIELD statement in the DBD. The sequencing rule is defined in the RULES keyword of the SEGM statement in the DBD.)
- The segment's field layouts:
- The byte location of each field.
- The length of each field.
- The format of each field.
Data structure considerations:
- Each data structure your program processes has been defined in a DB PCB. All of the PCBs your program references are part of a PSB for your application program. You need to know the order in which the PCBs are defined in the PSB.
- The layout of each of the data structures your program processes.
- Whether multiple or single positioning has been specified for each data structure. This is
specified in the
POS
keyword of the PCB statement during PSB generation. - Whether any data structures use multiple DB PCBs.