         PROC  &P,0,                                                   X00000100
               &FASCII=,                                               X00000200
               &FAUE=,                                                 X00000300
               &FBKNO=,                                                X00000400
               &FBKSZ=0,                                               X00000500
               &FBUFOFF=0,                                             X00000600
               &FBUFPOOL=,                                             X00000700
               &FCHAR=,                                                X00000800
               &FCKPT=,                                                X00000900
               &FCLRW=,                                                X00001000
               &FCRDERR=,                                              X00001100
               &FDEVICE=,                                              X00001200
               &FDIAGNOS=,                                             X00001300
               &FEQUIV=,                                               X00001400
               &FERROPT=,                                              X00001500
               &FFILABL=,                                              X00001600
               &FFILEID=,                                              X00001700
               &FLABADDR=,                                             X00001800
               &FLENCHK=,                                              X00001900
               &FMODE=,                                                X00002000
               &FNUMBUF=0,                                             X00002100
               &FOPRW=,                                                X00002200
               &FOPTION=,                                              X00002300
               &FPRINTOV=,                                             X00002400
               &FRECERR=,                                              X00002500
               &FRECFORM=,                                             X00002600
               &FRECSIZE=0,                                            X00002700
               &FREREAD=,                                              X00002800
               &FSECTOR=,                                              X00002900
               &FSTUB=0,                                               X00003000
               &FTRLBL=,                                               X00003100
               &FTYPEFLE=,                                             X00003200
               &FUNIT=0,                                               X00003300
               &FVERIFY=,                                              X00003400
               &FWORKA=                                                 00003500
UNIT     NAME  1                                                        00003600
         GBL   &SYSTM                                                   00003700
.*                                                                      00003800
.*  FORT GLOBALS                                                        00003900
.*                                                                      00004000
         GBL   &MAXAREA,&MAXWORK,&CRDFLAG,&PRNFLAG,&TABFLAG,&ENDFLAG    00004100
.*                                                                      00004200
.*  FOR GLOBALS                                                         00004300
.*                                                                      00004400
         GBL   &FMAXWRK                 MAX WORK AREA NEEDED            00004500
         GBL   &FDIAGFL                 FDIAGNOS=YES SPECIFIED          00004600
         GBL   &FIOERFL                 EXTRN TO FL$IOERR GENERATED     00004700
         GBL   &MXPOOL1                 MAX POOLED I/O AREA 1 NEEDED    00004800
         GBL   &MXPOOL2                 MAX POOLED I/O AREA 2 NEEDED    00004900
         GBL   &FRERDDF                 REREAD UNIT DEFINED             00005000
         GBL   &MAXRERD                 MAX REREAD BUFFER NEEDED        00005100
         GBL   &FFNTBFL                 VALID FUNTAB CALL               00005200
         GBL   &FFNENFL                 VALID FUNEND CALL               00005300
         GBL   &FBKNOFL                 FBKNO=YES SPECIFIED             00005400
         GBL   &FPRNTFL                 PRNTR FILE DEFINED              00005500
         GBL   &FEOFFL                  EXTRN TO FL$EOF GENERATED       00005600
         GBL   &FSKADRFL                EXTRN TO FL$SKADR GENERATED     00005700
         GBL   &FSECTRFL                BUF POOLING ON SECT DISC SPEC   00005800
         GBL   &FOUTFL                  SDISC OR DISC OUTPUT W/POOLING  00005900
.*                                                                      00006000
.*  FORT LOCALS                                                         00006100
.*                                                                      00006200
         LCL   &RFLAG,&SIZE,&FIOA1,&FIOA2,&FRCFM,&WORKA                 00006300
         LCL   &L1,&L2,&FTYPE,&FLABL,&SIZE1,&DBLEBUF                    00006400
.*                                                                      00006500
.*  FOR LOCALS                                                          00006600
.*                                                                      00006700
         LCL   &PASCII                                                  00006800
         LCL   &PAUE                                                    00006900
         LCL   &PBKNO                                                   00007000
         LCL   &PBKSZ                                                   00007100
         LCL   &PBUFOFF                                                 00007200
         LCL   &PBUFPOOL                                                00007300
         LCL   &PCHAR                                                   00007400
         LCL   &PCKPT                                                   00007500
         LCL   &PCLRW                                                   00007600
         LCL   &PCRDERR                                                 00007700
         LCL   &PDEVICE                                                 00007800
         LCL   &PDIAGNOS                                                00007900
         LCL   &PEQUIV                                                  00008000
         LCL   &PERROPT                                                 00008100
         LCL   &PFILABL                                                 00008200
         LCL   &PFILEID                                                 00008300
         LCL   &PLABADDR                                                00008400
         LCL   &PLENCHK                                                 00008500
         LCL   &PMODE                                                   00008600
         LCL   &PNUMBUF                                                 00008700
         LCL   &POPRW                                                   00008800
         LCL   &POPTION                                                 00008900
         LCL   &PPRINTOV                                                00009000
         LCL   &PRECERR                                                 00009100
         LCL   &PRECFORM                                                00009200
         LCL   &PRECSIZE                                        V4A     00009300
         LCL   &PREREAD                                                 00009400
         LCL   &PSECTOR                                                 00009500
         LCL   &PSTUB                                                   00009600
         LCL   &PTRLBL                                                  00009700
         LCL   &PTYPEFLE                                                00009800
         LCL   &PUNIT                                                   00009900
         LCL   &PVERIFY                                                 00010000
         LCL   &PWORKA                                                  00010100
.*                                                                      00010200
         LCL   &F4DUM1                                                  00010300
         LCL   &F4DUM2                                                  00010400
         LCL   &F4DUM3                                                  00010500
         LCL   &UODIAG                                                  00010600
         LCL   &PIOARA1                                                 00010700
         LCL   &PIOARA2                                                 00010800
         LCL   &PIO2FLG                                                 00010900
         LCL   &P2UNIT                                                  00011000
         LCL   &PIOREG                                                  00011100
         LCL   &UOPRNTR                                                 00011200
         LCL   &UOPOOL                                                  00011300
         LCL   &PBFPFLG                                                 00011400
         LCL   &UOREREAD                                                00011500
         LCL   &PNUMREC                                                 00011600
         LCL   &PRERDFL                                                 00011700
         LCL   &PWORKFL                                                 00011800
         LCL   &RECADDR                                                 00011900
         LCL   &UOWORKA                                                 00012000
         LCL   &UOASCII                                                 00012100
         LCL   &EOFADDR                                                 00012200
         LCL   &UOTPFL                                                  00012300
         LCL   &UORECFM                                                 00012400
         LCL   &PRECERFL                                                00012500
         LCL   &UORECERR                                                00012600
         LCL   &PBKNOFL                                                 00012700
         LCL   &PSECTRFL                                                00012800
         LCL   &POUTFL                                                  00012900
         DO    '&SYSTM'='FORT'                                          00013000
         DO    &TABFLAG=1                                               00013100
         DO    &ENDFLAG=0                                               00013200
&L1      SET   &FUNIT>255                                               00013300
&L2      SET   &FUNIT<1                                                 00013400
         DO    &L1++&L2                                                 00013500
         PNOTE 'W','INVALID UNIT NUMBER-UNIT DEFINITION IGNORED'        00013600
         GOTO  .LAST                                                    00013700
         ENDO                                                           00013800
.*                                                                      00013900
         DO    '&FDEVICE'='TAPE'                                        00014000
.* SET DEFAULT OPTIONS                                                  00014100
&SIZE    SET   263                                                      00014200
         DO    '&FBKSZ'='0'=0                                           00014300
&SIZE    SET   &FBKSZ                                                   00014400
         ENDO                                                           00014500
&FTYPE   SET   'WORK'                                                   00014600
         DO    '&FTYPEFLE'=''=0                                         00014700
&FTYPE   SET   '&FTYPEFLE'                                              00014800
         ENDO                                                           00014900
&FLABL   SET   'NO'                                                     00015000
         DO    '&FFILABL'=''=0                                          00015100
&FLABL   SET   '&FFILABL'                                               00015200
         ENDO                                                           00015300
&DBLEBUF SET   0                                                        00015400
         DO    ('&FNUMBUF'='0')++('&FNUMBUF'='1')=0             V4A     00015500
&DBLEBUF SET   1                                                        00015600
         ENDO                                                           00015700
.* CHECK FOR INVALID OPTIONS                                            00015800
         DO    '&FCRDERR'=''=0                                          00015900
         PNOTE 'W','FCRDERR OPTION IS INVALID FOR TAPE-IGNORED'         00016000
         ENDO                                                           00016100
         DO    '&FEQUIV'=''=0                                           00016200
         PNOTE 'W','FEQUIV OPTION IS INVALID FOR TAPE-IGNORED'          00016300
         ENDO                                                           00016400
         DO    '&FRECSIZE'='0'=0                                        00016500
         PNOTE 'W','FRECSIZE OPTION IS INVALID FOR TAPE-IGNORED'        00016600
         ENDO                                                           00016700
         DO    '&FVERIFY'=''=0                                          00016800
         PNOTE 'W','FVERIFY OPTION IS INVALID FOR TAPE-IGNORED'         00016900
         ENDO                                                           00017000
.* SET AND CHECK ATTRIBUTES                                             00017100
&FIOA1   SET   'FP$SIOA'                                                00017200
&FRCFM   SET   'VARUNB'                                                 00017300
&RFLAG   SET   66                                                       00017400
         DO    &DBLEBUF>0                                               00017500
&FIOA1   SET   'F&FUNIT.IOA1'                                           00017600
&FIOA2   SET   'F&FUNIT.IOA2'                                           00017700
&FRCFM   SET   'VARBLK'                                                 00017800
&RFLAG   SET   &RFLAG**253                                              00017900
&WORKA   SET   'YES'                                                    00018000
         DO    &MAXWORK<&SIZE                                           00018100
&MAXWORK SET   &SIZE                                                    00018200
         ENDO                                                           00018300
         ENDO                                                           00018400
         DO    '&FTYPE'='OUTPUT'                                        00018500
&RFLAG   SET   &RFLAG++16                                               00018600
         PNOTE 'W','BACKSPACE NOT ALLOWED FOR THIS UNIT'                00018700
         GOTO  .L1                                                      00018800
         ENDO                                                           00018900
         DO    '&FTYPE'='WORK'                                          00019000
&FTYPE   SET   'INOUT'                                                  00019100
&RFLAG   SET   &RFLAG++24                                               00019200
         GOTO  .L1                                                      00019300
         ENDO                                                           00019400
         DO    '&FTYPE'='INPUT'                                         00019500
&RFLAG   SET   &RFLAG++8                                                00019600
         ENDO                                                           00019700
.L1      LABEL                                                          00019800
FP$UTBL  CSECT                                                          00019900
FU$&FUNIT  DS  0A                                                       00020000
         DC    Y(&FUNIT)               UNIT NUMBER                      00020100
         DC    AL1(1)              FILE IS TAPE                         00020200
         DC    AL1(&RFLAG)         RUN FLAGS                            00020300
         DC    A(FORT&FUNIT)       DTF ADDRESS                          00020400
         DC    Y(&SIZE-8)          RECORD SIZE                          00020500
         DC    XL6'0'              LAST ORDER                           00020600
FP$D&FUNIT  CSECT                                                       00020700
FORT&FUNIT  DTFMT  BKNO=&FBKNO,                                        *00020800
               BLKSIZE=&SIZE,                                          *00020900
               CKPTREC=&FCKPT,                                         *00021000
               EOFADDR=FP$EOF,                                         *00021010
               ERROPT=&FERROPT,                                        *00021100
               FILABL=&FLABL,                                          *00021200
               IOAREA1=&FIOA1,                                         *00021300
               IOAREA2=&FIOA2,                                         *00021400
               OPTION=&FOPTION,                                        *00021500
               RECFORM=&FRCFM,                                         *00021600
               TYPEFLE=&FTYPE,                                         *00021700
               WORKA=&WORKA,                                           *00021800
               ERROR=FP$ERR                                             00021900
         DO    &DBLEBUF>0                                               00022000
         DO    '&FBKNO'='YES'                                           00022100
         DC    F'0'                BLOCK NUMBER AREA                    00022200
         ENDO                                                           00022300
         DS    0F                      FULLWORD ALIGNMENT      ***V4A   00022350
F&FUNIT.IOA1  DS  XL(&SIZE)            IOA1                             00022400
         DO    '&FBKNO'='YES'                                           00022500
         DC    F'0'                BLOCK NUMBER AREA                    00022600
         ENDO                                                           00022700
         DS    0F                      FULLWORD ALIGNMENT      ***V4A   00022750
F&FUNIT.IOA2  DS  XL(&SIZE)            IOA2                             00022800
         GOTO  .LAST                                                    00022900
         ENDO                                                           00023000
         DO    &MAXAREA<&SIZE                                           00023100
&MAXAREA SET   &SIZE                                                    00023200
         ENDO                                                           00023300
         GOTO  .LAST                                                    00023400
         ENDO                                                           00023500
.*                                                                      00023600
         DO    '&FDEVICE'='SDISC'                                       00023700
.* SET DEFAULT OPTIONS                                                  00023800
&SIZE1   SET   256                                                      00023900
         DO    '&FBKSZ'='0'=0                                           00024000
&SIZE1   SET   &FBKSZ                                                   00024100
         ENDO                                                           00024200
&FTYPE   SET   'WORK'                                                   00024300
         DO    '&FTYPEFLE'=''=0                                         00024400
&FTYPE   SET   '&FTYPEFLE'                                              00024500
         ENDO                                                           00024600
&DBLEBUF SET   0                                                        00024700
         DO    ('&FNUMBUF'='0')++('&FNUMBUF'='1')=0             V4A     00024800
&DBLEBUF SET   1                                                        00024900
         ENDO                                                           00025000
.* CHECK FOR INVALID OPTIONS                                            00025100
         DO    '&FCKPT'=''=0                                            00025200
         PNOTE 'W','FCKPT OPTION IS INVALID FOR SDISK-IGNORED'          00025300
         ENDO                                                           00025400
         DO    '&FBKNO'=''=0                                            00025500
         PNOTE 'W','FBKNO OPTION IS INVALID FOR SDISK-IGNORED'          00025600
         ENDO                                                           00025700
         DO    '&FCRDERR'=''=0                                          00025800
         PNOTE 'W','FCRDERR OPTION IS INVALID FOR SDISK-IGNORED'        00025900
         ENDO                                                           00026000
         DO    '&FEQUIV'=''=0                                           00026100
         PNOTE 'W','FEQUIV OPTION IS INVALID FOR SDISK-IGNORED'         00026200
         ENDO                                                           00026300
         DO    '&FFILABL'=''=0                                          00026400
         PNOTE 'W','FFILABL OPTION IS INVALID FOR SDISK-IGNORED'        00026500
         ENDO                                                           00026600
         DO    '&FRECSIZE'='0'=0                                        00026700
         PNOTE 'W','FRECSIZE OPTION IS INVALID FOR SDISK-IGNORED'       00026800
         ENDO                                                           00026900
.* SET AND CHECK ATTRIBUTES                                             00027000
&SIZE    SET   &SIZE1++255                                              00027100
&SIZE    SET   &SIZE-255                                                00027200
         DO    &SIZE<&SIZE1                                             00027300
&SIZE    SET   &SIZE+256                                                00027400
         ENDO                                                           00027500
&FIOA1   SET   'FP$SIOA'                                                00027600
&FRCFM   SET   'VARUNB'                                                 00027700
&RFLAG   SET   66                                                       00027800
         DO    &DBLEBUF>0                                               00027900
&FIOA1   SET   'F&FUNIT.IOA1'                                           00028000
&FIOA2   SET   'F&FUNIT.IOA2'                                           00028100
&FRCFM   SET   'VARBLK'                                                 00028200
&RFLAG   SET   &RFLAG**253                                              00028300
&WORKA   SET   'YES'                                                    00028400
         DO    &MAXWORK<&SIZE                                           00028500
&MAXWORK SET   &SIZE                                                    00028600
         ENDO                                                           00028700
         ENDO                                                           00028800
FP$UTBL  CSECT                                                          00028900
FU$&FUNIT  DS  0A                                                       00029000
         DC    Y(&FUNIT)               UNIT NUMBER                      00029100
         DC    AL1(2)              FILE IS SEQUENTIAL DISC              00029200
         DO    '&FTYPE'='OUTPUT'                                        00029300
&RFLAG   SET   &RFLAG++16                                               00029400
         GOTO  .L2                                                      00029500
         ENDO                                                           00029600
         DO    '&FTYPE'='WORK'                                          00029700
&FTYPE   SET   'INOUT'                                                  00029800
&RFLAG   SET   &RFLAG++24                                               00029900
         GOTO  .L2                                                      00030000
         ENDO                                                           00030100
         DO    '&FTYPE'='INPUT'                                         00030200
&RFLAG   SET   &RFLAG++8                                                00030300
         ENDO                                                           00030400
.L2      LABEL                                                          00030500
         DC    AL1(&RFLAG)         RUN FLAGS                            00030600
         DC    A(FORT&FUNIT)       DTF ADDRESS                          00030700
         DC    Y(&SIZE-8)          RECORD SIZE                          00030800
         DC    XL6'0'              LAST ORDER                           00030900
FP$D&FUNIT  CSECT                                                       00031000
FORT&FUNIT  DTFSD  BLKSIZE=&SIZE,                                      *00031100
               IOAREA1=&FIOA1,                                         *00031200
               IOAREA2=&FIOA2,                                         *00031300
               EOFADDR=FP$EOF,                                         *00031400
               ERROPT=&FERROPT,                                        *00031500
               OPTION=&FOPTION,                                        *00031600
               TYPEFLE=&FTYPE,                                         *00031700
               RECFORM=&FRCFM,                                         *00031800
               WORKA=&WORKA,                                           *00031900
               LOCK=YES,                                               *00032000
               ERROR=FP$ERR                                             00032100
         DO    &DBLEBUF>0                                               00032200
         DS    0F                      FULLWORD ALIGNMENT      ***V4A   00032250
         DS    2H                                                       00032300
F&FUNIT.IOA1  DS  XL(&SIZE)            IOA1                             00032400
         DS    0F                      FULLWORD ALIGNMENT      ***V4A   00032450
         DS    2H                                                       00032500
F&FUNIT.IOA2  DS  XL(&SIZE)            IOA2                             00032600
         GOTO  .LAST                                                    00032700
         ENDO                                                           00032800
         DO    &MAXAREA<&SIZE+8                                         00032900
&MAXAREA SET   &SIZE+8                                                  00033000
         ENDO                                                           00033100
         GOTO  .LAST                                                    00033200
         ENDO                                                           00033300
.*                                                                      00033400
         DO    '&FDEVICE'='CARDOUT'                                     00033500
.* SET DEFAULT OPTIONS                                                  00033600
&DBLEBUF SET   0                                                        00033700
         DO    ('&FNUMBUF'='0')++('&FNUMBUF'='1')=0             V4A     00033800
&DBLEBUF SET   1                                                        00033900
         ENDO                                                           00034000
