&FNAME   PROC  &CD,1,                                                  XP$D00010
               &ASCII=,                                                XP$D00020
               &AUE=,                                                  XP$D00030
               &BKSZ=,&BLKSIZE=,                                       XP$D00040
               &CNTRL=,&CONTROL=,&CNTL=,                               XP$D00050
               &CTLCHR=,                                               XP$D00060
               &EOFA=,&EOFADDR=,                                       XP$D00070
               &ERROR=,                                                XP$D00080
               &IOA1=,&IOAREA1=,                                       XP$D00090
               &IOA2=,&IOAREA2=,                                       XP$D00100
               &IORG=,&IOREG=,                                         XP$D00110
               &ITBL=,                                                 XP$D00120
               &MODE=,                                                 XP$D00130
               &OBSZ=,&OUBLKSZ=,                                       XP$D00140
               &ORLP=,                                                 XP$D00150
               &OPTION=,                                               XP$D00160
               &OTBL=,                                                 XP$D00170
               &PUNR=,&CRDERR=,                                        XP$D00180
               &RCFM=,&RECFORM=,                                       XP$D00190
               &RCSZ=,&RECSIZE=,                                       XP$D00200
               &SAVAREA=,                                              XP$D00210
               &STUB=,                                                 XP$D00220
               &TYPE=,&TYPF=,&TYPEFLE=,                                XP$D00230
               &WORK=,&WORKA=,                                         XP$D00240
               &DEVADDR=,                                              XP$D00250
               &DEVICE=,                                               XP$D00260
               &DEVA=,&CHNL=,                                          XP$D00270
               &BINARY=,&CRDPRA=,&CRDPRL1=,&CRDPRL2=,&CRDPRL3=,        XP$D00280
               &CRDPRL4=,&CRDPRL5=,&CRDPRL6=,&INBLKSZ=,&OUAREA=,       XP$D00290
               &OVERLAP=,&PFORMT0=,&PFORMT1=,&PFORMT2=,&PFORMT3=,      XP$D00300
               &PFORMT4=,&PFORMT5=,&PFORMT6=,&PFORMT7=,&PFORMT8=,      XP$D00310
               &PFORMT9=,&PFXIT=,&RFORMT0=,&RFORMT1=,&RFORMT2=,        XP$D00320
               &RFORMT3=,&RFORMT4=,&RFORMT5=,&RFORMT6=,&RFORMT7=,      XP$D00330
               &RFORMT8=,&RFORMT9=,&RFXIT=,&SEQNCE=,&SEQXIT=,          XP$D00340
               &OPENXIT=,                                              XP$D00350
               &SEPASMB=,                                              XP$D00360
               &INAR=,&INAREA=,                                        XP$D00370
               &INCR=,                                                 XP$D00380
               &OUAR=,                                                 XP$D00390
               &RDONLY=,                                               XP$D00400
               &SENT=,                                                 XP$D00410
               &TYPC=,                                                 XP$D00420
               &MODNAME=                                                P$D00430
DTFCD3   NAME  0         N.SAKODA  90/30 DTFCD PROC   12/12/73          P$D00440
DTFCD    NAME  0                                                        P$D00450
DTFCR    NAME  1                                                        P$D00460
DTFRP    NAME  2                                                        P$D00470
DTFRW    NAME  3                                                        P$D00480
*        DTFCD                          76/6/23                         P$D00490
         GBL   &DM$C1                                                   P$D00500
         LCL   &SBKS                                                    P$D00510
         LCL   &SBKSD                   DEFAULT BLOCKSIZE               P$D00520
         LCL   &SBKSL                                                   P$D00530
         LCL   &SBKSU                                                   P$D00540
         LCL   &SCCC,&SCCG,&SCCP,&SCCU                                  P$D00550
         LCL   &SCNT                                                    P$D00560
         LCL   &SCRDERR                                                 P$D00570
         LCL   &SEFDSP                                                  P$D00580
         LCL   &SEOF                                                    P$D00590
         LCL   &SERROR                                                  P$D00600
         LCL   &SFAC                                                    P$D00610
         LCL   &SFG1                                                    P$D00620
         LCL   &SFG2                                                    P$D00630
         LCL   &SFG3                                                    P$D00640
         LCL   &SFG4                                                    P$D00650
         LCL   &SFG5                                                    P$D00660
         LCL   &SIOA1                                                   P$D00670
         LCL   &SIOA2                                                   P$D00680
         LCL   &SITBL                                                   P$D00690
         LCL   &SIOR                                                    P$D00700
         LCL   &SIORG                                                   P$D00710
         LCL   &SMODE                                                   P$D00720
         LCL   &SNAM                    FILENAME                        P$D00730
         LCL   &SOBSZ                                                   P$D00740
         LCL   &SOTBL                                                   P$D00750
         LCL   &SRCFM                                                   P$D00760
         LCL   &SRCSZ                                                   P$D00770
         LCL   &SREC                                                    P$D00780
         LCL   &SRFM                                                    P$D00790
         LCL   &SRLA                                                    P$D00800
         LCL   &SSAVE                                                   P$D00810
         LCL   &STYP                                                    P$D00820
         LCL   &SWORK                                                   P$D00830
&SBKSD   SET   80                       DEFAULT BLOCKSIZE               P$D00840
&SBKSU   SET   96                       BKS UPPER LIMIT                 P$D00850
&SBKSL   SET   1                        BKS LOWER LIMIT                 P$D00860
&SCCC    SET   0                                                        P$D00870
&SCCG    SET   0                                                        P$D00880
&SCCP    SET   0                                                        P$D00890
&SCCU    SET   0                                                        P$D00900
&SCRDERR SET   ''                                                       P$D00910
&SEFDSP  SET   0                                                        P$D00920
&SFAC    SET   0                                                        P$D00930
&SFG1    SET   0                                                        P$D00940
&SFG2    SET   0                                                        P$D00950
&SFG3    SET   0                                                        P$D00960
&SFG4    SET   0                                                        P$D00970
&SFG5    SET   0                                                        P$D00980
&SITBL   SET   ''                                                       P$D00990
&SOTBL   SET   ''                                                       P$D01000
&SRFM    SET   0                                                        P$D01010
&SRLA    SET   0                                                        P$D01020
&SSAVE   SET   ''                                                       P$D01030
&SOBSZ   SET   '0&OBSZ&OUBLKSZ'                                         P$D01040
&SNAM    SET   '&FNAME'(1,7)                                            P$D01050
         DO    '&TYPEFLE'=''=0                                          P$D01060
&STYP    SET   '&TYPEFLE'                                               P$D01070
         GOTO  .L1                                                      P$D01080
         ENDO                                                           P$D01090
         DO    '&TYPF'=''=0                                             P$D01100
&STYP    SET   '&TYPF'                                                  P$D01110
         GOTO  .L1                                                      P$D01120
         ENDO                                                           P$D01130
&STYP    SET   '&TYPE'                                                  P$D01140
.L1      LABEL                                                          P$D01150
         DO    '&STYP'='COMBND'                                         P$D01160
