bdfd1m0t | Database Administration |
Macro IR23DF is the DSECT for the seat file. The following example shows the DSECT and the DBDEF for this index file.
Figure 23 shows the DSECT used to define the seat file.
Figure 23. DSECT to Define the Seat File
MACRO &LABEL IR23DF ®=,&SUFFIX=,&ORG=,&ACPDB= .* ********************************************************************* * * * IR23DF SEAT FILE (INDEX) * * DATE: 11APR91 * * * ********************************************************************* GBLB &IR23DF1 1ST TIME CALLED SWITCH COPY DBGBL COPY TPFDF GLOBAL DEFINITIONS COPY DBLCL COPY TPFDF LOCAL DEFINITIONS &NAM SETC 'IR23DF ' DOC NAME &DATE SETC '08FEB91' UPDATE DATE &VERS SETC '00' VERSION NUMBER .******************************************************************** .* DEFINITIONS FOR TPFDF * .******************************************************************** &SW00WID SETC '23' FILE ID &SW00WRS SETC 'L4' BLOCK SIZE &SW00RBV SETC '#TPFDBFF' FILE ALGORITHM &SW02FIL SETC 'IR23DF' 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 ('&IR23DF1' EQ '1').NOT1ST * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * DESCRIPTION OF IR23DF * * * * 1. DATA AREA NAME * * * * SEAT FILE * * * * 2. MEMBER NAME * * * * IR23DF * * * * 3. INVOCATION * * * * IR23DF REG=RGD, * * (SUFFIX=X), * * (ORG=IR23HDR) * * *
* 4. GENERAL CONTENTS AND USAGE * * * * 4.1. ROLE IN SYSTEM * * * * CONTAINS THE PASSENGER NAMES, NUMBERS, CLASSES AND SEAT * * NUMBERS FOR A PARTICULAR FLIGHT. * * * * 4.2. DATA LAYOUT * * * * STANDARD TPFDF FILE HEADER * * * * ABV.: CREATOR (C), USERS (U), AND PURGER (P) OF EACH LREC. * * * * PRIMARY KEY USAGE * * 80 SEAT ALLOCATION 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 * * * * POOL FILES (VARIES WITH NUMBER OF FLIGHTS AND AIRCRAFT TYPE)* * * * 5.3. ACCESSING SCHEME * * * * (DESCRIBE ALGORITHM, PATHS, UP/DOWN ORGANIZATION AND * * CROSS RELATION OF LRECS ETC) * * THIS FILE IS ACCESSED BY PATH=3 AND PATH=4 METHODS OF FILE * * IR24DF (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 #IR23DFS EQU &SW00WRS BLOCK SIZE .CHECKID AIF ('&SW00WID' EQ '').NOT1ST #IR23DFI EQU C'&SW00WID' FILE ID .NOT1ST ANOP ********************************************************************* * STANDARD TPFDF HEADER * ********************************************************************* IR23HDR&CG1 DS CL16 STANDARD FILE HEADER DS CL10 STANDARD TPFDF HEADER IR23VAR&CG1 EQU * START OF VARIABLE USER-AREA IR23HDL&CG1 EQU IR23VAR&CG1-IR23HDR&CG1 HEADER-LENGTH UP TO IR23VAR ORG IR23HDR&CG1 IR23REC&CG1 DS 0CL1 1ST RECORD START (1=VARIABLE,ELSE SIZE) IR23SIZ&CG1 DS H SIZE OF LOGICAL RECORD IR23KEY&CG1 DS X LOGICAL RECORD IDENTIFIER AIF ('&IR23DF1' EQ '1').KEYEQ GO IF NOT FIRST ISSUE ********************************************************************* * EQUATE OF LOGICAL RECORD KEYS (KEY AND LENGTH) * ********************************************************************* .* USE KEY #IR23K80 IF ONLY ONE KEY .* #IR23K00-#IR23K0F ARE RESERVED FOR TPFDF .* #IR23KF0-#IR23KFF ARE RESERVED FOR TPFDF #IR23K80 EQU X'80' LOGICAL RECORD KEY X'80' #IR23L80 EQU IR23E80&CG1-IR23REC&CG1 LENGTH OF LOGICAL RECORD X'80' &IR23DF1 SETB (1) INDICATE 1ST TIME THROUGH .KEYEQ ANOP IR23ORG&CG1 EQU * START VARIABLE DATA PER LREC .* ********************************************************************* * DESCRIPTION OF FIRST LOGICAL RECORD TYPE * ********************************************************************* IR23FAD&CG1 DS 0AL4 INDEX FILE ADDRESS IR23FA1&CG1 DS AL4 IR23RCC&CG1 DS 0AL1 INDEX RECORD CODE CHECK IR23RC1&CG1 DS AL1 IR23A80&CG1 DS 0CL38 USER DEFINED AREA IR23PNA&CG1 DS CL25 PASSENGER NAME IR23PNN&CG1 DS CL8 PASSENGER NUMBER IR23SNB&CG1 DS XL2 SEAT NUMBER IR23SCL&CG1 DS CL1 SEAT CLASS IR23E80&CG1 EQU * END OF LOGICAL RECORD WITH KEY = X'80' .* ORG IR23ORG&CG1 ********************************************************************* * ALGORITHM DESCRIPTION * ********************************************************************* ORG IR23REC&CG1 IR23@2BEG&CG1 EQU * PATH 2 DESCRIPTION IR23@2FLN&CG1 DS CL7 IR23@2END&CG1 EQU * ORG IR23REC&CG1 IR23@3BEG&CG1 EQU * PATH 3 DESCRIPTION IR23@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 24 shows the position of IR23DF in the file structure.
Figure 24. Position of IR23DF in the File Structure
DBDEF FILE=IR23DF, - (ITK=#IR22K80,ID2=, - INDEX=(IR24DF,0)), - (IID=IR22DF,PTH=2,IKY=80,IPA=7,ILA=2,IPK=0,ILK=9,- KEY1=(PKY=#IR22K80,UP), - KEY2=(R=IR22FL,S=0,UP)), - (IID=IR22DF,PTH=3,IKY=80, - KEY1=(PKY=#IR22K80,UP), - KEY2=(R=IR22FLN,S=0,UP))