.* CHECK FOR INVALID OPTIONS                                            00034100
         DO    '&FBKNO'=''=0                                            00034200
         PNOTE 'W','FBKNO OPTION IS INVALID FOR CARDOUT-IGNORED'        00034300
         ENDO                                                           00034400
         DO    '&FBKSZ'='0'=0                                           00034500
         PNOTE 'W','FBKSZ OPTION IS INVALID FOR CARDOUT-IGNORED'        00034600
         ENDO                                                           00034700
         DO    '&FERROPT'=''=0                                          00034800
         PNOTE 'W','FERROPT OPTION IS INVALID FOR CARDOUT-IGNORED'      00034900
         ENDO                                                           00035000
         DO    '&FEQUIV'=''=0                                           00035100
         PNOTE 'W','FEQUIV OPTION IS INVALID FOR CARDOUT-IGNORED'       00035200
         ENDO                                                           00035300
         DO    '&FFILABL'=''=0                                          00035400
         PNOTE 'W','FFILABL OPTION IS INVALID FOR CARDOUT-IGNORED'      00035500
         ENDO                                                           00035600
         DO    '&FOPTION'=''=0                                          00035700
         PNOTE 'W','FOPTION OPTION IS INVALID FOR CARDOUT-IGNORED'      00035800
         ENDO                                                           00035900
         DO    '&FTYPEFLE'=''=0                                         00036000
         PNOTE 'W','FTYPEFLE OPTION IS INVALID FOR CARDOUT-IGNORED'     00036100
         ENDO                                                           00036200
         DO    '&FRECSIZE'='0'=0                                        00036300
         PNOTE 'W','FRECSIZE OPTION IS INVALID FOR CARDOUT-IGNORED'     00036400
         ENDO                                                           00036500
         DO    '&FVERIFY'=''=0                                          00036600
         PNOTE 'W','FVERIFY OPTION IS INVALID FOR CARDOUT-IGNORED'      00036700
         ENDO                                                           00036800
         DO    '&FCKPT'=''=0                                            00036900
         PNOTE 'W','FCKPT OPTION IS INVALID FOR CARDOUT-IGNORED'        00037000
         ENDO                                                           00037100
.* SET AND CHECK ATTRIBUTES                                             00037200
&RFLAG   SET   114                                                      00037300
&FIOA1   SET   'FP$SIOA'                                                00037400
         DO    &DBLEBUF>0                                               00037500
&RFLAG   SET   &RFLAG**253                                              00037600
&FIOA1   SET   'F&FUNIT.IOA1'                                           00037700
&FIOA2   SET   'F&FUNIT.IOA2'                                           00037800
&WORKA   SET   'YES'                                                    00037900
         DO    &MAXWORK<80                                              00038000
&MAXWORK SET   80                                                       00038100
         ENDO                                                           00038200
         ENDO                                                           00038300
FP$UTBL  CSECT                                                          00038400
FU$&FUNIT  DS  0A                                                       00038500
         DC    Y(&FUNIT)               UNIT NUMBER                      00038600
         DC    AL1(3)              FILE IS PUNCH                        00038700
         DC    AL1(&RFLAG)         RUN FLAGS                            00038800
         DC    A(FORT&FUNIT)       DTF ADDRESS                          00038900
         DC    Y(80)               RECORD SIZE                          00039000
         DC    XL6'0'              LAST ORDER                           00039100
FP$D&FUNIT  CSECT                                                       00039200
FORT&FUNIT  DTFCD  BLKSIZE=80,                                         *00039300
               IOAREA1=&FIOA1,                                         *00039400
               IOAREA2=&FIOA2,                                         *00039500
               TYPEFLE=OUTPUT,                                         *00039600
               MODE=STD,                                               *00039700
               RECFORM=FIXUNB,                                         *00039800
               CRDERR=&FCRDERR,                                        *00039900
               WORKA=&WORKA,                                           *00040000
               ERROR=FP$ERR                                             00040100
         DO    &DBLEBUF>0                                               00040200
         DS    0F                      FULLWORD ALIGNMENT      ***V4A   00040250
F&FUNIT.IOA1  DS  XL(80)               IOA1                             00040300
         DS    0F                      FULLWORD ALIGNMENT      ***V4A   00040350
F&FUNIT.IOA2  DS  XL(80)               IOA2                             00040400
         GOTO  .LAST                                                    00040500
         ENDO                                                           00040600
         DO    &MAXAREA<80                                              00040700
&MAXAREA SET   80                                                       00040800
         ENDO                                                           00040900
         GOTO  .LAST                                                    00041000
          ENDO                                                          00041100
.*                                                                      00041200
         DO    '&FDEVICE'='SPOOLIN'                                     00041300
.* CHECK FOR INVALID OPTIONS                                            00041400
         DO    '&FBKNO'=''=0                                            00041500
         PNOTE 'W','FBKNO OPTION IS INVALID FOR SPOOLIN-IGNORED'        00041600
         ENDO                                                           00041700
         DO    '&FBKSZ'='0'=0                                           00041800
         PNOTE 'W','FBKSZ OPTION IS INVALID FOR SPOOLIN-IGNORED'        00041900
         ENDO                                                           00042000
         DO    '&FERROPT'=''=0                                          00042100
         PNOTE 'W','FERROPT OPTION IS INVALID FOR SPOOLIN-IGNORED'      00042200
         ENDO                                                           00042300
         DO    '&FEQUIV'=''=0                                           00042400
         PNOTE 'W','FEQUIV OPTION IS INVALID FOR SPOOLIN-IGNORED'       00042500
         ENDO                                                           00042600
         DO    '&FFILABL'=''=0                                          00042700
         PNOTE 'W','FFILABL OPTION IS INVALID FOR SPOOLIN-IGNORED'      00042800
         ENDO                                                           00042900
         DO    '&FOPTION'=''=0                                          00043000
         PNOTE 'W','FOPTION OPTION IS INVALID FOR SPOOLIN-IGNORED'      00043100
         ENDO                                                           00043200
         DO    '&FTYPEFLE'=''=0                                         00043300
         PNOTE 'W','FTYPEFLE OPTION IS INVALID FOR SPOOLIN-IGNORED'     00043400
         ENDO                                                           00043500
         DO    '&FVERIFY'=''=0                                          00043600
         PNOTE 'W','FVERIFY OPTION IS INVALID FOR SPOOLIN-IGNORED'      00043700
         ENDO                                                           00043800
         DO    '&FCKPT'=''=0                                            00043900
         PNOTE 'W','FCKPT OPTION IS INVALID FOR SPOOLIN-IGNORED'        00044000
         ENDO                                                           00044100
         DO    '&FNUMBUF'='0'=0                                         00044200
         PNOTE 'W','FNUMBUF OPTION IS INVALID FOR SPOOLIN-IGNORED'      00044300
         ENDO                                                           00044400
         DO    '&FCRDERR'=''=0                                          00044500
         PNOTE 'W','FCRDERR OPTION IS INVALID FOR SPOOLIN-IGNORED'      00044600
         ENDO                                                           00044700
&SIZE    SET   96                                               V4A     00044800
         DO    '&FRECSIZE'='96'=0                               V4A     00044900
&SIZE    SET   80                                               V4A     00045000
         ENDO                                                   V4A     00045100
.* SET AND CHECK ATTRIBUTES                                             00045200
FP$UTBL  CSECT                                                          00045300
FU$&FUNIT  DS  0A                                                       00045400
         DC    Y(&FUNIT)               UNIT NUMBER                      00045500
         DC    AL1(4)                  FILE IS GETCS INPUT              00045600
         DC    AL1(40)                 INPUT FIXED RECORDS              00045700
         DC    A(0)                    NO DTF FOR GETCS                 00045800
         DC    H'&SIZE'                RECORD SIZE              V4A     00045900
         DC    XL6'0'                  FILL                             00046000
         GOTO  .LAST                                                    00046100
         ENDO                                                           00046200
.*                                                                      00046300
         DO    '&FDEVICE'='PRINTER'                                     00046400
.* SET DEFAULT OPTIONS                                                  00046500
&DBLEBUF SET   0                                                        00046600
         DO    ('&FNUMBUF'='0')++('&FNUMBUF'='1')=0             V4A     00046700
&DBLEBUF SET   1                                                        00046800
         ENDO                                                           00046900
.* CHECK FOR INVALID OPTIONS                                            00047000
         DO    '&FBKNO'=''=0                                            00047100
         PNOTE 'W','FBKNO OPTION IS INVALID FOR PRINTER-IGNORED'        00047200
         ENDO                                                           00047300
         DO    '&FBKSZ'='0'=0                                           00047400
         PNOTE 'W','FBKSZ OPTION IS INVALID FOR PRINTER-IGNORED'        00047500
         ENDO                                                           00047600
         DO    '&FERROPT'=''=0                                          00047700
         PNOTE 'W','FERROPT OPTION IS INVALID FOR PRINTER-IGNORED'      00047800
         ENDO                                                           00047900
         DO    '&FEQUIV'=''=0                                           00048000
         PNOTE 'W','FEQUIV OPTION IS INVALID FOR PRINTER-IGNORED'       00048100
         ENDO                                                           00048200
         DO    '&FFILABL'=''=0                                          00048300
         PNOTE 'W','FFILABL OPTION IS INVALID FOR PRINTER-IGNORED'      00048400
         ENDO                                                           00048500
         DO    '&FOPTION'=''=0                                          00048600
         PNOTE 'W','FOPTION OPTION IS INVALID FOR PRINTER-IGNORED'      00048700
         ENDO                                                           00048800
         DO    '&FTYPEFLE'=''=0                                         00048900
         PNOTE 'W','FTYPEFLE OPTION IS INVALID FOR PRINTER-IGNORED'     00049000
         ENDO                                                           00049100
         DO    '&FVERIFY'=''=0                                          00049200
         PNOTE 'W','FVERIFY OPTION IS INVALID FOR PRINTER-IGNORED'      00049300
         ENDO                                                           00049400
         DO    '&FCKPT'=''=0                                            00049500
         PNOTE 'W','FCKPT OPTION IS INVALID FOR PRINTER-IGNORED'        00049600
         ENDO                                                           00049700
         DO    '&FCRDERR'=''=0                                          00049800
         PNOTE 'W','FCRDERR OPTION IS INVALID FOR PRINTER-IGNORED'      00049900
         ENDO                                                           00050000
.* SET AND CHECK ATTRIBUTES                                             00050100
&PRNFLAG SET   1                                                        00050200
&SIZE    SET   120                                                      00050300
&RFLAG   SET   112                                                      00050400
         DO    '&FRECSIZE'='0'=0                                        00050500
&SIZE    SET   &FRECSIZE                                                00050600
         ENDO                                                           00050700
&SIZE    SET   &SIZE+1                                                  00050800
         DO    &DBLEBUF>0                                               00050900
&FIOA2   SET   'F&FUNIT.IOA2'                                           00051000
         ENDO                                                           00051100
FP$UTBL  CSECT                                                          00051200
FU$&FUNIT  DS  0A                                                       00051300
         DC    Y(&FUNIT)          UNIT NUMBER                           00051400
         DC    AL1(5)                  FILE IS PRINTER                  00051500
         DC    AL1(&RFLAG)             OUTPUT                           00051600
         DC    A(FORT&FUNIT)       DTF ADDRESS                          00051700
         DC    Y(&SIZE)                RECORD SIZE                      00051800
         DC    XL2'0'                  LAST ORDER                       00051900
         DC    A(WA&FUNIT)             WORK AREA FOR PRINT LINE SAVE    00052000
FP$D&FUNIT  CSECT                                                       00052100
FORT&FUNIT  DTFPR  BLKSIZE=&SIZE,                                      *00052200
               IOAREA1=F&FUNIT.IOA1,                                   *00052300
               IOAREA2=&FIOA2,                                         $00052400
               RECFORM=FIXUNB,                                         $00052500
               CTLCHR=DI,                                              $00052600
               PRINTOV=SKIP,                                           *00052700
               ERROR=FP$ERR,                                           X00052800
               UCS=OFF,                                                $00052900
               WORKA=YES                                                00053000
         DS    0F                      FULLWORD ALIGNMENT      ***V4A   00053100
         DS    CL1                                                      00053200
F&FUNIT.IOA1  DS  XL(&SIZE)            IOA1                             00053300
         DO    &DBLEBUF>0                                               00053400
         DS    0F                      FULLWORD ALIGNMENT      ***V4A   00053500
         DS    CL1                                                      00053600
F&FUNIT.IOA2  DS  XL(&SIZE)            IOA2                             00053700
         ENDO                                                           00053800
         DS    CL1                                             ***V5A   00053810
WA&FUNIT DS    XL(&SIZE)               PRINT LINE SAVE                  00053900
         DO    &MAXWORK<&SIZE                                           00054000
&MAXWORK  SET    &SIZE                                                  00054100
         ENDO                                                           00054200
         GOTO  .LAST                                                    00054300
         ENDO                                                           00054400
.*                                                                      00054500
         DO    '&FDEVICE'='DISC'                                        00054600
.* SET DEFAULT OPTIONS                                                  00054700
&SIZE1   SET   256                                                      00054800
         DO    '&FRECSIZE'='0'=0                                        00054900
&SIZE1   SET   &FRECSIZE                                                00055000
         ENDO                                                           00055100
&FTYPE   SET   'INPUT'                                                  00055200
         DO    '&FTYPEFLE'=''=0                                         00055300
&FTYPE   SET   '&FTYPEFLE'                                              00055400
         ENDO                                                           00055500
.* CHECK FOR INVALID OPTIONS                                            00055600
         DO    '&FBKNO'=''=0                                            00055700
         PNOTE 'W','FBKNO OPTION IS INVALID FOR DDISC-IGNORED'          00055800
         ENDO                                                           00055900
         DO    '&FBKSZ'='0'=0                                           00056000
         PNOTE 'W','FBKSZ OPTION IS INVALID FOR DDISC-IGNORED'          00056100
         ENDO                                                           00056200
         DO    '&FERROPT'=''=0                                          00056300
         PNOTE 'W','FERROPT OPTION IS INVALID FOR DDISC-IGNORED'        00056400
         ENDO                                                           00056500
         DO    '&FEQUIV'=''=0                                           00056600
         PNOTE 'W','FEQUIV OPTION IS INVALID FOR DDISC-IGNORED'         00056700
         ENDO                                                           00056800
         DO    '&FFILABL'=''=0                                          00056900
         PNOTE 'W','FFILABL OPTION IS INVALID FOR DDISC-IGNORED'        00057000
         ENDO                                                           00057100
         DO    '&FOPTION'=''=0                                          00057200
         PNOTE 'W','FOPTION OPTION IS INVALID FOR DDISC-IGNORED'        00057300
         ENDO                                                           00057400
         DO    '&FCKPT'=''=0                                            00057500
         PNOTE 'W','FCKPT OPTION IS INVALID FOR DDISC-IGNORED'          00057600
         ENDO                                                           00057700
         DO    '&FNUMBUF'='0'=0                                         00057800
         PNOTE 'W','FNUMBUF OPTION IS INVALID FOR DDISC-IGNORED'        00057900
         ENDO                                                           00058000
         DO    '&FCRDERR'=''=0                                          00058100
         PNOTE 'W','FCRDERR OPTION IS INVALID FOR DDISC-IGNORED'        00058200
         ENDO                                                           00058300
.* SET AND CHECK ATTRIBUTES                                             00058400
&SIZE    SET   &SIZE1++255                                              00058500
&SIZE    SET   &SIZE-255                                                00058600
         DO    &SIZE<&SIZE1                                             00058700
&SIZE    SET   &SIZE+256                                                00058800
         ENDO                                                           00058900
&RFLAG   SET   122                                                      00059000
FP$UTBL  CSECT                                                          00059100
FU$&FUNIT  DS  0A                                                       00059200
         DC    Y(&FUNIT)               UNIT NUMBER                      00059300
         DC    AL1(6)              FILE IS DIRECT ACCESS                00059400
         DC    AL1(&RFLAG)         RUN FLAGS                            00059500
         DC    A(FORT&FUNIT)       DTF ADDRESS                          00059600
         DC    Y(&SIZE)            MAX RECORD SIZE                      00059700
         DC    XL1'0'              LAST OPERATION                       00059800
         DC    AL2(0)              FILE MAX RECORD COUNT                00059900
         DC    AL3(0)              ASSOCIATED VARIABLE ADDRESS          00060000
FP$D&FUNIT  CSECT                                                       00060100
FORT&FUNIT  DTFDA  BLKSIZE=&SIZE,                                      *00060200
               ERROR=FP$DERR,                                          *00060300
               IOAREA1=FP$SIOA,                                        *00060400
               RECFORM=FIXUNB,                                         *00060500
               RELATIV=R,                                              *00060600
               SEEKADR=FP$SEEK,                                        *00060700
               READID=YES,                                             *00060800
               WRITEID=YES,                                            *00060900
               VERIFY=&FVERIFY,                                        *00061000
               LOCK=YES,                                               *00061100
               TYPEFLE=&FTYPE                                           00061200
         EXTRN FP$SEEK,FP$DERR                                          00061300
         DO    &MAXAREA<&SIZE+8                                         00061400
&MAXAREA SET   &SIZE+8                                                  00061500
         ENDO                                                           00061600
         GOTO  .LAST                                                    00061700
          ENDO                                                          00061800
.*                                                                      00061900
         DO    '&FDEVICE'='EQUIV'                                       00062000
.* CHECK FOR INVALID OPTIONS                                            00062100
         DO    '&FBKNO'=''=0                                            00062200
         PNOTE 'W','FBKNO OPTION IS INVALID FOR EQUIV-IGNORED'          00062300
         ENDO                                                           00062400
         DO    '&FBKSZ'='0'=0                                           00062500
         PNOTE 'W','FBKSZ OPTION IS INVALID FOR EQUIV-IGNORED'          00062600
         ENDO                                                           00062700
         DO    '&FERROPT'=''=0                                          00062800
         PNOTE 'W','FERROPT OPTION IS INVALID FOR EQUIV-IGNORED'        00062900
         ENDO                                                           00063000
         DO    '&FFILABL'=''=0                                          00063100
         PNOTE 'W','FFILABL OPTION IS INVALID FOR EQUIV-IGNORED'        00063200
         ENDO                                                           00063300
         DO    '&FOPTION'=''=0                                          00063400
         PNOTE 'W','FOPTION OPTION IS INVALID FOR EQUIV-IGNORED'        00063500
         ENDO                                                           00063600
         DO    '&FTYPEFLE'=''=0                                         00063700
         PNOTE 'W','FTYPEFLE OPTION IS INVALID FOR EQUIV-IGNORED'       00063800
         ENDO                                                           00063900
         DO    '&FRECSIZE'='0'=0                                        00064000
         PNOTE 'W','FRECSIZE OPTION IS INVALID FOR EQUIV-IGNORED'       00064100
         ENDO                                                           00064200
         DO    '&FVERIFY'=''=0                                          00064300
         PNOTE 'W','FVERIFY OPTION IS INVALID FOR EQUIV-IGNORED'        00064400
         ENDO                                                           00064500
         DO    '&FCKPT'=''=0                                            00064600
         PNOTE 'W','FCKPT OPTION IS INVALID FOR EQUIV-IGNORED'          00064700
         ENDO                                                           00064800
         DO    '&FNUMBUF'='0'=0                                         00064900
         PNOTE 'W','FNUMBUF OPTION IS INVALID FOR EQUIV-IGNORED'        00065000
         ENDO                                                           00065100
         DO    '&FCRDERR'=''=0                                          00065200
         PNOTE 'W','FCRDERR OPTION IS INVALID FOR EQUIV-IGNORED'        00065300
         ENDO                                                           00065400
.* SET AND CHECK ATTRIBUTES                                             00065500
FP$UTBL  CSECT                                                          00065600
FU$&FUNIT  DS  0A                                                       00065700
         DC    Y(&FUNIT)               UNIT NUMBER                      00065800
         DC    AL1(7)                  TYPE IS EQUIVALENCE              00065900
         DC    AL1(0)                  NO FLAGS                         00066000
         DC    A(FU$&FEQUIV)           ADDRESS OF OTHER UNIT            00066100
         DC    XL8'0'                  FILL                             00066200
         GOTO  .LAST                                                    00066300
         ENDO                                                           00066400