&STYP    SET   'CMBND'                                                  P$D01170
         ENDO                                                           P$D01180
         DO    '&INBLKSZ'=''=0                                          P$D01190
&SBKS    SET   '&INBLKSZ'                                               P$D01200
         GOTO  .L2                                                      P$D01210
         ENDO                                                           P$D01220
         DO    '&BLKSIZE'=''=0                                          P$D01230
&SBKS    SET   '&BLKSIZE'                                               P$D01240
         GOTO  .L2                                                      P$D01250
         ENDO                                                           P$D01260
&SBKS    SET   '0&BKSZ'                                                 P$D01270
.L2      LABEL                                                          P$D01280
         DO    '&CONTROL'=''=0                                          P$D01290
&SCNT    SET   '&CONTROL'                                               P$D01300
         GOTO  .L3                                                      P$D01310
         ENDO                                                           P$D01320
         DO    '&CNTL'=''=0                                             P$D01330
&SCNT    SET   '&CNTL'                                                  P$D01340
         GOTO  .L3                                                      P$D01350
         ENDO                                                           P$D01360
&SCNT    SET   '&CNTRL'                                                 P$D01370
.L3      LABEL                                                          P$D01380
         DO    '&EOFADDR'=''=0                                          P$D01390
&SEOF    SET   '&EOFADDR'                                               P$D01400
         GOTO  .L4                                                      P$D01410
         ENDO                                                           P$D01420
&SEOF    SET   '&EOFA'                                                  P$D01430
.L4      LABEL                                                          P$D01440
         DO    ('&INAR'=''=0)**('&STYP'='OUTPUT'=0)                     P$D01450
&SIOA1   SET   '&INAR'                                                  P$D01460
         GOTO  .L5                                                      P$D01470
         ENDO                                                           P$D01480
         DO    ('&OUAR'=''=0)**('&STYP'='OUTPUT')                       P$D01490
&SIOA1   SET   '&OUAR'                                                  P$D01500
         GOTO  .L5                                                      P$D01510
         ENDO                                                           P$D01520
         DO    '&INAREA'=''=0                                           P$D01530
&SIOA1   SET   '&INAREA'                                                P$D01540
         GOTO  .L5                                                      P$D01550
         ENDO                                                           P$D01560
         DO    '&IOAREA1'=''=0                                          P$D01570
&SIOA1   SET   '&IOAREA1'                                               P$D01580
         GOTO  .L5                                                      P$D01590
         ENDO                                                           P$D01600
&SIOA1   SET   '&IOA1'                                                  P$D01610
.L5      LABEL                                                          P$D01620
         DO    ('&OUAR'=''=0)**('&STYP'='CMBND')                        P$D01630
&SIOA2   SET   '&OUAR'                                                  P$D01640
         GOTO  .L6                                                      P$D01650
         ENDO                                                           P$D01660
         DO    '&OUAREA'=''=0                                           P$D01670
&SIOA2   SET   '&OUAREA'                                                P$D01680
         GOTO  .L6                                                      P$D01690
         ENDO                                                           P$D01700
         DO    '&IOAREA2'=''=0                                          P$D01710
&SIOA2   SET   '&IOAREA2'                                               P$D01720
         GOTO  .L6                                                      P$D01730
         ENDO                                                           P$D01740
&SIOA2   SET   '&IOA2'                                                  P$D01750
.L6      LABEL                                                          P$D01760
         DO    '&IOREG'=''=0                                            P$D01770
&SIORG   SET   '&IOREG'                                                 P$D01780
&SIOR    SET   '&IOREG(1)'                                              P$D01790
         GOTO  .L7                                                      P$D01800
         ENDO                                                           P$D01810
&SIORG   SET   '&IORG'                                                  P$D01820
&SIOR    SET   '&IORG(1)'                                               P$D01830
.L7      LABEL                                                          P$D01840
&SMODE   SET   '&MODE'                                                  P$D01850
         DO    '&SMODE'=''                                              P$D01860
         PNOTE *,'MODE NOT SPECIFIED. SET TO STD.'                      P$D01870
&SMODE   SET   'STD'                                                    P$D01880
         ENDO                                                           P$D01890
         DO    '&RECFORM'=''=0                                          P$D01900
&SRCFM   SET   '&RECFORM'                                               P$D01910
         GOTO  .L8                                                      P$D01920
         ENDO                                                           P$D01930
&SRCFM   SET   '&RCFM'                                                  P$D01940
.L8      LABEL                                                          P$D01950
         DO    '&SRCFM'=''                                              P$D01960
         PNOTE *,'RECORD FORMAT NOT SPECIFIED. SET TO FIXUNB.'          P$D01970
&SRCFM   SET   'FIXUNB'                                                 P$D01980
         ENDO                                                           P$D01990
         DO    '&CRDERR'=''=0                                           P$D02000
         DO    '&CRDERR'='RETRY'=0                                      P$D02010
         PNOTE *,'CRDERR SPECIFICATION MISSPELLED.  ACCEPTED AS'        P$D02020
         PNOTE *,'CRDERR=RETRY.'                                        P$D02030
         ENDO                                                           P$D02040
         GOTO  .L8A                                                     P$D02050
         ENDO                                                           P$D02060
         DO    '&PUNR'=''=0                                             P$D02070
         DO    '&PUNR'='YES'=0                                          P$D02080
         PNOTE *,'PUNR SPECIFICATION MISSPELLED. ACCEPTED AS PUNR=YES.' P$D02090
         ENDO                                                           P$D02100
         GOTO  .L8A                                                     P$D02110
         ENDO                                                           P$D02120
         GOTO  .L9                                                      P$D02130
.L8A     LABEL                                                          P$D02140
&SCRDERR SET   'RETRY'                                                  P$D02150
.L9      LABEL                                                          P$D02160
         DO    '&RECSIZE'=''=0                                          P$D02170
&SRCSZ   SET   '&RECSIZE'                                               P$D02180
&SREC    SET   '&RECSIZE(1)'                                            P$D02190
         GOTO  .L10                                                     P$D02200
         ENDO                                                           P$D02210
&SRCSZ   SET   '&RCSZ'                                                  P$D02220
&SREC    SET   '&RCSZ(1)'                                               P$D02230
.L10     LABEL                                                          P$D02240
         DO    '&WORKA'=''=0                                            P$D02250
&SWORK   SET   '&WORKA'                                                 P$D02260
         GOTO  .L11                                                     P$D02270
         ENDO                                                           P$D02280
&SWORK   SET   '&WORK'                                                  P$D02290
.L11     LABEL                                                          P$D02300
         DO    '&STYP'=''                                               P$D02310
         PNOTE *,'FILE TYPE NOT SPECIFIED. SET INPUT.'                  P$D02320
         GOTO  .L12                                                     P$D02330
         ENDO                                                           P$D02340
         DO    '&STYP'='INPUT'                                          P$D02350
         GOTO  .L12                                                     P$D02360
         ENDO                                                           P$D02370
         DO    '&STYP'='OUTPUT'                                         P$D02380
