bdfd1m0uDatabase Administration

DSECT and DBDEF for the Passenger File

Macro IR24DF is the DSECT for the passenger file. The following example shows the DSECT and the DBDEF for this detail file.

DSECT

Figure 25 shows the DSECT used to define the passenger file.

Figure 25. DSECT to Define the Passenger File

         MACRO
&LABEL   IR24DF &REG=,&SUFFIX=,&ORG=,&ACPDB=
.*
*********************************************************************
*                                                                   *
*   IR24DF      PASSENGER FILE                                      *
*                         DATE: 11APR91                             *
*                                                                   *
*********************************************************************
         GBLB  &IR24DF1      1ST TIME CALLED SWITCH
         COPY  DBGBL         COPY TPFDF GLOBAL DEFINITIONS
         COPY  DBLCL         COPY TPFDF LOCAL DEFINITIONS
&NAM     SETC  'IR24DF    '    DOC NAME
&DATE    SETC  '11APR91'     UPDATE DATE
&VERS    SETC  '00'          VERSION NUMBER
.*******************************************************************
.*      DEFINITIONS FOR TPFDF                                      *
.*******************************************************************
&SW00WID SETC  '24'          FILE ID
&SW00WRS SETC  'L1'          BLOCK SIZE
&SW00ARS SETC  'L1'          ALTERNATE BLOCK SIZE
&SW00RBV SETC  '#TPFDBFF'    FILE ALGORITHM
&SW02FIL SETC  'IR24DF'      FILE DSECT NAME
&SW00OP1 SETC  '00000000'    OPT BYTE1
&SW00OP2 SETC  '00000110'    OPT BYTE2
&SW00OP3 SETC  '00000000'    OPT BYTE3
&SW00TQK SETC  '15'          HIGHEST TLREC
.*******************************************************************
         COPY  DBCOD         COPY DSECT DEFINITION FUNCTIONS
         AIF   ('&IR24DF1' EQ '1').NOT1ST
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*                                                                   *
*  DESCRIPTION OF IR24DF                                            *
*                                                                   *
*  1. DATA AREA NAME                                                *
*                                                                   *
*     PASSENGER FILE                                                *
*                                                                   *
*  2. MEMBER NAME                                                   *
*                                                                   *
*     IR24DF                                                        *
*                                                                   *
*  3. INVOCATION                                                    *
*                                                                   *
*     IR24DF REG=RGD,                                               *
*           (SUFFIX=X),                                             *
*           (ORG=IR24HDR)                                           *
*                                                                   *
*  4. GENERAL CONTENTS AND USAGE                                    *
*                                                                   *
*  4.1. ROLE IN SYSTEM                                              *
*                                                                   *
*       THIS FILE CONTAINS ALL PASSENGER RELATED INFORMATION.       *
 
*                                                                   *
*  4.2. DATA LAYOUT                                                 *
*                                                                   *
*       STANDARD TPFDF FILE HEADER                                  *
*                                                                   *
*       ABV.: CREATOR (C), USERS (U), AND PURGER (P) OF EACH LREC.  *
*                                                                   *
*       PRIMARY KEY     USAGE                                       *
*          70           NAME LOGICAL RECORD                         *
*          80           PASSENGER NUMBER                            *
*          90           ADDRESS                                     *
*          A0           FLIGHT INFORMATION                          *
*          B0           FACTS                                       *
*                                                                   *
*  4.3. PROGRAMMING ASPECTS                                         *
*                                                                   *
*  4.3.1. PROGRAMMING RESTRICTIONS                                  *
*                                                                   *
*         NONE.                                                     *
*                                                                   *
*  4.3.2. PROGRAMMING TECHNIQUES AND USAGE                          *
*                                                                   *
*         STANDARD TPFDF LREC LOCATION TECHNIQUE USING:             *
*         - PRIMARY KEY                                             *
*                                                                   *
*  5. STORAGE FACTORS                                               *
*                                                                   *
*  5.1. BLOCK SIZE                                                  *
*                                                                   *
*       DEFINED IN DBDEF.                                           *
*                                                                   *
*  5.2. FILE REQUIREMENTS                                           *
*                                                                   *
*       POOL FILE (NUMBER OF FILES VARIES)                          *
*                                                                   *
*  5.3. ACCESSING SCHEME                                            *
*                                                                   *
*       (DESCRIBE ALGORITHM, PATHS, UP/DOWN ORGANIZATION AND        *
*       CROSS RELATION OF LRECS ETC)                                *
*       THE ACCESS PATHS 2,3 ARE USED TO RETRIEVE THE PASSENGER     *
*       FILE BY FLIGHT NUMBER AND DATE, PATH=0 BY PASSENGER NAME    *
*       AND PATH=1 BY PASSENGER NUMBER.                             *
*                                                                   *
*  6. DATA CONTROL                                                  *
*                                                                   *
*  6.1. CHAINING AND OVERFLOW                                       *
*                                                                   *
*       STANDARD TPFDF CHAINING.                                    *
*                                                                   *
*  6.2. DATA FIELD ADDRESSING                                       *
*                                                                   *
*       OFFSET WITHIN STANDARD TPFDF LREC.                          *
*                                                                   *
*  7. IMPLEMENTATION REQUIREMENTS                                   *
*                                                                   *
*  8. REFERENCES                                                    *
*                                                                   *
*  9. COMMENTS                                                      *
*                                                                   *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
         EJECT
         AIF   ('&SW00WRS' EQ '').CHECKID