.*                                                                      00066500
         DO    '&FDEVICE'='REREAD'                                      00066600
.* CHECK FOR INVALID OPTIONS                                            00066700
         DO    '&FBKNO'=''=0                                            00066800
         PNOTE 'W','FBKNO OPTION IS INVALID FOR REREAD-IGNORED'         00066900
         ENDO                                                           00067000
         DO    '&FBKSZ'='0'=0                                           00067100
         PNOTE 'W','FBKSZ OPTION IS INVALID FOR REREAD-IGNORED'         00067200
         ENDO                                                           00067300
         DO    '&FERROPT'=''=0                                          00067400
         PNOTE 'W','FERROPT OPTION IS INVALID FOR REREAD-IGNORED'       00067500
         ENDO                                                           00067600
         DO    '&FEQUIV'=''=0                                           00067700
         PNOTE 'W','FEQUIV OPTION IS INVALID FOR REREAD-IGNORED'        00067800
         ENDO                                                           00067900
         DO    '&FFILABL'=''=0                                          00068000
         PNOTE 'W','FFILABL OPTION IS INVALID FOR REREAD-IGNORED'       00068100
         ENDO                                                           00068200
         DO    '&FOPTION'=''=0                                          00068300
         PNOTE 'W','FOPTION OPTION IS INVALID FOR REREAD-IGNORED'       00068400
         ENDO                                                           00068500
         DO    '&FTYPEFLE'=''=0                                         00068600
         PNOTE 'W','FTYPEFLE OPTION IS INVALID FOR REREAD-IGNORED'      00068700
         ENDO                                                           00068800
         DO    '&FRECSIZE'='0'=0                                        00068900
         PNOTE 'W','FRECSIZE OPTION IS INVALID FOR REREAD-IGNORED'      00069000
         ENDO                                                           00069100
         DO    '&FVERIFY'=''=0                                          00069200
         PNOTE 'W','FVERIFY OPTION IS INVALID FOR REREAD-IGNORED'       00069300
         ENDO                                                           00069400
         DO    '&FCKPT'=''=0                                            00069500
         PNOTE 'W','FCKPT OPTION IS INVALID FOR REREAD-IGNORED'         00069600
         ENDO                                                           00069700
         DO    '&FNUMBUF'='0'=0                                         00069800
         PNOTE 'W','FNUMBUF OPTION IS INVALID FOR REREAD-IGNORED'       00069900
         ENDO                                                           00070000
         DO    '&FCRDERR'=''=0                                          00070100
         PNOTE 'W','FCRDERR OPTION IS INVALID FOR REREAD-IGNORED'       00070200
         ENDO                                                           00070300
.* SET AND CHECK ATTRIBUTES                                             00070400
FP$UTBL  CSECT                                                          00070500
FU$&FUNIT  DS  0A                                                       00070600
         DC    Y(&FUNIT)               UNIT NUMBER                      00070700
         DC    XL1'8'              FILE IS RE-READ                      00070800
         DC    XL13'0'             FILL BYTES                           00070900
         GOTO  .LAST                                                    00071000
         ENDO                                                           00071100
.*                                                                      00071200
         PNOTE 'W','INVALID DEVICE-UNIT DEFINITION IGNORED'             00071300
         GOTO  .LAST                                                    00071400
         ENDO                                                           00071500
         ENDO                                                           00071600
         PNOTE 'W','INVALID MACRO SEQUENCE-IGNORED'                     00071700
         GOTO  .LAST                                                    00071800
         ENDO                                                           00071900
         DO    '&SYSTM'='FOR'                                           00072000
.*                                                                      00072100
.*                                                                      00072200
         DO    ('&FFNTBFL'='1')**('&FFNENFL'='')                        00072300
         DO    ('&FUNIT'='0')++('&FUNIT'='00')                          00072400
         PNOTE 'W','INVALID UNIT NUMBER - UNIT DEFINITION IGNORED'      00072500
         GOTO  .F4LAST                                                  00072600
         ENDO                                                           00072700
         DO    ('&FUNIT'='PRINT')=0                                     00072800
         DO    ('&FUNIT'='PUNCH')=0                                     00072900
         DO    ('&FUNIT'='READ')=0                                      00073000
&F4DUM1  SET   ('&FUNIT'(1,1)<'0')++('&FUNIT'(1,1)>'9')                 00073100
&F4DUM2  SET   0                                                        00073200
&F4DUM3  SET   0                                                        00073300
         DO    '&FUNIT'>'9'                                             00073400
&F4DUM2  SET   ('&FUNIT'(2,1)<'0')++('&FUNIT'(2,1)>'9')                 00073500
         ENDO                                                           00073600
&F4DUM3  SET   '&FUNIT'>'99'                                            00073700
         DO    &F4DUM1++&F4DUM2++&F4DUM3                                00073800
         PNOTE 'W','INVALID UNIT NUMBER - UNIT DEFINITION IGNORED'      00073900
         GOTO  .F4LAST                                                  00074000
         ENDO                                                           00074100
         ENDO                                                           00074200
         ENDO                                                           00074300
         ENDO                                                           00074400
.*                                                                      00074500
.*                                                                      00074600
         DO    '&FDEVICE'='PRINTER'                                     00074700
.*                                                                      00074800
.*  PRINTER PROCESSING                                                  00074900
.*                                                                      00075000
         PRINT OFF                                                      00075100
         FPARMCHK  &FASCII,FASCII,PRINTER                               00075200
         FPARMCHK  &FAUE,FAUE,PRINTER                                   00075300
         FPARMCHK  &FBKNO,FBKNO,PRINTER                                 00075400
         FPARMCHK  &FBKSZ,FBKSZ,PRINTER                                 00075500
         FPARMCHK  &FBUFOFF,FBUFOFF,PRINTER                             00075600
         FPARMCHK  &FBUFPOOL,FBUFPOOL,PRINTER                           00075700
         FPARMCHK  &FCKPT,FCKPT,PRINTER                                 00075800
         FPARMCHK  &FCLRW,FCLRW,PRINTER                                 00075900
         FPARMCHK  &FCRDERR,FCRDERR,PRINTER                             00076000
         FPARMCHK  &FEQUIV,FEQUIV,PRINTER                               00076100
         FPARMCHK  &FERROPT,FERROPT,PRINTER                             00076200
         FPARMCHK  &FFILABL,FFILABL,PRINTER                             00076300
         FPARMCHK  &FLABADDR,FLABADDR,PRINTER                           00076400
         FPARMCHK  &FLENCHK,FLENCHK,PRINTER                             00076500
         FPARMCHK  &FMODE,FMODE,PRINTER                                 00076600
         FPARMCHK  &FOPRW,FOPRW,PRINTER                                 00076700
         FPARMCHK  &FRECERR,FRECERR,PRINTER                             00076800
         FPARMCHK  &FRECFORM,FRECFORM,PRINTER                           00076900
         FPARMCHK  &FREREAD,FREREAD,PRINTER                             00077000
         FPARMCHK  &FSECTOR,FSECTOR,PRINTER                             00077100
         FPARMCHK  &FSTUB,FSTUB,PRINTER                                 00077200
         FPARMCHK  &FTRLBL,FTRLBL,PRINTER                               00077300
         FPARMCHK  &FTYPEFLE,FTYPEFLE,PRINTER                           00077400
         FPARMCHK  &FVERIFY,FVERIFY,PRINTER                             00077500
         FPARMCHK  &FWORKA,FWORKA,PRINTER                               00077600
         PRINT ON                                                       00077700
.*                                                                      00077800
         DO    '&FUNIT'='READ'                                          00077900
         PNOTE 'W','INVALID FUNIT FOR FDEVICE - UNIT DEFINITION IGNOREDX00078000
               '                                                        00078100
         GOTO  .F4LAST                                                  00078200
         ENDO                                                           00078300
         DO    ('&FUNIT'>'0')**('&FUNIT'<'100')                         00078400
&PUNIT   SET   '&FUNIT'                                                 00078500
&P2UNIT  SET   '&FUNIT'                                                 00078600
         ENDO                                                           00078700
         DO    '&FUNIT'='PRINT'                                         00078800
&PUNIT   SET   '-3'                                                     00078900
&P2UNIT  SET   'PRT'                                                    00079000
         ENDO                                                           00079100
         DO    '&FUNIT'='PUNCH'                                         00079200
&PUNIT   SET   '-2'                                                     00079300
&P2UNIT  SET   'PCH'                                                    00079400
         ENDO                                                           00079500
.*                                                                      00079600
&PCHAR   SET   'OFF'                                                    00079700
         DO    '&FCHAR'='ON'                                            00079800
&PCHAR   SET   'ON'                                                     00079900
         ENDO                                                           00080000
.*                                                                      00080100
&UODIAG  SET   '0'                                                      00080200
         DO    '&FDIAGNOS'='YES'                                        00080300
         DO    &FDIAGFL=1                                               00080400
         PNOTE 'W','DIAGNOSTIC UNIT PREVIOUSLY SPECIFIED - KEYWORD FDIAX00080500
               GNOS IGNORED'                                            00080600
         ENDO                                                           00080700
         DO    &FDIAGFL=0                                               00080800
&UODIAG  SET   'UODIAG'                                                 00080900
&FDIAGFL SET   1                                                        00081000
         ENDO                                                           00081100
         ENDO                                                           00081200
.*                                                                      00081300
         DO    ('&FUNIT'>'0')**('&FUNIT'<'100')                         00081400
&PFILEID SET   'FORT&FUNIT'                                             00081500
         ENDO                                                           00081600
         DO    '&FUNIT'='PRINT'                                         00081700
&PFILEID SET   'PRNTR'                                                  00081800
         ENDO                                                           00081900
         DO    '&FUNIT'='PUNCH'                                         00082000
&PFILEID SET   'PUNCH'                                                  00082100
         ENDO                                                           00082200
         DO    '&FFILEID'=''=0                                          00082300
&PFILEID SET   '&FFILEID'                                               00082400
         ENDO                                                           00082500
.*                                                                      00082600
&PIOARA1 SET   'IO1&P2UNIT'                                             00082700
&PIOARA2 SET   'IO2&P2UNIT'                                             00082800
&PIO2FLG SET   1                                                        00082900
         DO    &FNUMBUF=1                                               00083000
&PIOARA2 SET   ''                                                       00083100
&PIO2FLG SET   0                                                        00083200
         ENDO                                                           00083300
.*                                                                      00083400
&POPTION SET   ''                                                       00083500
         DO    '&FOPTION'='YES'                                         00083600
&POPTION SET   'YES'                                                    00083700
         ENDO                                                           00083800
.*                                                                      00083900
&PPRINTOV SET  'SKIP'                                                   00084000
         DO    '&FPRINTOV'='NOSKIP'                                     00084100
&PPRINTOV SET  ''                                                       00084200
         ENDO                                                           00084300
.*                                                                      00084400
&PRECSIZE SET  121                                                      00084500
         DO    (&FRECSIZE>1)**(&FRECSIZE<162)                           00084600
&PRECSIZE SET  &FRECSIZE                                                00084700
         ENDO                                                           00084800
.*                                                                      00084900
         DO    &PRECSIZE>&FMAXWRK                                       00085000
&FMAXWRK SET   &PRECSIZE                                                00085100
         ENDO                                                           00085200
.*                                                                      00085300
&UOPRNTR SET   '0'                                                      00085400
         DO    '&PFILEID'='PRNTR'                                       00085500
&UOPRNTR SET   'UOPRNTR'                                                00085600
&FPRNTFL SET   1                                                        00085700
         ENDO                                                           00085800
.*                                                                      00085900
         DO    ('&UODIAG'='UODIAG')**(&PRECSIZE<101)                    00086000
         PNOTE 'W','DIAGNOSTIC UNIT RECORD SIZE MUST BE AT LEAST 101 - X00086100
               KEYWORD FDIAGNOS IGNORED'                                00086200
&UODIAG  SET   '0'                                                      00086300
&FDIAGFL SET   0                                                        00086400
         ENDO                                                           00086500
.*                                                                      00086600
.*  GEN UNIT TABLE ENTRY                                                00086700
.*                                                                      00086800
FL$FUNTB CSECT                                                          00086900
FL$UN&P2UNIT DS 0F                      PRINTER FUNTAB SLOT             00087000
         DC    AL1(0)                   RUN TIME FLAGS                  00087100
         DC    AL1(0)                   LAST COMMAND                    00087200
         DC    AL2(&PUNIT)              UNIT NUMBER                     00087300
         DC    AL1(UTPRINT)             DEVICE=PRINTER                  00087400
         DC    AL1(UOSEQ)               SEQUENTIAL FILE                 00087500
         DC    AL1(UOOUT+&UOPRNTR+&UODIAG) OUTPUT/PRNTR/DIAG FLGS       00087600
         DC    AL1(0)                   RUN TIME FLAGS 2                00087700
         DC    AL4(&PRECSIZE)           MAX RECORD SIZE                 00087800
         DC    AL4(0)                   ADDRESS OF I/O RECORD           00087900
         DC    AL4(&PFILEID)            DTF ADDRESS                     00088000
         DC    AL4(0)                   DELAYED PRINT LINE LENGTH       00088100
         DC    AL4(0)                   NOT USED                        00088200
         EJECT                                                          00088300
.*                                                                      00088400
.*  GENERATE DTF                                                        00088500
.*                                                                      00088600
FL$&P2UNIT CSECT                                                        00088700
         DO    &FIOERFL=0                                               00088800
&FIOERFL SET   1                                                        00088900
         EXTRN FL$IOERR                                                 00089000
         ENDO                                                           00089100
&PFILEID DTFPR BLKSIZE=&PRECSIZE,                                      X00089200
               CTLCHR=DI,                                              X00089300
               ERROR=FL$IOERR,                                         X00089400
               IOAREA1=&PIOARA1,                                       X00089500
               IOAREA2=&PIOARA2,                                       X00089600
               IOREG=(3),                                              X00089700
               OPTION=&POPTION,                                        X00089800
               PRINTOV=&PPRINTOV,                                      X00089900
               RECFORM=UNDEF,                                          X00090000
               RECSIZE=(6),                                            X00090100
               UCS=&PCHAR                                               00090200
         DS    0F                       PRINTER I/O AREA 1              00090300
         DS    CL3                      PAD FOR INTEGRATED PRINTER      00090400
&PIOARA1 DS    CL(&PRECSIZE)                                            00090500
         DO    &PIO2FLG                                                 00090600
         DS    0F                       PRINTER I/O AREA 2              00090700
         DS    CL3                      PAD FOR INTEGRATED PRINTER      00090800
&PIOARA2 DS    CL(&PRECSIZE)                                            00090900
         ENDO                                                           00091000
&SYSECT  CSECT                                                          00091100
         GOTO  .F4LAST                                                  00091200
         ENDO                                                           00091300
.*                                                                      00091400
.*                                                                      00091500
         DO    '&FDEVICE'='SPOOLIN'                                     00091600
.*                                                                      00091700
.*  SPOOLIN PROCESSING                                                  00091800
.*                                                                      00091900
         PRINT OFF                                                      00092000
         FPARMCHK  &FASCII,FASCII,SPOOLIN                               00092100
         FPARMCHK  &FAUE,FAUE,SPOOLIN                                   00092200
         FPARMCHK  &FBKNO,FBKNO,SPOOLIN                                 00092300
         FPARMCHK  &FBUFOFF,FBUFOFF,SPOOLIN                             00092400
         FPARMCHK  &FCHAR,FCHAR,SPOOLIN                                 00092500
         FPARMCHK  &FCKPT,FCKPT,SPOOLIN                                 00092600
         FPARMCHK  &FCLRW,FCLRW,SPOOLIN                                 00092700
         FPARMCHK  &FCRDERR,FCRDERR,SPOOLIN                             00092800
         FPARMCHK  &FDIAGNOS,FDIAGNOS,SPOOLIN                           00092900
         FPARMCHK  &FEQUIV,FEQUIV,SPOOLIN                               00093000
         FPARMCHK  &FERROPT,FERROPT,CARDIN                              00093100
         FPARMCHK  &FFILABL,FFILABL,SPOOLIN                             00093200
         FPARMCHK  &FFILEID,FFILEID,SPOOLIN                             00093300
         FPARMCHK  &FLABADDR,FLABADDR,SPOOLIN                           00093400
         FPARMCHK  &FLENCHK,FLENCHK,SPOOLIN                             00093500
         FPARMCHK  &FMODE,FMODE,SPOOLIN                                 00093600
         FPARMCHK  &FNUMBUF,FNUMBUF,SPOOLIN                             00093700
         FPARMCHK  &FOPRW,FOPRW,SPOOLIN                                 00093800
         FPARMCHK  &FOPTION,FOPTION,SPOOLIN                             00093900
         FPARMCHK  &FPRINTOV,FPRINTOV,SPOOLIN                           00094000
         FPARMCHK  &FRECERR,FRECERR,SPOOLIN                             00094100
*                                                               V4A     00094200
         FPARMCHK  &FSECTOR,FSECTOR,SPOOLIN                             00094300
         FPARMCHK  &FSTUB,FSTUB,SPOOLIN                                 00094400
         FPARMCHK  &FTRLBL,FTRLBL,SPOOLIN                               00094500
         FPARMCHK  &FTYPEFLE,FTYPEFLE,SPOOLIN                           00094600
         FPARMCHK  &FVERIFY,FVERIFY,SPOOLIN                             00094700
         FPARMCHK  &FWORKA,FWORKA,SPOOLIN                               00094800
         PRINT ON                                                       00094900
.*                                                                      00095000
         DO    ('&FUNIT'='PRINT')++('&FUNIT'='PUNCH')                   00095100
         PNOTE 'W','INVALID FUNIT FOR FDEVICE - UNIT DEFINITION IGNOREDX00095200
               '                                                        00095300
         GOTO  .F4LAST                                                  00095400
         ENDO                                                           00095500
         DO    ('&FUNIT'>'0')**('&FUNIT'<'100')                         00095600
&PUNIT   SET   '&FUNIT'                                                 00095700
&P2UNIT  SET   '&FUNIT'                                                 00095800
         ENDO                                                           00095900
         DO    '&FUNIT'='READ'                                          00096000
&PUNIT   SET   '-1'                                                     00096100
&P2UNIT  SET   'RDR'                                                    00096200
         ENDO                                                           00096300
.*                                                              V4A     00096400
&PRECSIZE SET   80                                              V4A     00096500
         DO    '&FRECSIZE'='96'                                 V4A     00096600
&PRECSIZE SET   96                                              V4A     00096700
         ENDO                                                   V4A     00096800
.*                                                                      00096900
&PBKSZ   SET   384                                              V4A     00097000
         DO    (&FBKSZ>96)++(&FBKSZ=96)                         V4A     00097100
&PBKSZ   SET   (&FBKSZ/96)*96                                   V4A     00097200
         ENDO                                                   V4A     00097300
         DO    '&FRECSIZE'='96'=0                               V4A     00097400
&PBKSZ   SET   400                                                      00097500
         DO    (&FBKSZ>80)++(&FBKSZ=80)                         V4A     00097600
&PBKSZ   SET   (&FBKSZ/80)*80                                           00097700
         ENDO                                                           00097800
         ENDO                                                   V4A     00097900
.*                                                                      00098000
&UOPOOL  SET   '0'                                                      00098100
&PBFPFLG SET   0                                                        00098200
         DO    '&FBUFPOOL'='YES'                                        00098300