&SFG1    SET   &SFG1+128                                                P$D02390
&SFAC    SET   &SFAC++X'02'             OUTPUT BIT                      P$D02400
         GOTO  .L13                                                     P$D02410
         ENDO                                                           P$D02420
         DO    '&STYP'='CMBND'                                          P$D02430
&SFG1    SET   &SFG1+2                                                  P$D02440
&SFAC    SET   &SFAC++X'08'             CMBND BIT                       P$D02450
         GOTO  .L13                                                     P$D02460
         ENDO                                                           P$D02470
         PNOTE 'P','FILE TYPE SPECIFICATION MISSPELLED.  MUST BE'       P$D02480
         PNOTE *,'INPUT, OUTPUT OR CMBND.'                              P$D02490
         PNOTE *,'FILE TYPE SET TO INPUT.'                              P$D02500
.L12     LABEL                                                          P$D02510
&STYP    SET   'INPUT'                                                  P$D02520
&SFG1    SET   &SFG1+1                  INPUT BIT                       P$D02530
&SFAC    SET   &SFAC++X'01'             INPUT BIT                       P$D02540
.L13     LABEL                                                          P$D02550
         DO    0                                                        P$D02560
*              MODE KEYWORD PROCESSING                                  P$D02570
         ENDO                                                           P$D02580
         DO    '&SMODE'='TRANS'=0                                       P$D02590
         DO    '&ITBL'=''=0                                             P$D02600
         PNOTE *,'ITBL SPECICIFIED FOR MODE OTHER THAN TRANS. IGNORED.' P$D02610
         ENDO                                                           P$D02620
         DO    '&OTBL'=''=0                                             P$D02630
         PNOTE *,'OTBL SPECIFIED FOR MODE OTHER THAN TRANS. IGNORED.'   P$D02640
         ENDO                                                           P$D02650
         ENDO                                                           P$D02660
         DO    '&ASCII'=''=0                                            P$D02670
&SFG4    SET   &SFG4+2                  SET ASCII BIT                   P$D02680
         DO    '&ASCII'='YES'=0                                         P$D02690
         PNOTE *,'ASCII SPECIFICATION MISSPELLED.  ACCEPTED AS'         P$D02700
         PNOTE *,'ASCII=YES.'                                           P$D02710
         ENDO                                                           P$D02720
         DO    '&SMODE'='STD'=0                                         P$D02730
         PNOTE 'P','MODE NOT STD FOR AN ASCII (ASCII=YES) FILE.'        P$D02740
         GOTO  .L15A                    SET MODE=STD  NOTE              P$D02750
         ENDO                                                           P$D02760
         GOTO  .L16A                                                    P$D02770
         ENDO                                                           P$D02780
         DO    '&SMODE'='STD'                                           P$D02790
         GOTO  .L16A                    MODE = STD  NO NOTE             P$D02800
         ENDO                                                           P$D02810
         DO    '&SMODE'='CC'                                            P$D02820
&SFG3    SET   &SFG3+8                                                  P$D02830
         GOTO  .L17A                                                    P$D02840
         ENDO                                                           P$D02850
         DO    '&SMODE'='BINARY'                                        P$D02860
&SFG3    SET   &SFG3+4                                                  P$D02870
&SBKSU   SET   80                       SET UPPER LIMIT TO 80 COL       P$D02880
         PNOTE *,'WARNING:  BINARY MODE IS NOT ALLOWED FOR 96 COLUMN'   P$D02890
         PNOTE *,'CARD FILES.'                                          P$D02900
         GOTO  .L17A                                                    P$D02910
         ENDO                                                           P$D02920
         DO    '&SMODE'='TRANS'=0                                       P$D02930
         PNOTE 'P','MODE SPECIFICATION MISSPELLED.  MUST BE '           P$D02940
         PNOTE *,'BINARY, CC , STD OR TRANS.'                           P$D02950
         GOTO  .L15A                    MODE SET STD  W NOTE            P$D02960
         ENDO                                                           P$D02970
         DO    '&STYP'='INPUT'                                          P$D02980
         DO    '&OTBL'=''=0                                             P$D02990
         PNOTE *,'OTBL SPECIFIED FOR AN INPUT FILE. IGNORED.'           P$D03000
         ENDO                                                           P$D03010
         DO    '&ITBL'=''                                               P$D03020
         PNOTE 'P','ITBL NOT SPECIFIED FOR INPUT, MODE=TRANS FILE.'     P$D03030
&SITBL   SET   0                                                        P$D03040
         GOTO  .L15A                                                    P$D03050
         ENDO                                                           P$D03060
         DM$FNC &ITBL                                                   P$D03070
         DO    &DM$C1                                                   P$D03080
         PNOTE 'P','FIRST CHARACTER OF ITBL SPECIFICATION'              P$D03090
         PNOTE *,'IS NOT ALPHABETIC.'                                   P$D03100
&SITBL   SET   0                                                        P$D03110
         GOTO  .L15A                    SET STD  W NOTE                 P$D03120
         ENDO                                                           P$D03130
&SFG3    SET   &SFG3+32                                                 P$D03140
&SITBL   SET   '&ITBL'                                                  P$D03150
         GOTO  .L14A                    MODE SET TO TRANS               P$D03160
         ENDO                                                           P$D03170
         DO    '&STYP'='OUTPUT'                                         P$D03180
         DO    '&ITBL'=''=0                                             P$D03190
         PNOTE *,'ITBL SPECIFIED FOR AN OUTPUT FILE. IGNORED.'          P$D03200
         ENDO                                                           P$D03210
         DO    '&OTBL'=''                                               P$D03220
         PNOTE 'P','OTBL NOT SPECIFIED FOR OUTPUT, MODE=TRANS FILE.'    P$D03230
&SOTBL   SET   0                                                        P$D03240
         GOTO  .L15A                                                    P$D03250
         ENDO                                                           P$D03260
         DM$FNC &OTBL                                                   P$D03270
         DO    &DM$C1                                                   P$D03280
         PNOTE 'P','FIRST CHARACTER OF OTBL SPECIFICATION'              P$D03290
         PNOTE *,'IS NOT ALPHABETIC.'                                   P$D03300
&SOTBL   SET   0                                                        P$D03310
         GOTO  .L15A                    SET STD W NOTE                  P$D03320
         ENDO                                                           P$D03330
&SFG3    SET   &SFG3+16                                                 P$D03340
&SOTBL   SET   '&OTBL'                                                  P$D03350
         GOTO  .L14A                    MODE SET TO TRANS               P$D03360
         ENDO                                                           P$D03370
         DO    ('&ITBL'='')++('&OTBL'='')    MODE=TRANS CMBND FILE      P$D03380
         PNOTE 'P','ITBL AND OTBL MUST BOTH BE SPECIFIED FOR A'         P$D03390
         PNOTE *,'COMBINED FILE IN THE TRANSLATE MODE.'                 P$D03400
         ENDO                                                           P$D03410
         DO    '&ITBL'=''                                               P$D03420
         GOTO  .L13D                                                    P$D03430
         ENDO                                                           P$D03440
         DM$FNC &ITBL                                                   P$D03450
         DO    &DM$C1                                                   P$D03460
         PNOTE 'P','FIRST CHARACTER OF ITBL SPECIFICATION IS'           P$D03470
         PNOTE *,'NOT ALPHABETIC.'                                      P$D03480
