bdfd1m0s | Database Administration |
Macro IR22DF is the DSECT for the flight file. The following example shows the DSECT and the DBDEF for this index file.
Figure 21 shows the DSECT used to define the flight file.
Figure 21. DSECT to Define the Flight File
MACRO &LABEL IR22DF ®=,&SUFFIX=,&ORG=,&ACPDB= .* ********************************************************************* * * * IR22DF FLIGHT FILE (INDEX) * * DATE: 11APR91 * * * ********************************************************************* GBLB &IR22DF1 1ST TIME CALLED SWITCH COPY DBGBL COPY TPFDF GLOBAL DEFINITIONS COPY DBLCL COPY TPFDF LOCAL DEFINITIONS &NAM SETC 'IR22DF ' DOC NAME &DATE SETC '08FEB91' UPDATE DATE &VERS SETC '00' VERSION NUMBER .******************************************************************** .* DEFINITIONS FOR TPFDF * .******************************************************************** &SW00WID SETC '22' FILE ID &SW00WRS SETC 'L4' BLOCK SIZE &SW00RCT SETC '#IR22DF' FACE FILE TYPE &SW00RBV SETC '#TPFDB05' 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 'IR22DF' 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 ('&IR22DF1' EQ '1').NOT1ST * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * DESCRIPTION OF IR22DF * * * * 1. DATA AREA NAME * * * * FLIGHT FILE * * * * 2. MEMBER NAME * * * * IR22DF * * * * 3. INVOCATION * * * * IR22DF REG=RGD, * * (SUFFIX=X), * * (ORG=IR22HDR) * * *
* 4. GENERAL CONTENTS AND USAGE * * * * 4.1. ROLE IN SYSTEM * * * * THIS FILE CONTAINS ALL THE FLIGHTS FOR A PARTICULAR DAY * * WITH POINTERS TO THE SEAT FILE. * * * * 4.2. DATA LAYOUT * * * * STANDARD TPFDF FILE HEADER * * * * ABV.: CREATOR (C), USERS (U), AND PURGER (P) OF EACH LREC. * * * * PRIMARY KEY USAGE * * 80 FLIGHT INFORMATION 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 * * * * REQUIRES 366 FIXED FILES, 1 PER DAY * * * * * * 5.3. ACCESSING SCHEME * * * * (DESCRIBE ALGORITHM, PATHS, UP/DOWN ORGANIZATION AND * * CROSS RELATION OF LRECS ETC) * * IS ACCESSED BY PATH=3 AND PATH=4 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 #IR22DFS EQU &SW00WRS BLOCK SIZE .CHECKID AIF ('&SW00WID' EQ '').NOT1ST #IR22DFI EQU C'&SW00WID' FILE ID .NOT1ST ANOP ********************************************************************** * STANDARD TPFDF HEADER * ********************************************************************** IR22HDR&CG1 DS CL16 STANDARD FILE HEADER DS CL10 STANDARD TPFDF HEADER IR22VAR&CG1 EQU * START OF VARIABLE USER-AREA IR22HDL&CG1 EQU IR22VAR&CG1-IR22HDR&CG1 HEADER-LENGTH UP TO IR22VAR ORG IR22HDR&CG1 IR22REC&CG1 DS 0CL1 1ST RECORD START (1=VARIABLE,ELSE SIZE) IR22SIZ&CG1 DS H SIZE OF LOGICAL RECORD IR22KEY&CG1 DS X LOGICAL RECORD IDENTIFIER AIF ('&IR22DF1' EQ '1').KEYEQ GO IF NOT FIRST ISSUE ************************************************************************ * EQUATE OF LOGICAL RECORD KEYS (KEY AND LENGTH) * ************************************************************************ .* USE KEY #IR22K80 IF ONLY ONE KEY .* #IR22K00-#IR22K0F ARE RESERVED FOR TPFDF .* #IR22KF0-#IR22KFF ARE RESERVED FOR TPFDF #IR22K80 EQU X'80' LOGICAL RECORD KEY X'80' #IR22L80 EQU IR22E80&CG1-IR22REC&CG1 LENGTH OF LOGICAL RECORD X'80' &IR22DF1 SETB (1) INDICATE 1ST TIME THROUGH .KEYEQ ANOP IR22ORG&CG1 EQU * START VARIABLE DATA PER LREC .* ************************************************************************ * DESCRIPTION OF F I R S T LOGICAL RECORD TYPE * ************************************************************************ IR22FAD&CG1 DS 0AL4 F.A. OF POINTER USED BY DBDEF IR22FA1&CG1 DS AL4 F.A. OF POINTER TO DETAIL/LOWER LEVEL INDX IR22RCC&CG1 DS 0AL1 CHECK BYTE USED BY DBDEF IR22RC1&CG1 DS AL1 CHECK BYTE IR22A80&CG1 DS 0CL27 KEYAREA IR22FLN&CG1 DS CL7 FLIGHT NUMBER IR22DAT&CG1 DS XL2 DATE OF FLIGHT IR22TIM&CG1 DS XL2 TIME OF FLIGHT IR22BRD&CG1 DS CL3 BOARDING POINT IR22DES&CG1 DS CL3 DESTINATION IR22ACT&CG1 DS CL4 AIRCRAFT TYPE IR22AVL&CG1 DS XL6 AVAILABILITY COUNTS FOR THE 3 CLASSES IR22E80&CG1 EQU * END OF LOGICAL RECORD WITH KEY = X'80' .* ORG IR22ORG&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 22 shows the position of IR22DF in the file structure.
Figure 22. Position of IR22DF in the File Structure
DBDEF FILE=IR22DF, - (ITK=#IR22K80,ID2=, - INDEX=(IR23DF,0))