&UOPOOL  SET   'UOPOOL'                                                 00098400
&PBFPFLG SET   1                                                        00098500
         ENDO                                                           00098600
.*                                                                      00098700
&PIOARA1 SET   'IO1&P2UNIT'                                             00098800
         DO    &PBFPFLG                                                 00098900
&PIOARA1 SET   'IO1POOL'                                                00099000
         ENDO                                                           00099100
.*                                                                      00099200
         DO    &PBFPFLG                                                 00099300
         DO    &PBKSZ>&MXPOOL1                                          00099400
&MXPOOL1 SET   &PBKSZ                                                   00099500
         ENDO                                                           00099600
         ENDO                                                           00099700
.*                                                                      00099800
&PRERDFL SET   0                                                        00099900
&UOREREAD SET  '0'                                                      00100000
         DO    '&FREREAD'='YES'                                         00100100
&UOREREAD SET  'UOREREAD'                                               00100200
&PRERDFL SET   1                                                        00100300
         ENDO                                                           00100400
.*                                                                      00100500
         DO    &PRERDFL=1                                               00100600
         DO    &MAXRERD<&PRECSIZE                               V4A     00100700
&MAXRERD SET   &PRECSIZE                                        V4A     00100800
         ENDO                                                           00100900
         ENDO                                                           00101000
.*                                                                      00101100
         DO    &PRECSIZE=80                                     V4A     00101200
&PNUMREC SET   &PBKSZ/80                                        V4A     00101300
         ENDO                                                   V4A     00101400
         DO    &PRECSIZE=96                                     V4A     00101500
&PNUMREC SET   &PBKSZ/96                                        V4A     00101600
         ENDO                                                   V4A     00101700
.*                                                                      00101800
.*  GEN UNIT TABLE ENTRY                                                00101900
.*                                                                      00102000
FL$FUNTB CSECT                                                          00102100
FL$UN&P2UNIT DS 0F                      SPOOLIN FUNTAB SLOT             00102200
         DC    AL1(0)                   RUN TIME FLAGS                  00102300
         DC    AL1(0)                   LAST COMMAND                    00102400
         DC    AL2(&PUNIT)              UNIT NUMBER                     00102500
         DC    AL1(UTGETCS)             DEVICE=SYSCARD                  00102600
         DC    AL1(UOGETCS+&UOREREAD+&UOPOOL) GETCS/REREAD/POOL FLAGS   00102700
         DC    AL1(UOIN)                INPUT FLAG                      00102800
         DC    AL1(0)                   RUN TIME FLAGS 2                00102900
         DC    AL4(&PRECSIZE)          MAX RECORD SIZE          V4A     00103000
         DC    AL4(0)                   ADDR OF I/O RECORD              00103100
         DC    AL4(&PNUMREC)            # RECS IN GETCS BLOCK           00103200
         DC    AL4(&PIOARA1)            ADDR GETCS I/O AREA             00103300
         DC    AL4(0)                   # RECS REMAINING IN GETCS BUF   00103400
         DO    &PBFPFLG=0                                               00103500
FL$&P2UNIT CSECT                                                        00103600
&PIOARA1 DS    0F                       SPOOLIN I/O AREA                00103700
         DS    CL(&PBKSZ)                                               00103800
         ENDO                                                           00103900
&SYSECT  CSECT                                                          00104000
         GOTO  .F4LAST                                                  00104100
         ENDO                                                           00104200
.*                                                                      00104300
.*                                                                      00104400
         DO    '&FDEVICE'='EQUIV'                                       00104500
.*                                                                      00104600
.*  EQUIV PROCESSING                                                    00104700
.*                                                                      00104800
         PRINT OFF                                                      00104900
         FPARMCHK  &FASCII,FASCII,EQUIV                                 00105000
         FPARMCHK  &FAUE,FAUE,EQUIV                                     00105100
         FPARMCHK  &FBKNO,FBKNO,EQUIV                                   00105200
         FPARMCHK  &FBKSZ,FBKSZ,EQUIV                                   00105300
         FPARMCHK  &FBUFOFF,FBUFOFF,EQUIV                               00105400
         FPARMCHK  &FBUFPOOL,FBUFPOOL,EQUIV                             00105500
         FPARMCHK  &FCHAR,FCHAR,EQUIV                                   00105600
         FPARMCHK  &FCKPT,FCKPT,EQUIV                                   00105700
         FPARMCHK  &FCLRW,FCLRW,EQUIV                                   00105800
         FPARMCHK  &FCRDERR,FCRDERR,EQUIV                               00105900
         FPARMCHK  &FDIAGNOS,FDIAGNOS,EQUIV                             00106000
         FPARMCHK  &FERROPT,FERROPT,DMS                                 00106100
         FPARMCHK  &FFILABL,FFILABL,EQUIV                               00106200
         FPARMCHK  &FFILEID,FFILEID,EQUIV                               00106300
         FPARMCHK  &FLABADDR,FLABADDR,EQUIV                             00106400
         FPARMCHK  &FLENCHK,FLENCHK,EQUIV                               00106500
         FPARMCHK  &FMODE,FMODE,EQUIV                                   00106600
         FPARMCHK  &FNUMBUF,FNUMBUF,EQUIV                               00106700
         FPARMCHK  &FOPRW,FOPRW,EQUIV                                   00106800
         FPARMCHK  &FOPTION,FOPTION,EQUIV                               00106900
         FPARMCHK  &FPRINTOV,FPRINTOV,EQUIV                             00107000
         FPARMCHK  &FRECERR,FRECERR,EQUIV                               00107100
         FPARMCHK  &FRECFORM,FRECFORM,EQUIV                             00107200
         FPARMCHK  &FRECSIZE,FRECSIZE,EQUIV                             00107300
         FPARMCHK  &FREREAD,FREREAD,EQUIV                               00107400
         FPARMCHK  &FSECTOR,FSECTOR,EQUIV                               00107500
         FPARMCHK  &FSTUB,FSTUB,EQUIV                                   00107600
         FPARMCHK  &FTRLBL,FTRLBL,EQUIV                                 00107700
         FPARMCHK  &FTYPEFLE,FTYPEFLE,EQUIV                             00107800
         FPARMCHK  &FVERIFY,FVERIFY,EQUIV                               00107900
         FPARMCHK  &FWORKA,FWORKA,EQUIV                                 00108000
         PRINT ON                                                       00108100
.*                                                                      00108200
         DO    ('&FUNIT'>'0')**('&FUNIT'<'100')                         00108300
&PUNIT   SET   '&FUNIT'                                                 00108400
&P2UNIT  SET   '&FUNIT'                                                 00108500
         ENDO                                                           00108600
         DO    '&FUNIT'='PRINT'                                         00108700
&PUNIT   SET   '-3'                                                     00108800
&P2UNIT  SET   'PRT'                                                    00108900
         ENDO                                                           00109000
         DO    '&FUNIT'='PUNCH'                                         00109100
&PUNIT   SET   '-2'                                                     00109200
&P2UNIT  SET   'PCH'                                                    00109300
         ENDO                                                           00109400
         DO    '&FUNIT'='READ'                                          00109500
&PUNIT   SET   '-1'                                                     00109600
&P2UNIT  SET   'RDR'                                                    00109700
         ENDO                                                           00109800
.*                                                                      00109900
&PEQUIV  SET   ''                                                       00110000
         DO    ('&FEQUIV'>'0')**('&FEQUIV'<'100')                       00110100
&PEQUIV  SET   'FL$UN&FEQUIV'                                           00110200
         ENDO                                                           00110300
         DO    '&FEQUIV'='PRINT'                                        00110400
&PEQUIV  SET   'FL$UNPRT'                                               00110500
         ENDO                                                           00110600
         DO    '&FEQUIV'='PUNCH'                                        00110700
&PEQUIV  SET   'FL$UNPCH'                                               00110800
         ENDO                                                           00110900
         DO    '&FEQUIV'='READ'                                         00111000
&PEQUIV  SET   'FL$UNRDR'                                               00111100
         ENDO                                                           00111200
         DO    '&PEQUIV'=''                                             00111300
         PNOTE 'W','INVALID FEQUIV SPECIFIED - UNIT DEFINITION INVALID' 00111400
&PEQUIV  SET   '-1'                                                     00111500
         ENDO                                                           00111600
.*                                                                      00111700
.*  GEN UNIT TABLE ENTRY                                                00111800
.*                                                                      00111900
FL$FUNTB CSECT                                                          00112000
FL$UN&P2UNIT DS 0F                 EQUIV FUNTAB SLOT                    00112100
         DC    AL1(0)              NOT USED                             00112200
         DC    AL1(0)              NOT USED                             00112300
         DC    AL2(&PUNIT)         UNIT NUMBER                          00112400
         DC    AL1(0)              NOT USED                             00112500
         DC    AL1(UOEQU)          EQUIVALENCED UNIT                    00112600
         DC    AL1(0)              NOT USED                             00112700
         DC    AL1(0)              NOT USED                             00112800
         DC    AL4(0)              NOT USED                             00112900
         DC    AL4(0)              NOT USED                             00113000
         DC    AL4(&PEQUIV)        EQUIVALENT UNIT'S FUNTAB SLOT        00113100
         DC    AL4(0)              NOT USED                             00113200
         DC    AL4(0)              NOT USED                             00113300
&SYSECT  CSECT                                                          00113400
         GOTO  .F4LAST                                                  00113500
         ENDO                                                           00113600
.*                                                                      00113700
.*                                                                      00113800
         DO    '&FDEVICE'='REREAD'                                      00113900
.*                                                                      00114000
.*  REREAD PROCESSING                                                   00114100
.*                                                                      00114200
         PRINT OFF                                                      00114300
         FPARMCHK  &FASCII,FASCII,REREAD                                00114400
         FPARMCHK  &FAUE,FAUE,REREAD                                    00114500
         FPARMCHK  &FBKNO,FBKNO,REREAD                                  00114600
         FPARMCHK  &FBKSZ,FBKSZ,REREAD                                  00114700
         FPARMCHK  &FBUFOFF,FBUFOFF,REREAD                              00114800
         FPARMCHK  &FBUFPOOL,FBUFPOOL,REREAD                            00114900
         FPARMCHK  &FCHAR,FCHAR,REREAD                                  00115000
         FPARMCHK  &FCKPT,FCKPT,REREAD                                  00115100
         FPARMCHK  &FCLRW,FCLRW,REREAD                                  00115200
         FPARMCHK  &FCRDERR,FCRDERR,REREAD                              00115300
         FPARMCHK  &FDIAGNOS,FDIAGNOS,REREAD                            00115400
         FPARMCHK  &FEQUIV,FEQUIV,REREAD                                00115500
         FPARMCHK  &FERROPT,FERROPT,REREAD                              00115600
         FPARMCHK  &FFILABL,FFILABL,REREAD                              00115700
         FPARMCHK  &FFILEID,FFILEID,REREAD                              00115800
         FPARMCHK  &FLABADDR,FLABADDR,REREAD                            00115900
         FPARMCHK  &FLENCHK,FLENCHK,REREAD                              00116000
         FPARMCHK  &FMODE,FMODE,REREAD                                  00116100
         FPARMCHK  &FNUMBUF,FNUMBUF,REREAD                              00116200
         FPARMCHK  &FOPRW,FOPRW,REREAD                                  00116300
         FPARMCHK  &FOPTION,FOPTION,REREAD                              00116400
         FPARMCHK  &FPRINTOV,FPRINTOV,REREAD                            00116500
         FPARMCHK  &FRECERR,FRECERR,REREAD                              00116600
         FPARMCHK  &FRECFORM,FRECFORM,REREAD                            00116700
         FPARMCHK  &FRECSIZE,FRECSIZE,REREAD                            00116800
         FPARMCHK  &FREREAD,FREREAD,REREAD                              00116900
         FPARMCHK  &FSECTOR,FSECTOR,REREAD                              00117000
         FPARMCHK  &FSTUB,FSTUB,REREAD                                  00117100
         FPARMCHK  &FTRLBL,FTRLBL,REREAD                                00117200
         FPARMCHK  &FTYPEFLE,FTYPEFLE,REREAD                            00117300
         FPARMCHK  &FVERIFY,FVERIFY,REREAD                              00117400
         FPARMCHK  &FWORKA,FWORKA,REREAD                                00117500
         PRINT ON                                                       00117600
.*                                                                      00117700
         DO    ('&FUNIT'='PUNCH')++('&FUNIT'='PRINT')                   00117800
         PNOTE 'W','INVALID FUNIT FOR FDEVICE - UNIT DEFINITION IGNOREDX00117900
               '                                                        00118000
         GOTO  .F4LAST                                                  00118100
         ENDO                                                           00118200
         DO    ('&FUNIT'>'0')**('&FUNIT'<'100')                         00118300
&PUNIT   SET   '&FUNIT'                                                 00118400
&P2UNIT  SET   '&FUNIT'                                                 00118500
         ENDO                                                           00118600
         DO    '&FUNIT'='READ'                                          00118700
&PUNIT   SET   '-1'                                                     00118800
&P2UNIT  SET   'RDR'                                                    00118900
         ENDO                                                           00119000
.*                                                                      00119100
&FRERDDF SET   1                                                        00119200
.*                                                                      00119300
.*  GEN UNIT TABLE ENTRY                                                00119400
.*                                                                      00119500
FL$FUNTB CSECT                                                          00119600
FL$UN&P2UNIT DS 0F                      REREAD FUNTAB SLOT              00119700
         DC    AL1(0)                   RUN TIME FLAGS                  00119800
         DC    AL1(0)                   LAST COMMAND                    00119900
         DC    AL2(&PUNIT)              UNIT NUMBER                     00120000
         DC    AL1(0)                   NULL DTF TYPE                   00120100
         DC    AL1(UORERD)              REREAD UNIT                     00120200
         DC    AL1(UOIN)                INPUT FLAG                      00120300
         DC    AL1(0)                   RUN TIME FLAGS 2                00120400
         DC    AL4(0)                   NULL MAX RECORD SIZE            00120500
         DC    AL4(FL$RERDB)            ADDRESS OF REREAD BUFFER        00120600
         DC    AL4(0)                   NULL DTF ADDRESS                00120700
         DC    AL4(0)                   NOT USED                        00120800
         DC    AL4(0)                   NOT USED                        00120900
&SYSECT  CSECT                                                          00121000
         GOTO  .F4LAST                                                  00121100
         ENDO                                                           00121200
.*                                                                      00121300
.*                                                                      00121400
         DO    '&FDEVICE'='DMS'                                         00121500
.*                                                                      00121600
.*  INDEPENDENT DTF PROCESSING                                          00121700
.*                                                                      00121800
         PRINT OFF                                                      00121900
         FPARMCHK  &FASCII,FASCII,DMS                                   00122000
         FPARMCHK  &FAUE,FAUE,DMS                                       00122100
         FPARMCHK  &FBKNO,FBKNO,DMS                                     00122200
         FPARMCHK  &FBKSZ,FBKSZ,DMS                                     00122300
         FPARMCHK  &FBUFOFF,FBUFOFF,DMS                                 00122400
         FPARMCHK  &FBUFPOOL,FBUFPOOL,DMS                               00122500
         FPARMCHK  &FCHAR,FCHAR,DMS                                     00122600
         FPARMCHK  &FCKPT,FCKPT,DMS                                     00122700
         FPARMCHK  &FCLRW,FCLRW,DMS                                     00122800
         FPARMCHK  &FCRDERR,FCRDERR,DMS                                 00122900
         FPARMCHK  &FDIAGNOS,FDIAGNOS,DMS                               00123000
         FPARMCHK  &FEQUIV,FEQUIV,DMS                                   00123100
         FPARMCHK  &FERROPT,FERROPT,EQUIV                               00123200
         FPARMCHK  &FFILABL,FFILABL,DMS                                 00123300
         FPARMCHK  &FLABADDR,FLABADDR,DMS                               00123400
         FPARMCHK  &FLENCHK,FLENCHK,DMS                                 00123500
         FPARMCHK  &FMODE,FMODE,DMS                                     00123600
         FPARMCHK  &FNUMBUF,FNUMBUF,DMS                                 00123700
         FPARMCHK  &FOPRW,FOPRW,DMS                                     00123800
         FPARMCHK  &FOPTION,FOPTION,DMS                                 00123900
         FPARMCHK  &FPRINTOV,FPRINTOV,DMS                               00124000
         FPARMCHK  &FRECERR,FRECERR,DMS                                 00124100
         FPARMCHK  &FSECTOR,FSECTOR,DMS                                 00124200
         FPARMCHK  &FSTUB,FSTUB,DMS                                     00124300
         FPARMCHK  &FTRLBL,FTRLBL,DMS                                   00124400
         FPARMCHK  &FTYPEFLE,FTYPEFLE,DMS                               00124500
         FPARMCHK  &FVERIFY,FVERIFY,DMS                                 00124600
         PRINT ON                                                       00124700
.*                                                                      00124800
         DO    ('&FUNIT'='PRINT')++('&FUNIT'='READ')++('&FUNIT'='PUNCH'X00124900
               )                                                        00125000
         PNOTE 'W','INVALID FUNIT FOR FDEVICE - UNIT DEFINITION IGNOREDX00125100
               '                                                        00125200
         GOTO  .F4LAST                                                  00125300
         ENDO                                                           00125400
&PUNIT   SET   '&FUNIT'                                                 00125500
.*                                                                      00125600
&PFILEID SET   'FORT&PUNIT'                                             00125700
         DO    ('&FFILEID'='')=0                                        00125800
&PFILEID SET   '&FFILEID'                                               00125900
         ENDO                                                           00126000
.*                                                                      00126100
&PRECFORM SET  'VARUNB'                                                 00126200
&UORECFM SET   'UOVAR'                                                  00126300
         DO    '&FRECFORM'='VARBLK'                                     00126400
&PRECFORM SET  'VARBLK'                                                 00126500
         ENDO                                                           00126600
         DO    '&FRECFORM'='FIXUNB'                                     00126700
&PRECFORM SET  'FIXUNB'                                                 00126800
&UORECFM SET   '0'                                                      00126900
         ENDO                                                           00127000
         DO    '&FRECFORM'='FIXBLK'                                     00127100
&PRECFORM SET  'FIXBLK'                                                 00127200
&UORECFM SET   '0'                                                      00127300
         ENDO                                                           00127400
.*                                                                      00127500
&PRECSIZE SET  508                                                      00127600
         DO    (&FRECSIZE=0)=0                                          00127700
&PRECSIZE SET  &FRECSIZE                                                00127800
         ENDO                                                           00127900
.*                                                                      00128000
&PRERDFL SET   0                                                        00128100
&UOREREAD SET  '0'                                                      00128200
         DO    '&FREREAD'='YES'                                         00128300
&UOREREAD SET  'UOREREAD'                                               00128400
&PRERDFL SET   1                                                        00128500
         ENDO                                                           00128600
.*                                                                      00128700
         DO    '&FWORKA'='YES'=0                                        00128800
         PNOTE 'W','FWORKA MUST BE SPECIFIED - FWORKA=YES ASSUMED'      00128900
         ENDO                                                           00129000
         PNOTE 'W','A SEPARATE DTF MUST BE ASSEMBLED AND WORKA=YES MUSTX00129100
                BE SPECIFIED'                                           00129200
.*                                                                      00129300
         DO    &PRECSIZE>&FMAXWRK                                       00129400
&FMAXWRK SET   &PRECSIZE                                                00129500
         ENDO                                                           00129600