.L13D    LABEL                                                          P$D03490
&SITBL   SET   0                                                        P$D03500
         ENDO                                                           P$D03510
         DO    '&OTBL'=''                                               P$D03520
         GOTO  .L13E                                                    P$D03530
         ENDO                                                           P$D03540
         DM$FNC &OTBL                                                   P$D03550
         DO    &DM$C1                                                   P$D03560
         PNOTE 'P','FIRST CHARACTER OF OTBL SPECIFICATION IS'           P$D03570
         PNOTE *,'NOT ALPHABETIC.'                                      P$D03580
.L13E    LABEL                                                          P$D03590
&SOTBL   SET   0                                                        P$D03600
         ENDO                                                           P$D03610
         DO    ('&SITBL'='0'=0)**('&SOTBL'='0'=0)                       P$D03620
&SITBL   SET   '&ITBL'                                                  P$D03630
&SOTBL   SET   '&OTBL'                                                  P$D03640
&SFG3    SET   &SFG3+48                 SET ITBL & OTBL                 P$D03650
         GOTO  .L14A                                                    P$D03660
         ENDO                                                           P$D03670
         GOTO  .L15A                    MODE STD  W NOTE                P$D03680
.L14A    LABEL                                                          P$D03690
&SFG3    SET   &SFG3+1                                                  P$D03700
         GOTO  .L17A                                                    P$D03710
.L15A    LABEL                                                          P$D03720
         PNOTE *,'MODE SET TO STD DUE TO PREVIOUS ERROR(S).'            P$D03730
&SMODE   SET   'STD'                                                    P$D03740
.L16A    LABEL                                                          P$D03750
&SFG3    SET   &SFG3+2                                                  P$D03760
.L17A    LABEL                                                          P$D03770
         DO    '&ERROR'=''                                              P$D03780
         GOTO  .L18A                                                    P$D03790
         ENDO                                                           P$D03800
         DM$FNC &ERROR                                                  P$D03810
         DO    &DM$C1                                                   P$D03820
         PNOTE 'P','FIRST CHARACTER OF ERROR SPECIFICATION IS'          P$D03830
         PNOTE *,'NOT ALPHABETIC.'                                      P$D03840
.L18A    LABEL                                                          P$D03850
         PNOTE *,'NO ERROR ROUTINE. ERRORS RETURN INLINE.'              P$D03860
&SERROR  SET   0                                                        P$D03870
         GOTO  .L19A                                                    P$D03880
         ENDO                                                           P$D03890
&SFG3    SET   &SFG3+128                                                P$D03900
&SERROR  SET   '&ERROR'                                                 P$D03910
.L19A    LABEL                                                          P$D03920
         DO    '&SIOA1'=''                                              P$D03930
         PNOTE 'P','IOAREA1 NOT SPECIFIED.'                             P$D03940
         GOTO  .L20A                                                    P$D03950
         ENDO                                                           P$D03960
         DM$FNC &SIOA1                                                  P$D03970
         DO    &DM$C1                                                   P$D03980
         PNOTE 'P','FIRST CHARACTER OF I/O AREA 1 SPECIFICATION IS'     P$D03990
         PNOTE *,'NOT ALPHABETIC.'                                      P$D04000
.L20A    LABEL                                                          P$D04010
&SIOA1   SET   0                                                        P$D04020
         ENDO                                                           P$D04030
         DO    '&OPTION'=''=0                                           P$D04040
&SFG4    SET   &SFG4+32                                                 P$D04050
         DO    '&OPTION'='YES'=0                                        P$D04060
         PNOTE *,'OPTION SPECIFICATION MISSPELLED.'                     P$D04070
         PNOTE *,'ACCEPTED AS OPTION=YES.'                              P$D04080
         ENDO                                                           P$D04090
         ENDO                                                           P$D04100
         DO    '&SAVAREA'=''=0                                          P$D04110
         DM$FNC &SAVAREA                                                P$D04120
         DO    &DM$C1                                                   P$D04130
         PNOTE 'P','FIRST CHARACTER OF SAVAREA SPECIFICATION IS'        P$D04140
         PNOTE *,'NOT ALPHABETIC.'                                      P$D04150
&SSAVE   SET   0                                                        P$D04160
         GOTO  .L21A                                                    P$D04170
         ENDO                                                           P$D04180
&SFG5    SET   &SFG5+128                                                P$D04190
&SSAVE   SET   '&SAVAREA'                                               P$D04200
         ENDO                                                           P$D04210
.L21A    LABEL                                                          P$D04220
         DO    '&STYP'='OUTPUT'                                         P$D04230
&SEOF    SET   0                                                        P$D04240
         GOTO  .L23A                                                    P$D04250
         ENDO                                                           P$D04260
         DO    '&SRCFM'='FIXUNB'=0           CMBND AND INPUT FILES      P$D04270
         PNOTE 'P','RECORD FORMAT SPECIFICATION IS NOT'                 P$D04280
         PNOTE *,'FIXUNB FOR AN INPUT OR COMBINED FILE.'                P$D04290
         PNOTE *,'RECORD FORMAT SET TO FIXUNB.'                         P$D04300
&SRCFM   SET   'FIXUNB'                                                 P$D04310
         ENDO                                                           P$D04320
         DO    '&SRCSZ'=''=0                                            P$D04330
         PNOTE *,'RECORD SIZE REGISTER SPECIFIED FOR AN INPUT'          P$D04340
         PNOTE *,'OR COMBINED FILE.  IGNORED.'                          P$D04350
         ENDO                                                           P$D04360
&SREC    SET   0                                                        P$D04370
&SFG2    SET   &SFG2+1                                                  P$D04380
         DO    '&ASCII'=''=0                                            P$D04390
&SEFDSP  SET   8                                                        P$D04400
         GOTO  .L21B                                                    P$D04410
         ENDO                                                           P$D04420
         DO    '&SMODE'='CC'                                            P$D04430
&SEFDSP  SET   12                                                       P$D04440
         GOTO  .L21B                                                    P$D04450
         ENDO                                                           P$D04460
         DO    '&SMODE'='BINARY'=0                                      P$D04470
&SEFDSP  SET   4                                                        P$D04480
         ENDO                                                           P$D04490
