bdfd1m0q | Database Administration |
Macro IR20DF is the DSECT for the passenger name file. The following example shows the DSECT and the DBDEF for this index file.
Figure 17 shows the DSECT used to define the passenger name file.
Figure 17. DSECT to Define the Passenger Name File
MACRO &LABEL IR20DF ®=,&SUFFIX=,&ORG=,&ACPDB= .* ************************************************************************* * * * IR20DF PASSENGER NAME FILE (INDEX) * * DATE: 11 APRIL 1991 * * * ************************************************************************* GBLB &IR20DF1 1ST TIME CALLED SWITCH COPY DBGBL COPY TPFDF GLOBAL DEFINITIONS COPY DBLCL COPY TPFDF LOCAL DEFINITIONS &NAM SETC 'IR20DF ' DOC NAME &DATE SETC '06FEB91' UPDATE DATE &VERS SETC '00' VERSION NUMBER .********************************************************************** .* DEFINITIONS FOR TPFDF * .********************************************************************** &SW00WID SETC '20' FILE ID &SW00WRS SETC 'L1' BLOCK SIZE &SW00RCT SETC '#IR20DF' FACE FILE TYPE &SW00RBV SETC '#TPFDB03' 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 'IR20DF' 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 ('&IR20DF1' EQ '1').NOT1ST * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * DESCRIPTION OF IR20DF * * * * 1. DATA AREA NAME * * * * PASSENGER NAME FILE * * * * 2. MEMBER NAME * * * * IR20DF * * * * 3. INVOCATION * * * * IR20DF REG=RGD, * * (SUFFIX=X), * * (ORG=IR20HDR) *
* 4. GENERAL CONTENTS AND USAGE * * * * 4.1. ROLE IN SYSTEM * * * * THE PASSENGER NAME FILE CONTAINS INDEX POINTERS TO THE * * PASSENGER FILE. THIS ALLOWS FAST ACCESS TO A PASSENGER * * BY THE NAME. * * * * 4.2. DATA LAYOUT * * * * STANDARD TPFDF FILE HEADER * * * * ABV.: CREATOR (C), USERS (U), AND PURGER (P) OF EACH LREC. * * * * PRIMARY KEY USAGE * * 80 PASSENGER NAME 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 #TPFDB03 ALGORITHM REQUIRES 17576 FIXED FILES * * * * 5.3. ACCESSING SCHEME * * * * (DESCRIBE ALGORITHM, PATHS, UP/DOWN ORGANIZATION AND * * CROSS RELATION OF LRECS ETC) * * THE FILE IS UP ORGANIZED. IT IS ACCESSED BY THE PATH=0 * * * * DEFINITION 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 #IR20DFS EQU &SW00WRS BLOCK SIZE .CHECKID AIF ('&SW00WID' EQ '').NOT1ST #IR20DFI EQU C'&SW00WID' FILE ID .NOT1ST ANOP ********************************************************************* * STANDARD TPFDF HEADER * ********************************************************************* IR20HDR&CG1 DS CL16 STANDARD FILE HEADER DS CL10 STANDARD TPFDF HEADER IR20VAR&CG1 EQU * START OF VARIABLE USER-AREA IR20HDL&CG1 EQU IR20VAR&CG1-IR20HDR&CG1 HEADER-LENGTH UP TO IR20VAR ORG IR20HDR&CG1 IR20REC&CG1 DS 0CL1 1ST RECORD START (1=VARIABLE,ELSE SIZE) IR20SIZ&CG1 DS H SIZE OF LOGICAL RECORD IR20KEY&CG1 DS X LOGICAL RECORD IDENTIFIER AIF ('&IR20DF1' EQ '1').KEYEQ GO IF NOT FIRST ISSUE ********************************************************************** * EQUATE OF LOGICAL RECORD KEYS (KEY AND LENGTH) * ********************************************************************** .* USE KEY #IR20K80 IF ONLY ONE KEY .* #IR20K00-#IR20K0F ARE RESERVED FOR TPFDF .* #IR20KF0-#IR20KFF ARE RESERVED FOR TPFDF #IR20K80 EQU X'80' LOGICAL RECORD KEY X'80' #IR20L80 EQU IR20E80&CG1-IR20REC&CG1 LENGTH OF LOGICAL RECORD X'80' &IR20DF1 SETB (1) INDICATE 1ST TIME THROUGH .KEYEQ ANOP IR20ORG&CG1 EQU * START VARIABLE DATA PER LREC .* ********************************************************************** * DESCRIPTION OF F I R S T LOGICAL RECORD TYPE * ********************************************************************** IR20FAD&CG1 DS 0AL4 F.A. OF POINTER USED BY DBDEF IR20FA1&CG1 DS AL4 F.A. OF POINTER TO DETAIL/LOWER LEVEL IN IR20RCC&CG1 DS 0AL1 CHECK BYTE USED BY DBDEF IR20RC1&CG1 DS AL1 CHECK BYTE IR20A80&CG1 DS 0CL25 KEYAREA IR20PNM&CG1 DS CL25 PASSENGER NAME IR20E80&CG1 EQU * END OF LOGICAL RECORD WITH KEY = X'80' .* ORG IR20ORG&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 18 shows the position of IR20DF in the file structure.
Figure 18. Position of IR20DF in the File Structure
DBDEF FILE=IR20DF, - (ITK=#IR20K80,ID2=, - INDEX=(IR24DF,0))