#IR24DFS EQU   &SW00WRS      BLOCK SIZE
.CHECKID AIF   ('&SW00WID' EQ '').NOT1ST
#IR24DFI EQU   C'&SW00WID'   FILE ID
.NOT1ST  ANOP
*********************************************************************
*        STANDARD TPFDF HEADER                                      *
*********************************************************************
IR24HDR&CG1 DS  CL16         STANDARD FILE HEADER
            DS  CL10         STANDARD TPFDF HEADER
IR24VAR&CG1 EQU *            START OF VARIABLE USER-AREA
IR24HDL&CG1 EQU IR24VAR&CG1-IR24HDR&CG1  HEADER-LENGTH UP TO IR24VAR
            ORG IR24HDR&CG1
IR24REC&CG1 DS  0CL1         1ST RECORD START (1=VARIABLE,ELSE SIZE)
IR24SIZ&CG1 DS  H            SIZE OF LOGICAL RECORD
IR24KEY&CG1 DS  X            LOGICAL RECORD IDENTIFIER
         AIF   ('&IR24DF1' EQ '1').KEYEQ  GO IF NOT FIRST ISSUE
*********************************************************************
*        EQUATE OF LOGICAL RECORD KEYS (KEY AND LENGTH)             *
*********************************************************************
.*                    USE KEY #IR24K80 IF ONLY ONE KEY
.*                    #IR24K00-#IR24K0F ARE RESERVED FOR TPFDF
.*                    #IR24KF0-#IR24KFF ARE RESERVED FOR TPFDF
#IR24K70 EQU   X'70'         LOGICAL RECORD KEY X'70'
#IR24K80 EQU   X'80'         LOGICAL RECORD KEY X'80'
#IR24K90 EQU   X'90'         LOGICAL RECORD KEY X'90'
#IR24KA0 EQU   X'A0'         LOGICAL RECORD KEY X'A0'
#IR24KB0 EQU   X'B0'         LOGICAL RECORD KEY X'B0'
#IR24L70 EQU   IR24E70&CG1-IR24REC&CG1  LENGTH OF LOGICAL RECORD X'70'
#IR24L80 EQU   IR24E80&CG1-IR24REC&CG1  LENGTH OF LOGICAL RECORD X'80'
#IR24L90 EQU   IR24E90&CG1-IR24REC&CG1  LENGTH OF LOGICAL RECORD X'90'
#IR24LA0 EQU   IR24EA0&CG1-IR24REC&CG1  LENGTH OF LOGICAL RECORD X'A0'
#IR24LB0 EQU   IR24EB0&CG1-IR24REC&CG1  LENGTH OF LOGICAL RECORD X'B0'
&IR24DF1 SETB  (1)           INDICATE 1ST TIME THROUGH
.KEYEQ   ANOP
IR24ORG&CG1 EQU *            START VARIABLE DATA PER LREC
.*
*********************************************************************
*        PASSENGER NAME LOGICAL RECORD                              *
*********************************************************************
IR24NAM&CG1 DS  CL25         PASSENGER NAME
IR24E70&CG1 EQU *            END OF LOGICAL RECORD WITH KEY = X'70'
.*
         ORG IR24ORG&CG1
*********************************************************************
*        PASSENGER NUMBER LOGICAL RECORD                            *
*********************************************************************
IR24NUM&CG1 DS  CL8          PASSENGER NUMBER
IR24E80&CG1 EQU *            END OF LOGICAL RECORD WITH KEY = X'80'
.*
         ORG IR24ORG&CG1
*********************************************************************
*        ADDRESS LOGICAL RECORD                                     *
*********************************************************************
IR24ADR&CG1 DS  CL50         PASSENGER ADDRESS
IR24E90&CG1 EQU *            END OF LOGICAL RECORD WITH KEY = X'90'
.*
         ORG IR24ORG&CG1
 