.L21B    LABEL                                                          P$D04500
         DO    '&SEOF'=''                                               P$D04510
         PNOTE 'P','END-OF-FILE ROUTINE IS REQUIRED FOR INPUT OR'       P$D04520
         PNOTE *,'COMBINED FILES.'                                      P$D04530
         GOTO  .L22A                                                    P$D04540
         ENDO                                                           P$D04550
         DM$FNC &SEOF                                                   P$D04560
         DO    &DM$C1                                                   P$D04570
         PNOTE 'P','FIRST CHARACTER OF END-OF-FILE ROUTINE'             P$D04580
         PNOTE *,'SPECIFICATION IS NOT ALPHABETIC.'                     P$D04590
.L22A    LABEL                                                          P$D04600
&SEOF    SET   0                                                        P$D04610
         ENDO                                                           P$D04620
.L23A    LABEL                                                          P$D04630
         DO    '&STYP'='CMBND'                                          P$D04640
         GOTO  .L33B                    COMBINED FILES                  P$D04650
         ENDO                                                           P$D04660
         DO    '&SOBSZ'='0'=0      INPUT AND OUTPUT FILES               P$D04670
         PNOTE *,'OUTPUT BLOCK SIZE SPECIFIED FOR AN INPUT OR'          P$D04680
         PNOTE *,'OUTPUT FILE.  IGNORED.'                               P$D04690
         ENDO                                                           P$D04700
&SOBSZ   SET   0                                                        P$D04710
         DO    '&SIOA2'=''              INPUT AND OUTPUT FILES          P$D04720
&SIOA2   SET   0                                                        P$D04730
         GOTO  .L25A                                                    P$D04740
         ENDO                                                           P$D04750
         DM$FNC &SIOA2                                                  P$D04760
         DO    &DM$C1                                                   P$D04770
         PNOTE 'P','FIRST CHARACTER OF I/O AREA 2 SPECIFICATION IS'     P$D04780
         PNOTE *,'NOT ALPHABETIC.'                                      P$D04790
&SIOA2   SET   0                                                        P$D04800
         GOTO  .L24A                                                    P$D04810
         ENDO                                                           P$D04820
&SFG1    SET   &SFG1+8                                                  P$D04830
.L24A    LABEL                                                          P$D04840
         DO    (('&SWORK'=''=0)--('&SIORG'=''=0))=0  ONE BUT NOT BOTH   P$D04850
         DO    ('&SWORK'=''=0)**('&SIORG'=''=0)      BOTH               P$D04860
         PNOTE 'P','I/O REGISTER AND WORK AREA SPECIFIED.'              P$D04870
         PNOTE *,'WORK AREA IGNORED.'                                   P$D04880
&SWORK   SET   ''                                                       P$D04890
         GOTO  .L25A                                                    P$D04900
         ENDO                                                           P$D04910
         PNOTE 'P','I/O REGISTER NOT SPECIFIED. IOAREA2 IGNORED.'       P$D04920
&SFG1    SET   &SFG1**X'F7'             RESET IOAREA2 BIT               P$D04930
         ENDO                                                           P$D04940
.L25A    LABEL                                                          P$D04950
         DO    '&SIORG'=''                                              P$D04960
         GOTO  .L26A                                                    P$D04970
         ENDO                                                           P$D04980
         DO    '&SIORG'(1,1)='('=0                                      P$D04990
         PNOTE 'P','I/O REGISTER SPECIFICATION IS NOT ENCLOSED'         P$D05000
         PNOTE *,'IN PARENTHESES.  I/O REGISTER SPECIFICATION IS'       P$D05010
         PNOTE *,'NOT ACCEPTED.'                                        P$D05020
         GOTO  .L26A                                                    P$D05030
         ENDO                                                           P$D05040
         DO    (&SIOR<2)++(&SIOR>13)                                    P$D05050
         PNOTE 'P','I/O REGISTER IS NOT 2 THROUGH 13.'                  P$D05060
         PNOTE *,'I/O REGISTER SPECIFICATION IS NOT ACCEPTED.'          P$D05070
         GOTO  .L26A                                                    P$D05080
         ENDO                                                           P$D05090
         DO    (&SIOR=13)**('&SAVAREA'='')                              P$D05100
         PNOTE 'P','SAVAREA KEYWORD NOT SPECIFIED FOR I/O REGISTER=13.' P$D05110
.L26A    LABEL                                                          P$D05120
&SIOR    SET   0                                                        P$D05130
         GOTO  .L27A                                                    P$D05140
         ENDO                                                           P$D05150
&SIOR    SET   &SIOR*4+20                                               P$D05160
&SFG4    SET   &SFG4+8                                                  P$D05170
.L27A    LABEL                                                          P$D05180
         DO    '&STYP'='OUTPUT'                                         P$D05190
         GOTO  .L31A                                                    P$D05200
         ENDO                                                           P$D05210
         DO    ('&AUE'=''=0)**('&SMODE'='BINARY'=0)                     P$D05220
&SFG2    SET   &SFG2+8                                                  P$D05230
         DO    '&AUE'='YES'=0                                           P$D05240
         PNOTE *,'AUE SPECIFICATION MISSPELLED. ACCEPTED AS AUE=YES.'   P$D05250
         ENDO                                                           P$D05260
         GOTO  .L29A                                                    P$D05270
         ENDO                                                           P$D05280
         DO    ('&AUE'=''=0)**('&SMODE'='BINARY')                       P$D05290
         PNOTE *,'AUE SPECIFIED WITH MODE=BINARY. AUE IGNORED.'         P$D05300
         ENDO                                                           P$D05310
.L29A    LABEL                                                          P$D05320
         DO    '&STUB'=''=0                                             P$D05330
         DO    '&STUB'='51'                                             P$D05340
&SBKSU   SET   51                                                       P$D05350
&SBKSD   SET   51                                                       P$D05360
&SFG2    SET   &SFG2+4                                                  P$D05370
         GOTO  .L35A                                                    P$D05380
         ENDO                                                           P$D05390
         DO    '&STUB'='66'                                             P$D05400
&SBKSU   SET   66                                                       P$D05410
&SBKSD   SET   66                                                       P$D05420
&SFG2    SET   &SFG2+2                                                  P$D05430
         GOTO  .L35A                                                    P$D05440
         ENDO                                                           P$D05450
         PNOTE 'P','STUB CARD OTHER THAN 51 OR 66 SPECIFIED.'           P$D05460
         PNOTE *,'STUB SPECIFICATION IGNORED.  80 COLUMN CARD ASSUMED.' P$D05470
         ENDO                                                           P$D05480
         GOTO  .L35A                                                    P$D05490
.L31A    LABEL                          OUTPUT FILE                     P$D05500
         DO    '&SCRDERR'=''=0                                          P$D05510
&SFG4    SET   &SFG4+128                                                P$D05520
         ENDO                                                           P$D05530
         DO    '&SRCFM'='UNDEF'=0                                       P$D05540
