bdfd1m0u | Database Administration |
Macro IR24DF is the DSECT for the passenger file. The following example shows the DSECT and the DBDEF for this detail file.
Figure 25 shows the DSECT used to define the passenger file.
Figure 25. DSECT to Define the Passenger File
MACRO &LABEL IR24DF ®=,&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 ('®' EQ '').MACEXIT GO IF REG= NOT SPECIFIED .GEUSING ANOP GENERATE USING USING &DSN,® .MACEXIT ANOP SPACE 1 MEND
Figure 26, Figure 27, and Figure 28 show the index key definitions for paths 0, 1, and 2 respectively.
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