.*                                                                      00129700
         DO    &PRERDFL=1                                               00129800
         DO    &PRECSIZE>&MAXRERD                                       00129900
&MAXRERD SET   &PRECSIZE                                                00130000
         ENDO                                                           00130100
         ENDO                                                           00130200
.*                                                                      00130300
.*  GEN UNIT TABLE ENTRY                                                00130400
.*                                                                      00130500
FL$FUNTB CSECT                                                          00130600
         EXTRN &PFILEID                                                 00130700
FL$UN&PUNIT  DS 0F                      DMS FUNTAB SLOT                 00130800
         DC    AL1(0)                   RUN TIME FLAGS                  00130900
         DC    AL1(0)                   LAST COMMAND                    00131000
         DC    AL2(&PUNIT)              UNIT NUMBER                     00131100
         DC    AL1(0)                   UNKNOWN DEVICE TYPE             00131200
         DC    AL1(UOSEPDTF)            SEPARATE DTF                    00131300
         DC    AL1(UOWORKA+&UORECFM)    WORK/RECFM FLAGS                00131400
         DC    AL1(0)                   RUN TIME FLAGS 2                00131500
         DC    AL4(&PRECSIZE)           RECORD SIZE                     00131600
         DC    AL4(FL$WORKA)            WORK AREA ADDRESS               00131700
         DC    AL4(&PFILEID)            DTF ADDRESS                     00131800
         DC    AL4(0)                   NOT USED                        00131900
         DC    AL4(0)                   NOT USED                        00132000
&SYSECT  CSECT                                                          00132100
         GOTO  .F4LAST                                                  00132200
         ENDO                                                           00132300
.*                                                                      00132400
.*                                                                      00132500
         DO    '&FDEVICE'='CARDIN'                                      00132600
.*                                                                      00132700
.*  CARDIN PROCESSING                                                   00132800
.*                                                                      00132900
         PRINT OFF                                                      00133000
         FPARMCHK  &FBKNO,FBKNO,CARDIN                                  00133100
         FPARMCHK  &FBKSZ,FBKSZ,CARDIN                                  00133200
         FPARMCHK  &FBUFOFF,FBUFOFF,CARDIN                              00133300
         FPARMCHK  &FCHAR,FCHAR,CARDIN                                  00133400
         FPARMCHK  &FCKPT,FCKPT,CARDIN                                  00133500
         FPARMCHK  &FCLRW,FCLRW,CARDIN                                  00133600
         FPARMCHK  &FCRDERR,FCRDERR,CARDIN                              00133700
         FPARMCHK  &FDIAGNOS,FDIAGNOS,CARDIN                            00133800
         FPARMCHK  &FEQUIV,FEQUIV,CARDIN                                00133900
         FPARMCHK  &FERROPT,FERROPT,SPOOLIN                             00134000
         FPARMCHK  &FFILABL,FFILABL,CARDIN                              00134100
         FPARMCHK  &FLABADDR,FLABADDR,CARDIN                            00134200
         FPARMCHK  &FLENCHK,FLENCHK,CARDIN                              00134300
         FPARMCHK  &FOPRW,FOPRW,CARDIN                                  00134400
         FPARMCHK  &FPRINTOV,FPRINTOV,CARDIN                            00134500
         FPARMCHK  &FRECERR,FRECERR,CARDIN                              00134600
         FPARMCHK  &FRECFORM,FRECFORM,CARDIN                            00134700
*                                                               V4A     00134800
         FPARMCHK  &FSECTOR,FSECTOR,CARDIN                              00134900
         FPARMCHK  &FTRLBL,FTRLBL,CARDIN                                00135000
         FPARMCHK  &FTYPEFLE,FTYPEFLE,CARDIN                            00135100
         FPARMCHK  &FVERIFY,FVERIFY,CARDIN                              00135200
         PRINT ON                                                       00135300
.*                                                                      00135400
         DO    ('&FUNIT'='PRINT')++('&FUNIT'='PUNCH')                   00135500
         PNOTE 'W','INVALID FUNIT FOR FDEVICE - UNIT DEFINITION IGNOREDX00135600
               '                                                        00135700
         GOTO  .F4LAST                                                  00135800
         ENDO                                                           00135900
         DO    ('&FUNIT'>'0')**('&FUNIT'<'100')                         00136000
&PUNIT   SET   '&FUNIT'                                                 00136100
&P2UNIT  SET   '&FUNIT'                                                 00136200
         ENDO                                                           00136300
         DO    '&FUNIT'='READ'                                          00136400
&PUNIT   SET   '-1'                                                     00136500
&P2UNIT  SET   'RDR'                                                    00136600
         ENDO                                                           00136700
.*                                                                      00136800
&UOASCII SET   '0'                                                      00136900
&PASCII  SET   ''                                                       00137000
         DO    '&FASCII'='YES'                                          00137100
&UOASCII SET   'UOASCII'                                                00137200
&PASCII  SET   'YES'                                                    00137300
         ENDO                                                           00137400
.*                                                                      00137500
&PAUE    SET   ''                                                       00137600
         DO    '&FAUE'='YES'                                            00137700
&PAUE    SET   'YES'                                                    00137800
         ENDO                                                           00137900
.*                                                                      00138000
&UOPOOL  SET   '0'                                                      00138100
&PBFPFLG SET   0                                                        00138200
         DO    '&FBUFPOOL'='YES'                                        00138300
&UOPOOL  SET   'UOPOOL'                                                 00138400
&PBFPFLG SET   1                                                        00138500
         ENDO                                                           00138600
.*                                                                      00138700
         DO    ('&FUNIT'>'0')**('&FUNIT'<'100')                         00138800
&PFILEID SET   'FORT&FUNIT'                                             00138900
         ENDO                                                           00139000
         DO    '&FUNIT'='READ'                                          00139100
&PFILEID SET   'READER'                                                 00139200
         ENDO                                                           00139300
         DO    ('&FFILEID'='')=0                                        00139400
&PFILEID SET   '&FFILEID'                                               00139500
         ENDO                                                           00139600
.*                                                                      00139700
&PMODE   SET   'STD'                                                    00139800
         DO    '&FMODE'='BINARY'                                        00139900
&PMODE   SET   'BINARY'                                                 00140000
         ENDO                                                           00140100
.*                                                                      00140200
&PIO2FLG SET   0                                                        00140300
&PIOARA2 SET   ''                                                       00140400
&PIOARA1 SET   'IO1&P2UNIT'                                             00140500
         DO    (&FNUMBUF=2)                                             00140600
&PIO2FLG SET   1                                                        00140700
&PIOARA2 SET   'IO2&P2UNIT'                                             00140800
         ENDO                                                           00140900
         DO    &PBFPFLG=1                                               00141000
&PIOARA1 SET   'IO1POOL'                                                00141100
         DO    &PIO2FLG=1                                               00141200
&PIOARA2 SET   'IO2POOL'                                                00141300
         ENDO                                                           00141400
         ENDO                                                           00141500
.*                                                                      00141600
&POPTION SET   ''                                                       00141700
         DO    '&FOPTION'='YES'                                         00141800
&POPTION SET   'YES'                                                    00141900
         ENDO                                                           00142000
.*                                                                      00142100
.*   TEST FOR EXPLICIT 96 COLUMN RECORD SIZE                    V4A     00142200
&PRECSIZE SET   96                                              V4A     00142300
         DO    '&FRECSIZE'='96'=0                               V4A     00142400
         DO    '&PMODE'='STD'                                           00142500
&PRECSIZE SET  80                                                       00142600
         DO    (&FRECSIZE>0)**(&FRECSIZE<81)                            00142700
&PRECSIZE SET  &FRECSIZE                                                00142800
         ENDO                                                           00142900
         ENDO                                                           00143000
         DO    '&PMODE'='BINARY'                                        00143100
&PRECSIZE SET  160                                                      00143200
         DO    (&FRECSIZE>0)**(&FRECSIZE<161)                           00143300
&PRECSIZE SET  &FRECSIZE                                                00143400
         ENDO                                                           00143500
         ENDO                                                           00143600
         ENDO                                                   V4A     00143700
.*                                                                      00143800
&PRERDFL SET   0                                                        00143900
&UOREREAD SET  '0'                                                      00144000
         DO    '&FREREAD'='YES'                                         00144100
&UOREREAD SET  'UOREREAD'                                               00144200
&PRERDFL SET   1                                                        00144300
         ENDO                                                           00144400
.*                                                                      00144500
&PSTUB   SET   ''                                                       00144600
         DO    (&FSTUB=51)++(&FSTUB=66)                                 00144700
&PSTUB   SET   &FSTUB                                                   00144800
         ENDO                                                           00144900
.*                                                                      00145000
         DO    &PIO2FLG=0                                               00145100
&PWORKFL SET   1                                                        00145200
         DO    '&FWORKA'='NO'                                           00145300
&PWORKFL SET   0                                                        00145400
         ENDO                                                           00145500
         ENDO                                                           00145600
         DO    &PIO2FLG=1                                               00145700
&PWORKFL SET   0                                                        00145800
         DO    '&FWORKA'='YES'                                          00145900
&PWORKFL SET   1                                                        00146000
         ENDO                                                           00146100
         ENDO                                                           00146200
         DO    &PWORKFL=1                                               00146300
&UOWORKA SET   'UOWORKA'                                                00146400
&PWORKA  SET   'YES'                                                    00146500
&RECADDR SET   'FL$WORKA'                                               00146600
&PIOREG  SET   ''                                                       00146700
         ENDO                                                           00146800
         DO    &PWORKFL=0                                               00146900
&UOWORKA SET   '0'                                                      00147000
&PWORKA  SET   ''                                                       00147100
&RECADDR SET   '0'                                                      00147200
&PIOREG  SET   '3'                                                      00147300
         ENDO                                                           00147400
.*                                                                      00147500
         DO    &PBFPFLG=1                                               00147600
         DO    &PRECSIZE>&MXPOOL1                                       00147700
&MXPOOL1 SET   &PRECSIZE                                                00147800
         ENDO                                                           00147900
         DO    &PIO2FLG=1                                               00148000
         DO    &PRECSIZE>&MXPOOL2                                       00148100
&MXPOOL2 SET   &PRECSIZE                                                00148200
         ENDO                                                           00148300
         ENDO                                                           00148400
         ENDO                                                           00148500
.*                                                                      00148600
         DO    &PRERDFL=1                                               00148700
         DO    &PRECSIZE>&MAXRERD                                       00148800
&MAXRERD SET   &PRECSIZE                                                00148900
         ENDO                                                           00149000
         ENDO                                                           00149100
.*                                                                      00149200
         DO    &PWORKFL=1                                               00149300
         DO    &PRECSIZE>&FMAXWRK                                       00149400
&FMAXWRK SET   &PRECSIZE                                                00149500
         ENDO                                                           00149600
         ENDO                                                           00149700
.*                                                                      00149800
.*  GEN UNIT TABLE ENTRY                                                00149900
.*                                                                      00150000
FL$FUNTB CSECT                                                          00150100
FL$UN&P2UNIT DS 0F                      CARDIN FUNTAB SLOT              00150200
         DC    AL1(0)                   RUN TIME FLAGS                  00150300
         DC    AL1(0)                   LAST COMMAND                    00150400
         DC    AL2(&PUNIT)              UNIT NUMBER                     00150500
         DC    AL1(UTCARD)              CARD DEVICE                     00150600
         DC    AL1(UOSEQ+&UOPOOL+&UOREREAD) SEQ/POOL/REREAD FLAGS       00150700
         DC    AL1(UOIN+&UOWORKA+&UOASCII) INPUT/WORKA/ASCII FLAGS      00150800
         DC    AL1(0)                   RUN TIME FLAGS 2                00150900
         DC    AL4(&PRECSIZE)           RECORD SIZE                     00151000
         DC    AL4(&RECADDR)            ADDRESS OF I/O RECORD           00151100
         DC    AL4(&PFILEID)            DTF ADDRESS                     00151200
         DC    AL4(0)                   NOT USED                        00151300
         DC    AL4(0)                   NOT USED                        00151400
         EJECT                                                          00151500
.*                                                                      00151600
.*  GENERATE DTF                                                        00151700
.*                                                                      00151800
FL$&P2UNIT CSECT                                                        00151900
         DO    &FIOERFL=0                                               00152000
&FIOERFL SET   1                                                        00152100
         EXTRN FL$IOERR                                                 00152200
         ENDO                                                           00152300
         DO    &FEOFFL=0                                                00152400
&FEOFFL  SET   1                                                        00152500
         EXTRN FL$EOF                                                   00152600
         ENDO                                                           00152700
&PFILEID DTFCD ASCII=&PASCII,                                          X00152800
               AUE=&PAUE,                                              X00152900
               BLKSIZE=&PRECSIZE,                                      X00153000
               EOFADDR=FL$EOF,                                         X00153100
               ERROR=FL$IOERR,                                         X00153200
               IOAREA1=&PIOARA1,                                       X00153300
               IOAREA2=&PIOARA2,                                       X00153400
               IOREG=&PIOREG,                                          X00153500
               MODE=&PMODE,                                            X00153600
               OPTION=&POPTION,                                        X00153700
               RECFORM=FIXUNB,                                         X00153800
               STUB=&PSTUB,                                            X00153900
               TYPEFLE=INPUT,                                          X00154000
               WORKA=&PWORKA                                            00154100
         DO    &PBFPFLG=0                                               00154200
&PIOARA1 DS    0F                       CARDIN I/O AREA 1               00154300
         DS    CL(&PRECSIZE)                                            00154400
         DO    &PIO2FLG=1                                               00154500
&PIOARA2 DS    0F                       CARDIN I/O AREA 2               00154600
         DS    CL(&PRECSIZE)                                            00154700
         ENDO                                                           00154800
         ENDO                                                           00154900
&SYSECT  CSECT                                                          00155000
         GOTO  .F4LAST                                                  00155100
         ENDO                                                           00155200
.*                                                                      00155300
.*                                                                      00155400
         DO    '&FDEVICE'='CARDOUT'                                     00155500
.*                                                                      00155600
.*  CARDOUT PROCESSING                                                  00155700
.*                                                                      00155800
         PRINT OFF                                                      00155900
         FPARMCHK  &FAUE,FAUE,CARDOUT                                   00156000
         FPARMCHK  &FBKNO,FBKNO,CARDOUT                                 00156100
         FPARMCHK  &FBKSZ,FBKSZ,CARDOUT                                 00156200
         FPARMCHK  &FBUFOFF,FBUFOFF,CARDOUT                             00156300
         FPARMCHK  &FCHAR,FCHAR,CARDOUT                                 00156400
         FPARMCHK  &FCKPT,FCKPT,CARDOUT                                 00156500
         FPARMCHK  &FCLRW,FCLRW,CARDOUT                                 00156600
         FPARMCHK  &FDIAGNOS,FDIAGNOS,CARDOUT                           00156700
         FPARMCHK  &FEQUIV,FEQUIV,CARDOUT                               00156800
         FPARMCHK  &FERROPT,FERROPT,CARDOUT                             00156900
         FPARMCHK  &FFILABL,FFILABL,CARDOUT                             00157000
         FPARMCHK  &FLABADDR,FLABADDR,CARDOUT                           00157100
         FPARMCHK  &FLENCHK,FLENCHK,CARDOUT                             00157200
         FPARMCHK  &FOPRW,FOPRW,CARDOUT                                 00157300
         FPARMCHK  &FPRINTOV,FPRINTOV,CARDOUT                           00157400
         FPARMCHK  &FRECERR,FRECERR,CARDOUT                             00157500
         FPARMCHK  &FRECFORM,FRECFORM,CARDOUT                           00157600
         FPARMCHK  &FREREAD,FREREAD,CARDOUT                             00157700
         FPARMCHK  &FSECTOR,FSECTOR,CARDOUT                             00157800
         FPARMCHK  &FSTUB,FSTUB,CARDOUT                                 00157900
         FPARMCHK  &FTRLBL,FTRLBL,CARDOUT                               00158000
         FPARMCHK  &FTYPEFLE,FTYPEFLE,CARDOUT                           00158100
         FPARMCHK  &FVERIFY,FVERIFY,CARDOUT                             00158200
         PRINT ON                                                       00158300
.*                                                                      00158400
         DO    ('&FUNIT'='PRINT')++('&FUNIT'='READ')                    00158500
         PNOTE 'W','INVALID FUNIT FOR FDEVICE - UNIT DEFINITION IGNOREDX00158600
               '                                                        00158700
         GOTO  .F4LAST                                                  00158800
         ENDO                                                           00158900
         DO    ('&FUNIT'>'0')**('&FUNIT'<'100')                         00159000
&PUNIT   SET   '&FUNIT'                                                 00159100
&P2UNIT  SET   '&FUNIT'                                                 00159200
         ENDO                                                           00159300
         DO    '&FUNIT'='PUNCH'                                         00159400
&PUNIT   SET   '-2'                                                     00159500
&P2UNIT  SET   'PCH'                                                    00159600
         ENDO                                                           00159700
.*                                                                      00159800
&PASCII  SET   ''                                                       00159900
&UOASCII SET   '0'                                                      00160000
         DO    '&FASCII'='YES'                                          00160100
&UOASCII SET   'UOASCII'                                                00160200
&PASCII  SET   'YES'                                                    00160300
         ENDO                                                           00160400
.*                                                                      00160500
&UOPOOL  SET   '0'                                                      00160600
&PBFPFLG SET   0                                                        00160700
         DO    '&FBUFPOOL'='YES'                                        00160800
&UOPOOL  SET   'UOPOOL'                                                 00160900
&PBFPFLG SET   1                                                        00161000
         ENDO                                                           00161100
.*                                                                      00161200
&PCRDERR SET   ''                                                       00161300
         DO    '&FCRDERR'='RETRY'                                       00161400
&PCRDERR SET   'RETRY'                                                  00161500
         ENDO                                                           00161600
.*                                                                      00161700
         DO    ('&FUNIT'>'0')**('&FUNIT'<'100')                         00161800
&PFILEID SET   'FORT&FUNIT'                                             00161900
         ENDO                                                           00162000
         DO    '&FUNIT'='PUNCH'                                         00162100
&PFILEID SET   'PUNCH'                                                  00162200
         ENDO                                                           00162300
         DO    ('&FFILEID'='')=0                                        00162400
&PFILEID SET   '&FFILEID'                                               00162500
         ENDO                                                           00162600
.*                                                                      00162700
&PMODE   SET   'STD'                                                    00162800
         DO    '&FMODE'='BINARY'                                        00162900
&PMODE   SET   'BINARY'                                                 00163000
         ENDO                                                           00163100
.*                                                                      00163200
&PIO2FLG SET   0                                                        00163300
&PIOARA2 SET   ''                                                       00163400
&PIOARA1 SET   'IO1&P2UNIT'                                             00163500
         DO    (&FNUMBUF=2)                                             00163600
&PIO2FLG SET   1                                                        00163700
&PIOARA2 SET   'IO2&P2UNIT'                                             00163800
         ENDO                                                           00163900
         DO    &PBFPFLG=1                                               00164000
&PIOARA1 SET   'IO1POOL'                                                00164100
         DO    &PIO2FLG=1                                               00164200
&PIOARA2 SET   'IO2POOL'                                                00164300
         ENDO                                                           00164400
         ENDO                                                           00164500
.*                                                                      00164600
&POPTION SET   ''                                                       00164700
         DO    '&FOPTION'='YES'                                         00164800
&POPTION SET   'YES'                                                    00164900
         ENDO                                                           00165000
.*                                                                      00165100
         DO    '&PMODE'='STD'                                           00165200