&SREC    SET   0                                                        P$D05550
         GOTO  .L35A                                                    P$D05560
         ENDO                                                           P$D05570
         DO    '&SRCSZ'=''              RECSIZE REG SPEC?               P$D05580
         PNOTE 'P','RECORD SIZE REGISTER IS NOT SPECIFIED FOR'          P$D05590
         PNOTE *,'UNDEFINED RECORDS.'                                   P$D05600
         GOTO  .L32A                                                    P$D05610
         ENDO                                                           P$D05620
         DO    '&SRCSZ'(1,1)='('=0                                      P$D05630
         PNOTE 'P','RECORD SIZE REGISTER SPECIFICATION IS NOT'          P$D05640
         PNOTE *,'ENCLOSED IN PARENTHESIS.'                             P$D05650
         PNOTE *,'RECORD SIZE REGISTER IS NOT ACCEPTED.'                P$D05660
         GOTO  .L32A                                                    P$D05670
         ENDO                                                           P$D05680
         DO    (&SREC<2)++(&SREC>13)                                    P$D05690
         PNOTE 'P','RECORD SIZE REGISTER IS NOT 2 THROUGH 13.'          P$D05700
         PNOTE *,'RECORD SIZE REGISTER IS NOT ACCEPTED.'                P$D05710
         GOTO  .L32A                                                    P$D05720
         ENDO                                                           P$D05730
         DO    (&SREC=13)**('&SAVAREA'='')                              P$D05740
         PNOTE 'P','SAVAREA KEYWORD IS NOT SPECIFIED FOR'               P$D05750
         PNOTE *,'RECORD SIZE REGISTER=13.'                             P$D05760
         PNOTE *,'RECORD SIZE REGISTER IS NOT ACCEPTED.'                P$D05770
         GOTO  .L32A                                                    P$D05780
         ENDO                                                           P$D05790
         GOTO  .L33A                                                    P$D05800
.L32A    LABEL                                                          P$D05810
&SREC    SET   0                                                        P$D05820
&SRCFM   SET   'FIXUNB'                                                 P$D05830
         PNOTE *,'RECORDS WILL BE TREATED AS FIXED-UNBLOCKED DUE'       P$D05840
         PNOTE *,'TO PREVIOUS ERROR.'                                   P$D05850
         GOTO  .L35A                                                    P$D05860
.L33A    LABEL                                                          P$D05870
&SREC    SET   &SREC*4+20                                               P$D05880
&SFG4    SET   &SFG4+64                                                 P$D05890
         GOTO  .L35A                                                    P$D05900
.L33B    LABEL                          COMBINED FILE                   P$D05910
         DO    '&SIOA2'=''                                              P$D05920
         PNOTE 'P','IOAREA2 KEYWORD NOT SPECIFIED FOR A COMBINED FILE.' P$D05930
&SIOA2   SET   0                                                        P$D05940
         GOTO  .L34A                                                    P$D05950
         ENDO                                                           P$D05960
         DM$FNC &SIOA2                                                  P$D05970
         DO    &DM$C1                                                   P$D05980
         PNOTE 'P','FIRST CHARACTER OF I/O AREA 2 SPECIFICATION IS'     P$D05990
         PNOTE *,'NOT ALPHABETIC.'                                      P$D06000
&SIOA2   SET   0                                                        P$D06010
.L34A    LABEL                                                          P$D06020
&SFG1    SET   &SFG1**X'7C'                                             P$D06030
&SFG1    SET   &SFG1+1                  INPUT BIT                       P$D06040
         PNOTE *,'FILE WILL BE HANDLED AS AN INPUT FILE DUE TO'         P$D06050
         PNOTE *,'PREVIOUS ERROR.'                                      P$D06060
         GOTO  .L34B                                                    P$D06070
         ENDO                                                           P$D06080
&SFG1    SET   &SFG1+8                                                  P$D06090
.L34B    LABEL                                                          P$D06100
         DO    '&ORLP'=''=0                                             P$D06110
&SFG4    SET   &SFG4+16                                                 P$D06120
         DO    '&ORLP'='YES'=0                                          P$D06130
         PNOTE *,'ORLP SPECIFICATION MISSPELLED. ACCEPTED AS ORLP=YES.' P$D06140
         ENDO                                                           P$D06150
         ENDO                                                           P$D06160
.L35A    LABEL                                                          P$D06170
         DO    '&SCNT'=''=0                                             P$D06180
         DO    (&SFG1**X'01')=0                                         P$D06190
&SFAC    SET   &SFAC++X'04'             CONTROL BIT                     P$D06200
         ENDO                                                           P$D06210
         DO    (&SFG1**X'01')           INPUT BIT SET?                  P$D06220
         PNOTE *,'CONTROL SPECIFIED FOR INPUT FILE. CONTROL IGNORED.'   P$D06230
         GOTO  .L36A                                                    P$D06240
         ENDO                                                           P$D06250
&SFG2    SET   &SFG2+128                                                P$D06260
         DO    '&SCNT'='YES'=0                                          P$D06270
         PNOTE *,'CONTROL SPECIFICATION MISSPELLED.  ACCEPTED AS'       P$D06280
         PNOTE *,'CONTROL=YES.'                                         P$D06290
         ENDO                                                           P$D06300
         ENDO                                                           P$D06310
.L36A    LABEL                                                          P$D06320
         DO    '&SMODE'='BINARY'                                        P$D06330
&SBKSD   SET   &SBKSD*2                                                 P$D06340
&SBKSU   SET   &SBKSU*2                                                 P$D06350
&SBKSL   SET   &SBKSL*2                                                 P$D06360
         ENDO                                                           P$D06370
         DO    '&SRCFM'='FIXUNB'                                        P$D06380
         GOTO  .L37A                                                    P$D06390
         ENDO                                                           P$D06400
         DO    '&SRCFM'='VARUNB'                                        P$D06410
&SRLA    SET   &SRLA+4                                                  P$D06420
&SRFM    SET   &SRFM+2                                                  P$D06430
&SBKSD   SET   &SBKSD+8                                                 P$D06440
&SBKSU   SET   &SBKSU+8                                                 P$D06450
&SBKSL   SET   &SBKSL+8                                                 P$D06460
         GOTO  .L38A                                                    P$D06470
         ENDO                                                           P$D06480
         DO    '&SRCFM'='UNDEF'                                         P$D06490
&SRFM    SET   &SRFM+1                                                  P$D06500
         GOTO  .L38A                                                    P$D06510
         ENDO                                                           P$D06520
         PNOTE 'P','RECORD FORMAT MISSPELLED. SET TO FIXUNB.'           P$D06530
.L37A    LABEL                                                          P$D06540
&SRFM    SET   &SRFM+4                                                  P$D06550
.L38A    LABEL                                                          P$D06560
         DO    '&SBKS'='0'                                              P$D06570
         GOTO  .L39A                                                    P$D06580
         ENDO                                                           P$D06590
         DO    ('&STYP'='INPUT'=0)          TYPE NOT INPUT              P$D06600
         DO    (&SBKS<&SBKSL)++(&SBKS>&SBKSD)                           P$D06610
         PNOTE 'P','BLOCK SIZE LESS THAN &SBKSL OR GREATER THAN &SBKSD' P$D06620
         GOTO  .L39A                                                    P$D06630
         ENDO                                                           P$D06640
         GOTO  .L39B                                                    P$D06650
         ENDO                                                           P$D06660
         DO    (&SBKS<&SBKSL)++(&SBKS>&SBKSU)                           P$D06670
         PNOTE 'P','BLOCK SIZE LESS THAN &SBKSL OR GREATER THAN &SBKSU' P$D06680
