bdfd1m0r | Database Administration |
Macro IR21DF is the DSECT for the passenger number file. The following example shows the DSECT and the DBDEF for this index file.
Figure 19 shows the DSECT used to define the passenger number file.
Figure 19. DSECT to Define the Passenger Number File
MACRO &LABEL IR21DF ®=,&SUFFIX=,&ORG=,&ACPDB= .* ********************************************************************* * * * IR21DF PASSENGER NUMBER FILE (INDEX) * * DATE:11APR91 * * * ********************************************************************* GBLB &IR21DF1 1ST TIME CALLED SWITCH COPY DBGBL COPY TPFDF GLOBAL DEFINITIONS COPY DBLCL COPY TPFDF LOCAL DEFINITIONS &NAM SETC 'IR21DF ' DOC NAME &DATE SETC '08FEB91' UPDATE DATE &VERS SETC '00' VERSION NUMBER .******************************************************************** . DEFINITIONS FOR TPFDF * .******************************************************************** &SW00WID SETC '21' FILE ID &SW00WRS SETC 'L4' BLOCK SIZE &SW00ARS SETC 'L2' ALTERNATE BLOCK SIZE &SW00RCT SETC '#IR21DF' FACE FILE TYPE &SW00RBV SETC '#TPFDB09' FILE ALGORITHM &SW00BOR SETC '0' BASE ORDINAL NUMBER &SW00EOR SETC '-1' END ORDINAL NBR &SW00ILV SETC '0' MAXIMUM INTERLEAVING FACTOR IF APPLIC &SW00PTN SETC '0' NUMBER OF PARTITIONS &SW01EO# SETC '&SW00EOR' RECOUP END ORDINAL &SW02FIL SETC 'IR21DF' 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 ('&IR21DF1' EQ '1').NOT1ST * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * DESCRIPTION OF IR21DF * * * * 1. DATA AREA NAME * * * * PASSENGER NUMBER INDEX FILE * * * * 2. MEMBER NAME * * * * IR21DF * * *
* 3. INVOCATION * * * * IR21DF REG=RGD, * * (SUFFIX=X), * * (ORG=IR21HDR) * * * * 4. GENERAL CONTENTS AND USAGE * * * * 4.1. ROLE IN SYSTEM * * * * THE IR21DF CONTAINS INDEX POINTERS TO THE PASSENGER FILE * * BASED ON THE UNIQUE PASSENGER NUMBER. * * * * 4.2. DATA LAYOUT * * * * STANDARD TPFDF FILE HEADER * * * * ABV.: CREATOR (C), USERS (U), AND PURGER (P) OF EACH LREC. * * * * PRIMARY KEY USAGE * * 80 PASSENGER NUMBER LOGICAL RECORD * * * * 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 * * * * THE NUMBER OF FILES ALLOCATED IS 7999. * * * * 5.3. ACCESSING SCHEME * * * * (DESCRIBE ALGORITHM, PATHS, UP/DOWN ORGANIZATION AND * * CROSS RELATION OF LRECS ETC) * * THE IR21DF IS ACCESSED BY PATH=1 OF THE PASSENGER FILE. * * * * 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 #IR21DFS EQU &SW00WRS BLOCK SIZE .CHECKID AIF ('&SW00WID' EQ '').NOT1ST #IR21DFI EQU C'&SW00WID' FILE ID .NOT1ST ANOP ************************************************************************ * STANDARD TPFDF HEADER * ************************************************************************ IR21HDR&CG1 DS CL16 STANDARD FILE HEADER DS CL10 STANDARD TPFDF HEADER IR21VAR&CG1 EQU * START OF VARIABLE USER-AREA IR21HDL&CG1 EQU IR21VAR&CG1-IR21HDR&CG1 HEADER-LENGTH UP TO IR21VAR ORG IR21HDR&CG1 IR21REC&CG1 DS 0CL1 1ST RECORD START (1=VARIABLE,ELSE SIZE) IR21SIZ&CG1 DS H SIZE OF LOGICAL RECORD IR21KEY&CG1 DS X LOGICAL RECORD IDENTIFIER AIF ('&IR21DF1' EQ '1').KEYEQ GO IF NOT FIRST ISSUE ************************************************************************* * EQUATE OF LOGICAL RECORD KEYS (KEY AND LENGTH) * ************************************************************************* .* USE KEY #IR21K80 IF ONLY ONE KEY .* #IR21K00-#IR21K0F ARE RESERVED FOR TPFDF .* #IR21KF0-#IR21KFF ARE RESERVED FOR TPFDF #IR21K80 EQU X'80' LOGICAL RECORD KEY X'80' #IR21L80 EQU IR21E80&CG1-IR21REC&CG1 LENGTH OF LOGICAL RECORD X'80' &IR21DF1 SETB (1) INDICATE 1ST TIME THROUGH .KEYEQ ANOP IR21ORG&CG1 EQU * START VARIABLE DATA PER LREC ************************************************************************* * DESCRIPTION OF FIRST LOGICAL RECORD TYPE * ************************************************************************* IR21FAD&CG1 DS 0AL4 F.A. OF POINTER USED BY DBDEF IR21FA1&CG1 DS AL4 F.A. OF POINTER TO DETAIL/LOWER LEVEL INDX IR21RCC&CG1 DS 0AL1 CHECK BYTE USED BY DBDEF IR21RC1&CG1 DS AL1 CHECK BYTE IR21A80&CG1 DS 0CL8 KEYAREA IR21NBR&CG1 DS CL8 UNIQUE PASSENGER NUMBER IR21E80&CG1 EQU * END OF LOGICAL RECORD WITH KEY = X'80' .* ORG IR21ORG&CG1 .* .***************************************************************** 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 20 shows the position of IR21DF in the file structure.
Figure 20. Position of IR21DF in the File Structure
DBDEF FILE=IR21DF, - (ITK=#IR21K80,ID2=, - INDEX=(IR24DF,0))