&PRECSIZE SET  80                                                       00165300
         DO    (&FRECSIZE>0)**(&FRECSIZE<81)                            00165400
&PRECSIZE SET  &FRECSIZE                                                00165500
         ENDO                                                           00165600
         ENDO                                                           00165700
         DO    '&PMODE'='BINARY'                                        00165800
&PRECSIZE SET  160                                                      00165900
         DO    (&FRECSIZE>0)**(&FRECSIZE<161)                           00166000
&PRECSIZE SET  &FRECSIZE                                                00166100
         ENDO                                                           00166200
         ENDO                                                           00166300
.*                                                                      00166400
         DO    &PIO2FLG=0                                               00166500
&PWORKFL SET   1                                                        00166600
         DO    '&FWORKA'='NO'                                           00166700
&PWORKFL SET   0                                                        00166800
         ENDO                                                           00166900
         ENDO                                                           00167000
         DO    &PIO2FLG=1                                               00167100
&PWORKFL SET   0                                                        00167200
         DO    '&FWORKA'='YES'                                          00167300
&PWORKFL SET   1                                                        00167400
         ENDO                                                           00167500
         ENDO                                                           00167600
         DO    &PWORKFL=1                                               00167700
&UOWORKA SET   'UOWORKA'                                                00167800
&PWORKA  SET   'YES'                                                    00167900
&RECADDR SET   'FL$WORKA'                                               00168000
&PIOREG  SET   ''                                                       00168100
         ENDO                                                           00168200
         DO    &PWORKFL=0                                               00168300
&UOWORKA SET   '0'                                                      00168400
&PWORKA  SET   ''                                                       00168500
&RECADDR SET   '0'                                                      00168600
&PIOREG  SET   '3'                                                      00168700
         ENDO                                                           00168800
.*                                                                      00168900
         DO    &PBFPFLG=1                                               00169000
         DO    &PRECSIZE>&MXPOOL1                                       00169100
&MXPOOL1 SET   &PRECSIZE                                                00169200
         ENDO                                                           00169300
         DO    &PIO2FLG=1                                               00169400
         DO    &PRECSIZE>&MXPOOL2                                       00169500
&MXPOOL2 SET   &PRECSIZE                                                00169600
         ENDO                                                           00169700
         ENDO                                                           00169800
         ENDO                                                           00169900
.*                                                                      00170000
         DO    &PWORKFL=1                                               00170100
         DO    &PRECSIZE>&FMAXWRK                                       00170200
&FMAXWRK SET   &PRECSIZE                                                00170300
         ENDO                                                           00170400
         ENDO                                                           00170500
.*                                                                      00170600
.*  GEN UNIT TABLE ENTRY                                                00170700
.*                                                                      00170800
FL$FUNTB CSECT                                                          00170900
FL$UN&P2UNIT DS 0F                      CARDOUT FUNTAB SLOT             00171000
         DC    AL1(0)                   RUN TIME FLAGS                  00171100
         DC    AL1(0)                   LAST COMMAND                    00171200
         DC    AL2(&PUNIT)              UNIT NUMBER                     00171300
         DC    AL1(UTCARD)              CARD DEVICE                     00171400
         DC    AL1(UOSEQ+&UOPOOL)       SEQ/POOL FLAGS                  00171500
         DC    AL1(UOOUT+&UOWORKA+&UOASCII) OUTPUT/WORKA/ASCII FLAGS    00171600
         DC    AL1(0)                   RUN TIME FLAGS 2                00171700
         DC    AL4(&PRECSIZE)           RECORD SIZE                     00171800
         DC    AL4(&RECADDR)            ADDRESS OF I/O RECORD           00171900
         DC    AL4(&PFILEID)            DTF ADDRESS                     00172000
         DC    AL4(0)                   NOT USED                        00172100
         DC    AL4(0)                   NOT USED                        00172200
         EJECT                                                          00172300
.*                                                                      00172400
.*  GENERATE DTF                                                        00172500
.*                                                                      00172600
FL$&P2UNIT CSECT                                                        00172700
         DO    &FIOERFL=0                                               00172800
&FIOERFL SET   1                                                        00172900
         EXTRN FL$IOERR                                                 00173000
         ENDO                                                           00173100
&PFILEID DTFCD ASCII=&PASCII,                                          X00173200
               BLKSIZE=&PRECSIZE,                                      X00173300
               CRDERR=&PCRDERR,                                        X00173400
               ERROR=FL$IOERR,                                         X00173500
               IOAREA1=&PIOARA1,                                       X00173600
               IOAREA2=&PIOARA2,                                       X00173700
               IOREG=&PIOREG,                                          X00173800
               MODE=&PMODE,                                            X00173900
               OPTION=&POPTION,                                        X00174000
               RECFORM=FIXUNB,                                         X00174100
               TYPEFLE=OUTPUT,                                         X00174200
               WORKA=&PWORKA                                            00174300
         DO    &PBFPFLG=0                                               00174400
&PIOARA1 DS    0F                       CARDOUT I/O AREA 1              00174500
         DS    CL(&PRECSIZE)                                            00174600
         DO    &PIO2FLG=1                                               00174700
&PIOARA2 DS    0F                       CARDOUT I/O AREA 2              00174800
         DS    CL(&PRECSIZE)                                            00174900
         ENDO                                                           00175000
         ENDO                                                           00175100
&SYSECT  CSECT                                                          00175200
         GOTO  .F4LAST                                                  00175300
         ENDO                                                           00175400
.*                                                                      00175500
.*                                                                      00175600
         DO    '&FDEVICE'='TAPE'                                        00175700
.*                                                                      00175800
.*  TAPE PROCESSING                                                     00175900
.*                                                                      00176000
         PRINT OFF                                                      00176100
         FPARMCHK  &FAUE,FAUE,SDISC                                     00176200
         FPARMCHK  &FCHAR,FCHAR,SDISC                                   00176300
         FPARMCHK  &FCRDERR,FCRDERR,SDISC                               00176400
         FPARMCHK  &FEQUIV,FEQUIV,SDISC                                 00176500
         FPARMCHK  &FMODE,FMODE,SDISC                                   00176600
         FPARMCHK  &FPRINTOV,FPRINTOV,SDISC                             00176700
         FPARMCHK  &FSECTOR,FSECTOR,TAPE                                00176800
         FPARMCHK  &FSTUB,FSTUB,SDISC                                   00176900
         FPARMCHK  &FTRLBL,FTRLBL,SDISC                                 00177000
         FPARMCHK  &FVERIFY,FVERIFY,SDISC                               00177100
         PRINT ON                                                       00177200
.*                                                                      00177300
         DO    '&FUNIT'='PRINT'                                         00177400
         PNOTE 'W','INVALID FUNIT FOR FDEVICE - UNIT DEFINITION IGNOREDX00177500
               '                                                        00177600
         GOTO  .F4LAST                                                  00177700
         ENDO                                                           00177800
         DO    ('&FUNIT'>'0')**('&FUNIT'<'100')                         00177900
&PUNIT   SET   '&FUNIT'                                                 00178000
&P2UNIT  SET   '&FUNIT'                                                 00178100
         ENDO                                                           00178200
         DO    '&FUNIT'='PUNCH'                                         00178300
&PUNIT   SET   '-2'                                                     00178400
&P2UNIT  SET   'PCH'                                                    00178500
         ENDO                                                           00178600
         DO    '&FUNIT'='READ'                                          00178700
&PUNIT   SET   '-1'                                                     00178800
&P2UNIT  SET   'RDR'                                                    00178900
         ENDO                                                           00179000
.*                                                                      00179100
&UOASCII SET   '0'                                                      00179200
&PASCII  SET   ''                                                       00179300
         DO    '&FASCII'='YES'                                          00179400
&UOASCII SET   'UOASCII'                                                00179500
&PASCII  SET   'YES'                                                    00179600
         ENDO                                                           00179700
.*                                                                      00179800
&PBKNOFL SET   0                                                        00179900
&PBKNO   SET   ''                                                       00180000
         DO    '&FBKNO'='YES'                                           00180100
&FBKNOFL SET   1                                                        00180200
&PBKNOFL SET   1                                                        00180300
&PBKNO   SET   'YES'                                                    00180400
         ENDO                                                           00180500
.*                                                                      00180600
&PRECSIZE SET  508                                                      00180700
         DO    (&FRECSIZE=0)=0                                          00180800
&PRECSIZE SET  &FRECSIZE                                                00180900
         ENDO                                                           00181000
.*                                                                      00181100
&PRECFORM SET 'VARUNB'                                                  00181200
&UORECFM SET   'UOVAR'                                                  00181300
         DO    '&FRECFORM'='VARBLK'                                     00181400
&PRECFORM SET  'VARBLK'                                                 00181500
         ENDO                                                           00181600
         DO    '&FRECFORM'='FIXUNB'                                     00181700
&PRECFORM SET 'FIXUNB'                                                  00181800
&UORECFM SET   '0'                                                      00181900
         ENDO                                                           00182000
         DO    '&FRECFORM'='FIXBLK'                                     00182100
&PRECFORM SET  'FIXBLK'                                                 00182200
&UORECFM SET   '0'                                                      00182300
         ENDO                                                           00182400
.*                                                                      00182500
         DO    '&PRECFORM'='FIXUNB'                                     00182600
&PBKSZ   SET   &PRECSIZE                                                00182700
         ENDO                                                           00182800
         DO    '&PRECFORM'='VARUNB'                                     00182900
&PBKSZ   SET   &PRECSIZE+4                                              00183000
         ENDO                                                           00183100
         DO    (('&PRECFORM'='FIXUNB')++('&PRECFORM'='VARUNB'))=0       00183200
&PBKSZ   SET   &PRECSIZE*4                                              00183300
         ENDO                                                           00183400
         DO    (&FBKSZ=0)=0                                             00183500
&PBKSZ   SET   &FBKSZ                                                   00183600
         ENDO                                                           00183700
.*                                                                      00183800
&PBUFOFF SET   0                                                        00183900
         DO    (&FBUFOFF=0)=0                                           00184000
&PBUFOFF SET   &FBUFOFF                                                 00184100
         ENDO                                                           00184200
.*                                                                      00184300
&UOPOOL  SET   '0'                                                      00184400
&PBFPFLG SET   0                                                        00184500
         DO    '&FBUFPOOL'='YES'                                        00184600
&UOPOOL  SET   'UOPOOL'                                                 00184700
&PBFPFLG SET   1                                                        00184800
         ENDO                                                           00184900
.*                                                                      00185000
&PCKPT   SET   ''                                                       00185100
         DO    '&FCKPT'='YES'                                           00185200
&PCKPT   SET   'YES'                                                    00185300
         ENDO                                                           00185400
.*                                                                      00185500
&PCLRW   SET   'RWD'                                                    00185600
         DO    '&FCLRW'='NORWD'                                         00185700
&PCLRW   SET   'NORWD'                                                  00185800
         ENDO                                                           00185900
         DO    '&FCLRW'='UNLOAD'                                        00186000
&PCLRW   SET   ''                                                       00186100
         ENDO                                                           00186200
.*                                                                      00186300
&UODIAG  SET   '0'                                                      00186400
         DO    '&FDIAGNOS'='YES'                                        00186500
         DO    &FDIAGFL=1                                               00186600
         PNOTE 'W','DIAGNOSTIC UNIT PREVIOUSLY SPECIFIED - KEYWORD FDIAX00186700
               GNOS IGNORED'                                            00186800
         ENDO                                                           00186900
         DO    &FDIAGFL=0                                               00187000
&UODIAG  SET   'UODIAG'                                                 00187100
&FDIAGFL SET   1                                                        00187200
         ENDO                                                           00187300
         ENDO                                                           00187400
.*                                                                      00187500
&PERROPT SET   ''                                                       00187600
         DO    ('&FERROPT'='SKIP')++('&FERROPT'='IGNORE')               00187700
&PERROPT SET   '&FERROPT'                                               00187800
         ENDO                                                           00187900
.*                                                                      00188000
&PFILABL SET   'NO'                                                     00188100
         DO    '&FFILABL'='NSTD'                                        00188200
&PFILABL SET   'NSTD'                                                   00188300
         ENDO                                                           00188400
         DO    '&FFILABL'='STD'                                         00188500
&PFILABL SET   'STD'                                                    00188600
         ENDO                                                           00188700
.*                                                                      00188800
         DO    ('&FUNIT'>'0')**('&FUNIT'<'100')                         00188900
&PFILEID SET   'FORT&FUNIT'                                             00189000
         ENDO                                                           00189100
         DO    '&FUNIT'='READ'                                          00189200
&PFILEID SET   'READER'                                                 00189300
         ENDO                                                           00189400
         DO    '&FUNIT'='PUNCH'                                         00189500
&PFILEID SET   'PUNCH'                                                  00189600
         ENDO                                                           00189700
         DO    ('&FFILEID'='')=0                                        00189800
&PFILEID SET   '&FFILEID'                                               00189900
         ENDO                                                           00190000
.*                                                                      00190100
&PLABADDR SET  ''                                                       00190200
         DO    ('&FLABADDR'='')=0                                       00190300
&PLABADDR SET  '&FLABADDR'                                              00190400
         ENDO                                                           00190500
.*                                                                      00190600
&PLENCHK SET   ''                                                       00190700
         DO    '&FLENCHK'='YES'                                         00190800
&PLENCHK SET   'YES'                                                    00190900
         ENDO                                                           00191000
.*                                                                      00191100
&PIO2FLG SET   0                                                        00191200
&PIOARA2 SET   ''                                                       00191300
&PIOARA1 SET   'IO1&P2UNIT'                                             00191400
         DO    (&FNUMBUF=2)                                             00191500
&PIO2FLG SET   1                                                        00191600
&PIOARA2 SET   'IO2&P2UNIT'                                             00191700
         ENDO                                                           00191800
         DO    &PBFPFLG=1                                               00191900
&PIOARA1 SET   'IO1POOL'                                                00192000
         DO    (&PIO2FLG=1)                                             00192100
&PIOARA2 SET   'IO2POOL'                                                00192200
         ENDO                                                           00192300
         ENDO                                                           00192400
.*                                                                      00192500
&POPRW   SET   ''                                                       00192600
         DO    '&FOPRW'='NORWD'                                         00192700
&POPRW   SET   'NORWD'                                                  00192800
         ENDO                                                           00192900
.*                                                                      00193000
&POPTION SET   ''                                                       00193100
         DO    '&FOPTION'='YES'                                         00193200
&POPTION SET   'YES'                                                    00193300
         ENDO                                                           00193400
.*                                                                      00193500
         DO    ('&FUNIT'>'0')**('&FUNIT'<'100')                         00193600
&PTYPEFLE SET  'INOUT'                                                  00193700
         ENDO                                                           00193800
         DO    ('&FUNIT'='READ')                                        00193900
&PTYPEFLE SET  'INPUT'                                                  00194000
         ENDO                                                           00194100
         DO    ('&FUNIT'='PUNCH')                                       00194200
&PTYPEFLE SET  'OUTPUT'                                                 00194300
         ENDO                                                           00194400
         DO    ('&FTYPEFLE'='INPUT')++('&FTYPEFLE'='OUTPUT')            00194500
         DO    (('&FUNIT'>'0')**('&FUNIT'<'100'))                       00194600
&PTYPEFLE SET  '&FTYPEFLE'                                              00194700
         ENDO                                                           00194800
         ENDO                                                           00194900
.*                                                                      00195000
&PRECERFL SET  0                                                        00195100
&UORECERR SET  '0'                                                      00195200
         DO    '&FRECERR'='YES'                                         00195300
&UORECERR SET  'UORECERR'                                               00195400
&PRECERFL SET  1                                                        00195500
         DO    '&PTYPEFLE'='OUTPUT'                                     00195600
         PNOTE 'W','FRECERR CANNOT BE SPECIFIED WITH FTYPEFLE=OUTPUT - X00195700
               KEYWORD FRECERR IGNORED'                                 00195800
&UORECERR SET  '0'                                                      00195900
&PRECERFL SET  0                                                        00196000
         ENDO                                                           00196100
         DO    ('&PERROPT'='')=0                                        00196200
         PNOTE 'W','FRECERR CANNOT BE SPECIFIED WITH FERROPT=&PERROPT -X00196300
                KEYWORD FRECERR IGNORED'                                00196400
&PRECERFL SET  0                                                        00196500
&UORECERR SET  '0'                                                      00196600
         ENDO                                                           00196700
         ENDO                                                           00196800
.*                                                                      00196900
&PRERDFL SET   0                                                        00197000
&UOREREAD SET  '0'                                                      00197100
         DO    '&FREREAD'='YES'                                         00197200
&PRERDFL SET   1                                                        00197300
&UOREREAD SET  'UOREREAD'                                               00197400
         DO    '&PTYPEFLE'='OUTPUT'                                     00197500
         PNOTE 'W','FREREAD CANNOT BE SPECIFIED WITH FTYPEFLE=OUTPUT - X00197600
               KEYWORD FREREAD IGNORED'                                 00197700
&PRERDFL SET   0                                                        00197800
&UOREREAD SET  '0'                                                      00197900
         ENDO                                                           00198000
         ENDO                                                           00198100
.*                                                                      00198200
         DO    &PIO2FLG=0                                               00198300
&PWORKFL SET   1                                                        00198400
         DO    '&FWORKA'='NO'                                           00198500
&PWORKFL SET   0                                                        00198600
         ENDO                                                           00198700
         ENDO                                                           00198800
         DO    &PIO2FLG=1                                               00198900
&PWORKFL SET   0                                                        00199000
         DO    '&FWORKA'='YES'                                          00199100
&PWORKFL SET   1                                                        00199200
         ENDO                                                           00199300
         ENDO                                                           00199400
         DO    &PWORKFL=0                                               00199500
         DO    ('&PRECFORM'='VARBLK')**(('&PTYPEFLE'='INPUT')=0)        00199600
         PNOTE 'W','FWORKA MUST BE SPECIFIED WHEN FRECFORM=VARBLK AND FX00199700
               TYPEFLE=OUTPUT OR WORK'                                  00199800
         PNOTE 'W','FWORKA=YES ASSUMED'                                 00199900
&PWORKFL SET   1                                                        00200000
         ENDO                                                           00200100
         ENDO                                                           00200200
         DO    &PWORKFL=1                                               00200300
&UOWORKA SET   'UOWORKA'                                                00200400
&PWORKA  SET   'YES'                                                    00200500
&RECADDR SET   'FL$WORKA'                                               00200600
&PIOREG  SET   ''                                                       00200700
         ENDO                                                           00200800
         DO    &PWORKFL=0                                               00200900
&UOWORKA SET   '0'                                                      00201000
&PWORKA  SET   ''                                                       00201100
&RECADDR SET   '0'                                                      00201200
&PIOREG  SET   '3'                                                      00201300
         ENDO                                                           00201400
.*                                                                      00201500
         DO    &PBFPFLG=1                                               00201600
         DO    &PBKSZ>&MXPOOL1                                          00201700
&MXPOOL1 SET   &PBKSZ                                                   00201800
         ENDO                                                           00201900
         DO    &PIO2FLG=1                                               00202000
         DO    &PBKSZ>&MXPOOL2                                          00202100
&MXPOOL2 SET   &PBKSZ                                                   00202200
         ENDO                                                           00202300
         ENDO                                                           00202400
         ENDO                                                           00202500
.*                                                                      00202600
         DO    (&PRERDFL=1)++(&PRECERFL=1)                              00202700
         DO    &PRECSIZE>&MAXRERD                                       00202800