.L39A    LABEL                                                          P$D06690
         PNOTE *,'BLOCK SIZE SET TO &SBKSD.'                            P$D06700
&SBKS    SET   &SBKSD                                                   P$D06710
         GOTO  .L40A                                                    P$D06720
         ENDO                                                           P$D06730
.L39B    LABEL                                                          P$D06740
         DO    '&SMODE'='BINARY'                                        P$D06750
         DO    &SBKS//2=&SBKS/2=0       ODD?                            P$D06760
         PNOTE 'P','ODD BLOCK SIZE SPECIFIED WITH MODE=BINARY.'         P$D06770
         PNOTE *,'BLOCK SIZE REDUCED BY ONE.'                           P$D06780
&SBKS    SET   &SBKS-1                                                  P$D06790
         GOTO  .L40A                                                    P$D06800
         ENDO                                                           P$D06810
         ENDO                                                           P$D06820
         DO    &SBKS//2=&SBKS/2=0       ODD?                            P$D06830
         PNOTE *,'WARNING:  BLOCK SIZE IS ODD.'                         P$D06840
         PNOTE *,'USER MUST ALLOCATE I/O AREAS AT LEAST'                P$D06850
         PNOTE *,'ONE BYTE LARGER THAN BLOCK SIZE.'                     P$D06860
         ENDO                                                           P$D06870
.L40A    LABEL                                                          P$D06880
         DO    '&STYP'='CMBND'                                          P$D06890
         DO    '&SOBSZ'='0'                                             P$D06900
         PNOTE *,'OUTPUT BLOCK SIZE NOT SPECIFIED FOR COMBINED FILE.'   P$D06910
         PNOTE *,'OUTPUT BLOCK SIZE SET TO BLOCK SIZE.'                 P$D06920
&SOBSZ   SET   &SBKS                                                    P$D06930
         GOTO  .L45                                                     P$D06940
         ENDO                                                           P$D06950
         DO    (&SOBSZ<&SBKSL)++(&SOBSZ>&SBKSD)                         P$D06960
         PNOTE 'P','OUTPUT BLOCK SIZE LESS THAN &SBKSL OR GREATER'      P$D06970
         PNOTE *,'THAN &SBKSD.  SET TO &SBKSD.'                         P$D06980
.L41A    LABEL                                                          P$D06990
&SOBSZ   SET   &SBKSD                                                   P$D07000
         GOTO  .L45                                                     P$D07010
         ENDO                                                           P$D07020
         DO    &SOBSZ//2=&SOBSZ/2=0          ODD?                       P$D07030
         DO    '&SMODE'='BINARY'                                        P$D07040
         PNOTE 'P','ODD OUTPUT BLOCK SIZE SPECIFIED WITH MODE=BINARY.'  P$D07050
         PNOTE *,'OUTPUT BLOCK SIZE REDUCED BY ONE.'                    P$D07060
&SOBSZ   SET   &SOBSZ-1                                                 P$D07070
         GOTO  .L45                                                     P$D07080
         ENDO                                                           P$D07090
         PNOTE *,'WARNING: OUTPUT BLOCK SIZE ODD.'                      P$D07100
         PNOTE *,'I/O AREA2 MUST BE AT LEAST ONE BYTE LARGER THAN'      P$D07110
         PNOTE *,'OUTPUT BLOCK SIZE.'                                   P$D07120
         ENDO                                                           P$D07130
.L45     LABEL                                                          P$D07140
         DO    '&SIORG'=''=0                                            P$D07150
         PNOTE *,'I/O REGISTER SPECIFIED FOR A COMBINED FILE. IGNORED.' P$D07160
         ENDO                                                           P$D07170
&SIOR    SET   0                                                        P$D07180
         ENDO                                                           P$D07190
         DO    '&SWORK'=''=0                                            P$D07200
&SFG1    SET   &SFG1+16                                                 P$D07210
         DO    '&SWORK'='YES'=0                                         P$D07220
         PNOTE *,'WORK AREA SPECIFICATION MISSPELLED.  ACCEPTED AS'     P$D07230
         PNOTE *,'WORKA=YES.'                                           P$D07240
         ENDO                                                           P$D07250
         ENDO                                                           P$D07260
         DO    ('&STYP'='OUTPUT')++('&STYP'='CMBND')                    P$D07270
         DO    '&STUB'=''=0                                             P$D07280
         PNOTE *,'STUB KEYWORD SPECIFIED FOR OUTPUT OR COMBINED FILE.'  P$D07290
         PNOTE *,'STUB KEYWORD IGNORED.'                                P$D07300
         ENDO                                                           P$D07310
         DO    '&SMODE'='BINARY'                                        P$D07320
&SCCP    SET   21                                                       P$D07330
         GOTO  .L50                                                     P$D07340
         ENDO                                                           P$D07350
&SCCP    SET   17                                                       P$D07360
.L50     LABEL                                                          P$D07370
         ENDO                                                           P$D07380
         DO    '&STYP'='CMBND'                                          P$D07390
&SCCG    SET   11                                                       P$D07400
         DO    '&SMODE'='BINARY'                                        P$D07410
&SCCU    SET   6                                                        P$D07420
         GOTO  .L60                                                     P$D07430
         ENDO                                                           P$D07440
&SCCU    SET   2                                                        P$D07450
.L60     LABEL                                                          P$D07460
         ENDO                                                           P$D07470
         PNOTE *,'I/O AREAS MUST BE ALIGNED ON A HALF-WORD BOUNDARY.'   P$D07480
         CNOP  0,8                                                      P$D07490
         DO    ('&FNAME'='')++('&FNAME'>'Z999999')                      P$D07500
         PNOTE 'P','FILENAME NOT SPECIFIED OR MORE THAN 7 CHARACTERS.'  P$D07510
         DO    '&FNAME'=''                                              P$D07520
&SNAM    SET   '0'                                                      P$D07530
         ENDO                                                           P$D07540
         GOTO  .M1                                                      P$D07550
         ENDO                                                           P$D07560
         DM$FNC &FNAME                                                  P$D07570
         DO    &DM$C1                                                   P$D07580
         PNOTE 'P','FIRST CHARACTER OF FILENAME IS NOT ALPHABETIC.'     P$D07590
&SNAM    SET   '0'                                                      P$D07600
         ENDO                                                           P$D07610
.M1      LABEL                                                          P$D07620
         DO    '&SNAM'='0'=0                                            P$D07630
&SNAM    EQU   *                                                        P$D07640
         ENTRY &SNAM                                                    P$D07650
         ENDO                                                           P$D07660
         DC    7F'0'                                                    P$D07670
         DO    '&SNAM'='0'=0                                            P$D07680
         DC    CL7'&SNAM'               DR$NME                          P$D07690
         DC    CL1' '                                                   P$D07700
         GOTO  .M12                                                     P$D07710
         ENDO                                                           P$D07720
         DC    XL8'00'                  DR$NME                          P$D07730
