&PL      PROC  &P,5                                                     EXT00010
EXTEND   NAME  0                                                        EXT00020
SYSEXTND NAME  1                                                        EXT00030
         LCL   &SYMBOL1,&SYMBOL2,&SYMBOL3,&X,&Y,&Z,&XX,&YY,&ZZ          EXT00040
         DO    0                                                        EXT00050
.*       EXTEND FILE-NAME,ERROR-ADDR,FILE-TYPE,VOL-SEQ-NO,FCBCORE       EXT00060
.*       SYSEXTND PLIST,ERROR-ADDR,FILE-TYPE                            EXT00070
         ENDO                                                           EXT00080
&X       SET   '&P(1)'(1,1)                                             EXT00090
&Y       SET   '&P(2)'(1,1)                                             EXT00100
&Z       SET   '&P(3)'(1,1)                                             EXT00110
&SYMBOL1 SET   0                                                        EXT00120
&SYMBOL2 SET   0                                                        EXT00130
&SYMBOL3 SET   0                                                        EXT00140
         DO    (('A'<'&X')**('&X'<'Z'))++('&X'='A')++('&X'='Z')++('&X'=CEXT00150
               '$')++('&X'='#')++('&X'='@')++('&X'='?')                 EXT00160
&SYMBOL1 SET   1                                                        EXT00170
         ENDO                                                           EXT00180
         DO    (('A'<'&Y')**('&Y'<'Z'))++('&Y'='A')++('&Y'='Z')++('&Y'=CEXT00190
               '$')++('&Y'='#')++('&Y'='@')++('&Y'='?')                 EXT00200
&SYMBOL2 SET   1                                                        EXT00210
         ENDO                                                           EXT00220
         DO    (('A'<'&Z')**('&Z'<'Z'))++('&Z'='A')++('&Z'='Z')++('&Z'=CEXT00230
               '$')++('&Z'='#')++('&Z'='@')++('&Z'='?')                 EXT00240
&SYMBOL3 SET   1                                                        EXT00250
         ENDO                                                           EXT00260
         DS    0H                                                       EXT00270
         DO    '&PL'=''=0                                               EXT00280
&PL      EQU   *                                                        EXT00290
         ENDO                                                           EXT00300
         DO    ('&P(3)'='(0)')++('&P(3)'='0')                           EXT00310
         GOTO  .EXTEND1                                                 EXT00320
         ENDO                                                           EXT00330
         DO    '&P(4)'=''                                               EXT00340
&XX      SET   1                                                        EXT00350
         ENDO                                                           EXT00360
         DO    '&P(4)'=''=0                                             EXT00370
&XX      SET   '&P(4)'                                                  EXT00380
         ENDO                                                           EXT00390
         DO    '&P(3)'=''                                               EXT00400
&YY      SET   1                                                        EXT00410
         ENDO                                                           EXT00420
         DO    '&P(3)'=''=0                                             EXT00430
&YY      SET   '&P(3)'                                                  EXT00440
         ENDO                                                           EXT00450
         DO    '&P(5)'=''                                               EXT00455
&ZZ      SET   0
         ENDO
         DO    '&P(5)'='FCBCORE'
&ZZ      SET   512
         ENDO
         DO    ('&P(5)'=''=0)**('&P(5)'='FCBCORE'=0)
&ZZ      SET   0
         PNOTE 'P','5TH PARAM ERROR  DEFAULT=FCB NOT IN CORE'
         ENDO
         CNOP  0,4                                                      EXT00460
         L     0,*+8                                                    EXT00470
         B     *+8                                                      EXT00480
         DC    AL2(&P(0)+&ZZ)                                           EXT00490
         DC    XL1'&YY'                 FILE TYPE                       EXT00500
         DC    AL1(&XX)                 VOL-SEQ-NUMBER                  EXT00510
.EXTEND1 LABEL                                                          EXT00520
         DO    '&P(1)'=''                                               EXT00530
         PNOTE 'P','PRM-LIST IS NOT SPECIFIED '                         EXT00540
         NOP { *                        PATCH AREA               {      EXT00550
         GOTO  .EXTEND2                                                 EXT00560
         ENDO                                                           EXT00570
         DO    ('&P(1)'='(1)')++('&P(1)'='1')                           EXT00580
         GOTO  .EXTEND2                                                 EXT00590
         ENDO                                                           EXT00600
         DO    &SYMBOL1=0                                               EXT00610
         PNOTE 'P','1ST PARAM ERROR '                                   EXT00620
         NOP   *                        PATCH AREA                      EXT00630
         GOTO  .EXTEND2                                                 EXT00640
         ENDO                                                           EXT00650
         CNOP  0,4                                                      EXT00660
         L     1,*+8                                                    EXT00670
         B     *+8                                                      EXT00680
         DC    A(&P(1))                                                 EXT00690
.EXTEND2 LABEL                                                          EXT00700
         SVC   34                       SV$EXTEND                       EXT00710
         LTR   0,0                                                      EXT00720
         DO    '&P(2)'=''                                               EXT00730
         BNM   *+6                                                      EXT00740
         SVC   28                                                       EXT00750
         GOTO  .EXIT                                                    EXT00760
         ENDO                                                           EXT00770
         DO    ('&P(2)'='(0)')++('&P(2)'='0')                           EXT00780
         PNOTE 'P','2ND PARAM ERROR '                                   EXT00790
         NOP   *                       PATCH AREA                       EXT00800
         GOTO  .EXIT                                                    EXT00810
         ENDO                                                           EXT00820
         DO    ('&P(2)'='(1)')++('&P(2)'='1')                           EXT00830
         PNOTE 'P','2ND PARAM ERROR '                                   EXT00840
         NOP   *                       PATCH AREA                       EXT00850
         GOTO  .EXIT                                                    EXT00860
         ENDO                                                           EXT00870
         DO    &SYMBOL2=0                                               EXT00880
         BMR   &P(2)                                                    EXT00890
         GOTO  .EXIT                                                    EXT00900
         ENDO                                                           EXT00910
         BM    &P(2)                                                    EXT00920
.EXIT    LABEL                                                          EXT00930
         END                                                            EXT00940