&MAXRERD SET   &PRECSIZE                                                00202900
         ENDO                                                           00203000
         ENDO                                                           00203100
.*                                                                      00203200
         DO    &PWORKFL=1                                               00203300
         DO    &PRECSIZE>&FMAXWRK                                       00203400
&FMAXWRK SET   &PRECSIZE                                                00203500
         ENDO                                                           00203600
         ENDO                                                           00203700
.*                                                                      00203800
         DO    '&UODIAG'='UODIAG'                                       00203900
         DO    &PRECSIZE<101                                            00204000
         PNOTE 'W','DIAGNOSTIC UNIT RECORD SIZE MUST BE AT LEAST 101 - X00204100
               KEYWORD FDIAGNOS IGNORED'                                00204200
&UODIAG  SET   '0'                                                      00204300
&FDIAGFL SET   0                                                        00204400
         ENDO                                                           00204500
         DO    &PWORKFL=1                                               00204600
         PNOTE 'W','FDIAGNOS CANNOT BE SPECIFIED WHEN FWORKA=YES - KEYWX00204700
               ORD FDIAGNOS IGNORED'                                    00204800
&UODIAG  SET   '0'                                                      00204900
&FDIAGFL SET   0                                                        00205000
         ENDO                                                           00205100
         DO    ('&PTYPEFLE'='OUTPUT')=0                                 00205200
         PNOTE 'W','FDIAGNOS CANNOT BE SPECIFIED WHEN FTYPEFLE=INPUT ORX00205300
                WORK'                                                   00205400
         PNOTE 'W','KEYWORD FDIAGNOS IGNORED'                           00205500
&UODIAG  SET   '0'                                                      00205600
&FDIAGFL SET   0                                                        00205700
         ENDO                                                           00205800
         DO    &PBFPFLG=1                                               00205900
         PNOTE 'W','DIAGNOSTIC UNIT BUFFERS CANNOT BE POOLED - KEYWORD X00206000
               FDIAGNOS IGNORED'                                        00206100
&UODIAG  SET   '0'                                                      00206200
&FDIAGFL SET   0                                                        00206300
         ENDO                                                           00206400
         ENDO                                                           00206500
.*                                                                      00206600
         DO    '&PTYPEFLE'='INOUT'                                      00206700
&UOTPFL  SET   'UOINOUT'                                                00206800
&EOFADDR SET   'FL$EOF'                                                 00206900
         ENDO                                                           00207000
         DO    '&PTYPEFLE'='INPUT'                                      00207100
&UOTPFL  SET   'UOIN'                                                   00207200
&EOFADDR SET   'FL$EOF'                                                 00207300
         ENDO                                                           00207400
         DO    '&PTYPEFLE'='OUTPUT'                                     00207500
&UOTPFL  SET   'UOOUT'                                                  00207600
&EOFADDR SET   ''                                                       00207700
         ENDO                                                           00207800
.*                                                                      00207900
.*  GEN UNIT TABLE ENTRY                                                00208000
.*                                                                      00208100
FL$FUNTB CSECT                                                          00208200
FL$UN&P2UNIT DS 0F                      TAPE FUNTAB SLOT                00208300
         DC    AL1(0)                   RUN TIME FLAGS                  00208400
         DC    AL1(0)                   LAST COMMAND                    00208500
         DC    AL2(&PUNIT)              UNIT NUMBER                     00208600
         DC    AL1(UTTAPE)              DEVICE=TAPE                     00208700
         DC    AL1(UOSEQ+&UOPOOL+&UOREREAD) SEQ/POOL/REREAD FLAGS       00208800
         DC    AL1(&UOTPFL+&UOWORKA+&UODIAG+&UORECFM+&UORECERR+&UOASCIIX00208900
               )                                                        00209000
*                                       TYPE/WORK/DIAG/RECFM/RECERR/    00209100
*                                       ASCII FLAGS                     00209200
         DC    AL1(0)                   RUN TIME FLAGS 2                00209300
         DC    AL4(&PRECSIZE)           RECORD SIZE                     00209400
         DC    AL4(&RECADDR)            ADDRESS OF I/O RECORD           00209500
         DC    AL4(&PFILEID)            DTF ADDRESS                     00209600
         DC    AL4(0)                   NOT USED                        00209700
         DC    AL4(0)                   NOT USED                        00209800
         EJECT                                                          00209900
.*                                                                      00210000
.*  GENERATE DTF                                                        00210100
.*                                                                      00210200
FL$&P2UNIT CSECT                                                        00210300
         DO    &FIOERFL=0                                               00210400
&FIOERFL SET   1                                                        00210500
         EXTRN FL$IOERR                                                 00210600
         ENDO                                                           00210700
         DO    '&EOFADDR'='FL$EOF'                                      00210800
         DO    &FEOFFL=0                                                00210900
&FEOFFL  SET   1                                                        00211000
         EXTRN FL$EOF                                                   00211100
         ENDO                                                           00211200
         ENDO                                                           00211300
&PFILEID DTFMT ASCII=&PASCII,                                          X00211400
               BKNO=&PBKNO,                                            X00211500
               BLKSIZE=&PBKSZ,                                         X00211600
               BUFOFF=&PBUFOFF,                                        X00211700
               CKPTREC=&PCKPT,                                         X00211800
               CLRW=&PCLRW,                                            X00211900
               EOFADDR=&EOFADDR,                                       X00212000
               ERROPT=&PERROPT,                                        X00212100
               ERROR=FL$IOERR,                                         X00212200
               FILABL=&PFILABL,                                        X00212300
               IOAREA1=&PIOARA1,                                       X00212400
               IOAREA2=&PIOARA2,                                       X00212500
               IOREG=&PIOREG,                                          X00212600
               LABADDR=&PLABADDR,                                      X00212700
               LENCHK=&PLENCHK,                                        X00212800
               OPRW=&POPRW,                                            X00212900
               OPTION=&POPTION,                                        X00213000
               RECFORM=&PRECFORM,                                      X00213100
               RECSIZE=&PRECSIZE,                                      X00213200
               TYPEFLE=&PTYPEFLE,                                      X00213300
               WORKA=&PWORKA                                            00213400
         DO    &PBFPFLG=0                                               00213500
         DO    &PBKNOFL=1                                               00213600
         DS    0F                                                       00213700
         DS    CL4                      EXTRA FOR BKNO                  00213800
         ENDO                                                           00213900
&PIOARA1 DS    0F                       TAPE I/O AREA 1                 00214000
         DS    CL(&PBKSZ)                                               00214100
         DO    &PIO2FLG=1                                               00214200
         DO    &PBKNOFL=1                                               00214300
         DS    0F                                                       00214400
         DS    CL4                      EXTRA FOR BKNO                  00214500
         ENDO                                                           00214600
&PIOARA2 DS    0F                       TAPE I/O AREA 2                 00214700
         DS    CL(&PBKSZ)                                               00214800
         ENDO                                                           00214900
         ENDO                                                           00215000
&SYSECT  CSECT                                                          00215100
         GOTO  .F4LAST                                                  00215200
         ENDO                                                           00215300
.*                                                                      00215400
.*                                                                      00215500
         DO    '&FDEVICE'='SDISC'                                       00215600
.*                                                                      00215700
.* SEQUENTIAL DISC PROCESSING                                           00215800
.*                                                                      00215900
         PRINT OFF                                                      00216000
         FPARMCHK  &FASCII,FASCII,TAPE                                  00216100
         FPARMCHK  &FAUE,FAUE,TAPE                                      00216200
         FPARMCHK  &FBKNO,FBKNO,TAPE                                    00216300
         FPARMCHK  &FBUFOFF,FBUFOFF,TAPE                                00216400
         FPARMCHK  &FCHAR,FCHAR,TAPE                                    00216500
         FPARMCHK  &FCKPT,FCKPT,TAPE                                    00216600
         FPARMCHK  &FCLRW,FCLRW,TAPE                                    00216700
         FPARMCHK  &FCRDERR,FCRDERR,TAPE                                00216800
         FPARMCHK  &FEQUIV,FEQUIV,TAPE                                  00216900
         FPARMCHK  &FFILABL,FFILABL,TAPE                                00217000
         FPARMCHK  &FLENCHK,FLENCHK,TAPE                                00217100
         FPARMCHK  &FMODE,FMODE,TAPE                                    00217200
         FPARMCHK  &FOPRW,FOPRW,TAPE                                    00217300
         FPARMCHK  &FPRINTOV,FPRINTOV,TAPE                              00217400
         FPARMCHK  &FSTUB,FSTUB,TAPE                                    00217500
         PRINT ON                                                       00217600
.*                                                                      00217700
         DO    '&FUNIT'='PRINT'                                         00217800
         PNOTE 'W','INVALID FUNIT FOR FDEVICE - UNIT DEFINITION IGNOREDX00217900
               '                                                        00218000
         GOTO  .F4LAST                                                  00218100
         ENDO                                                           00218200
         DO    ('&FUNIT'>'0')**('&FUNIT'<'100')                         00218300
&PUNIT   SET   '&FUNIT'                                                 00218400
&P2UNIT  SET   '&FUNIT'                                                 00218500
         ENDO                                                           00218600
         DO    '&FUNIT'='PUNCH'                                         00218700
&PUNIT   SET   '-2'                                                     00218800
&P2UNIT  SET   'PCH'                                                    00218900
         ENDO                                                           00219000
         DO    '&FUNIT'='READ'                                          00219100
&PUNIT   SET   '-1'                                                     00219200
&P2UNIT  SET   'RDR'                                                    00219300
         ENDO                                                           00219400
.*                                                                      00219500
&PRECSIZE SET  508                                                      00219600
         DO    (&FRECSIZE=0)=0                                          00219700
&PRECSIZE SET  &FRECSIZE                                                00219800
         ENDO                                                           00219900
.*                                                                      00220000
&PRECFORM SET 'VARUNB'                                                  00220100
&UORECFM SET   'UOVAR'                                                  00220200
         DO    '&FRECFORM'='VARBLK'                                     00220300
&PRECFORM SET  'VARBLK'                                                 00220400
         ENDO                                                           00220500
         DO    '&FRECFORM'='FIXUNB'                                     00220600
&PRECFORM SET 'FIXUNB'                                                  00220700
&UORECFM SET   '0'                                                      00220800
         ENDO                                                           00220900
         DO    '&FRECFORM'='FIXBLK'                                     00221000
&PRECFORM SET  'FIXBLK'                                                 00221100
&UORECFM SET   '0'                                                      00221200
         ENDO                                                           00221300
.*                                                                      00221400
         DO    '&PRECFORM'='FIXUNB'                                     00221500
&PBKSZ   SET   &PRECSIZE                                                00221600
         ENDO                                                           00221700
         DO    '&PRECFORM'='VARUNB'                                     00221800
&PBKSZ   SET   &PRECSIZE+4                                              00221900
         ENDO                                                           00222000
         DO    (('&PRECFORM'='FIXUNB')++('&PRECFORM'='VARUNB'))=0       00222100
&PBKSZ   SET   &PRECSIZE*4                                              00222200
         ENDO                                                           00222300
         DO    (&FBKSZ=0)=0                                             00222400
&PBKSZ   SET   &FBKSZ                                                   00222500
         ENDO                                                           00222600
.*                                                                      00222700
&UOPOOL  SET   '0'                                                      00222800
&PBFPFLG SET   0                                                        00222900
         DO    '&FBUFPOOL'='YES'                                        00223000
&UOPOOL  SET   'UOPOOL'                                                 00223100
&PBFPFLG SET   1                                                        00223200
         ENDO                                                           00223300
.*                                                                      00223400
&UODIAG  SET   '0'                                                      00223500
         DO    '&FDIAGNOS'='YES'                                        00223600
         DO    &FDIAGFL=1                                               00223700
         PNOTE 'W','DIAGNOSTIC UNIT PREVIOUSLY SPECIFIED - KEYWORD FDIAX00223800
               GNOS IGNORED'                                            00223900
         ENDO                                                           00224000
         DO    &FDIAGFL=0                                               00224100
&UODIAG  SET   'UODIAG'                                                 00224200
&FDIAGFL SET   1                                                        00224300
         ENDO                                                           00224400
         ENDO                                                           00224500
.*                                                                      00224600
&PERROPT SET   ''                                                       00224700
         DO    ('&FERROPT'='SKIP')++('&FERROPT'='IGNORE')               00224800
&PERROPT SET   '&FERROPT'                                               00224900
         ENDO                                                           00225000
.*                                                                      00225100
         DO    ('&FUNIT'>'0')**('&FUNIT'<'100')                         00225200
&PFILEID SET   'FORT&FUNIT'                                             00225300
         ENDO                                                           00225400
         DO    '&FUNIT'='READ'                                          00225500
&PFILEID SET   'READER'                                                 00225600
         ENDO                                                           00225700
         DO    '&FUNIT'='PUNCH'                                         00225800
&PFILEID SET   'PUNCH'                                                  00225900
         ENDO                                                           00226000
         DO    ('&FFILEID'='')=0                                        00226100
&PFILEID SET   '&FFILEID'                                               00226200
         ENDO                                                           00226300
.*                                                                      00226400
&PLABADDR SET  ''                                                       00226500
         DO    ('&FLABADDR'='')=0                                       00226600
&PLABADDR SET  '&FLABADDR'                                              00226700
         ENDO                                                           00226800
.*                                                                      00226900
&PIO2FLG SET   0                                                        00227000
&PIOARA2 SET   ''                                                       00227100
&PIOARA1 SET   'IO1&P2UNIT'                                             00227200
         DO    (&FNUMBUF=2)                                             00227300
&PIO2FLG SET   1                                                        00227400
&PIOARA2 SET   'IO2&P2UNIT'                                             00227500
         ENDO                                                           00227600
         DO    &PBFPFLG=1                                               00227700
&PIOARA1 SET   'IO1POOL'                                                00227800
         DO    (&PIO2FLG=1)                                             00227900
&PIOARA2 SET   'IO2POOL'                                                00228000
         ENDO                                                           00228100
         ENDO                                                           00228200
.*                                                                      00228300
&POPTION SET   ''                                                       00228400
         DO    '&FOPTION'='YES'                                         00228500
&POPTION SET   'YES'                                                    00228600
         ENDO                                                           00228700
.*                                                                      00228800
&PSECTRFL SET  0                                                        00228900
         DO    '&FSECTOR'='YES'                                         00229000
         DO    &PBFPFLG=0                                               00229100
&PSECTRFL SET  1                                                        00229200
         ENDO                                                           00229300
         DO    &PBFPFLG=1                                               00229400
&FSECTRFL SET  1                                                        00229500
         ENDO                                                           00229600
         ENDO                                                           00229700
.*                                                                      00229800
         DO    ('&FUNIT'>'0')**('&FUNIT'<'100')                         00229900
&PTYPEFLE SET  'INOUT'                                                  00230000
         ENDO                                                           00230100
         DO    ('&FUNIT'='READ')                                        00230200
&PTYPEFLE SET  'INPUT'                                                  00230300
         ENDO                                                           00230400
         DO    ('&FUNIT'='PUNCH')                                       00230500
&PTYPEFLE SET  'OUTPUT'                                                 00230600
         ENDO                                                           00230700
         DO    ('&FTYPEFLE'='INPUT')++('&FTYPEFLE'='OUTPUT')            00230800
         DO    (('&FUNIT'>'0')**('&FUNIT'<'100'))                       00230900
&PTYPEFLE SET  '&FTYPEFLE'                                              00231000
         ENDO                                                           00231100
         ENDO                                                           00231200
.*                                                                      00231300
&PRECERFL SET  0                                                        00231400
&UORECERR SET  '0'                                                      00231500
         DO    '&FRECERR'='YES'                                         00231600
&UORECERR SET  'UORECERR'                                               00231700
&PRECERFL SET  1                                                        00231800
         DO    '&PTYPEFLE'='OUTPUT'                                     00231900
         PNOTE 'W','FRECERR CANNOT BE SPECIFIED WITH FTYPEFLE=OUTPUT - X00232000
               KEYWORD FRECERR IGNORED'                                 00232100
&UORECERR SET  '0'                                                      00232200
&PRECERFL SET  0                                                        00232300
         ENDO                                                           00232400
         DO    ('&PERROPT'='')=0                                        00232500
         PNOTE 'W','FRECERR CANNOT BE SPECIFIED WITH FERROPT=&PERROPT -X00232600
                KEYWORD FRECERR IGNORED'                                00232700
&PRECERFL SET  0                                                        00232800
&UORECERR SET  '0'                                                      00232900
         ENDO                                                           00233000
         ENDO                                                           00233100
.*                                                                      00233200
&PRERDFL SET   0                                                        00233300
&UOREREAD SET  '0'                                                      00233400
         DO    '&FREREAD'='YES'                                         00233500
&PRERDFL SET   1                                                        00233600
&UOREREAD SET  'UOREREAD'                                               00233700
         DO    '&PTYPEFLE'='OUTPUT'                                     00233800
         PNOTE 'W','FREREAD CANNOT BE SPECIFIED WITH FTYPEFLE=OUTPUT - X00233900
               KEYWORD FREREAD IGNORED'                                 00234000
&PRERDFL SET   0                                                        00234100
&UOREREAD SET  '0'                                                      00234200
         ENDO                                                           00234300
         ENDO                                                           00234400
.*                                                                      00234500
&PTRLBL  SET   ''                                                       00234600
         DO    '&FTRLBL'='YES'                                          00234700
&PTRLBL  SET   'YES'                                                    00234800
         ENDO                                                           00234900
.*                                                                      00235000
&PVERIFY SET   ''                                                       00235100
         DO    '&FVERIFY'='YES'                                         00235200
&PVERIFY SET   'YES'                                                    00235300
         ENDO                                                           00235400
.*                                                                      00235500
         DO    &PIO2FLG=0                                               00235600
&PWORKFL SET   1                                                        00235700
         DO    '&FWORKA'='NO'                                           00235800
&PWORKFL SET   0                                                        00235900
         ENDO                                                           00236000
         ENDO                                                           00236100
         DO    &PIO2FLG=1                                               00236200
&PWORKFL SET   0                                                        00236300
         DO    '&FWORKA'='YES'                                          00236400
&PWORKFL SET   1                                                        00236500
         ENDO                                                           00236600
         ENDO                                                           00236700
         DO    &PWORKFL=0                                               00236800
         DO    ('&PRECFORM'='VARBLK')**(('&PTYPEFLE'='INPUT')=0)        00236900
         PNOTE 'W','FWORKA MUST BE SPECIFIED WHEN FRECFORM=VARBLK AND FX00237000
               TYPEFLE=OUTPUT OR WORK'                                  00237100
         PNOTE 'W','FWORKA=YES ASSUMED'                                 00237200
&PWORKFL SET   1                                                        00237300
         ENDO                                                           00237400
         ENDO                                                           00237500
         DO    &PWORKFL=1                                               00237600
&UOWORKA SET   'UOWORKA'                                                00237700
&PWORKA  SET   'YES'                                                    00237800
&RECADDR SET   'FL$WORKA'                                               00237900
&PIOREG  SET   ''                                                       00238000
         ENDO                                                           00238100
         DO    &PWORKFL=0                                               00238200
&UOWORKA SET   '0'                                                      00238300
&PWORKA  SET   ''                                                       00238400
&RECADDR SET   '0'                                                      00238500
&PIOREG  SET   '3'                                                      00238600
         ENDO                                                           00238700
.*                                                                      00238800
         DO    &PBFPFLG=1                                               00238900
         DO    &PBKSZ>&MXPOOL1                                          00239000