*********************************************************************
*        FLIGHT INFORMATION LOGICAL RECORD                          *
*********************************************************************
IR24FLI&CG1 DS  0CL17        FLIGHT INFORMATION
IR24FLT&CG1 DS  CL7          FLIGHT NUMBER
IR24DAT&CG1 DS  XL2          DATE
IR24TIM&CG1 DS  XL2          TIME
IR24ORI&CG1 DS  CL3          ORIGIN (START)
IR24DES&CG1 DS  CL3          DESTINATION
IR24EA0&CG1 EQU *            END OF LOGICAL RECORD WITH KEY = X'A0'
.*
         ORG IR24ORG&CG1
*********************************************************************
*        FACTS LOGICAL RECORD                                       *
*********************************************************************
IR24FAC&CG1 DS  CL4          FLIGHT INFORMATION
IR24EB0&CG1 EQU *            END OF LOGICAL RECORD WITH KEY = X'B0'
.*
         ORG IR24ORG&CG1
*********************************************************************
*        ALGORITHM DESCRIPTION                                      *
*********************************************************************
         ORG IR24REC&CG1
IR24@0BEG&CG1 EQU *             PATH 0 DESCRIPTION
IR24@0NAM&CG1 DS  CL25          PASSENGER NAME
IR24@0END&CG1 EQU *
         ORG IR24REC&CG1
IR24@1BEG&CG1 EQU *             PATH 1 DESCRIPTION
IR24@1NUM&CG1 DS  CL8           PASSENGER NUMBER
IR24@1END&CG1 EQU *
         ORG IR24REC&CG1
IR24@2BEG&CG1 EQU *             PATH 2 DESCRIPTION
IR24@2DAY&CG1 DS  XL4           DAY
IR24@2FLN&CG1 DS  CL7           FLIGHT NUMBER
IR24@2PAN&CG1 DS  CL25          PASSENGER NAME
IR24@2END&CG1 EQU *
         ORG IR24REC&CG1
IR24@3BEG&CG1 EQU *             PATH 3 DESCRIPTION
IR24@3END&CG1 EQU *
.*************************************************************
         AIF   (&BG1).MACEXIT          GO IF INTERNAL USAGE
&SYSECT  CSECT
         AIF   ('&REG' EQ '').MACEXIT  GO IF REG= NOT SPECIFIED
.GEUSING ANOP                          GENERATE USING
         USING &DSN,&REG
.MACEXIT ANOP
         SPACE 1
         MEND

DBDEF

Figure 26, Figure 27, and Figure 28 show the index key definitions for paths 0, 1, and 2 respectively.

Index Keys for Each Path

Figure 26. Index Key Definitions for Path 0, IR20DF to IR24DF


Figure 27. Index Key Definitions for Path 1, IR21DF to IR24DF


Figure 28. Index Key Definitions for Path 2, IR23DF to IR24DF


Figure 29 shows the position of IR24DF in the file structure.

Figure 29. Position of IR24DF in the File Structure


         DBDEF FILE=IR24DF,                      Passenger File         -
               (PKY=#IR24K70,                                           -
               KEY1=(PKY=#IR24K70,UP),                                  -
               KEY2=(R=IR24NAM,UP)),             Passenger Name         -
               (PKY=#IR24K80,                                           -
               KEY1=(PKY=#IR24K80,UP),                                  -
               KEY2=(R=IR24NUM,UP)),             Passenger Number       -
               (PKY=#IR24K90,                                           -
               KEY1=(PKY=#IR24K90,UP)),                                 -
               (PKY=#IR24KA0,                                           -
               KEY1=(PKY=#IR24KA0,UP),                                  -
               KEY2=(R=IR24DAT,UP),              Date                   -
               KEY3=(R=IR24TIM,UP),              Time                   -
               KEY4=(R=IR24FLT,UP)),             Flight                 -
               (PKY=#IR24KB0,                                           -
               KEY1=(PKY=#IR24KB0,UP)),                                 -
               (IID=IR20DF,PTH=0,IKY=80,IPA=0,ILA=1,IPK=0,ILK=25,       -
               KEY1=(PKY=#IR20K80,UP),                                  -
               KEY2=(R=IR20PNM,S=0,UP)),         Passenger Name         -
               (IID=IR21DF,PTH=1,IKY=80,IPA=0,ILA=8,IPK=0,ILK=8,        -
               KEY1=(PKY=#IR21K80,UP),                                  -
               KEY2=(R=IR21NBR,S=0,UP)),         Passenger Number       -
               (IID=IR23DF,PTH=2,IKY=80,IPA=0,ILA=0,IPK=9,ILK=25,       -
               KEY1=(PKY=#IR23K80,UP),                                  -
               KEY2=(R=IR23PNA,S=7,UP)),         Passenger Name         -
               (IID=IR23DF,PTH=3,IKY=80,                                -
               KEY1=(PKY=#IR23K80,UP))           All Passengers