.M12     LABEL                                                          P$D07740
         DC    H'0'                     DR$MFLG                         P$D07750
         DC    H'0'                     DR$PUB                          P$D07760
         DC    A(&SEOF)                 DR$EFA                          P$D07770
         DO    '&SEOF'='0'=0                                            P$D07780
         DO    '&SEPASMB'='NO'=0                                        P$D07790
         EXTRN &SEOF                                                    P$D07800
         ENDO                                                           P$D07810
         ENDO                                                           P$D07820
         DC    H'&SRLA'                      DW$RLA                     P$D07830
         DC    XL2'08F0'                DR$DTF                          P$D07840
         DC    AL1(&SFAC)                                               P$D07850
         DC    XL1'00'                                                  P$D07860
         DO    '&SNAM'='0'=0                                            P$D07870
&SNAM.C  EQU   *                        ERROR FLAG BYTE                 P$D07880
         DO    '&SEPASMB'='NO'=0                                        P$D07890
         ENTRY &FNAME.C                                                 P$D07900
         ENDO                                                           P$D07910
         ENDO                                                           P$D07920
         DC    H'0'                     DR$EFG                          P$D07930
         DC    A(DR$COM&SFAC)           DR$IOCS                         P$D07940
         EXTRN DR$COM&SFAC                                              P$D07950
         DO    '&SNAM'='0'=0                                            P$D07960
&SNAM.E  EQU   *,1                      ERROR MESSAGE CODE              P$D07970
         DO    '&SEPASMB'='NO'=0                                        P$D07980
         ENTRY &FNAME.E                                                 P$D07990
         ENDO                                                           P$D08000
         ENDO                                                           P$D08010
         DC    A(&SERROR)               DR$ERR                          P$D08020
         DO    '&SERROR'='0'=0                                          P$D08030
         DO    '&SEPASMB'='NO'=0                                        P$D08040
         EXTRN &SERROR                                                  P$D08050
         ENDO                                                           P$D08060
         ENDO                                                           P$D08070
         DC    XL1'00'                  DR$CW1C                         P$D08080
         DC    AL3(&SIOA1)              DR$CW1D                         P$D08090
         DO    '&SIOA1'='0'=0                                           P$D08100
         DO    '&SEPASMB'='NO'=0                                        P$D08110
         EXTRN &SIOA1                                                   P$D08120
         ENDO                                                           P$D08130
         ENDO                                                           P$D08140
         DC    F'0'                     DR$CW1F,DR$CW1B                 P$D08150
         DC    YL1(&SREC)               DR$REC                          P$D08160
         DC    YL1(&SIOR)               DR$IRG                          P$D08170
         DC    YL1(&SFG1)               DR$FG1                          P$D08180
         DC    YL1(&SFG2)               DR$FG2                          P$D08190
         DC    YL1(&SFG3)               DR$FG3                          P$D08200
         DC    YL1(&SFG4)               DR$FG4                          P$D08210
         DC    YL1(&SFG5)               DR$FG5                          P$D08220
         DC    YL1(&SRFM)               DR$RFM                          P$D08230
         DC    H'&SBKS'                 DR$BKS                          P$D08240
         DC    H'&SOBSZ'                DR$OBS                          P$D08250
         DC    A(&SIOA2)                DR$BAS                          P$D08260
         DO    '&SIOA2'='0'=0                                           P$D08270
         DO    '&SEPASMB'='NO'=0                                        P$D08280
         EXTRN &SIOA2                                                   P$D08290
         ENDO                                                           P$D08300
         ENDO                                                           P$D08310
         DC    3F'0'                    DR$CCW2                         P$D08320
         DC    YL1(&SCCC)               DR$CCC                          P$D08330
         DC    YL1(&SCCG)               DR$CCG                          P$D08340
         DC    YL1(&SCCP)               DR$CCP                          P$D08350
         DC    YL1(&SCCU)               DR$CCU                          P$D08360
         DC    H'0'                     DR$RCS                          P$D08370
         DC    YL1(&SEFDSP)             DR$EFDSP                        P$D08380
         DC    XL1'00'                                                  P$D08390
         DO    ('&SSAVE'=''=0)++('&SITBL'=''=0)++('&SOTBL'=''=0)++('&SCXP$D08400
               RDERR'=''=0)                                             P$D08410
         DO    '&SSAVE'=''                                              P$D08420
&SSAVE   SET   0                                                        P$D08430
         ENDO                                                           P$D08440
         DC    A(&SSAVE)                DR$SAV                          P$D08450
         DO    '&SSAVE'='0'=0                                           P$D08460
         DO    '&SEPASMB'='NO'=0                                        P$D08470
         EXTRN &SSAVE                                                   P$D08480
         ENDO                                                           P$D08490
         ENDO                                                           P$D08500
         DS    F                                                        P$D08510
         ENDO                                                           P$D08520
         DO    ('&SITBL'=''=0)++('&SOTBL'=''=0)++('&SCRDERR'=''=0)      P$D08530
         DO    '&SITBL'=''                                              P$D08540
&SITBL   SET   0                                                        P$D08550
         ENDO                                                           P$D08560
         DC    A(&SITBL)                DR$ITB                          P$D08570
         DO    '&SITBL'='0'=0                                           P$D08580
         DO    '&SEPASMB'='NO'=0                                        P$D08590
         EXTRN &SITBL                                                   P$D08600
         ENDO                                                           P$D08610
         ENDO                                                           P$D08620
         ENDO                                                           P$D08630
         DO    ('&SOTBL'=''=0)++('&SCRDERR'=''=0)                       P$D08640
         DO    '&SOTBL'=''                                              P$D08650
&SOTBL   SET   0                                                        P$D08660
         ENDO                                                           P$D08670
         DC    A(&SOTBL)                DR$OTB                          P$D08680
         DO    '&SOTBL'='0'=0                                           P$D08690
         DO    '&SEPASMB'='NO'=0                                        P$D08700
         EXTRN &SOTBL                                                   P$D08710
         ENDO                                                           P$D08720
         ENDO                                                           P$D08730
         ENDO                                                           P$D08740
         DO    '&SCRDERR'=''=0                                          P$D08750
&FNAME.S EQU   *                                                        P$D08760
         DO    '&SEPASMB'='NO'=0                                        P$D08770
         ENTRY &FNAME.S                                                 P$D08780
         ENDO                                                           P$D08790
         DO    '&SMODE'='BINARY'                                        P$D08800
         DC    CL160' '                 DR$SA                           P$D08810
         GOTO  .M2                                                      P$D08820
         ENDO                                                           P$D08830
         DC    CL80' '                  DR$SA                           P$D08840
         ENDO                                                           P$D08850
.M2      LABEL                                                          P$D08860
         END                                                            P$D08870