&MXPOOL1 SET   &PBKSZ                                                   00239100
         ENDO                                                           00239200
         DO    &PIO2FLG=1                                               00239300
         DO    &PBKSZ>&MXPOOL2                                          00239400
&MXPOOL2 SET   &PBKSZ                                                   00239500
         ENDO                                                           00239600
         ENDO                                                           00239700
         ENDO                                                           00239800
.*                                                                      00239900
         DO    (&PRERDFL=1)++(&PRECERFL=1)                              00240000
         DO    &PRECSIZE>&MAXRERD                                       00240100
&MAXRERD SET   &PRECSIZE                                                00240200
         ENDO                                                           00240300
         ENDO                                                           00240400
.*                                                                      00240500
         DO    &PWORKFL=1                                               00240600
         DO    &PRECSIZE>&FMAXWRK                                       00240700
&FMAXWRK SET   &PRECSIZE                                                00240800
         ENDO                                                           00240900
         ENDO                                                           00241000
.*                                                                      00241100
         DO    '&UODIAG'='UODIAG'                                       00241200
         DO    &PRECSIZE<101                                            00241300
         PNOTE 'W','DIAGNOSTIC UNIT RECORD SIZE MUST BE AT LEAST 101 - X00241400
               KEYWORD FDIAGNOS IGNORED'                                00241500
&UODIAG  SET   '0'                                                      00241600
&FDIAGFL SET   0                                                        00241700
         ENDO                                                           00241800
         DO    &PWORKFL=1                                               00241900
         PNOTE 'W','FDIAGNOS CANNOT BE SPECIFIED WHEN FWORKA=YES - KEYWX00242000
               ORD FDIAGNOS IGNORED'                                    00242100
&UODIAG  SET   '0'                                                      00242200
&FDIAGFL SET   0                                                        00242300
         ENDO                                                           00242400
         DO    ('&PTYPEFLE'='OUTPUT')=0                                 00242500
         PNOTE 'W','FDIAGNOS CANNOT BE SPECIFIED WHEN FTYPEFLE=INPUT ORX00242600
                WORK'                                                   00242700
         PNOTE 'W','KEYWORD FDIAGNOS IGNORED'                           00242800
&UODIAG  SET   '0'                                                      00242900
&FDIAGFL SET   0                                                        00243000
         ENDO                                                           00243100
         DO    &PBFPFLG=1                                               00243200
         PNOTE 'W','DIAGNOSTIC UNIT BUFFERS CANNOT BE POOLED - KEYWORD X00243300
               FDIAGNOS IGNORED'                                        00243400
&UODIAG  SET   '0'                                                      00243500
&FDIAGFL SET   0                                                        00243600
         ENDO                                                           00243700
         ENDO                                                           00243800
.*                                                                      00243900
         DO    '&PTYPEFLE'='INOUT'                                      00244000
&UOTPFL  SET   'UOINOUT'                                                00244100
&EOFADDR SET   'FL$EOF'                                                 00244200
         DO    &PBFPFLG=0                                               00244300
&POUTFL  SET   1                                                        00244400
         ENDO                                                           00244500
         ENDO                                                           00244600
         DO    '&PTYPEFLE'='INPUT'                                      00244700
&UOTPFL  SET   'UOIN'                                                   00244800
&EOFADDR SET   'FL$EOF'                                                 00244900
         DO    &PBFPFLG=0                                               00245000
&POUTFL  SET   0                                                        00245100
         ENDO                                                           00245200
         ENDO                                                           00245300
         DO    '&PTYPEFLE'='OUTPUT'                                     00245400
&UOTPFL  SET   'UOOUT'                                                  00245500
&EOFADDR SET   ''                                                       00245600
         DO    &PBFPFLG=0                                               00245700
&POUTFL  SET   1                                                        00245800
         ENDO                                                           00245900
         ENDO                                                           00246000
.*                                                                      00246100
         DO    (&PBFPFLG=1)**(('&PTYPEFLE'='INOUT')++('&PTYPEFLE'='OUTPX00246200
               UT'))                                                    00246300
&FOUTFL  SET   1                                                        00246400
         ENDO                                                           00246500
.*                                                                      00246600
.*  GEN UNIT TABLE ENTRY                                                00246700
.*                                                                      00246800
FL$FUNTB CSECT                                                          00246900
FL$UN&P2UNIT DS 0F                      SEQUENTIAL DISC FUNTAB SLOT     00247000
         DC    AL1(0)                   RUN TIME FLAGS                  00247100
         DC    AL1(0)                   LAST COMMAND                    00247200
         DC    AL2(&PUNIT)              UNIT NUMBER                     00247300
         DC    AL1(UTSDISC)             SEQUENTIAL DISC                 00247400
         DC    AL1(UOSEQ+&UOPOOL+&UOREREAD) SEQ/POOL/REREAD FLAGS       00247500
         DC    AL1(&UOTPFL+&UOWORKA+&UODIAG+&UORECFM+&UORECERR)         00247600
*                                       TYPE/WORK/DIAG/RECFM/RECER FLGS 00247700
         DC    AL1(0)                   RUN TIME FLAGS 2                00247800
         DC    AL4(&PRECSIZE)           RECORD SIZE                     00247900
         DC    AL4(&RECADDR)            ADDRESS OF I/O RECORD           00248000
         DC    AL4(&PFILEID)            DTF ADDRESS                     00248100
         DC    AL4(0)                   NOT USED                        00248200
         DC    AL4(0)                   NOT USED                        00248300
         EJECT                                                          00248400
.*                                                                      00248500
.*  GENERATE DTF                                                        00248600
.*                                                                      00248700
FL$&P2UNIT CSECT                                                        00248800
         DO    &FIOERFL=0                                               00248900
&FIOERFL SET   1                                                        00249000
         EXTRN FL$IOERR                                                 00249100
         ENDO                                                           00249200
         DO    '&EOFADDR'='FL$EOF'                                      00249300
         DO    &FEOFFL=0                                                00249400
&FEOFFL  SET   1                                                        00249500
         EXTRN FL$EOF                                                   00249600
         ENDO                                                           00249700
         ENDO                                                           00249800
&PFILEID DTFSD BLKSIZE=&PBKSZ,                                         X00249900
               EOFADDR=&EOFADDR,                                       X00250000
               ERROPT=&PERROPT,                                        X00250100
               ERROR=FL$IOERR,                                         X00250200
               IOAREA1=&PIOARA1,                                       X00250300
               IOAREA2=&PIOARA2,                                       X00250400
               IOREG=&PIOREG,                                          X00250500
               LABADDR=&PLABADDR,                                      X00250600
               OPTION=&POPTION,                                        X00250700
               RECFORM=&PRECFORM,                                      X00250800
               RECSIZE=&PRECSIZE,                                      X00250900
               TRLBL=&PTRLBL,                                          X00251000
               TYPEFLE=&PTYPEFLE,                                      X00251100
               VERIFY=&PVERIFY,                                        X00251200
               WORKA=&PWORKA                                            00251300
         DO    &PBFPFLG=0                                               00251400
         DO    &POUTFL=1                                                00251500
         DS    0F                       DATA MGMT CNT FIELD FOR OUTPUT  00251600
         DS    CL8                                                      00251700
         ENDO                                                           00251800
&PIOARA1 DS    0F                       SEQ DISC I/O AREA 1             00251900
         DO    &PSECTRFL=0                                              00252000
         DS    CL(&PBKSZ)                                               00252100
         ENDO                                                           00252200
         DO    &PSECTRFL=1                                              00252300
         DS    CL((&PBKSZ)//256*256)                                    00252400
         ENDO                                                           00252500
         DO    &PIO2FLG=1                                               00252600
         DO    &POUTFL=1                                                00252700
         DS    0F                       DATA MGMT CNT FIELD FOR OUTPUT  00252800
         DS    CL8                                                      00252900
         ENDO                                                           00253000
&PIOARA2 DS    0F                       SEQ DISC I/O AREA 2             00253100
         DO    &PSECTRFL=0                                              00253200
         DS    CL(&PBKSZ)                                               00253300
         ENDO                                                           00253400
         DO    &PSECTRFL=1                                              00253500
         DS    CL((&PBKSZ)//256*256)                                    00253600
         ENDO                                                           00253700
         ENDO                                                           00253800
         ENDO                                                           00253900
&SYSECT  CSECT                                                          00254000
         GOTO  .F4LAST                                                  00254100
         ENDO                                                           00254200
.*                                                                      00254300
.*                                                                      00254400
         DO    '&FDEVICE'='DISC'                                        00254500
.*                                                                      00254600
.*  DIRECT ACCESS DISC PROCESSING                                       00254700
.*                                                                      00254800
         PRINT OFF                                                      00254900
         FPARMCHK  &FASCII,FASCII,DISC                                  00255000
         FPARMCHK  &FAUE,FAUE,DISC                                      00255100
         FPARMCHK  &FBKNO,FBKNO,DISC                                    00255200
         FPARMCHK  &FBKSZ,FBKSZ,DISC                                    00255300
         FPARMCHK  &FBUFOFF,FBUFOFF,DISC                                00255400
         FPARMCHK  &FCHAR,FCHAR,DISC                                    00255500
         FPARMCHK  &FCKPT,FCKPT,DISC                                    00255600
         FPARMCHK  &FCLRW,FCLRW,DISC                                    00255700
         FPARMCHK  &FCRDERR,FCRDERR,DISC                                00255800
         FPARMCHK  &FDIAGNOS,FDIAGNOS,DISC                              00255900
         FPARMCHK  &FEQUIV,FEQUIV,DISC                                  00256000
         FPARMCHK  &FERROPT,FERROPT,DISC                                00256100
         FPARMCHK  &FFILABL,FFILABL,DISC                                00256200
         FPARMCHK  &FLENCHK,FLENCHK,DISC                                00256300
         FPARMCHK  &FMODE,FMODE,DISC                                    00256400
         FPARMCHK  &FNUMBUF,FNUMBUF,DISC                                00256500
         FPARMCHK  &FOPRW,FOPRW,DISC                                    00256600
         FPARMCHK  &FOPTION,FOPTION,DISC                                00256700
         FPARMCHK  &FPRINTOV,FPRINTOV,DISC                              00256800
         FPARMCHK  &FRECFORM,FRECFORM,DISC                              00256900
         FPARMCHK  &FSTUB,FSTUB,DISC                                    00257000
         FPARMCHK  &FWORKA,FWORKA,DISC                                  00257100
         PRINT ON                                                       00257200
.*                                                                      00257300
         DO    ('&FUNIT'='PRINT')++('&FUNIT'='READ')++('&FUNIT'='PUNCH'X00257400
               )                                                        00257500
         PNOTE 'W','INVALID FUNIT FOR FDEVICE - UNIT DEFINITION IGNOREDX00257600
               '                                                        00257700
         GOTO  .F4LAST                                                  00257800
         ENDO                                                           00257900
&PUNIT   SET   '&FUNIT'                                                 00258000
.*                                                                      00258100
&UOPOOL  SET   '0'                                                      00258200
&PBFPFLG SET   0                                                        00258300
         DO    '&FBUFPOOL'='YES'                                        00258400
&UOPOOL  SET   'UOPOOL'                                                 00258500
&PBFPFLG SET   1                                                        00258600
         ENDO                                                           00258700
.*                                                                      00258800
&PFILEID SET   'FORT&PUNIT'                                             00258900
         DO    ('&FFILEID'='')=0                                        00259000
&PFILEID SET   '&FFILEID'                                               00259100
         ENDO                                                           00259200
.*                                                                      00259300
&PLABADDR SET  ''                                                       00259400
         DO    ('&FLABADDR'='')=0                                       00259500
&PLABADDR SET  '&FLABADDR'                                              00259600
         ENDO                                                           00259700
.*                                                                      00259800
&PTYPEFLE SET  'INPUT'                                                  00259900
&UOTPFL  SET   'UOIN'                                                   00260000
         DO    &PBFPFLG=0                                               00260100
&POUTFL  SET   0                                                        00260200
         ENDO                                                           00260300
         DO    '&FTYPEFLE'='OUTPUT'                                     00260400
&PTYPEFLE SET  'OUTPUT'                                                 00260500
&UOTPFL  SET   'UOOUT'                                                  00260600
         DO    &PBFPFLG=0                                               00260700
&POUTFL  SET   1                                                        00260800
         ENDO                                                           00260900
         DO    &PBFPFLG=1                                               00261000
&FOUTFL  SET   1                                                        00261100
         ENDO                                                           00261200
         ENDO                                                           00261300
.*                                                                      00261400
&UORECERR SET  '0'                                                      00261500
&PRECERFL SET  0                                                        00261600
         DO    '&FRECERR'='YES'                                         00261700
&UORECERR SET  'UORECERR'                                               00261800
&PRECERFL SET  1                                                        00261900
         DO    '&PTYPEFLE'='OUTPUT'                                     00262000
         PNOTE 'W','FRECERR CANNOT BE SPECIFIED WITH FTYPEFLE=OUTPUT - X00262100
               KEYWORD FRECERR IGNORED'                                 00262200
&UORECERR SET  '0'                                                      00262300
&PRECERFL SET  0                                                        00262400
         ENDO                                                           00262500
         ENDO                                                           00262600
.*                                                                      00262700
&PRECSIZE SET  512                                                      00262800
         DO    (&FRECSIZE=0)=0                                          00262900
&PRECSIZE SET  &FRECSIZE                                                00263000
         ENDO                                                           00263100
.*                                                                      00263200
&PIOARA1 SET   'IO1&PUNIT'                                              00263300
         DO    &PBFPFLG=1                                               00263400
&PIOARA1 SET   'IO1POOL'                                                00263500
         ENDO                                                           00263600
.*                                                                      00263700
&UOREREAD SET  '0'                                                      00263800
&PRERDFL SET   0                                                        00263900
         DO    '&FREREAD'='YES'                                         00264000
&UOREREAD SET  'UOREREAD'                                               00264100
&PRERDFL SET   1                                                        00264200
         DO    '&PTYPEFLE'='OUTPUT'                                     00264300
         PNOTE 'W','FREREAD CANNOT BE SPECIFIED WITH FTYPEFLE=OUTPUT - X00264400
               KEYWORD FREREAD IGNORED'                                 00264500
&UOREREAD SET  '0'                                                      00264600
&PRERDFL SET   0                                                        00264700
         ENDO                                                           00264800
         ENDO                                                           00264900
.*                                                                      00265000
&PSECTRFL SET  0                                                        00265100
         DO    '&FSECTOR'='YES'                                         00265200
         DO    &PBFPFLG=0                                               00265300
&PSECTRFL SET  1                                                        00265400
         ENDO                                                           00265500
         DO    &PBFPFLG=1                                               00265600
&FSECTRFL SET  1                                                        00265700
         ENDO                                                           00265800
         ENDO                                                           00265900
.*                                                                      00266000
&PTRLBL  SET   ''                                                       00266100
         DO    '&FTRLBL'='YES'                                          00266200
&PTRLBL  SET   'YES'                                                    00266300
         ENDO                                                           00266400
.*                                                                      00266500
&PVERIFY SET   ''                                                       00266600
         DO    '&FVERIFY'='YES'                                         00266700
&PVERIFY SET   'YES'                                                    00266800
         ENDO                                                           00266900
.*                                                                      00267000
         DO    &PBFPFLG=1                                               00267100
         DO    &PRECSIZE>&MXPOOL1                                       00267200
&MXPOOL1 SET   &PRECSIZE                                                00267300
         ENDO                                                           00267400
         ENDO                                                           00267500
.*                                                                      00267600
         DO    (&PRERDFL=1)++(&PRECERFL=1)                              00267700
         DO    &PRECSIZE>&MAXRERD                                       00267800
&MAXRERD SET   &PRECSIZE                                                00267900
         ENDO                                                           00268000
         ENDO                                                           00268100
.*                                                                      00268200
.*  GEN UNIT TABLE ENTRY                                                00268300
.*                                                                      00268400
FL$FUNTB CSECT                                                          00268500
FL$UN&PUNIT DS 0F                       DIRECT ACCESS DISC FUNTAB SLOT  00268600
         DC    AL1(0)                   RUN TIME FLAGS                  00268700
         DC    AL1(0)                   LAST COMMAND                    00268800
         DC    AL2(&PUNIT)              UNIT NUMBER                     00268900
         DC    AL1(UTDISC)              DEVICE=DIRECT DISC              00269000
         DC    AL1(UODIRECT+&UOPOOL+&UOREREAD) DIRECT/POOL/REREAD FLAGS 00269100
         DC    AL1(&UOTPFL+&UORECERR)   TYPE/RECERR FLAGS               00269200
         DC    AL1(0)                   RUN TIME FLAGS 2                00269300
         DC    AL4(&PRECSIZE)           RECORD SIZE                     00269400
         DC    AL4(&PIOARA1)            ADDRESS OF I/O RECORD           00269500
         DC    AL4(&PFILEID)            DTF ADDRESS                     00269600
         DC    AL4(0)                   ASSOCIATED VARIABLE'S ADDRESS   00269700
         DC    AL4(0)                   NUMBER OF RECORDS IN FILE       00269800
         EJECT                                                          00269900
.*                                                                      00270000
.*  GENERATE DTF                                                        00270100
.*                                                                      00270200
FL$&PUNIT CSECT                                                         00270300
         DO    &FSKADRFL=0                                              00270400
&FSKADRFL SET  1                                                        00270500
         EXTRN FL$SKADR                                                 00270600
         ENDO                                                           00270700
&PFILEID DTFDA BLKSIZE=&PRECSIZE,                                      X00270800
               IOAREA1=&PIOARA1,                                       X00270900
               LABADDR=&PLABADDR,                                      X00271000
               READID=YES,                                             X00271100
               RECFORM=FIXUNB,                                         X00271200
               RELATIVE=R,                                             X00271300
               SEEKADR=FL$SKADR,                                       X00271400
               TRLBL=&PTRLBL,                                          X00271500
               TYPEFLE=&PTYPEFLE,                                      X00271600
               VERIFY=&PVERIFY                                          00271700
         DO    &PBFPFLG=0                                               00271800
         DO    &POUTFL=1                                                00271900
         DS    0F                       DATA MGMT CNT FIELD FOR OUTPUT  00272000
         DS    CL8                                                      00272100
         ENDO                                                           00272200
&PIOARA1 DS    0F                       DAM DISC I/O AREA 1             00272300
         DO    &PSECTRFL=0                                              00272400
         DS    CL(&PRECSIZE)                                            00272500
         ENDO                                                           00272600
         DO    &PSECTRFL=1                                              00272700
         DS    CL((&PRECSIZE)//256*256)                                 00272800
         ENDO                                                           00272900
         ENDO                                                           00273000
&SYSECT  CSECT                                                          00273100
         GOTO  .F4LAST                                                  00273200
         ENDO                                                           00273300
.*                                                                      00273400
.*                                                                      00273500
         PNOTE 'W','INVALID DEVICE - UNIT DEFINITION IGNORED'           00273600
         GOTO  .F4LAST                                                  00273700
         ENDO                                                           00273800
.*                                                                      00273900
.*                                                                      00274000
         PNOTE 'W','INVALID PROC SEQUENCE - CALL IGNORED'               00274100
         GOTO  .F4LAST                                                  00274200
         ENDO                                                           00274300
.*                                                                      00274400
.*                                                                      00274500
         PNOTE 'W','INVALID FORTRAN SYSTEM - FIX AND REASSEMBLE'        00274600
.LAST    LABEL                                                          00274700
.F4LAST  LABEL                                                          00274800
         END                                                            00274900
