         TITLE '**********  ICKIN01:  INITIALIZE COMMAND CONTROLLER  ***00001000
               *********'                                               00002000
        MACRO                                                           00003000
        GETMAIN &R,&LV=                                                 00004000
        L     REG15,0(REG1)           GDTTBL ADDRESS                    00005000
        L     REG15,GDTPRL(REG15)     PROL ROUTINE ADDRESS              00006000
        CNOP  2,4                     BOUNDARY ALIGNMENT                00007000
        LA    REG14,*+14              RETURN ADDRESS                    00008000
        BALR  REG1,REG15              LINKAGE TO PROL ROUTINE           00009000
        DC    A(MODID)                MODULE ID ADDRESS                 00010000
        DC    A(@SIZDATD)             AUTOMATIC STORAGE SIZE ADDRESS    00011000
        MEND                                                            00012000
ICKIN01  CSECT ,                                                   0002 00013000
@MAINENT DS    0H                                                  0002 00014000
         USING *,@15                                               0002 00015000
         B     @PROLOG                                             0002 00016000
         DC    AL1(16)                                             0002 00017000
         DC    C'ICKIN01   78.192'                                 0002 00018000
         DROP  @15                                                      00019000
@PROLOG  STM   @14,@12,12(@13)                                     0002 00020000
         BALR  @09,0                                               0002 00021000
@PSTART  LA    @10,4095(,@09)                                      0002 00022000
         LA    @11,4095(,@10)                                      0002 00023000
         LA    @12,4095(,@11)                                      0002 00024000
         LA    @08,4095(,@12)                                      0002 00025000
         USING @PSTART,@09                                         0002 00026000
         USING @PSTART+4095,@10                                    0002 00027000
         USING @PSTART+8190,@11                                    0002 00028000
         USING @PSTART+12285,@12                                   0002 00029000
         USING @PSTART+16380,@08                                   0002 00030000
         L     @00,@SIZDATD                                        0002 00031000
         GETMAIN  R,LV=(0)                                              00032000
         LR    @07,@01                                             0002 00033000
         USING @DATD,@07                                           0002 00034000
         ST    @13,@SA00001+4                                      0002 00035000
         LM    @00,@01,20(@13)                                     0002 00036000
         ST    @07,8(,@13)                                         0002 00037000
         LR    @13,@07                                             0002 00038000
         XC    @ZTEMPS(@ZLEN),@ZTEMPS                                   00039000
         MVC   @PC00001(12),0(@01)                                 0002 00040000
*                                                                  0208 00041000
         EJECT                                                          00042000
*                                                                  0209 00043000
*/*****  B E G I N    E X E C U T I O N  *****************************/ 00044000
*                                                                  0209 00045000
*    IF GDTDBG = NULLPTR                                           0209 00046000
*      THEN;                                                       0209 00047000
         L     @06,@PC00001                                        0209 00048000
         L     @06,GDTDBG(,@06)                                    0209 00049000
         LTR   @06,@06                                             0209 00050000
         BZ    @RT00209                                            0209 00051000
*      ELSE                                                        0211 00052000
*        CALL ICKDB010 (GDTTBL, 'IN00');                           0211 00053000
*                                                                  0211 00054000
*                                                                  0211 00055000
         L     @06,@PC00001                                        0211 00056000
         ST    @06,@AL00001                                        0211 00057000
         LA    @15,@CC00754                                        0211 00058000
         ST    @15,@AL00001+4                                      0211 00059000
         MVI   @AL00001+4,X'80'                                    0211 00060000
         L     @15,GDTDBG(,@06)                                    0211 00061000
         LA    @01,@AL00001                                        0211 00062000
         BALR  @14,@15                                             0211 00063000
*/*  ESTABLISH UPRINT ARGUMENT LIST                                  */ 00064000
*    PRTHDR = 'DARGLIST';                                          0212 00065000
@RT00209 MVC   PRTHDR(8),@CC00755                                  0212 00066000
*    PRTARGS = ''B;                                                0213 00067000
         XC    PRTARGS(52),PRTARGS                                 0213 00068000
*    DDSTRU = ADDR(PRTARGS);                                       0214 00069000
         LA    @06,PRTARGS                                         0214 00070000
         ST    @06,DDSTRU                                          0214 00071000
*    DARGSMOD = MSGMODZ;                                           0215 00072000
         MVC   DARGSMOD(3,@06),@CC00533                            0215 00073000
*/*  SET THE LASTCOND INITIALLY TO INDICATE SUCCESSFUL COMPLETION    */ 00074000
*    LASTCOND = LASTCC00;                                          0216 00075000
         L     @06,@PC00001+8                                      0216 00076000
         SLR   @15,@15                                             0216 00077000
         STH   @15,LASTCOND(,@06)                                  0216 00078000
*/*  IF NO SEVERE ERRORS                                             */ 00079000
*    IF LASTCOND < LASTCC12                                        0217 00080000
*/*    THEN ISSUE_OPEN_VOLUME                                        */ 00081000
*      THEN DO;    CALL OPENVOL; END;                              0217 00082000
         CH    @15,@CH00265                                        0217 00083000
         BNL   @RF00217                                            0217 00084000
         BAL   @14,OPENVOL                                         0219 00085000
*/*  IF NO SEVERE ERRORS                                             */ 00086000
*    IF LASTCOND < LASTCC12                                        0221 00087000
*/*    THEN                                                          */ 00088000
*      THEN DO;                                                    0221 00089000
*                                                                  0221 00090000
@RF00217 L     @06,@PC00001+8                                      0221 00091000
         LH    @06,LASTCOND(,@06)                                  0221 00092000
         CH    @06,@CH00265                                        0221 00093000
         BNL   @RF00221                                            0221 00094000
*/*      OBTAIN_VOLUME_AUTHORIZATION                                 */ 00095000
*        CALL ICKVA01                                              0223 00096000
*              (GDTTBL                                             0223 00097000
*              ,VOLIB                                              0223 00098000
*              ,RETCODE);                                          0223 00099000
         L     @06,@PC00001                                        0223 00100000
         ST    @06,@AL00001                                        0223 00101000
         LA    @06,VOLIB                                           0223 00102000
         ST    @06,@AL00001+4                                      0223 00103000
         LA    @06,RETCODE                                         0223 00104000
         ST    @06,@AL00001+8                                      0223 00105000
         L     @15,@CV00759                                        0223 00106000
         LA    @01,@AL00001                                        0223 00107000
         BALR  @14,@15                                             0223 00108000
*/*      IF AUTHORIZATION IS NOT GRANTED                             */ 00109000
*        IF RETCODE = FAILURE                                      0224 00110000
*/*        THEN INDICATE A SEVERE ERROR (LASTCOND = 12)              */ 00111000
*          THEN DO;    LASTCOND = LASTCC12; END;                   0224 00112000
         CLC   RETCODE(4),@CF00165                                 0224 00113000
         BNE   @RF00224                                            0224 00114000
         L     @06,@PC00001+8                                      0226 00115000
         MVC   LASTCOND(2,@06),@CH00265                            0226 00116000
*/*      END-THEN                                                    */ 00117000
*        END;                                                      0228 00118000
@RF00224 DS    0H                                                  0229 00119000
         EJECT                                                          00120000
*/*  IF NO SEVERE ERRORS AND VERIFICATION IS REQUESTED               */ 00121000
*    IF (LASTCOND < LASTCC12) & (ADDR(VERFY) ^= NULLPTR)           0229 00122000
*/*    THEN                                                          */ 00123000
*      THEN DO;                                                    0229 00124000
*                                                                  0229 00125000
@RF00221 L     @06,@PC00001+8                                      0229 00126000
         LH    @06,LASTCOND(,@06)                                  0229 00127000
         CH    @06,@CH00265                                        0229 00128000
         BNL   @RF00229                                            0229 00129000
         SLR   @06,@06                                             0229 00130000
         L     @15,@PC00001+4                                      0229 00131000
         C     @06,FDTPTR+64(,@15)                                 0229 00132000
         BE    @RF00229                                            0229 00133000
*/*      IF THE OWNER ID IS TO BE VERIFIED                           */ 00134000
*        IF ADDR(VOWN) ^= NULLPTR                                  0231 00135000
*/*        THEN SET UP THE PROPER VALUE TO BE PASSED                 */ 00136000
*          THEN DO;    VALVOWN = VOWNVAL; END;                     0231 00137000
         L     @15,FDTPTR+72(,@15)                                 0231 00138000
         CR    @15,@06                                             0231 00139000
         BE    @RF00231                                            0231 00140000
         MVC   VALVOWN(14),VOWNVAL(@15)                            0233 00141000
*/*        ELSE INDICATE THAT THE OWNER ID NEED NOT BE VERIFIED      */ 00142000
*          ELSE DO;    VALVOWN = ' '; END;                         0235 00143000
         B     @RC00231                                            0235 00144000
@RF00231 DS    0H                                                  0236 00145000
         MVI   VALVOWN+1,C' '                                      0236 00146000
         MVC   VALVOWN+2(12),VALVOWN+1                             0236 00147000
         MVI   VALVOWN,C' '                                        0236 00148000
*/*      VERIFY_VOLUME_LABEL                                         */ 00149000
*        CALL   ICKVV01                                            0238 00150000
*               (GDTTBL                                            0238 00151000
*               ,VOLIB                                             0238 00152000
*               ,VSERVAL                                           0238 00153000
*               ,VALVOWN                                           0238 00154000
*               ,RETCODE);                                         0238 00155000
@RC00231 L     @06,@PC00001                                        0238 00156000
         ST    @06,@AL00001                                        0238 00157000
         LA    @06,VOLIB                                           0238 00158000
         ST    @06,@AL00001+4                                      0238 00159000
         L     @06,@PC00001+4                                      0238 00160000
         L     @06,FDTPTR+68(,@06)                                 0238 00161000
         LA    @06,VSERVAL(,@06)                                   0238 00162000
         ST    @06,@AL00001+8                                      0238 00163000
         LA    @06,VALVOWN                                         0238 00164000
         ST    @06,@AL00001+12                                     0238 00165000
         LA    @06,RETCODE                                         0238 00166000
         ST    @06,@AL00001+16                                     0238 00167000
         L     @15,@CV00761                                        0238 00168000
         LA    @01,@AL00001                                        0238 00169000
         BALR  @14,@15                                             0238 00170000
*/*      IF VERIFICATION FAILS                                       */ 00171000
*        IF RETCODE = FAILURE                                      0239 00172000
*/*        THEN INDICATE A SEVERE ERROR (LASTCOND = 12)              */ 00173000
*          THEN DO;    LASTCOND = LASTCC12; END;                   0239 00174000
         CLC   RETCODE(4),@CF00165                                 0239 00175000
         BNE   @RF00239                                            0239 00176000
         L     @06,@PC00001+8                                      0241 00177000
         MVC   LASTCOND(2,@06),@CH00265                            0241 00178000
*/*      IF VOLUME LABEL DOES NOT EXIST                              */ 00179000
*        IF RETCODE = NOLABEL                                      0243 00180000
*/*        THEN                                                      */ 00181000
*          THEN DO;                                                0243 00182000
*                                                                  0243 00183000
@RF00239 CLC   RETCODE(4),@CF00116                                 0243 00184000
         BNE   @RF00243                                            0243 00185000
*/*          ISSUE ERROR MESSAGE (MSGURVOL) (UPRINT)                 */ 00186000
*            DARGSENT = MSGURVOL;                                  0245 00187000
         L     @06,DDSTRU                                          0245 00188000
         MVI   DARGSENT(@06),X'10'                                 0245 00189000
*            CALL ICKTPPR0 (GDTTBL                                 0246 00190000
*                   ,PRTFILE                                       0246 00191000
*                   ,DDSTRU);                                      0246 00192000
         L     @06,@PC00001                                        0246 00193000
         ST    @06,@AL00001                                        0246 00194000
         LA    @15,@CF00094                                        0246 00195000
         ST    @15,@AL00001+4                                      0246 00196000
         LA    @15,DDSTRU                                          0246 00197000
         ST    @15,@AL00001+8                                      0246 00198000
         MVI   @AL00001+8,X'80'                                    0246 00199000
         L     @15,GDTPRT(,@06)                                    0246 00200000
         LA    @01,@AL00001                                        0246 00201000
         BALR  @14,@15                                             0246 00202000
*/*          INDICATE SEVERE ERROR (LASTCOND = 12)                   */ 00203000
*            LASTCOND = LASTCC12;                                  0247 00204000
         L     @06,@PC00001+8                                      0247 00205000
         MVC   LASTCOND(2,@06),@CH00265                            0247 00206000
*/*          END-THEN                                                */ 00207000
*            END;                                                  0248 00208000
*/*      END-THEN                                                    */ 00209000
*        END;                                                      0249 00210000
@RF00243 DS    0H                                                  0250 00211000
         EJECT                                                          00212000
*/*  IF NO SEVERE ERRORS                                             */ 00213000
*    IF LASTCOND < LASTCC12                                        0250 00214000
*/*    THEN                                                          */ 00215000
*      THEN DO;                                                    0250 00216000
*                                                                  0250 00217000
@RF00229 L     @06,@PC00001+8                                      0250 00218000
         LH    @06,LASTCOND(,@06)                                  0250 00219000
         CH    @06,@CH00265                                        0250 00220000
         BNL   @RF00250                                            0250 00221000
*        VOLIMAGE = ' ';                                           0252 00222000
         MVI   VOLIMAGE+1,C' '                                     0252 00223000
         MVC   VOLIMAGE+2(78),VOLIMAGE+1                           0252 00224000
         MVI   VOLIMAGE,C' '                                       0252 00225000
*/*      READ_VOLUME_LABEL                                           */ 00226000
*        CALL ICKRL01                                              0253 00227000
*             (GDTTBL                                              0253 00228000
*             ,VOLIB                                               0253 00229000
*             ,VOLIMAGE                                            0253 00230000
*             ,LABELS                                              0253 00231000
*             ,RETCODE);                                           0253 00232000
         L     @06,@PC00001                                        0253 00233000
         ST    @06,@AL00001                                        0253 00234000
         LA    @06,VOLIB                                           0253 00235000
         ST    @06,@AL00001+4                                      0253 00236000
         LA    @06,VOLIMAGE                                        0253 00237000
         ST    @06,@AL00001+8                                      0253 00238000
         LA    @06,LABELS                                          0253 00239000
         ST    @06,@AL00001+12                                     0253 00240000
         LA    @06,RETCODE                                         0253 00241000
         ST    @06,@AL00001+16                                     0253 00242000
         L     @15,@CV00762                                        0253 00243000
         LA    @01,@AL00001                                        0253 00244000
         BALR  @14,@15                                             0253 00245000
*        RESPECIFY VOL1 BASED( ADDR(VOLIMAGE) );                   0254 00246000
*/*      IF READ OPERATION SUCCEEDS                                  */ 00247000
*        IF RETCODE = SUCCESS                                      0255 00248000
*/*        THEN                                                      */ 00249000
*          THEN DO;                                                0255 00250000
*                                                                  0255 00251000
         SLR   @06,@06                                             0255 00252000
         C     @06,RETCODE                                         0255 00253000
         BNE   @RF00255                                            0255 00254000
*/*          INDICATE VOLUME LABEL EXISTS                            */ 00255000
*            LABFLAG = LABYES;                                     0257 00256000
         OI    LABFLAG,B'10000000'                                 0257 00257000
*/*          SAVE OLD VOLUME-SERIAL, OWNER-ID AND VTOC LOCATION      */ 00258000
*            OLDVSER = VOL1SER;                                    0258 00259000
         LA    @15,VOLIMAGE                                        0258 00260000
         MVC   OLDVSER(6),VOL1SER(@15)                             0258 00261000
*            OLDOWNER = VOL1OWNR;                                  0259 00262000
         MVC   OLDOWNER(14),VOL1OWNR(@15)                          0259 00263000
*            OLDVTOC = VOL1VTOC(1:4);                              0260 00264000
         MVC   OLDVTOC(4),VOL1VTOC(@15)                            0260 00265000
*/*          VERIFY_DATA_SET_PURGING                                 */ 00266000
*            IF ADDR(PURGE) ^= NULLPTR                             0261 00267000
*              THEN DO;    PRGFLG = ON; END;                       0261 00268000
         L     @15,@PC00001+4                                      0261 00269000
         C     @06,FDTPTR+4(,@15)                                  0261 00270000
         BE    @RF00261                                            0261 00271000
         OI    PRGFLG,B'10000000'                                  0263 00272000
*              ELSE DO;    PRGFLG = OFF; END;                      0265 00273000
         B     @RC00261                                            0265 00274000
@RF00261 DS    0H                                                  0266 00275000
         NI    PRGFLG,B'01111111'                                  0266 00276000
*            CALL ICKVP01                                          0268 00277000
*                 (GDTTBL                                          0268 00278000
*                 ,VOLIB                                           0268 00279000
*                 ,PRGFLG                                          0268 00280000
*                 ,OLDVSER                                         0268 00281000
*                 ,RETCODE);                                       0268 00282000
@RC00261 L     @06,@PC00001                                        0268 00283000
         ST    @06,@AL00001                                        0268 00284000
         LA    @06,VOLIB                                           0268 00285000
         ST    @06,@AL00001+4                                      0268 00286000
         LA    @06,PRGFLG                                          0268 00287000
         ST    @06,@AL00001+8                                      0268 00288000
         LA    @06,OLDVSER                                         0268 00289000
         ST    @06,@AL00001+12                                     0268 00290000
         LA    @06,RETCODE                                         0268 00291000
         ST    @06,@AL00001+16                                     0268 00292000
         L     @15,@CV00765                                        0268 00293000
         LA    @01,@AL00001                                        0268 00294000
         BALR  @14,@15                                             0268 00295000
*/*          IF DATA SETS ARE NOT TO BE PURGED                       */ 00296000
*            IF RETCODE = NOPURGE                                  0269 00297000
*/*            THEN INDICATE SEVERE ERROR (LASTCOND = 12)            */ 00298000
*              THEN DO;    LASTCOND = LASTCC12; END;               0269 00299000
         CLC   RETCODE(4),@CF00165                                 0269 00300000
         BNE   @RF00269                                            0269 00301000
         L     @06,@PC00001+8                                      0271 00302000
         MVC   LASTCOND(2,@06),@CH00265                            0271 00303000
*/*          IF UNABLE TO READ VTOC                                  */ 00304000
*            IF RETCODE = NOVTOC                                   0273 00305000
*/*            THEN                                                  */ 00306000
*              THEN DO;                                            0273 00307000
*                                                                  0273 00308000
@RF00269 CLC   RETCODE(4),@CF00116                                 0273 00309000
         BNE   @RF00273                                            0273 00310000
*/*              ISSUE WARNING MESSAGE (MSGVTOCD) (UPRINT)           */ 00311000
*                DARGSENT = MSGVTOCD;                              0275 00312000
         L     @06,DDSTRU                                          0275 00313000
         MVI   DARGSENT(@06),X'06'                                 0275 00314000
*                CALL ICKTPPR0 (GDTTBL                             0276 00315000
*                       ,PRTFILE                                   0276 00316000
*                       ,DDSTRU);                                  0276 00317000
         L     @06,@PC00001                                        0276 00318000
         ST    @06,@AL00001                                        0276 00319000
         LA    @15,@CF00094                                        0276 00320000
         ST    @15,@AL00001+4                                      0276 00321000
         LA    @15,DDSTRU                                          0276 00322000
         ST    @15,@AL00001+8                                      0276 00323000
         MVI   @AL00001+8,X'80'                                    0276 00324000
         L     @15,GDTPRT(,@06)                                    0276 00325000
         LA    @01,@AL00001                                        0276 00326000
         BALR  @14,@15                                             0276 00327000
*/*              INDICATE MINOR ERROR                                */ 00328000
*                LASTCOND = MAX(LASTCC04,LASTCOND);                0277 00329000
         L     @06,@PC00001+8                                      0277 00330000
         LH    @15,LASTCOND(,@06)                                  0277 00331000
         LA    @14,4                                               0277 00332000
         CR    @15,@14                                             0277 00333000
         BNL   *+6                                                      00334000
         LR    @15,@14                                             0277 00335000
         STH   @15,LASTCOND(,@06)                                  0277 00336000
*                END;                                              0278 00337000
*/*          END-THEN                                                */ 00338000
*            END;                                                  0279 00339000
*/*        ELSE INDICATE VOLUME LABEL DOES NOT EXIST                 */ 00340000
*          ELSE DO;    LABFLAG = LABNO; END;                       0280 00341000
         B     @RC00255                                            0280 00342000
@RF00255 DS    0H                                                  0281 00343000
         NI    LABFLAG,B'01111111'                                 0281 00344000
*/*      END-THEN                                                    */ 00345000
*        END;                                                      0283 00346000
@RC00255 DS    0H                                                  0284 00347000
         EJECT                                                          00348000
*/*  IF NO SEVERE ERRORS                                             */ 00349000
*    IF LASTCOND < LASTCC12                                        0284 00350000
*/*    THEN OBTAIN_PACK_INFORMATION                                  */ 00351000
*      THEN DO;    CALL PACKINFO; END;                             0284 00352000
@RF00250 L     @06,@PC00001+8                                      0284 00353000
         LH    @06,LASTCOND(,@06)                                  0284 00354000
         CH    @06,@CH00265                                        0284 00355000
         BNL   @RF00284                                            0284 00356000
         BAL   @14,PACKINFO                                        0286 00357000
*/*  IF NO SEVERE ERRORS                                             */ 00358000
*    IF LASTCOND < LASTCC12                                        0288 00359000
*/*    THEN                                                          */ 00360000
*      THEN DO;                                                    0288 00361000
*                                                                  0288 00362000
@RF00284 L     @06,@PC00001+8                                      0288 00363000
         LH    @06,LASTCOND(,@06)                                  0288 00364000
         CH    @06,@CH00265                                        0288 00365000
         BNL   @RF00288                                            0288 00366000
*/*      INDICATE INITIALLY THAT ALTERNATE TRACKS ARE AVAILABLE      */ 00367000
*        ALTFLAG = MOREYES;                                        0290 00368000
         NI    ALTFLAG,B'01111111'                                 0290 00369000
*/*      SET THE NUMBER OF AVAIL ALTERNATE TRACKS TO MAX (ALTCOUNT)  */ 00370000
*        ALTCOUNT = TOTALALT;                                      0291 00371000
         L     @06,INFOPTR+36                                      0291 00372000
         MVC   ALTCOUNT(4),TOTALALT(@06)                           0291 00373000
*/*      SET THE NEXT AVAIL ALT TRK PTR TO FIRST AVAILABLE (ALTPTR)  */ 00374000
*        ALTPTR = FIRSTAL;                                         0292 00375000
         L     @06,INFOPTR+48                                      0292 00376000
         MVC   ALTPTR(4),FIRSTAL(@06)                              0292 00377000
*/*      SET COUNT OF UNRECOVERABLE TRACKS TO ZERO (COUNTUTR)        */ 00378000
*        COUNTUTR = 0;                                             0293 00379000
         SLR   @06,@06                                             0293 00380000
         ST    @06,COUNTUTR                                        0293 00381000
*/*      SET COUNT OF AVAIL ALTERNATE TRACKS FOUND TO ZERO (AVAILCNT)*/ 00382000
*        AVAILCNT = 0;                                             0294 00383000
         ST    @06,AVAILCNT                                        0294 00384000
*/*      SET FLAG INITIALLY TO INDICATE THERE IS STORAGE AVAILABLE   */ 00385000
*/*       FOR A PACK MAP ENTRY                                       */ 00386000
*        PACKENT = STORYES;                                        0295 00387000
         NI    PACKENT,B'01111111'                                 0295 00388000
*/*      END-THEN                                                    */ 00389000
*        END;                                                      0296 00390000
         EJECT                                                          00391000
*/*  IF NO SEVERE ERRORS                                             */ 00392000
*    IF LASTCOND < LASTCC12                                        0297 00393000
*/*    THEN CHECK_PARAMETERS                                         */ 00394000
*      THEN  DO;    CALL CHEKPARM; END;                            0297 00395000
@RF00288 L     @06,@PC00001+8                                      0297 00396000
         LH    @06,LASTCOND(,@06)                                  0297 00397000
         CH    @06,@CH00265                                        0297 00398000
         BNL   @RF00297                                            0297 00399000
         BAL   @14,CHEKPARM                                        0299 00400000
*/*  IF NO SEVERE ERRORS                                             */ 00401000
*    IF LASTCOND < LASTCC12                                        0301 00402000
*/*    THEN                                                          */ 00403000
*      THEN DO;                                                    0301 00404000
*                                                                  0301 00405000
@RF00297 L     @06,@PC00001+8                                      0301 00406000
         LH    @06,LASTCOND(,@06)                                  0301 00407000
         CH    @06,@CH00265                                        0301 00408000
         BNL   @RF00301                                            0301 00409000
*/*      IF NOCHECK AND NOVALIDATE ARE SPECIFIED (MIN INITIALIZATION)*/ 00410000
*        IF (ADDR(NOCHK) ^= NULLPTR) & (ADDR(NOVAL) ^= NULLPTR)    0303 00411000
*/*        THEN                                                      */ 00412000
*          THEN DO;                                                0303 00413000
*                                                                  0303 00414000
         SLR   @06,@06                                             0303 00415000
         L     @15,@PC00001+4                                      0303 00416000
         C     @06,FDTPTR+16(,@15)                                 0303 00417000
         BE    @RF00303                                            0303 00418000
         C     @06,FDTPTR+60(,@15)                                 0303 00419000
         BE    @RF00303                                            0303 00420000
*/*          IF MSS IS BEING MIMICKED                                */ 00421000
*            IF ADDR(MIMIC) ^= NULLPTR & ADDR(MSS) ^= NULLPTR      0305 00422000
*/*            THEN                                                  */ 00423000
*              THEN DO;                                            0305 00424000
*                                                                  0305 00425000
         C     @06,FDTPTR+88(,@15)                                 0305 00426000
         BE    @RF00305                                            0305 00427000
         C     @06,FDTPTR+92(,@15)                                 0305 00428000
         BE    @RF00305                                            0305 00429000
*/*              ISSUE ERROR MESSAGE (MSGMSSMI)                      */ 00430000
*                DARGSENT = MSGMSSMI;                              0307 00431000
         L     @06,DDSTRU                                          0307 00432000
         MVI   DARGSENT(@06),X'34'                                 0307 00433000
*                CALL ICKTPPR0 (GDTTBL                             0308 00434000
*                       ,PRTFILE                                   0308 00435000
*                       ,DDSTRU);                                  0308 00436000
         L     @06,@PC00001                                        0308 00437000
         ST    @06,@AL00001                                        0308 00438000
         LA    @15,@CF00094                                        0308 00439000
         ST    @15,@AL00001+4                                      0308 00440000
         LA    @15,DDSTRU                                          0308 00441000
         ST    @15,@AL00001+8                                      0308 00442000
         MVI   @AL00001+8,X'80'                                    0308 00443000
         L     @15,GDTPRT(,@06)                                    0308 00444000
         LA    @01,@AL00001                                        0308 00445000
         BALR  @14,@15                                             0308 00446000
*/*              INDICATE A SEVERE ERROR                             */ 00447000
*                LASTCOND = LASTCC12;                              0309 00448000
         L     @06,@PC00001+8                                      0309 00449000
         MVC   LASTCOND(2,@06),@CH00265                            0309 00450000
*/*              END-THEN                                            */ 00451000
*                END;                                              0310 00452000
*/*            ELSE EXAMINE_ALTERNATE_TRACKS                         */ 00453000
*              ELSE DO;    CALL EXALTRA; END;                      0311 00454000
         B     @RC00305                                            0311 00455000
@RF00305 DS    0H                                                  0312 00456000
         BAL   @14,EXALTRA                                         0312 00457000
*/*          END-THEN                                                */ 00458000
*            END;                                                  0314 00459000
*/*        ELSE (MEDIAL OR MAXIMAL INITIALIZATION)                   */ 00460000
*          ELSE DO;                                                0315 00461000
*                                                                  0315 00462000
         B     @RC00303                                            0315 00463000
@RF00303 DS    0H                                                  0316 00464000
*/*          INITIALIZE_ALTERNATE_TRACKS                             */ 00465000
*            CALL INALTRA;                                         0316 00466000
         BAL   @14,INALTRA                                         0316 00467000
*/*          IF NO SEVERE ERRORS                                     */ 00468000
*            IF LASTCOND < LASTCC12                                0317 00469000
*/*            THEN INITIALIZE_PRIMARY_TRACKS                        */ 00470000
*              THEN DO;    CALL INITPRIM; END;                     0317 00471000
         L     @06,@PC00001+8                                      0317 00472000
         LH    @06,LASTCOND(,@06)                                  0317 00473000
         CH    @06,@CH00265                                        0317 00474000
         BNL   @RF00317                                            0317 00475000
         BAL   @14,INITPRIM                                        0319 00476000
*/*          END-ELSE                                                */ 00477000
*            END;                                                  0321 00478000
@RF00317 DS    0H                                                  0322 00479000
*/*      END-THEN                                                    */ 00480000
*        END;                                                      0322 00481000
@RC00303 DS    0H                                                  0323 00482000
*/*  IF NO SEVERE ERRORS                                             */ 00483000
*    IF LASTCOND < LASTCC12                                        0323 00484000
*/*    THEN PREPARE_VOLUME_LABELS                                    */ 00485000
*      THEN  DO;    CALL PREPVOL; END;                             0323 00486000
@RF00301 L     @06,@PC00001+8                                      0323 00487000
         LH    @06,LASTCOND(,@06)                                  0323 00488000
         CH    @06,@CH00265                                        0323 00489000
         BNL   @RF00323                                            0323 00490000
         BAL   @14,PREPVOL                                         0325 00491000
         EJECT                                                          00492000
*/*  IF NO SEVERE ERRORS                                             */ 00493000
*    IF LASTCOND < LASTCC12                                        0327 00494000
*/*    THEN PREPARE_VOLUME_TABLE_OF_CONTENTS                         */ 00495000
*      THEN DO;    CALL PREPVTOC; END;                             0327 00496000
@RF00323 L     @06,@PC00001+8                                      0327 00497000
         LH    @06,LASTCOND(,@06)                                  0327 00498000
         CH    @06,@CH00265                                        0327 00499000
         BNL   @RF00327                                            0327 00500000
         BAL   @14,PREPVTOC                                        0329 00501000
*/*  IF NO SEVERE ERRORS                                             */ 00502000
*    IF LASTCOND < LASTCC12                                        0331 00503000
*/*    THEN                                                          */ 00504000
*      THEN DO;                                                    0331 00505000
*                                                                  0331 00506000
@RF00327 L     @06,@PC00001+8                                      0331 00507000
         LH    @06,LASTCOND(,@06)                                  0331 00508000
         CH    @06,@CH00265                                        0331 00509000
         BNL   @RF00331                                            0331 00510000
*/*      IF IPL PROGRAM IS SUPPLIED                                  */ 00511000
*        IF ADDR(IPLDD) ^= NULLPTR                                 0333 00512000
*/*        THEN                                                      */ 00513000
*          THEN DO;                                                0333 00514000
*                                                                  0333 00515000
         SLR   @06,@06                                             0333 00516000
         L     @15,@PC00001+4                                      0333 00517000
         C     @06,FDTPTR+52(,@15)                                 0333 00518000
         BE    @RF00333                                            0333 00519000
*/*          IF MSS IS NOT BEING MIMICKED                            */ 00520000
*            IF ADDR(MIMIC) = NULLPTR & ADDR(MSS) = NULLPTR        0335 00521000
*/*            THEN                                                  */ 00522000
*              THEN DO;                                            0335 00523000
*                                                                  0335 00524000
         C     @06,FDTPTR+88(,@15)                                 0335 00525000
         BNE   @RF00335                                            0335 00526000
         C     @06,FDTPTR+92(,@15)                                 0335 00527000
         BNE   @RF00335                                            0335 00528000
*/*              SPECIFY THE NOPURGE OPTION                          */ 00529000
*                PRGFLG = OFF;                                     0337 00530000
         NI    PRGFLG,B'01111111'                                  0337 00531000
*/*              IF BOOTSTRAP RECORDS ARE SUPPLIED BY THE USER       */ 00532000
*                IF ADDR (BOOTS) ^= NULLPTR                        0338 00533000
*/*                THEN INDICATE THAT THE BOOTSTRAP RECS ARE SUPPLIED*/ 00534000
*                  THEN DO;    BOOTFLG = BOOTYES; END;             0338 00535000
         C     @06,FDTPTR+108(,@15)                                0338 00536000
         BE    @RF00338                                            0338 00537000
         OI    BOOTFLG,B'10000000'                                 0340 00538000
*/*                ELSE INDICATE THAT THEY ARE NOT SUPPLIED          */ 00539000
*                  ELSE DO;    BOOTFLG = BOOTNO; END;              0342 00540000
         B     @RC00338                                            0342 00541000
@RF00338 DS    0H                                                  0343 00542000
         NI    BOOTFLG,B'01111111'                                 0343 00543000
*/*              WRITE_IPL_RECORDS                                   */ 00544000
*                CALL ICKWI01                                      0345 00545000
*                     (GDTTBL                                      0345 00546000
*                     ,VOLIB                                       0345 00547000
*                     ,IPLDDVAL                                    0345 00548000
*                     ,PRGFLG                                      0345 00549000
*                     ,BOOTFLG                                     0345 00550000
*                     ,RETCODE);                                   0345 00551000
@RC00338 L     @06,@PC00001                                        0345 00552000
         ST    @06,@AL00001                                        0345 00553000
         LA    @06,VOLIB                                           0345 00554000
         ST    @06,@AL00001+4                                      0345 00555000
         L     @06,@PC00001+4                                      0345 00556000
         L     @06,FDTPTR+52(,@06)                                 0345 00557000
         LA    @06,IPLDDVAL(,@06)                                  0345 00558000
         ST    @06,@AL00001+8                                      0345 00559000
         LA    @06,PRGFLG                                          0345 00560000
         ST    @06,@AL00001+12                                     0345 00561000
         LA    @06,BOOTFLG                                         0345 00562000
         ST    @06,@AL00001+16                                     0345 00563000
         LA    @06,RETCODE                                         0345 00564000
         ST    @06,@AL00001+20                                     0345 00565000
         L     @15,@CV00774                                        0345 00566000
         LA    @01,@AL00001                                        0345 00567000
         BALR  @14,@15                                             0345 00568000
*/*              IF WRITE OPERATION FAILS                            */ 00569000
*                IF RETCODE = FAILURE                              0346 00570000
*/*                THEN                                              */ 00571000
*                  THEN DO;                                        0346 00572000
*                                                                  0346 00573000
         CLC   RETCODE(4),@CF00165                                 0346 00574000
         BNE   @RF00346                                            0346 00575000
*/*                  ISSUE ERROR MESSAGE (MSGIPLA) (UPRINT)          */ 00576000
*                    DARGSENT = MSGIPLA;                           0348 00577000
         L     @06,DDSTRU                                          0348 00578000
         MVI   DARGSENT(@06),X'09'                                 0348 00579000
*                    CALL ICKTPPR0 (GDTTBL                         0349 00580000
*                           ,PRTFILE                               0349 00581000
*                           ,DDSTRU);                              0349 00582000
         L     @06,@PC00001                                        0349 00583000
         ST    @06,@AL00001                                        0349 00584000
         LA    @15,@CF00094                                        0349 00585000
         ST    @15,@AL00001+4                                      0349 00586000
         LA    @15,DDSTRU                                          0349 00587000
         ST    @15,@AL00001+8                                      0349 00588000
         MVI   @AL00001+8,X'80'                                    0349 00589000
         L     @15,GDTPRT(,@06)                                    0349 00590000
         LA    @01,@AL00001                                        0349 00591000
         BALR  @14,@15                                             0349 00592000
*/*                  INDICATE AN ERROR (LASTCOND = 8)                */ 00593000
*                    LASTCOND = MAX (LASTCC08,LASTCOND);           0350 00594000
         L     @06,@PC00001+8                                      0350 00595000
         LH    @15,LASTCOND(,@06)                                  0350 00596000
         LA    @14,8                                               0350 00597000
         CR    @15,@14                                             0350 00598000
         BNL   *+6                                                      00599000
         LR    @15,@14                                             0350 00600000
         STH   @15,LASTCOND(,@06)                                  0350 00601000
*/*                  END-THEN                                        */ 00602000
*                    END;                                          0351 00603000
*/*              END-THEN (MSS NOT BEING MIMICKED)                   */ 00604000
*                END;                                              0352 00605000
*/*            ELSE ( MSS IS BEING MIMICKED)                         */ 00606000
*              ELSE DO;                                            0353 00607000
*                                                                  0353 00608000
         B     @RC00335                                            0353 00609000
@RF00335 DS    0H                                                  0354 00610000
*/*              ISSUE WARNING MESSAGE (MSGIPLB) (UPRINT)            */ 00611000
*                DARGSENT = MSGIPLB;                               0354 00612000
         L     @06,DDSTRU                                          0354 00613000
         MVI   DARGSENT(@06),X'0A'                                 0354 00614000
*                CALL ICKTPPR0 (GDTTBL                             0355 00615000
*                       ,PRTFILE                                   0355 00616000
*                       ,DDSTRU);                                  0355 00617000
         L     @06,@PC00001                                        0355 00618000
         ST    @06,@AL00001                                        0355 00619000
         LA    @15,@CF00094                                        0355 00620000
         ST    @15,@AL00001+4                                      0355 00621000
         LA    @15,DDSTRU                                          0355 00622000
         ST    @15,@AL00001+8                                      0355 00623000
         MVI   @AL00001+8,X'80'                                    0355 00624000
         L     @15,GDTPRT(,@06)                                    0355 00625000
         LA    @01,@AL00001                                        0355 00626000
         BALR  @14,@15                                             0355 00627000
*/*              INDICATE MINOR ERROR                                */ 00628000
*                LASTCOND = MAX(LASTCC04,LASTCOND);                0356 00629000
         L     @06,@PC00001+8                                      0356 00630000
         LH    @15,LASTCOND(,@06)                                  0356 00631000
         LA    @14,4                                               0356 00632000
         CR    @15,@14                                             0356 00633000
         BNL   *+6                                                      00634000
         LR    @15,@14                                             0356 00635000
         STH   @15,LASTCOND(,@06)                                  0356 00636000
*/*              END-ELSE                                            */ 00637000
*                END;                                              0357 00638000
*/*          END-THEN (IPL PROGRAM IS SUPPLIED)                      */ 00639000
*            END;                                                  0358 00640000
@RC00335 DS    0H                                                  0359 00641000
*/*      END-THEN                                                    */ 00642000
*        END;                                                      0359 00643000
@RF00333 DS    0H                                                  0360 00644000
         EJECT                                                          00645000
*/*  PRODUCE_PACK_MAP                                                */ 00646000
*    IF LASTCOND < LASTCC12                                        0360 00647000
*      THEN DO;                                                    0360 00648000
*                                                                  0360 00649000
@RF00331 L     @06,@PC00001+8                                      0360 00650000
         LH    @06,LASTCOND(,@06)                                  0360 00651000
         CH    @06,@CH00265                                        0360 00652000
         BNL   @RF00360                                            0360 00653000
*        IF ADDR(MAP) ^= NULLPTR                                   0362 00654000
*          THEN DO;    PRTFLG = PRINT; END;                        0362 00655000
         L     @06,@PC00001+4                                      0362 00656000
         L     @06,FDTPTR+80(,@06)                                 0362 00657000
         LTR   @06,@06                                             0362 00658000
         BZ    @RF00362                                            0362 00659000
         OI    PRTFLG,B'10000000'                                  0364 00660000
*          ELSE DO;    PRTFLG = NOPRINT; END;                      0366 00661000
         B     @RC00362                                            0366 00662000
@RF00362 DS    0H                                                  0367 00663000
         NI    PRTFLG,B'01111111'                                  0367 00664000
*        IF ADDR(CHECK) ^= NULLPTR                                 0369 00665000
*          THEN DO;    CHKFLG = ON; END;                           0369 00666000
@RC00362 L     @06,@PC00001+4                                      0369 00667000
         L     @06,FDTPTR+12(,@06)                                 0369 00668000
         LTR   @06,@06                                             0369 00669000
         BZ    @RF00369                                            0369 00670000
         OI    CHKFLG,B'10000000'                                  0371 00671000
*          ELSE DO;    CHKFLG = OFF; END;                          0373 00672000
         B     @RC00369                                            0373 00673000
@RF00369 DS    0H                                                  0374 00674000
         NI    CHKFLG,B'01111111'                                  0374 00675000
*        END;                                                      0376 00676000
*      ELSE DO;    PRTFLG = NOPRINT; END;                          0377 00677000
         B     @RC00360                                            0377 00678000
@RF00360 DS    0H                                                  0378 00679000
         NI    PRTFLG,B'01111111'                                  0378 00680000
*    CALL ICKPP01                                                  0380 00681000
*         (GDTTBL                                                  0380 00682000
*         ,VOLIB                                                   0380 00683000
*         ,PRTFLG                                                  0380 00684000
*         ,CHKFLG                                                  0380 00685000
*         ,VTOCLOC                                                 0380 00686000
*         ,VTOCEXT                                                 0380 00687000
*         ,ALTCOUNT                                                0380 00688000
*         ,RETCODE);                                               0380 00689000
@RC00360 L     @06,@PC00001                                        0380 00690000
         ST    @06,@AL00001                                        0380 00691000
         LA    @06,VOLIB                                           0380 00692000
         ST    @06,@AL00001+4                                      0380 00693000
         LA    @06,PRTFLG                                          0380 00694000
         ST    @06,@AL00001+8                                      0380 00695000
         LA    @06,CHKFLG                                          0380 00696000
         ST    @06,@AL00001+12                                     0380 00697000
         LA    @06,VTOCLOC                                         0380 00698000
         ST    @06,@AL00001+16                                     0380 00699000
         LA    @06,VTOCEXT                                         0380 00700000
         ST    @06,@AL00001+20                                     0380 00701000
         LA    @06,ALTCOUNT                                        0380 00702000
         ST    @06,@AL00001+24                                     0380 00703000
         LA    @06,RETCODE                                         0380 00704000
         ST    @06,@AL00001+28                                     0380 00705000
         L     @15,@CV00775                                        0380 00706000
         LA    @01,@AL00001                                        0380 00707000
         BALR  @14,@15                                             0380 00708000
*/*  CLOSE THE VOLUME (UDEVCLSE)                                     */ 00709000
*    CALL ICKDVCL0 (GDTTBL                                         0381 00710000
*             ,VOLIB                                               0381 00711000
*             ,RETCODE);                                           0381 00712000
         L     @06,@PC00001                                        0381 00713000
         ST    @06,@AL00001                                        0381 00714000
         LA    @15,VOLIB                                           0381 00715000
         ST    @15,@AL00001+4                                      0381 00716000
         LA    @15,RETCODE                                         0381 00717000
         ST    @15,@AL00001+8                                      0381 00718000
         L     @15,GDTDVC(,@06)                                    0381 00719000
         LA    @01,@AL00001                                        0381 00720000
         BALR  @14,@15                                             0381 00721000
*/*  IF UNABLE TO CLOSE THE VOLUME                                   */ 00722000
*    IF RETCODE = FAILURE                                          0382 00723000
*/*    THEN                                                          */ 00724000
*      THEN DO;                                                    0382 00725000
*                                                                  0382 00726000
         CLC   RETCODE(4),@CF00165                                 0382 00727000
         BNE   @RF00382                                            0382 00728000
*/*      ISSUE WARNING MESSAGE (MSGCLSEA) (UPRINT)                   */ 00729000
*        DARGSENT = MSGCLSEA;                                      0384 00730000
         L     @06,DDSTRU                                          0384 00731000
         MVI   DARGSENT(@06),X'0B'                                 0384 00732000
*        CALL ICKTPPR0 (GDTTBL                                     0385 00733000
*               ,PRTFILE                                           0385 00734000
*               ,DDSTRU);                                          0385 00735000
         L     @06,@PC00001                                        0385 00736000
         ST    @06,@AL00001                                        0385 00737000
         LA    @15,@CF00094                                        0385 00738000
         ST    @15,@AL00001+4                                      0385 00739000
         LA    @15,DDSTRU                                          0385 00740000
         ST    @15,@AL00001+8                                      0385 00741000
         MVI   @AL00001+8,X'80'                                    0385 00742000
         L     @15,GDTPRT(,@06)                                    0385 00743000
         LA    @01,@AL00001                                        0385 00744000
         BALR  @14,@15                                             0385 00745000
*/*      INDICATE MINOR ERROR UNLESS PREVIOUS ERROR WAS SEVERE       */ 00746000
*        LASTCOND = MAX (LASTCOND,LASTCC04);                       0386 00747000
         L     @06,@PC00001+8                                      0386 00748000
         LH    @15,LASTCOND(,@06)                                  0386 00749000
         LA    @14,4                                               0386 00750000
         CR    @15,@14                                             0386 00751000
         BNL   *+6                                                      00752000
         LR    @15,@14                                             0386 00753000
         STH   @15,LASTCOND(,@06)                                  0386 00754000
*/*      END-THEN                                                    */ 00755000
*        END;                                                      0387 00756000
*/*  RETURN                                                          */ 00757000
*    DARGSMOD = MSGUNIV;                                           0388 00758000
@RF00382 L     @06,DDSTRU                                          0388 00759000
         MVC   DARGSMOD(3,@06),@CC00573                            0388 00760000
*    IF LASTCOND >= LASTCC12                                       0389 00761000
*      THEN DO;    DARGSENT = MSGUNIVB; END;                       0389 00762000
         L     @15,@PC00001+8                                      0389 00763000
         LH    @15,LASTCOND(,@15)                                  0389 00764000
         CH    @15,@CH00265                                        0389 00765000
         BL    @RF00389                                            0389 00766000
         MVI   DARGSENT(@06),X'03'                                 0391 00767000
*      ELSE DO;    DARGSENT = MSGUNIVA; END;                       0393 00768000
         B     @RC00389                                            0393 00769000
@RF00389 DS    0H                                                  0394 00770000
         L     @06,DDSTRU                                          0394 00771000
         MVI   DARGSENT(@06),X'01'                                 0394 00772000
*    DARGDBP = ADDR (LASTCOND);                                    0396 00773000
@RC00389 L     @06,DDSTRU                                          0396 00774000
         L     @15,@PC00001+8                                      0396 00775000
         ST    @15,DARGDBP(,@06)                                   0396 00776000
*    DARGILP = LENGTH (LASTCOND);                                  0397 00777000
         MVC   DARGILP(2,@06),@CH00116                             0397 00778000
*    CALL ICKTPPR0 (GDTTBL                                         0398 00779000
*           ,PRTFILE                                               0398 00780000
*           ,DDSTRU);                                              0398 00781000
         L     @06,@PC00001                                        0398 00782000
         ST    @06,@AL00001                                        0398 00783000
         LA    @15,@CF00094                                        0398 00784000
         ST    @15,@AL00001+4                                      0398 00785000
         LA    @15,DDSTRU                                          0398 00786000
         ST    @15,@AL00001+8                                      0398 00787000
         MVI   @AL00001+8,X'80'                                    0398 00788000
         L     @15,GDTPRT(,@06)                                    0398 00789000
         LA    @01,@AL00001                                        0398 00790000
         BALR  @14,@15                                             0398 00791000
*    CALL ICKSAFP0 (GDTTBL                                         0399 00792000
*           ,POOLID);                                              0399 00793000
         L     @06,@PC00001                                        0399 00794000
         ST    @06,@AL00001                                        0399 00795000
         LA    @15,POOLID                                          0399 00796000
         ST    @15,@AL00001+4                                      0399 00797000
         MVI   @AL00001+4,X'80'                                    0399 00798000
         L     @15,GDTFPL(,@06)                                    0399 00799000
         LA    @01,@AL00001                                        0399 00800000
         BALR  @14,@15                                             0399 00801000
*    IF GDTDBG = NULLPTR                                           0400 00802000
*      THEN;                                                       0400 00803000
         L     @06,@PC00001                                        0400 00804000
         L     @06,GDTDBG(,@06)                                    0400 00805000
         LTR   @06,@06                                             0400 00806000
         BZ    @RT00400                                            0400 00807000
*      ELSE                                                        0402 00808000
*        CALL ICKDB010 (GDTTBL                                     0402 00809000
*          ,'IN99');                                               0402 00810000
         L     @06,@PC00001                                        0402 00811000
         ST    @06,@AL00001                                        0402 00812000
         LA    @15,@CC00776                                        0402 00813000
         ST    @15,@AL00001+4                                      0402 00814000
         MVI   @AL00001+4,X'80'                                    0402 00815000
         L     @15,GDTDBG(,@06)                                    0402 00816000
         LA    @01,@AL00001                                        0402 00817000
         BALR  @14,@15                                             0402 00818000
*     CALL ICKSAEP0(GDTTBL,MODID);                                 0403 00819000
*                                                                  0403 00820000
@RT00400 L     @06,@PC00001                                        0403 00821000
         ST    @06,@AL00001                                        0403 00822000
         LA    @15,MODID                                           0403 00823000
         ST    @15,@AL00001+4                                      0403 00824000
         MVI   @AL00001+4,X'80'                                    0403 00825000
         L     @15,GDTEPL(,@06)                                    0403 00826000
         LA    @01,@AL00001                                        0403 00827000
         BALR  @14,@15                                             0403 00828000
         EJECT                                                          00829000
*/*****  START OF SPECIFICATIONS  ************************************/ 00830000
*/*                                                                  */ 00831000
*/*  SUB-PROCEDURE NAME:  OPENVOL                                    */ 00832000
*/*                                                                  */ 00833000
*/*  DESCRIPTIVE NAME:  ISSUE OPEN VOLUME                            */ 00834000
*/*                                                                  */ 00835000
*/*  FUNCTION:                                                       */ 00836000
*/*                                                                  */ 00837000
*/*    THIS SUBPROCEDURE INVOKES THE DEVICE ADAPTER MODULE THAT      */ 00838000
*/*    OPENS THE VOLUME FOR SUBSEQUENT PROCESSING. IT ALSO ENSURES   */ 00839000
*/*    THAT THE VOLUME IS MOUNTED PRIVATE WHEN THE VOLUME IS ON-LINE.*/ 00840000
*/*                                                                  */ 00841000
*/*****  END OF SPECIFICATIONS  **************************************/ 00842000
*                                                                  0404 00843000
*                                                                  0404 00844000
*/*  SUB-PROCEDURE ISSUE_OPEN_VOLUME                                 */ 00845000
*    OPENVOL:                                                      0404 00846000
*      PROCEDURE;                                                  0404 00847000
OPENVOL  STM   @14,@12,@SA00002                                    0404 00848000
*    OLDERID2 = NEWERID2;                                          0405 00849000
         L     @06,@PC00001                                        0405 00850000
         L     @06,GDTTR2(,@06)                                    0405 00851000
         MVC   @TS00001(95),NEWERID2(@06)                          0405 00852000
         MVC   OLDERID2(95,@06),@TS00001                           0405 00853000
*    NEWID2 =  'INOP';                                             0406 00854000
         MVC   NEWID2(4,@06),@CC00780                              0406 00855000
*/*  OPEN THE VOLUME FOR PROCESSING (UDEVOPEN)                       */ 00856000
*/*  SET UP THE MSS PARAMETER                                        */ 00857000
*    IF (ADDR(MIMIC) ^= NULLPTR) & (ADDR(MSS) ^= NULLPTR)          0407 00858000
*      THEN DO;    MSSDEV = 'MSS'; END;                            0407 00859000
         SLR   @06,@06                                             0407 00860000
         L     @15,@PC00001+4                                      0407 00861000
         C     @06,FDTPTR+88(,@15)                                 0407 00862000
         BE    @RF00407                                            0407 00863000
         C     @06,FDTPTR+92(,@15)                                 0407 00864000
         BE    @RF00407                                            0407 00865000
         MVI   MSSDEV+3,C' '                                       0409 00866000
         MVC   MSSDEV+4(4),MSSDEV+3                                0409 00867000
         MVC   MSSDEV(3),@CC00781                                  0409 00868000
*      ELSE DO;    MSSDEV = ' '; END;                              0411 00869000
         B     @RC00407                                            0411 00870000
@RF00407 DS    0H                                                  0412 00871000
         MVI   MSSDEV+1,C' '                                       0412 00872000
         MVC   MSSDEV+2(6),MSSDEV+1                                0412 00873000
         MVI   MSSDEV,C' '                                         0412 00874000
*/*  SET UP THE CUU OR DD-NAME PARAMETER                             */ 00875000
*    IF (ADDR(DEVIC) ^= NULLPTR) & (ADDR(DNAME) = NULLPTR)         0414 00876000
*      THEN DO;                                                    0414 00877000
*                                                                  0414 00878000
@RC00407 SLR   @06,@06                                             0414 00879000
         L     @15,@PC00001+4                                      0414 00880000
         L     @14,FDTPTR(,@15)                                    0414 00881000
         CR    @14,@06                                             0414 00882000
         BE    @RF00414                                            0414 00883000
         C     @06,FDTPTR+100(,@15)                                0414 00884000
         BNE   @RF00414                                            0414 00885000
*        VIBNAME = DEVICVAL;                                       0416 00886000
         MVI   VIBNAME+3,C' '                                      0416 00887000
         MVC   VIBNAME+4(4),VIBNAME+3                              0416 00888000
         MVC   VIBNAME(3),DEVICVAL(@14)                            0416 00889000
*        VIBTYPE = CUUVAL;                                         0417 00890000
         ST    @06,VIBTYPE                                         0417 00891000
*        END;                                                      0418 00892000
*      ELSE DO;                                                    0419 00893000
*                                                                  0419 00894000
         B     @RC00414                                            0419 00895000
@RF00414 DS    0H                                                  0420 00896000
*        VIBNAME = DNAMEVAL;                                       0420 00897000
         L     @06,@PC00001+4                                      0420 00898000
         L     @06,FDTPTR+100(,@06)                                0420 00899000
         MVC   VIBNAME(8),DNAMEVAL(@06)                            0420 00900000
*        VIBTYPE = DDNVAL;                                         0421 00901000
         MVC   VIBTYPE(4),@CF00165                                 0421 00902000
*        END;                                                      0422 00903000
*/*  IF DEVICETYPE IS SUPPLIED                                       */ 00904000
*    IF ADDR (DEVTY) ^= NULLPTR                                    0423 00905000
*/*    THEN PASS THE DEVICE TYPE                                     */ 00906000
*      THEN DO;    DEVTYPE = DEVTYVAL; END;                        0423 00907000
@RC00414 L     @06,@PC00001+4                                      0423 00908000
         L     @06,FDTPTR+104(,@06)                                0423 00909000
         LTR   @06,@06                                             0423 00910000
         BZ    @RF00423                                            0423 00911000
         MVC   DEVTYPE(8),DEVTYVAL(@06)                            0425 00912000
*/*    ELSE INDICATE NO DEVICE TYPE SUPPLIED                         */ 00913000
*      ELSE DO;    DEVTYPE = ' '; END;                             0427 00914000
         B     @RC00423                                            0427 00915000
@RF00423 DS    0H                                                  0428 00916000
         MVI   DEVTYPE+1,C' '                                      0428 00917000
         MVC   DEVTYPE+2(6),DEVTYPE+1                              0428 00918000
         MVI   DEVTYPE,C' '                                        0428 00919000
*    CALL ICKDVON0 (GDTTBL                                         0430 00920000
*             ,VIBNAME                                             0430 00921000
*             ,VIBTYPE                                             0430 00922000
*             ,DEVTYPE                                             0430 00923000
*             ,MSSDEV                                              0430 00924000
*             ,VOLIB                                               0430 00925000
*             ,RETCODE);                                           0430 00926000
@RC00423 L     @06,@PC00001                                        0430 00927000
         ST    @06,@AL00001                                        0430 00928000
         LA    @15,VIBNAME                                         0430 00929000
         ST    @15,@AL00001+4                                      0430 00930000
         LA    @15,VIBTYPE                                         0430 00931000
         ST    @15,@AL00001+8                                      0430 00932000
         LA    @15,DEVTYPE                                         0430 00933000
         ST    @15,@AL00001+12                                     0430 00934000
         LA    @15,MSSDEV                                          0430 00935000
         ST    @15,@AL00001+16                                     0430 00936000
         LA    @15,VOLIB                                           0430 00937000
         ST    @15,@AL00001+20                                     0430 00938000
         LA    @15,RETCODE                                         0430 00939000
         ST    @15,@AL00001+24                                     0430 00940000
         L     @15,GDTDVO(,@06)                                    0430 00941000
         LA    @01,@AL00001                                        0430 00942000
         BALR  @14,@15                                             0430 00943000
*/*  IF CUU OR DD-NAME IS INVALID                                    */ 00944000
*    IF RETCODE = INVALCUU                                         0431 00945000
*/*    THEN                                                          */ 00946000
*      THEN DO;                                                    0431 00947000
*                                                                  0431 00948000
         CLC   RETCODE(4),@CF00165                                 0431 00949000
         BNE   @RF00431                                            0431 00950000
*/*      ISSUE ERROR MESSAGE (MSGINCUU) (UPRINT)                     */ 00951000
*        DARGSENT = MSGINCUU;                                      0433 00952000
         L     @06,DDSTRU                                          0433 00953000
         MVI   DARGSENT(@06),X'18'                                 0433 00954000
*        CALL ICKTPPR0 (GDTTBL                                     0434 00955000
*               ,PRTFILE                                           0434 00956000
*               ,DDSTRU);                                          0434 00957000
         L     @06,@PC00001                                        0434 00958000
         ST    @06,@AL00001                                        0434 00959000
         LA    @15,@CF00094                                        0434 00960000
         ST    @15,@AL00001+4                                      0434 00961000
         LA    @15,DDSTRU                                          0434 00962000
         ST    @15,@AL00001+8                                      0434 00963000
         MVI   @AL00001+8,X'80'                                    0434 00964000
         L     @15,GDTPRT(,@06)                                    0434 00965000
         LA    @01,@AL00001                                        0434 00966000
         BALR  @14,@15                                             0434 00967000
*/*      INDICATE SEVERE ERROR (LASTCOND = 12)                       */ 00968000
*        LASTCOND = LASTCC12;                                      0435 00969000
         L     @06,@PC00001+8                                      0435 00970000
         MVC   LASTCOND(2,@06),@CH00265                            0435 00971000
*/*      END-THEN                                                    */ 00972000
*        END;                                                      0436 00973000
*/*  IF NO ERRORS FOUND SO FAR                                       */ 00974000
*    IF LASTCOND < LASTCC12                                        0437 00975000
*/*    THEN                                                          */ 00976000
*      THEN DO;                                                    0437 00977000
*                                                                  0437 00978000
@RF00431 L     @06,@PC00001+8                                      0437 00979000
         LH    @06,LASTCOND(,@06)                                  0437 00980000
         CH    @06,@CH00265                                        0437 00981000
         BNL   @RF00437                                            0437 00982000
*/*      IF UNABLE TO OPEN VOLUME                                    */ 00983000
*        IF RETCODE = NOOPEN                                       0439 00984000
*/*        THEN                                                      */ 00985000
*          THEN DO;                                                0439 00986000
*                                                                  0439 00987000
         CLC   RETCODE(4),@CF00116                                 0439 00988000
         BNE   @RF00439                                            0439 00989000
*/*          ISSUE ERROR MESSAGE (MSGNOPEN) (UPRINT)                 */ 00990000
*            DARGSENT = MSGNOPEN;                                  0441 00991000
         L     @06,DDSTRU                                          0441 00992000
         MVI   DARGSENT(@06),X'19'                                 0441 00993000
*            CALL ICKTPPR0 (GDTTBL                                 0442 00994000
*                   ,PRTFILE                                       0442 00995000
*                   ,DDSTRU);                                      0442 00996000
         L     @06,@PC00001                                        0442 00997000
         ST    @06,@AL00001                                        0442 00998000
         LA    @15,@CF00094                                        0442 00999000
         ST    @15,@AL00001+4                                      0442 01000000
         LA    @15,DDSTRU                                          0442 01001000
         ST    @15,@AL00001+8                                      0442 01002000
         MVI   @AL00001+8,X'80'                                    0442 01003000
         L     @15,GDTPRT(,@06)                                    0442 01004000
         LA    @01,@AL00001                                        0442 01005000
         BALR  @14,@15                                             0442 01006000
*/*          INDICATE SEVERE ERROR (LASTCOND = 12)                   */ 01007000
*            LASTCOND = LASTCC12;                                  0443 01008000
         L     @06,@PC00001+8                                      0443 01009000
         MVC   LASTCOND(2,@06),@CH00265                            0443 01010000
*/*          END-THEN                                                */ 01011000
*            END;                                                  0444 01012000
*/*      END-THEN                                                    */ 01013000
*        END;                                                      0445 01014000
@RF00439 DS    0H                                                  0446 01015000
*/*  IF NO ERRORS FOUND SO FAR                                       */ 01016000
*    IF LASTCOND < LASTCC12                                        0446 01017000
*/*    THEN                                                          */ 01018000
*      THEN DO;                                                    0446 01019000
*                                                                  0446 01020000
@RF00437 L     @06,@PC00001+8                                      0446 01021000
         LH    @06,LASTCOND(,@06)                                  0446 01022000
         CH    @06,@CH00265                                        0446 01023000
         BNL   @RF00446                                            0446 01024000
*/*      IF CUU WAS SPECIFIED FOR AN ON-LINE VOLUME                  */ 01025000
*        IF RETCODE = RCCUUONL                                     0448 01026000
*/*        THEN                                                      */ 01027000
*          THEN DO;                                                0448 01028000
*                                                                  0448 01029000
         CLC   RETCODE(4),@CF00136                                 0448 01030000
         BNE   @RF00448                                            0448 01031000
*/*          ISSUE AN ERROR MESSAGE (MSGLINE)                        */ 01032000
*            DARGSENT = MSGLINE;                                   0450 01033000
         L     @06,DDSTRU                                          0450 01034000
         MVI   DARGSENT(@06),X'31'                                 0450 01035000
*            CALL ICKTPPR0 (GDTTBL                                 0451 01036000
*                   ,PRTFILE                                       0451 01037000
*                   ,DDSTRU);                                      0451 01038000
         L     @06,@PC00001                                        0451 01039000
         ST    @06,@AL00001                                        0451 01040000
         LA    @15,@CF00094                                        0451 01041000
         ST    @15,@AL00001+4                                      0451 01042000
         LA    @15,DDSTRU                                          0451 01043000
         ST    @15,@AL00001+8                                      0451 01044000
         MVI   @AL00001+8,X'80'                                    0451 01045000
         L     @15,GDTPRT(,@06)                                    0451 01046000
         LA    @01,@AL00001                                        0451 01047000
         BALR  @14,@15                                             0451 01048000
*/*          INDICATE A SEVERE ERROR                                 */ 01049000
*            LASTCOND = LASTCC12;                                  0452 01050000
         L     @06,@PC00001+8                                      0452 01051000
         MVC   LASTCOND(2,@06),@CH00265                            0452 01052000
*/*          END-THEN                                                */ 01053000
*            END;                                                  0453 01054000
*/*      END-THEN                                                    */ 01055000
*        END;                                                      0454 01056000
@RF00448 DS    0H                                                  0455 01057000
*/*  IF NO ERRORS FOUND SO FAR                                       */ 01058000
*    IF LASTCOND < LASTCC12                                        0455 01059000
*/*    THEN                                                          */ 01060000
*      THEN DO;                                                    0455 01061000
*                                                                  0455 01062000
@RF00446 L     @06,@PC00001+8                                      0455 01063000
         LH    @06,LASTCOND(,@06)                                  0455 01064000
         CH    @06,@CH00265                                        0455 01065000
         BNL   @RF00455                                            0455 01066000
*/*      IF SUCCESSFUL IN OPENING THE VOLUME                         */ 01067000
*        IF RETCODE = SUCCESS                                      0457 01068000
*/*        THEN                                                      */ 01069000
*          THEN DO;                                                0457 01070000
*                                                                  0457 01071000
         L     @06,RETCODE                                         0457 01072000
         LTR   @06,@06                                             0457 01073000
         BNZ   @RF00457                                            0457 01074000
*/*          OBTAIN INFORMATION ABOUT TYPE OF MOUNTING (UDEVINFO)    */ 01075000
*            CALL ICKDVIN0 (GDTTBL                                 0459 01076000
*                     ,VOLIB                                       0459 01077000
*                     ,VOLPRVOL                                    0459 01078000
*                     ,POOLID                                      0459 01079000
*                     ,VIBPTR                                      0459 01080000
*                     ,VIBLEN                                      0459 01081000
*                     ,RETCODE);                                   0459 01082000
         L     @06,@PC00001                                        0459 01083000
         ST    @06,@AL00001                                        0459 01084000
         LA    @15,VOLIB                                           0459 01085000
         ST    @15,@AL00001+4                                      0459 01086000
         LA    @15,@CF00161                                        0459 01087000
         ST    @15,@AL00001+8                                      0459 01088000
         LA    @15,POOLID                                          0459 01089000
         ST    @15,@AL00001+12                                     0459 01090000
         LA    @15,VIBPTR                                          0459 01091000
         ST    @15,@AL00001+16                                     0459 01092000
         LA    @15,VIBLEN                                          0459 01093000
         ST    @15,@AL00001+20                                     0459 01094000
         LA    @15,RETCODE                                         0459 01095000
         ST    @15,@AL00001+24                                     0459 01096000
         L     @15,GDTDIN(,@06)                                    0459 01097000
         LA    @01,@AL00001                                        0459 01098000
         BALR  @14,@15                                             0459 01099000
*/*          IF THE VOLUME IS NOT MOUNTED PRIVATE AND DD-NAME        */ 01100000
*/*           IS SPECIFIED                                           */ 01101000
*            IF VIBPFLAG = OFF & VIBTYPE = DDNVAL                  0460 01102000
*/*            THEN                                                  */ 01103000
*              THEN DO;                                            0460 01104000
*                                                                  0460 01105000
         L     @06,VIBPTR                                          0460 01106000
         TM    VIBPFLAG(@06),B'10000000'                           0460 01107000
         BNZ   @RF00460                                            0460 01108000
         CLC   VIBTYPE(4),@CF00165                                 0460 01109000
         BNE   @RF00460                                            0460 01110000
*/*              ISSUE ERROR MESSAGE (MSGNPRIV) (UPRINT)             */ 01111000
*                DARGSENT = MSGNPRIV;                              0462 01112000
         L     @06,DDSTRU                                          0462 01113000
         MVI   DARGSENT(@06),X'1A'                                 0462 01114000
*                CALL ICKTPPR0 (GDTTBL                             0463 01115000
*                       ,PRTFILE                                   0463 01116000
*                       ,DDSTRU);                                  0463 01117000
         L     @06,@PC00001                                        0463 01118000
         ST    @06,@AL00001                                        0463 01119000
         LA    @15,@CF00094                                        0463 01120000
         ST    @15,@AL00001+4                                      0463 01121000
         LA    @15,DDSTRU                                          0463 01122000
         ST    @15,@AL00001+8                                      0463 01123000
         MVI   @AL00001+8,X'80'                                    0463 01124000
         L     @15,GDTPRT(,@06)                                    0463 01125000
         LA    @01,@AL00001                                        0463 01126000
         BALR  @14,@15                                             0463 01127000
*/*              INDICATE SEVERE ERROR (LASTCOND = 12)               */ 01128000
*                LASTCOND = LASTCC12;                              0464 01129000
         L     @06,@PC00001+8                                      0464 01130000
         MVC   LASTCOND(2,@06),@CH00265                            0464 01131000
*/*              END-THEN                                            */ 01132000
*                END;                                              0465 01133000
*/*          END-THEN (OPEN WAS SUCCESSFUL)                          */ 01134000
*            END;                                                  0466 01135000
*/*      END-THEN                                                    */ 01136000
*        END;                                                      0467 01137000
*/*  END-SUB-PROCEDURE ISSUE_OPEN_VOLUME                             */ 01138000
*    END OPENVOL;                                                  0468 01139000
@EL00002 DS    0H                                                  0468 01140000
@EF00002 DS    0H                                                  0468 01141000
@ER00002 LM    @14,@12,@SA00002                                    0468 01142000
         BR    @14                                                 0468 01143000
         EJECT                                                          01144000
*/*****  START OF SPECIFICATIONS  ************************************/ 01145000
*/*                                                                  */ 01146000
*/*  SUB-PROCEDURE NAME:  PACKINFO                                   */ 01147000
*/*                                                                  */ 01148000
*/*  DESCRIPTIVE NAME:  OBTAIN PACK INFORMATION                      */ 01149000
*/*                                                                  */ 01150000
*/*  FUNCTION:                                                       */ 01151000
*/*                                                                  */ 01152000
*/*    THIS SUB-PROCEDURE OBTAINS DEVICE INFORMATION FROM THE        */ 01153000
*/*    DEVICE INFORMATION TABLE (DIT) VIA A DEVICE ADAPTER FACILITY  */ 01154000
*/*    (UDEVINFO). ALL THE PACK INFORMATION REQUIRED BY THE COMMAND  */ 01155000
*/*    CONTROLLER IS OBTAINED BY THIS SUB-PROCEDURE.                 */ 01156000
*/*                                                                  */ 01157000
*/*****  END OF SPECIFICATIONS  **************************************/ 01158000
*                                                                  0469 01159000
*                                                                  0469 01160000
*/*  SUB-PROCEDURE OBTAIN_PACK_INFORMATION                           */ 01161000
*    PACKINFO:                                                     0469 01162000
*      PROCEDURE;                                                  0469 01163000
PACKINFO STM   @14,@12,@SA00003                                    0469 01164000
*    OLDERID2 = NEWERID2;                                          0470 01165000
         L     @06,@PC00001                                        0470 01166000
         L     @06,GDTTR2(,@06)                                    0470 01167000
         MVC   @TS00001(95),NEWERID2(@06)                          0470 01168000
         MVC   OLDERID2(95,@06),@TS00001                           0470 01169000
*    NEWID2 =  'INPI';                                             0471 01170000
         MVC   NEWID2(4,@06),@CC00785                              0471 01171000
*/*  OBTAIN FOLLOWING INFORMATION FROM DIT (UDEVINFO):               */ 01172000
*/*   1. THRESHOLD                                                   */ 01173000
*/*   2. NUMBER OF TRACKS PER CYLINDER                               */ 01174000
*/*   3. TOTAL NUMBER OF PRIMARY TRACKS                              */ 01175000
*/*   4. TOTAL NUMBER OF ALTERNATE TRACKS                            */ 01176000
*/*   5. ADDRESS OF THE FIRST ALTERNATE TRACK                        */ 01177000
*/*   6. ADDRESS OF THE LAST ALTERNATE TRACK                         */ 01178000
*/*   7. ADDRESS OF THE LAST PRIMARY TRACK                           */ 01179000
*/*   8. DEFAULT VTOC LOCATION                                       */ 01180000
*/*   9. DEFAULT EXTENT FOR THE VTOC                                 */ 01181000
*/*   10. FIRST TIME INITIALIZATION FLAG.                            */ 01182000
*    DO I = 1 TO INFOSET;                                          0472 01183000
*                                                                  0472 01184000
         LA    I,1                                                 0472 01185000
@DL00472 DS    0H                                                  0473 01186000
*    CALL ICKDVIN0 (GDTTBL                                         0473 01187000
*             ,VOLIB                                               0473 01188000
*             ,INFOVECT (I)                                        0473 01189000
*             ,POOLID                                              0473 01190000
*             ,INFOPTR (I)                                         0473 01191000
*             ,INFOLEN (I)                                         0473 01192000
*             ,CONDCODE (I));                                      0473 01193000
         L     @06,@PC00001                                        0473 01194000
         ST    @06,@AL00001                                        0473 01195000
         LA    @03,VOLIB                                           0473 01196000
         ST    @03,@AL00001+4                                      0473 01197000
         LR    @03,I                                               0473 01198000
         SLA   @03,2                                               0473 01199000
         LA    @03,INFOVECT-4(@03)                                 0473 01200000
         ST    @03,@AL00001+8                                      0473 01201000
         LA    @03,POOLID                                          0473 01202000
         ST    @03,@AL00001+12                                     0473 01203000
         LR    @03,I                                               0473 01204000
         MH    @03,@CH00265                                        0473 01205000
         LA    @15,INFOPTR-12(@03)                                 0473 01206000
         ST    @15,@AL00001+16                                     0473 01207000
         LA    @15,INFOLEN-12(@03)                                 0473 01208000
         ST    @15,@AL00001+20                                     0473 01209000
         LA    @03,CONDCODE-12(@03)                                0473 01210000
         ST    @03,@AL00001+24                                     0473 01211000
         L     @15,GDTDIN(,@06)                                    0473 01212000
         LA    @01,@AL00001                                        0473 01213000
         BALR  @14,@15                                             0473 01214000
*    END;                                                          0474 01215000
         AL    I,@CF00165                                          0474 01216000
         CH    I,@CH00260                                          0474 01217000
         BNH   @DL00472                                            0474 01218000
*/*  END-SUB-PROCEDURE OBTAIN_PACK_INFORMATION                       */ 01219000
*    END PACKINFO;                                                 0475 01220000
*                                                                  0475 01221000
@EL00003 DS    0H                                                  0475 01222000
@EF00003 DS    0H                                                  0475 01223000
@ER00003 LM    @14,@12,@SA00003                                    0475 01224000
         BR    @14                                                 0475 01225000
         EJECT                                                          01226000
*/*****  START OF SPECIFICATIONS  ************************************/ 01227000
*/*                                                                  */ 01228000
*/*  SUB-PROCEDURE NAME:  CHEKPARM                                  */  01229000
*/*                                                                  */ 01230000
*/*  DESCRIPTIVE NAME:  CHECK_PARAMETERS                             */ 01231000
*/*                                                                  */ 01232000
*/*  FUNCTION:                                                       */ 01233000
*/*                                                                  */ 01234000
*/*    THIS SUB-PROCEDURE CHECKS THE PARAMETERS FOR THE FIRST TRACK  */ 01235000
*/*    ON THE PACK AND ESTABLISHES IF PROCESSING CAN CONTINUE.       */ 01236000
*/*    IF A VOLUME LABEL DOES NOT EXIST AND VOLID IS NOT SPECIFIED   */ 01237000
*/*    PROCESSING IS TERMINATED.                                     */ 01238000
*/*    IF AN MSS STAGING PACK IS BEING CREATED AND VOLID IS NOT      */ 01239000
*/*    SPECIFIED THE PROCESSING IS TERMINATED.                       */ 01240000
*/*    THE VTOC LOCATION AND EXTENT IS ALSO DETERMINED HERE SO       */ 01241000
*/*    THAT THIS INFORMATION IS AVAILABLE READILY IF NEEDED BY OTHER */ 01242000
*/*    SUB-PROCEDURES.                                               */ 01243000
*/*                                                                  */ 01244000
*/*****  END OF SPECIFICATIONS  **************************************/ 01245000
*                                                                  0476 01246000
*                                                                  0476 01247000
*/*  SUB-PROCEDURE CHECK_PARAMETERS                                  */ 01248000
*    CHEKPARM:                                                     0476 01249000
*      PROCEDURE;                                                  0476 01250000
CHEKPARM STM   @14,@12,@SA00004                                    0476 01251000
*    OLDERID2 = NEWERID2;                                          0477 01252000
         L     @06,@PC00001                                        0477 01253000
         L     @15,GDTTR2(,@06)                                    0477 01254000
         MVC   @TS00001(95),NEWERID2(@15)                          0477 01255000
         MVC   OLDERID2(95,@15),@TS00001                           0477 01256000
*    NEWID2 =  'INCP';                                             0478 01257000
         MVC   NEWID2(4,@15),@CC00789                              0478 01258000
*/*  IF VOLUME LABEL DOES NOT EXIST                                  */ 01259000
*    IF LABFLAG = LABNO                                            0479 01260000
*/*    THEN                                                          */ 01261000
*      THEN DO;                                                    0479 01262000
*                                                                  0479 01263000
         TM    LABFLAG,B'10000000'                                 0479 01264000
         BNZ   @RF00479                                            0479 01265000
*/*      IF VOLID IS NOT SUPPLIED                                    */ 01266000
*        IF ADDR(VOLID) = NULLPTR                                  0481 01267000
*/*        THEN                                                      */ 01268000
*          THEN DO;                                                0481 01269000
*                                                                  0481 01270000
         L     @15,@PC00001+4                                      0481 01271000
         L     @15,FDTPTR+40(,@15)                                 0481 01272000
         LTR   @15,@15                                             0481 01273000
         BNZ   @RF00481                                            0481 01274000
*/*          ISSUE ERROR MESSAGE (MSGVOLA) (UPRINT)                  */ 01275000
*            DARGSENT = MSGVOLA;                                   0483 01276000
         L     @01,DDSTRU                                          0483 01277000
         MVI   DARGSENT(@01),X'0D'                                 0483 01278000
*            CALL ICKTPPR0 (GDTTBL                                 0484 01279000
*                   ,PRTFILE                                       0484 01280000
*                   ,DDSTRU);                                      0484 01281000
         ST    @06,@AL00001                                        0484 01282000
         LA    @15,@CF00094                                        0484 01283000
         ST    @15,@AL00001+4                                      0484 01284000
         LA    @15,DDSTRU                                          0484 01285000
         ST    @15,@AL00001+8                                      0484 01286000
         MVI   @AL00001+8,X'80'                                    0484 01287000
         L     @15,GDTPRT(,@06)                                    0484 01288000
         LA    @01,@AL00001                                        0484 01289000
         BALR  @14,@15                                             0484 01290000
*/*          INDICATE SEVERE ERROR (LASTCOND = 12)                   */ 01291000
*            LASTCOND = LASTCC12;                                  0485 01292000
         L     @06,@PC00001+8                                      0485 01293000
         MVC   LASTCOND(2,@06),@CH00265                            0485 01294000
*/*          END-THEN (VOLID NOT SUPPLIED)                           */ 01295000
*            END;                                                  0486 01296000
*/*      END-THEN (VOLUME LABEL DOES NOT EXIST)                      */ 01297000
*        END;                                                      0487 01298000
@RF00481 DS    0H                                                  0488 01299000
*/*  IF NO SEVERE ERRORS                                             */ 01300000
*    IF LASTCOND < LASTCC12                                        0488 01301000
*/*    THEN                                                          */ 01302000
*      THEN DO;                                                    0488 01303000
*                                                                  0488 01304000
@RF00479 L     @06,@PC00001+8                                      0488 01305000
         LH    @06,LASTCOND(,@06)                                  0488 01306000
         CH    @06,@CH00265                                        0488 01307000
         BNL   @RF00488                                            0488 01308000
*/*      IF VTOC LOCATION IS NOT SPECIFIED                           */ 01309000
*        IF ADDR(VTOC) = NULLPTR                                   0490 01310000
*/*        THEN SET VTOC LOCATION TO DEFAULT                         */ 01311000
*          THEN DO;                                                0490 01312000
*                                                                  0490 01313000
         L     @06,@PC00001+4                                      0490 01314000
         L     @06,FDTPTR+28(,@06)                                 0490 01315000
         LTR   @06,@06                                             0490 01316000
         BNZ   @RF00490                                            0490 01317000
*            VTOCLOCC = DEFVTOCC;                                  0492 01318000
         L     @06,INFOPTR+84                                      0492 01319000
         MVC   VTOCLOCC(2),DEFVTOCC(@06)                           0492 01320000
*            VTOCLOCT = DEFVTOCT;                                  0493 01321000
         MVC   VTOCLOCT(2),DEFVTOCT(@06)                           0493 01322000
*            END;                                                  0494 01323000
*/*        ELSE                                                      */ 01324000
*          ELSE DO;                                                0495 01325000
         B     @RC00490                                            0495 01326000
@RF00490 DS    0H                                                  0496 01327000
*/*          IF MIMIC IS SPECIFIED AND DEVICE IS MSS                 */ 01328000
*            IF (ADDR(MIMIC) ^= NULLPTR) & (ADDR(MSS) ^= NULLPTR)  0496 01329000
*/*            THEN                                                  */ 01330000
*              THEN DO;                                            0496 01331000
*                                                                  0496 01332000
         SLR   @06,@06                                             0496 01333000
         L     @15,@PC00001+4                                      0496 01334000
         C     @06,FDTPTR+88(,@15)                                 0496 01335000
         BE    @RF00496                                            0496 01336000
         C     @06,FDTPTR+92(,@15)                                 0496 01337000
         BE    @RF00496                                            0496 01338000
*/*              ISSUE MESSAGE (MSGMSSV)                             */ 01339000
*                DARGSENT = MSGMSSV;                               0498 01340000
         L     @06,DDSTRU                                          0498 01341000
         MVI   DARGSENT(@06),X'32'                                 0498 01342000
*                CALL ICKTPPR0 (GDTTBL                             0499 01343000
*                       ,PRTFILE                                   0499 01344000
*                       ,DDSTRU);                                  0499 01345000
         L     @06,@PC00001                                        0499 01346000
         ST    @06,@AL00001                                        0499 01347000
         LA    @15,@CF00094                                        0499 01348000
         ST    @15,@AL00001+4                                      0499 01349000
         LA    @15,DDSTRU                                          0499 01350000
         ST    @15,@AL00001+8                                      0499 01351000
         MVI   @AL00001+8,X'80'                                    0499 01352000
         L     @15,GDTPRT(,@06)                                    0499 01353000
         LA    @01,@AL00001                                        0499 01354000
         BALR  @14,@15                                             0499 01355000
*/*              FORCE VTOC LOCATION TO THE DEFAULT LOCATION         */ 01356000
*                VTOCLOCC = DEFVTOCC;                              0500 01357000
         L     @06,INFOPTR+84                                      0500 01358000
         MVC   VTOCLOCC(2),DEFVTOCC(@06)                           0500 01359000
*                VTOCLOCT = DEFVTOCT;                              0501 01360000
         MVC   VTOCLOCT(2),DEFVTOCT(@06)                           0501 01361000
*/*              END-THEN                                            */ 01362000
*                END;                                              0502 01363000
*/*            ELSE SET VTOC LOCATION AS SPECIFIED                   */ 01364000
*              ELSE DO;                                            0503 01365000
*                                                                  0503 01366000
         B     @RC00496                                            0503 01367000
@RF00496 DS    0H                                                  0504 01368000
*                CALL DCVTPROC                                     0504 01369000
*                     (TRACKVAL                                    0504 01370000
*                     ,VTOCLOC                                     0504 01371000
*                     ,LEGAL);                                     0504 01372000
         L     @06,@PC00001+4                                      0504 01373000
         L     @06,FDTPTR+32(,@06)                                 0504 01374000
         LA    @06,TRACKVAL(,@06)                                  0504 01375000
         ST    @06,@AL00001                                        0504 01376000
         LA    @06,VTOCLOC                                         0504 01377000
         ST    @06,@AL00001+4                                      0504 01378000
         LA    @06,LEGAL                                           0504 01379000
         ST    @06,@AL00001+8                                      0504 01380000
         LA    @01,@AL00001                                        0504 01381000
         BAL   @14,DCVTPROC                                        0504 01382000
*                IF LEGAL = NO                                     0505 01383000
*                  THEN DO;                                        0505 01384000
*                                                                  0505 01385000
         TM    LEGAL,B'10000000'                                   0505 01386000
         BNZ   @RF00505                                            0505 01387000
*                    DARGSENT = MSGVTOCA;                          0507 01388000
         L     @06,DDSTRU                                          0507 01389000
         MVI   DARGSENT(@06),X'03'                                 0507 01390000
*                    DARGCNT = 1;                                  0508 01391000
         LA    @15,1                                               0508 01392000
         STH   @15,DARGCNT(,@06)                                   0508 01393000
*                    DARGINS (1) = 1;                              0509 01394000
         STH   @15,DARGINS(,@06)                                   0509 01395000
*                    DARGINL (1) = LENGTH (TRACKVAL);              0510 01396000
         MVC   DARGINL(2,@06),@CH00260                             0510 01397000
*                    DARGDTM (1) = ADDR (TRACKVAL);                0511 01398000
         L     @15,@PC00001+4                                      0511 01399000
         L     @01,FDTPTR+32(,@15)                                 0511 01400000
         LA    @15,TRACKVAL(,@01)                                  0511 01401000
         ST    @15,DARGDTM(,@06)                                   0511 01402000
*                    CALL ICKTPPR0 (GDTTBL                         0512 01403000
*                           ,PRTFILE                               0512 01404000
*                           ,DDSTRU);                              0512 01405000
         L     @06,@PC00001                                        0512 01406000
         ST    @06,@AL00001                                        0512 01407000
         LA    @15,@CF00094                                        0512 01408000
         ST    @15,@AL00001+4                                      0512 01409000
         LA    @15,DDSTRU                                          0512 01410000
         ST    @15,@AL00001+8                                      0512 01411000
         MVI   @AL00001+8,X'80'                                    0512 01412000
         L     @15,GDTPRT(,@06)                                    0512 01413000
         LA    @01,@AL00001                                        0512 01414000
         BALR  @14,@15                                             0512 01415000
*                    LASTCOND = LASTCC12;                          0513 01416000
         L     @06,@PC00001+8                                      0513 01417000
         MVC   LASTCOND(2,@06),@CH00265                            0513 01418000
*                    END;                                          0514 01419000
*                END;                                              0515 01420000
@RF00505 DS    0H                                                  0516 01421000
*/*          END-ELSE                                                */ 01422000
*            END;                                                  0516 01423000
@RC00496 DS    0H                                                  0517 01424000
*/*      IF EXTENT IS NOT SPECIFIED                                  */ 01425000
*        IF ADDR(EXTEN) = NULLPTR                                  0517 01426000
*/*        THEN SET EXTENT TO THE DEFAULT VALUE                      */ 01427000
*          THEN DO;    VTOCEXT = DEFEXTEN; END;                    0517 01428000
@RC00490 L     @06,@PC00001+4                                      0517 01429000
         L     @06,FDTPTR+36(,@06)                                 0517 01430000
         LTR   @06,@06                                             0517 01431000
         BNZ   @RF00517                                            0517 01432000
         L     @06,INFOPTR+96                                      0519 01433000
         MVC   VTOCEXT(4),DEFEXTEN(@06)                            0519 01434000
*/*        ELSE                                                      */ 01435000
*          ELSE DO;                                                0521 01436000
*                                                                  0521 01437000
         B     @RC00517                                            0521 01438000
@RF00517 DS    0H                                                  0522 01439000
*/*          IF MIMIC IS SPECIFIED AND DEVICE IS MSS                 */ 01440000
*            IF (ADDR(MIMIC) ^= NULLPTR) & (ADDR(MSS) ^= NULLPTR)  0522 01441000
*/*            THEN FORCE EXTENT TO THE DEFAULT VALUE                */ 01442000
*              THEN DO;    VTOCEXT = DEFEXTEN; END;                0522 01443000
         SLR   @06,@06                                             0522 01444000
         L     @15,@PC00001+4                                      0522 01445000
         C     @06,FDTPTR+88(,@15)                                 0522 01446000
         BE    @RF00522                                            0522 01447000
         C     @06,FDTPTR+92(,@15)                                 0522 01448000
         BE    @RF00522                                            0522 01449000
         L     @06,INFOPTR+96                                      0524 01450000
         MVC   VTOCEXT(4),DEFEXTEN(@06)                            0524 01451000
*/*            ELSE SET EXTENT AS SPECIFIED BY USER                  */ 01452000
*              ELSE DO;    VTOCEXT = EXTENVAL; END;                0526 01453000
         B     @RC00522                                            0526 01454000
@RF00522 DS    0H                                                  0527 01455000
         L     @06,@PC00001+4                                      0527 01456000
         L     @06,FDTPTR+36(,@06)                                 0527 01457000
         MVC   VTOCEXT(4),EXTENVAL(@06)                            0527 01458000
*/*          END-ELSE                                                */ 01459000
*            END;                                                  0529 01460000
@RC00522 DS    0H                                                  0530 01461000
*/*        COMPUTE THE VALUE OF LAST TRACK OF THE VTOC               */ 01462000
*          VTOCRTAL = (VTOCLOCC * TRKSPCYL) + (VTOCLOCT -1);       0530 01463000
@RC00517 L     @06,INFOPTR+12                                      0530 01464000
         L     @06,TRKSPCYL(,@06)                                  0530 01465000
         MVC   @ZT00002+2(2),VTOCLOCC                              0530 01466000
         L     @01,@ZT00002                                        0530 01467000
         MR    @00,@06                                             0530 01468000
         LH    VTOCRTAL,VTOCLOCT                                   0530 01469000
         BCTR  VTOCRTAL,0                                          0530 01470000
         ALR   @01,VTOCRTAL                                        0530 01471000
         LR    VTOCRTAL,@01                                        0530 01472000
*          VTOCRTAH = VTOCEXT + VTOCRTAL - 1;                      0531 01473000
         LR    VTOCRTAH,VTOCRTAL                                   0531 01474000
         AL    VTOCRTAH,VTOCEXT                                    0531 01475000
         BCTR  VTOCRTAH,0                                          0531 01476000
*          VTOCHIC = VTOCRTAH/TRKSPCYL;                            0532 01477000
         LR    @00,VTOCRTAH                                        0532 01478000
         SRDA  @00,32                                              0532 01479000
         DR    @00,@06                                             0532 01480000
         STH   @01,VTOCHIC                                         0532 01481000
*          VTOCHIT = VTOCRTAH//TRKSPCYL;                           0533 01482000
         LR    @00,VTOCRTAH                                        0533 01483000
         SRDA  @00,32                                              0533 01484000
         DR    @00,@06                                             0533 01485000
         STH   @00,VTOCHIT                                         0533 01486000
*/*      END-THEN (NO SEVERE ERRORS)                                 */ 01487000
*        END;                                                      0534 01488000
*/*  END-SUB-PROCEDURE CHECK_PARAMETERS                              */ 01489000
*    END CHEKPARM;                                                 0535 01490000
*                                                                  0535 01491000
@EL00004 DS    0H                                                  0535 01492000
@EF00004 DS    0H                                                  0535 01493000
@ER00004 LM    @14,@12,@SA00004                                    0535 01494000
         BR    @14                                                 0535 01495000
         EJECT                                                          01496000
*/*****  START OF SPECIFICATIONS  ************************************/ 01497000
*/*                                                                  */ 01498000
*/*  SUB-PROCEDURE NAME:  EXALTRA                                    */ 01499000
*/*                                                                  */ 01500000
*/*  DESCRIPTIVE NAME:  EXAMINE ALTERNATE TRACKS                     */ 01501000
*/*                                                                  */ 01502000
*/*  FUNCTION:                                                       */ 01503000
*/*                                                                  */ 01504000
*/*    THIS SUB-PROCEDURE EXAMINES THE ALTERNATE TRACKS FOR          */ 01505000
*/*    MINIMAL INITIALIZATION OF THE PACK.                           */ 01506000
*/*                                                                  */ 01507000
*/*****  END OF SPECIFICATIONS  **************************************/ 01508000
*                                                                  0536 01509000
*                                                                  0536 01510000
*/*  SUB-PROCEDURE EXAMINE_ALTERNATE_TRACKS                          */ 01511000
*    EXALTRA:                                                      0536 01512000
*      PROCEDURE;                                                  0536 01513000
EXALTRA  STM   @14,@12,@SA00005                                    0536 01514000
*    OLDERID2 = NEWERID2;                                          0537 01515000
         L     @06,@PC00001                                        0537 01516000
         L     @06,GDTTR2(,@06)                                    0537 01517000
         MVC   @TS00001(95),NEWERID2(@06)                          0537 01518000
         MVC   OLDERID2(95,@06),@TS00001                           0537 01519000
*    NEWID2 =  'INEA';                                             0538 01520000
         MVC   NEWID2(4,@06),@CC00794                              0538 01521000
*    CTRADDR = FIRSTAL;                                            0539 01522000
         L     @06,INFOPTR+48                                      0539 01523000
         MVC   CTRADDR(4),FIRSTAL(@06)                             0539 01524000
*    TRACKTYP = ALTTRACK;                                          0540 01525000
         NI    TRACKTYP,B'01111111'                                0540 01526000
*/*  DO-UNTIL ALL ALTERNATE TRACKS ARE EXHAUSTED                     */ 01527000
*    DO UNTIL (CTRADDR > FINALT);                                  0541 01528000
*                                                                  0541 01529000
@DL00541 DS    0H                                                  0542 01530000
*/*    SET FLAG TO INDICATE TRACK CURRENTLY RECOVERABLE              */ 01531000
*      RCVRFLAG = RECOVER;                                         0542 01532000
         OI    RCVRFLAG,B'10000000'                                0542 01533000
*/*    OBTAIN_TRACK_STATUS                                           */ 01534000
*      CALL OBTTRST (CTRADDR                                       0543 01535000
*                   ,DFLAGC                                        0543 01536000
*                   ,RZCCHH                                        0543 01537000
*                   ,TRACKTYP);                                    0543 01538000
         LA    @06,CTRADDR                                         0543 01539000
         ST    @06,@AL00001                                        0543 01540000
         LA    @06,DFLAGC                                          0543 01541000
         ST    @06,@AL00001+4                                      0543 01542000
         LA    @06,RZCCHH                                          0543 01543000
         ST    @06,@AL00001+8                                      0543 01544000
         LA    @06,TRACKTYP                                        0543 01545000
         ST    @06,@AL00001+12                                     0543 01546000
         LA    @01,@AL00001                                        0543 01547000
         BAL   @14,OBTTRST                                         0543 01548000
*/*    IF NO SEVERE ERRORS AND TRACK RECOVERABLE                     */ 01549000
*      IF (LASTCOND < LASTCC12) & (RCVRFLAG = RECOVER)             0544 01550000
*/*      THEN                                                        */ 01551000
*        THEN DO;                                                  0544 01552000
*                                                                  0544 01553000
         L     @06,@PC00001+8                                      0544 01554000
         LH    @06,LASTCOND(,@06)                                  0544 01555000
         CH    @06,@CH00265                                        0544 01556000
         BNL   @RF00544                                            0544 01557000
         TM    RCVRFLAG,B'10000000'                                0544 01558000
         BNO   @RF00544                                            0544 01559000
*/*        IF DEFECT-FLAG IS FOUND TO BE SET                         */ 01560000
*          IF DFLAGC = DEFECTIV                                    0546 01561000
*/*          THEN                                                    */ 01562000
*            THEN DO;                                              0546 01563000
*                                                                  0546 01564000
         TM    DFLAGC,B'10000000'                                  0546 01565000
         BNO   @RF00546                                            0546 01566000
*/*            DECREMENT COUNT OF AVAILABLE ALTERNATE TRKS(ALTCOUNT) */ 01567000
*              ALTCOUNT = ALTCOUNT - 1;                            0548 01568000
         L     @06,ALTCOUNT                                        0548 01569000
         BCTR  @06,0                                               0548 01570000
         ST    @06,ALTCOUNT                                        0548 01571000
*/*            ISSUE_BUILD_PACK_MAP                                  */ 01572000
*              PACKDEF  = DEFECTIV;                                0549 01573000
         OI    PACKDEF,B'10000000'                                 0549 01574000
*              PACKCHEK = NODEFECT;                                0550 01575000
         NI    PACKCHEK,B'01111111'                                0550 01576000
*              PACKRCVR = RCVRYES;                                 0551 01577000
         NI    PACKRCVR,B'01111111'                                0551 01578000
*              PACKTRAK = CTRADDR;                                 0552 01579000
         MVC   PACKTRAK(4),CTRADDR                                 0552 01580000
*              PACKTRK = ALTTRACK;                                 0553 01581000
         NI    PACKTRK,B'01111111'                                 0553 01582000
*              PACKASC = RZCCHH;                                   0554 01583000
         MVC   PACKASC(4),RZCCHH                                   0554 01584000
*              CALL BILDPACK;                                      0555 01585000
         BAL   @14,BILDPACK                                        0555 01586000
*/*            IF TRACK IS ASSOCIATED WITH A PRIMARY                 */ 01587000
*              IF (RZCCHHC <= FINPRIC) & (RZCCHHT <= FINPRIT)      0556 01588000
*               & (RZCCHH >= 0)                                    0556 01589000
*/*              THEN                                                */ 01590000
*                THEN DO;                                          0556 01591000
*                                                                  0556 01592000
         L     @06,INFOPTR+72                                      0556 01593000
         CLC   RZCCHHC(2),FINPRIC(@06)                             0556 01594000
         BH    @RF00556                                            0556 01595000
         CLC   RZCCHHT(2),FINPRIT(@06)                             0556 01596000
         BH    @RF00556                                            0556 01597000
         CLC   RZCCHH(4),@CF00094                                  0556 01598000
         BL    @RF00556                                            0556 01599000
*/*                OBTAIN_TRACK_STATUS (OF THE PRIMARY)              */ 01600000
*                  CALL OBTTRST (RZCCHH                            0558 01601000
*                               ,DFLAGA                            0558 01602000
*                               ,RZACCHH                           0558 01603000
*                               ,PRITRACK);                        0558 01604000
         LA    @06,RZCCHH                                          0558 01605000
         ST    @06,@AL00001                                        0558 01606000
         LA    @06,DFLAGA                                          0558 01607000
         ST    @06,@AL00001+4                                      0558 01608000
         LA    @06,RZACCHH                                         0558 01609000
         ST    @06,@AL00001+8                                      0558 01610000
         LA    @06,@CB00466                                        0558 01611000
         ST    @06,@AL00001+12                                     0558 01612000
         LA    @01,@AL00001                                        0558 01613000
         BAL   @14,OBTTRST                                         0558 01614000
*/*                IF NO SEVERE ERRORS AND TRACK RECOVERABLE         */ 01615000
*                  IF (LASTCOND < LASTCC12) & (RCVRFLAG = RECOVER) 0559 01616000
*/*                  THEN                                            */ 01617000
*                    THEN DO;                                      0559 01618000
*                                                                  0559 01619000
         L     @06,@PC00001+8                                      0559 01620000
         LH    @06,LASTCOND(,@06)                                  0559 01621000
         CH    @06,@CH00265                                        0559 01622000
         BNL   @RF00559                                            0559 01623000
         TM    RCVRFLAG,B'10000000'                                0559 01624000
         BNO   @RF00559                                            0559 01625000
*/*                    IF PRIMARY IS ASSOCIATED WITH ALTERNATE       */ 01626000
*                      IF (RZACCHH = CTRADDR)                      0561 01627000
*/*                      THEN                                        */ 01628000
*                        THEN DO;                                  0561 01629000
*                                                                  0561 01630000
         CLC   RZACCHH(4),CTRADDR                                  0561 01631000
         BNE   @RF00561                                            0561 01632000
*/*                        IF DEFECT-FLAG OF THE PRIMARY IS SET      */ 01633000
*                          IF DFLAGA = DEFECTIV                    0563 01634000
*/*                          THEN                                    */ 01635000
*                            THEN DO;                              0563 01636000
         TM    DFLAGA,B'10000000'                                  0563 01637000
         BNO   @RF00563                                            0563 01638000
*/*                            VALIDATE_HOME-ADDRESS (OF PRIMARY)    */ 01639000
*                              CALL VALHOME                        0565 01640000
*                                   (RZCCHH                        0565 01641000
*                                   ,DFLAGA                        0565 01642000
*                                   ,PRITRACK);                    0565 01643000
         LA    @06,RZCCHH                                          0565 01644000
         ST    @06,@AL00001                                        0565 01645000
         LA    @06,DFLAGA                                          0565 01646000
         ST    @06,@AL00001+4                                      0565 01647000
         LA    @06,@CB00466                                        0565 01648000
         ST    @06,@AL00001+8                                      0565 01649000
         LA    @01,@AL00001                                        0565 01650000
         BAL   @14,VALHOME                                         0565 01651000
*/*                            IF NO SEVERE ERRORS                   */ 01652000
*                              IF LASTCOND < LASTCC12              0566 01653000
*/*                              THEN                                */ 01654000
*                                THEN DO;                          0566 01655000
         L     @06,@PC00001+8                                      0566 01656000
         LH    @06,LASTCOND(,@06)                                  0566 01657000
         CH    @06,@CH00265                                        0566 01658000
         BNL   @RF00566                                            0566 01659000
*/*                                ISSUE_RE-ASSIGN_ALTERNATE_TRACK   */ 01660000
*                                  CALL RASGNALT;                  0568 01661000
         BAL   @14,RASGNALT                                        0568 01662000
*/*                                IF NEW ALTERNATE IS BEYOND OLD    */ 01663000
*                                  IF ALTRACK > CTRADDR            0569 01664000
*/*                                  THEN INCREMENT COUNT OF         */ 01665000
*/*                                   AVAILABLE ALTERNATE TRACKS     */ 01666000
*/*                                   AS IT WILL BE DECREMENTED LATER*/ 01667000
*                                    THEN DO;                      0569 01668000
         CLC   ALTRACK(4),CTRADDR                                  0569 01669000
         BNH   @RF00569                                            0569 01670000
*                                      ALTCOUNT = ALTCOUNT + 1;    0571 01671000
         LA    @06,1                                               0571 01672000
         AL    @06,ALTCOUNT                                        0571 01673000
         ST    @06,ALTCOUNT                                        0571 01674000
*                                      END;                        0572 01675000
*/*                                END-THEN                          */ 01676000
*                                  END;                            0573 01677000
*/*                            END-THEN                              */ 01678000
*                              END;                                0574 01679000
*/*                          ELSE                                    */ 01680000
*                            ELSE DO;                              0575 01681000
*                                                                  0575 01682000
         B     @RC00563                                            0575 01683000
@RF00563 DS    0H                                                  0576 01684000
*/*                            ISSUE ERROR MESSAGE (MSGMEDAL)        */ 01685000
*                              DARGSENT = MSGMEDAL;                0576 01686000
         L     @06,DDSTRU                                          0576 01687000
         MVI   DARGSENT(@06),X'08'                                 0576 01688000
*                              DARGCNT = 8;                        0577 01689000
         MVC   DARGCNT(2,@06),@CH00161                             0577 01690000
*                              IF DFLAGA = DEFECTIV                0578 01691000
*                                THEN DO;                          0578 01692000
         TM    DFLAGA,B'10000000'                                  0578 01693000
         BNO   @RF00578                                            0578 01694000
*                                  DARGINS (1) = 1;                0580 01695000
         LA    @15,1                                               0580 01696000
         STH   @15,DARGINS(,@06)                                   0580 01697000
*                                  DARGINL (1) = 1;                0581 01698000
         STH   @15,DARGINL(,@06)                                   0581 01699000
*                                  DARGDTM (1) = ADDR ('D');       0582 01700000
         LA    @15,@CC00799                                        0582 01701000
         ST    @15,DARGDTM(,@06)                                   0582 01702000
*                                  END;                            0583 01703000
*                                ELSE DO;                          0584 01704000
         B     @RC00578                                            0584 01705000
@RF00578 DS    0H                                                  0585 01706000
*                                  DARGINS (1) = 1;                0585 01707000
         LA    @06,1                                               0585 01708000
         L     @15,DDSTRU                                          0585 01709000
         STH   @06,DARGINS(,@15)                                   0585 01710000
*                                  DARGINL (1) = 1;                0586 01711000
         STH   @06,DARGINL(,@15)                                   0586 01712000
*                                  DARGDTM (1) = ADDR ('N');       0587 01713000
         LA    @06,@CC00800                                        0587 01714000
         ST    @06,DARGDTM(,@15)                                   0587 01715000
*                                  END;                            0588 01716000
*                              DARGINS (2) = 2;                    0589 01717000
@RC00578 LA    @06,2                                               0589 01718000
         L     @15,DDSTRU                                          0589 01719000
         STH   @06,DARGINS+8(,@15)                                 0589 01720000
*                              DARGINL (2) = LENGTH (RZCCHHC);     0590 01721000
         STH   @06,DARGINL+8(,@15)                                 0590 01722000
*                              DARGDTM (2) = ADDR (RZCCHHC);       0591 01723000
         LA    @14,RZCCHHC                                         0591 01724000
         ST    @14,DARGDTM+8(,@15)                                 0591 01725000
*                              DARGINS (3) = 3;                    0592 01726000
         MVC   DARGINS+16(2,@15),@CH00136                          0592 01727000
*                              DARGINL (3) = LENGTH (RZCCHHT);     0593 01728000
         STH   @06,DARGINL+16(,@15)                                0593 01729000
*                              DARGDTM (3) = ADDR (RZCCHHT);       0594 01730000
         LA    @14,RZCCHHT                                         0594 01731000
         ST    @14,DARGDTM+16(,@15)                                0594 01732000
*                              DARGINS (4) = 4;                    0595 01733000
         MVC   DARGINS+24(2,@15),@CH00044                          0595 01734000
*                              DARGINL (4) = LENGTH (RZACCHHC);    0596 01735000
         STH   @06,DARGINL+24(,@15)                                0596 01736000
*                              DARGDTM (4) = ADDR (RZACCHHC);      0597 01737000
         LA    @14,RZACCHHC                                        0597 01738000
         ST    @14,DARGDTM+24(,@15)                                0597 01739000
*                              DARGINS (5) = 5;                    0598 01740000
         MVC   DARGINS+32(2,@15),@CH00255                          0598 01741000
*                              DARGINL (5) = LENGTH (RZACCHHT);    0599 01742000
         STH   @06,DARGINL+32(,@15)                                0599 01743000
*                              DARGDTM (5) = ADDR (RZACCHHT);      0600 01744000
         LA    @06,RZACCHHT                                        0600 01745000
         ST    @06,DARGDTM+32(,@15)                                0600 01746000
*                              IF DFLAGC = DEFECTIV                0601 01747000
*                                THEN DO;                          0601 01748000
         TM    DFLAGC,B'10000000'                                  0601 01749000
         BNO   @RF00601                                            0601 01750000
*                                  DARGINS (6) = 6;                0603 01751000
         MVC   DARGINS+40(2,@15),@CH00119                          0603 01752000
*                                  DARGINL (6) = 1;                0604 01753000
         MVC   DARGINL+40(2,@15),@CH00165                          0604 01754000
*                                  DARGDTM (6) = ADDR ('D');       0605 01755000
         LA    @06,@CC00799                                        0605 01756000
         ST    @06,DARGDTM+40(,@15)                                0605 01757000
*                                  END;                            0606 01758000
*                                ELSE DO;                          0607 01759000
         B     @RC00601                                            0607 01760000
@RF00601 DS    0H                                                  0608 01761000
*                                  DARGINS (6) = 6;                0608 01762000
         L     @06,DDSTRU                                          0608 01763000
         MVC   DARGINS+40(2,@06),@CH00119                          0608 01764000
*                                  DARGINL (6) = 1;                0609 01765000
         MVC   DARGINL+40(2,@06),@CH00165                          0609 01766000
*                                  DARGDTM (6) = ADDR ('N');       0610 01767000
         LA    @15,@CC00800                                        0610 01768000
         ST    @15,DARGDTM+40(,@06)                                0610 01769000
*                                  END;                            0611 01770000
*                              DARGINS (7) = 7;                    0612 01771000
@RC00601 L     @06,DDSTRU                                          0612 01772000
         MVC   DARGINS+48(2,@06),@CH00185                          0612 01773000
*                              DARGINL (7) = LENGTH (CTRADDRC);    0613 01774000
         LA    @15,2                                               0613 01775000
         STH   @15,DARGINL+48(,@06)                                0613 01776000
*                              DARGDTM (7) = ADDR (CTRADDRC);      0614 01777000
         LA    @14,CTRADDRC                                        0614 01778000
         ST    @14,DARGDTM+48(,@06)                                0614 01779000
*                              DARGINS (8) = 8;                    0615 01780000
         MVC   DARGINS+56(2,@06),@CH00161                          0615 01781000
*                              DARGINL (8) = LENGTH (CTRADDRT);    0616 01782000
         STH   @15,DARGINL+56(,@06)                                0616 01783000
*                              DARGDTM (8) = ADDR (CTRADDRT);      0617 01784000
         LA    @15,CTRADDRT                                        0617 01785000
         ST    @15,DARGDTM+56(,@06)                                0617 01786000
*                              CALL ICKTPPR0 (GDTTBL               0618 01787000
*                                     ,PRTFILE                     0618 01788000
*                                     ,DDSTRU);                    0618 01789000
         L     @06,@PC00001                                        0618 01790000
         ST    @06,@AL00001                                        0618 01791000
         LA    @15,@CF00094                                        0618 01792000
         ST    @15,@AL00001+4                                      0618 01793000
         LA    @15,DDSTRU                                          0618 01794000
         ST    @15,@AL00001+8                                      0618 01795000
         MVI   @AL00001+8,X'80'                                    0618 01796000
         L     @15,GDTPRT(,@06)                                    0618 01797000
         LA    @01,@AL00001                                        0618 01798000
         BALR  @14,@15                                             0618 01799000
*/*                            INDICATE AN ERROR                     */ 01800000
*                              LASTCOND = MAX (LASTCOND,LASTCC08); 0619 01801000
         L     @06,@PC00001+8                                      0619 01802000
         LH    @15,LASTCOND(,@06)                                  0619 01803000
         LA    @14,8                                               0619 01804000
         CR    @15,@14                                             0619 01805000
         BNL   *+6                                                      01806000
         LR    @15,@14                                             0619 01807000
         STH   @15,LASTCOND(,@06)                                  0619 01808000
*/*                            IF THE TRACK IS A CRITICAL TRACK      */ 01809000
*                              IF (RZCCHH = 0) |                   0620 01810000
*                               (RZCCHH >= VTOCLOC & RZCCHH <= VTOCHI)  01811000
*/*                              THEN                                */ 01812000
*                                THEN DO;                          0620 01813000
         L     @06,RZCCHH                                          0620 01814000
         LTR   @06,@06                                             0620 01815000
         BZ    @RT00620                                            0620 01816000
         CL    @06,VTOCLOC                                         0620 01817000
         BL    @RF00620                                            0620 01818000
         CL    @06,VTOCHI                                          0620 01819000
         BH    @RF00620                                            0620 01820000
@RT00620 DS    0H                                                  0621 01821000
*/*                                ISSUE A SEVERE ERROR MESSAGE      */ 01822000
*                                  DARGSENT = MSGMINV;             0622 01823000
         L     @06,DDSTRU                                          0622 01824000
         MVI   DARGSENT(@06),X'0C'                                 0622 01825000
*                                  DARGCNT = 2;                    0623 01826000
         LA    @15,2                                               0623 01827000
         STH   @15,DARGCNT(,@06)                                   0623 01828000
*                                  DARGINS (1) = 1;                0624 01829000
         MVC   DARGINS(2,@06),@CH00165                             0624 01830000
*                                  DARGINL (1) = LENGTH (RZCCHHC); 0625 01831000
         STH   @15,DARGINL(,@06)                                   0625 01832000
*                                  DARGDTM (1) = ADDR (RZCCHHC);   0626 01833000
         LA    @14,RZCCHHC                                         0626 01834000
         ST    @14,DARGDTM(,@06)                                   0626 01835000
*                                  DARGINS (2) = 2;                0627 01836000
         STH   @15,DARGINS+8(,@06)                                 0627 01837000
*                                  DARGINL (2) = LENGTH (RZCCHHT); 0628 01838000
         STH   @15,DARGINL+8(,@06)                                 0628 01839000
*                                  DARGDTM (2) = ADDR (RZCCHHT);   0629 01840000
         LA    @15,RZCCHHT                                         0629 01841000
         ST    @15,DARGDTM+8(,@06)                                 0629 01842000
*                                  CALL ICKTPPR0 (GDTTBL           0630 01843000
*                                         ,PRTFILE                 0630 01844000
*                                         ,DDSTRU);                0630 01845000
         L     @06,@PC00001                                        0630 01846000
         ST    @06,@AL00001                                        0630 01847000
         LA    @15,@CF00094                                        0630 01848000
         ST    @15,@AL00001+4                                      0630 01849000
         LA    @15,DDSTRU                                          0630 01850000
         ST    @15,@AL00001+8                                      0630 01851000
         MVI   @AL00001+8,X'80'                                    0630 01852000
         L     @15,GDTPRT(,@06)                                    0630 01853000
         LA    @01,@AL00001                                        0630 01854000
         BALR  @14,@15                                             0630 01855000
*/*                                INDICATE A SEVERE ERROR           */ 01856000
*                                  LASTCOND = LASTCC12;            0631 01857000
         L     @06,@PC00001+8                                      0631 01858000
         MVC   LASTCOND(2,@06),@CH00265                            0631 01859000
*/*                                END-THEN                          */ 01860000
*                                  END;                            0632 01861000
*/*                            END-ELSE                              */ 01862000
*                              END;                                0633 01863000
*/*                        END-THEN (PRIMARY ASSOCIATED WITH ALT)    */ 01864000
*                          END;                                    0634 01865000
*/*                      ELSE                                        */ 01866000
*                        ELSE DO;                                  0635 01867000
*                                                                  0635 01868000
*                                                                  0635 01869000
*                                                                  0635 01870000
         B     @RC00561                                            0635 01871000
@RF00561 DS    0H                                                  0636 01872000
*/*                        IF PRIMARY IS INCORRECTLY ASSOCIATED OR   */ 01873000
*/*                         FLAGGED DEFECTIVE                        */ 01874000
*                          IF (RZACCHH ^= RZCCHH) | (DFLAGA = DEFECTIV) 01875000
*/*                          THEN                                    */ 01876000
*                            THEN DO;                              0636 01877000
*                                                                  0636 01878000
         CLC   RZACCHH(4),RZCCHH                                   0636 01879000
         BNE   @RT00636                                            0636 01880000
         TM    DFLAGA,B'10000000'                                  0636 01881000
         BNO   @RF00636                                            0636 01882000
@RT00636 DS    0H                                                  0637 01883000
*/*                            ISSUE ERROR MESSAGE (MSGMEDAL)        */ 01884000
*                              DARGSENT = MSGMEDAL;                0638 01885000
         L     @06,DDSTRU                                          0638 01886000
         MVI   DARGSENT(@06),X'08'                                 0638 01887000
*                              DARGCNT = 8;                        0639 01888000
         MVC   DARGCNT(2,@06),@CH00161                             0639 01889000
*                              IF DFLAGA = DEFECTIV                0640 01890000
*                                THEN DO;                          0640 01891000
         TM    DFLAGA,B'10000000'                                  0640 01892000
         BNO   @RF00640                                            0640 01893000
*                                  DARGINS (1) = 1;                0642 01894000
         LA    @15,1                                               0642 01895000
         STH   @15,DARGINS(,@06)                                   0642 01896000
*                                  DARGINL (1) = 1;                0643 01897000
         STH   @15,DARGINL(,@06)                                   0643 01898000
*                                  DARGDTM (1) = ADDR ('D');       0644 01899000
         LA    @15,@CC00799                                        0644 01900000
         ST    @15,DARGDTM(,@06)                                   0644 01901000
*                                  END;                            0645 01902000
*                                ELSE DO;                          0646 01903000
         B     @RC00640                                            0646 01904000
@RF00640 DS    0H                                                  0647 01905000
*                                  DARGINS (1) = 1;                0647 01906000
         LA    @06,1                                               0647 01907000
         L     @15,DDSTRU                                          0647 01908000
         STH   @06,DARGINS(,@15)                                   0647 01909000
*                                  DARGINL (1) = 1;                0648 01910000
         STH   @06,DARGINL(,@15)                                   0648 01911000
*                                  DARGDTM (1) = ADDR ('N');       0649 01912000
         LA    @06,@CC00800                                        0649 01913000
         ST    @06,DARGDTM(,@15)                                   0649 01914000
*                                  END;                            0650 01915000
*                              DARGINS (2) = 2;                    0651 01916000
@RC00640 LA    @06,2                                               0651 01917000
         L     @15,DDSTRU                                          0651 01918000
         STH   @06,DARGINS+8(,@15)                                 0651 01919000
*                              DARGINL (2) = LENGTH (RZCCHHC);     0652 01920000
         STH   @06,DARGINL+8(,@15)                                 0652 01921000
*                              DARGDTM (2) = ADDR (RZCCHHC);       0653 01922000
         LA    @14,RZCCHHC                                         0653 01923000
         ST    @14,DARGDTM+8(,@15)                                 0653 01924000
*                              DARGINS (3) = 3;                    0654 01925000
         MVC   DARGINS+16(2,@15),@CH00136                          0654 01926000
*                              DARGINL (3) = LENGTH (RZCCHHT);     0655 01927000
         STH   @06,DARGINL+16(,@15)                                0655 01928000
*                              DARGDTM (3) = ADDR (RZCCHHT);       0656 01929000
         LA    @14,RZCCHHT                                         0656 01930000
         ST    @14,DARGDTM+16(,@15)                                0656 01931000
*                              DARGINS (4) = 4;                    0657 01932000
         MVC   DARGINS+24(2,@15),@CH00044                          0657 01933000
*                              DARGINL (4) = LENGTH (RZACCHHC);    0658 01934000
         STH   @06,DARGINL+24(,@15)                                0658 01935000
*                              DARGDTM (4) = ADDR (RZACCHHC);      0659 01936000
         LA    @14,RZACCHHC                                        0659 01937000
         ST    @14,DARGDTM+24(,@15)                                0659 01938000
*                              DARGINS (5) = 5;                    0660 01939000
         MVC   DARGINS+32(2,@15),@CH00255                          0660 01940000
*                              DARGINL (5) = LENGTH (RZACCHHT);    0661 01941000
         STH   @06,DARGINL+32(,@15)                                0661 01942000
*                              DARGDTM (5) = ADDR (RZACCHHT);      0662 01943000
         LA    @06,RZACCHHT                                        0662 01944000
         ST    @06,DARGDTM+32(,@15)                                0662 01945000
*                              IF DFLAGC = DEFECTIV                0663 01946000
*                                THEN DO;                          0663 01947000
         TM    DFLAGC,B'10000000'                                  0663 01948000
         BNO   @RF00663                                            0663 01949000
*                                  DARGINS (6) = 6;                0665 01950000
         MVC   DARGINS+40(2,@15),@CH00119                          0665 01951000
*                                  DARGINL (6) = 1;                0666 01952000
         MVC   DARGINL+40(2,@15),@CH00165                          0666 01953000
*                                  DARGDTM (6) = ADDR ('D');       0667 01954000
         LA    @06,@CC00799                                        0667 01955000
         ST    @06,DARGDTM+40(,@15)                                0667 01956000
*                                  END;                            0668 01957000
*                                ELSE DO;                          0669 01958000
         B     @RC00663                                            0669 01959000
@RF00663 DS    0H                                                  0670 01960000
*                                  DARGINS (6) = 6;                0670 01961000
         L     @06,DDSTRU                                          0670 01962000
         MVC   DARGINS+40(2,@06),@CH00119                          0670 01963000
*                                  DARGINL (6) = 1;                0671 01964000
         MVC   DARGINL+40(2,@06),@CH00165                          0671 01965000
*                                  DARGDTM (6) = ADDR ('N');       0672 01966000
         LA    @15,@CC00800                                        0672 01967000
         ST    @15,DARGDTM+40(,@06)                                0672 01968000
*                                  END;                            0673 01969000
*                              DARGINS (7) = 7;                    0674 01970000
@RC00663 L     @06,DDSTRU                                          0674 01971000
         MVC   DARGINS+48(2,@06),@CH00185                          0674 01972000
*                              DARGINL (7) = LENGTH (CTRADDRC);    0675 01973000
         LA    @15,2                                               0675 01974000
         STH   @15,DARGINL+48(,@06)                                0675 01975000
*                              DARGDTM (7) = ADDR (CTRADDRC);      0676 01976000
         LA    @14,CTRADDRC                                        0676 01977000
         ST    @14,DARGDTM+48(,@06)                                0676 01978000
*                              DARGINS (8) = 8;                    0677 01979000
         MVC   DARGINS+56(2,@06),@CH00161                          0677 01980000
*                              DARGINL (8) = LENGTH (CTRADDRT);    0678 01981000
         STH   @15,DARGINL+56(,@06)                                0678 01982000
*                              DARGDTM (8) = ADDR (CTRADDRT);      0679 01983000
         LA    @15,CTRADDRT                                        0679 01984000
         ST    @15,DARGDTM+56(,@06)                                0679 01985000
*                              CALL ICKTPPR0 (GDTTBL               0680 01986000
*                                     ,PRTFILE                     0680 01987000
*                                     ,DDSTRU);                    0680 01988000
         L     @06,@PC00001                                        0680 01989000
         ST    @06,@AL00001                                        0680 01990000
         LA    @15,@CF00094                                        0680 01991000
         ST    @15,@AL00001+4                                      0680 01992000
         LA    @15,DDSTRU                                          0680 01993000
         ST    @15,@AL00001+8                                      0680 01994000
         MVI   @AL00001+8,X'80'                                    0680 01995000
         L     @15,GDTPRT(,@06)                                    0680 01996000
         LA    @01,@AL00001                                        0680 01997000
         BALR  @14,@15                                             0680 01998000
*/*                            INDICATE AN ERROR                     */ 01999000
*                              LASTCOND = MAX(LASTCOND,LASTCC08);  0681 02000000
         L     @06,@PC00001+8                                      0681 02001000
         LH    @15,LASTCOND(,@06)                                  0681 02002000
         LA    @14,8                                               0681 02003000
         CR    @15,@14                                             0681 02004000
         BNL   *+6                                                      02005000
         LR    @15,@14                                             0681 02006000
         STH   @15,LASTCOND(,@06)                                  0681 02007000
*/*                            IF THE TRACK IS A CRITICAL TRACK      */ 02008000
*                              IF (RZCCHH = 0) |                   0682 02009000
*                               (RZCCHH >= VTOCLOC & RZCCHH <= VTOCHI)  02010000
*/*                              THEN                                */ 02011000
*                                THEN DO;                          0682 02012000
         L     @06,RZCCHH                                          0682 02013000
         LTR   @06,@06                                             0682 02014000
         BZ    @RT00682                                            0682 02015000
         CL    @06,VTOCLOC                                         0682 02016000
         BL    @RF00682                                            0682 02017000
         CL    @06,VTOCHI                                          0682 02018000
         BH    @RF00682                                            0682 02019000
@RT00682 DS    0H                                                  0683 02020000
*/*                                ISSUE A SEVERE ERROR MESSAGE      */ 02021000
*                                  DARGSENT = MSGMINV;             0684 02022000
         L     @06,DDSTRU                                          0684 02023000
         MVI   DARGSENT(@06),X'0C'                                 0684 02024000
*                                  DARGCNT = 2;                    0685 02025000
         LA    @15,2                                               0685 02026000
         STH   @15,DARGCNT(,@06)                                   0685 02027000
*                                  DARGINS (1) = 1;                0686 02028000
         MVC   DARGINS(2,@06),@CH00165                             0686 02029000
*                                  DARGINL (1) = LENGTH (RZCCHHC); 0687 02030000
         STH   @15,DARGINL(,@06)                                   0687 02031000
*                                  DARGDTM (1) = ADDR (RZCCHHC);   0688 02032000
         LA    @14,RZCCHHC                                         0688 02033000
         ST    @14,DARGDTM(,@06)                                   0688 02034000
*                                  DARGINS (2) = 2;                0689 02035000
         STH   @15,DARGINS+8(,@06)                                 0689 02036000
*                                  DARGINL (2) = LENGTH (RZCCHHT); 0690 02037000
         STH   @15,DARGINL+8(,@06)                                 0690 02038000
*                                  DARGDTM (2) = ADDR (RZCCHHT);   0691 02039000
         LA    @15,RZCCHHT                                         0691 02040000
         ST    @15,DARGDTM+8(,@06)                                 0691 02041000
*                                  CALL ICKTPPR0 (GDTTBL           0692 02042000
*                                         ,PRTFILE                 0692 02043000
*                                         ,DDSTRU);                0692 02044000
         L     @06,@PC00001                                        0692 02045000
         ST    @06,@AL00001                                        0692 02046000
         LA    @15,@CF00094                                        0692 02047000
         ST    @15,@AL00001+4                                      0692 02048000
         LA    @15,DDSTRU                                          0692 02049000
         ST    @15,@AL00001+8                                      0692 02050000
         MVI   @AL00001+8,X'80'                                    0692 02051000
         L     @15,GDTPRT(,@06)                                    0692 02052000
         LA    @01,@AL00001                                        0692 02053000
         BALR  @14,@15                                             0692 02054000
*/*                                INDICATE A SEVERE ERROR           */ 02055000
*                                  LASTCOND = LASTCC12;            0693 02056000
         L     @06,@PC00001+8                                      0693 02057000
         MVC   LASTCOND(2,@06),@CH00265                            0693 02058000
*/*                                END-THEN                          */ 02059000
*                                  END;                            0694 02060000
*/*                            END-THEN                              */ 02061000
*                              END;                                0695 02062000
*/*                        END-ELSE                                  */ 02063000
*                          END;                                    0696 02064000
*/*                    END-THEN (NO SEVERE ERRORS)                   */ 02065000
*                      END;                                        0697 02066000
*/*                END-THEN (TRACK ASSOCIATED WITH PRIMARY)          */ 02067000
*                  END;                                            0698 02068000
*/*            END-THEN (DEFECT-FLAG FOUND TO BE SET)                */ 02069000
*              END;                                                0699 02070000
*/*          ELSE (DEFECT FLAG FOUND NOT TO BE SET)                  */ 02071000
*            ELSE DO;                                              0700 02072000
*                                                                  0700 02073000
         B     @RC00546                                            0700 02074000
@RF00546 DS    0H                                                  0701 02075000
*/*            IF TRACK IS ASSOCIATED WITH PRIMARY                   */ 02076000
*              IF (RZCCHHC <= FINPRIC) & (RZCCHHT <= FINPRIT)      0701 02077000
*               & (RZCCHH >= 0)                                    0701 02078000
*/*              THEN                                                */ 02079000
*                THEN DO;                                          0701 02080000
*                                                                  0701 02081000
         L     @06,INFOPTR+72                                      0701 02082000
         CLC   RZCCHHC(2),FINPRIC(@06)                             0701 02083000
         BH    @RF00701                                            0701 02084000
         CLC   RZCCHHT(2),FINPRIT(@06)                             0701 02085000
         BH    @RF00701                                            0701 02086000
         CLC   RZCCHH(4),@CF00094                                  0701 02087000
         BL    @RF00701                                            0701 02088000
*/*                OBTAIN_TRACK_STATUS ( FOR THE PRIMARY)            */ 02089000
*                  CALL OBTTRST (RZCCHH                            0703 02090000
*                               ,DFLAGA                            0703 02091000
*                               ,RZACCHH                           0703 02092000
*                               ,PRITRACK);                        0703 02093000
         LA    @06,RZCCHH                                          0703 02094000
         ST    @06,@AL00001                                        0703 02095000
         LA    @06,DFLAGA                                          0703 02096000
         ST    @06,@AL00001+4                                      0703 02097000
         LA    @06,RZACCHH                                         0703 02098000
         ST    @06,@AL00001+8                                      0703 02099000
         LA    @06,@CB00466                                        0703 02100000
         ST    @06,@AL00001+12                                     0703 02101000
         LA    @01,@AL00001                                        0703 02102000
         BAL   @14,OBTTRST                                         0703 02103000
*/*                IF NO SEVERE ERRORS AND TRACK RECOVERABLE         */ 02104000
*                  IF (LASTCOND < LASTCC12) & (RCVRFLAG = RECOVER) 0704 02105000
*/*                  THEN                                            */ 02106000
*                    THEN DO;                                      0704 02107000
*                                                                  0704 02108000
         L     @06,@PC00001+8                                      0704 02109000
         LH    @06,LASTCOND(,@06)                                  0704 02110000
         CH    @06,@CH00265                                        0704 02111000
         BNL   @RF00704                                            0704 02112000
         TM    RCVRFLAG,B'10000000'                                0704 02113000
         BNO   @RF00704                                            0704 02114000
*/*                    IF PRIMARY IS ASSOCIATED WITH ALTERNATE       */ 02115000
*                      IF (RZACCHH = CTRADDR)                      0706 02116000
*/*                      THEN                                        */ 02117000
*                        THEN DO;                                  0706 02118000
*                                                                  0706 02119000
         L     @06,CTRADDR                                         0706 02120000
         CL    @06,RZACCHH                                         0706 02121000
         BNE   @RF00706                                            0706 02122000
*/*                        IF DEFECT-FLAG OF THE PRIMARY IS SET      */ 02123000
*                          IF DFLAGA = DEFECTIV                    0708 02124000
*/*                          THEN                                    */ 02125000
*                            THEN DO;                              0708 02126000
         TM    DFLAGA,B'10000000'                                  0708 02127000
         BNO   @RF00708                                            0708 02128000
*/*                            IF ALTERNATE TRACK BEYOND THE NEXT    */ 02129000
*/*                             AVAILABLE ALTERNATE TRACK WHEN ONE   */ 02130000
*/*                             WAS FOUND                            */ 02131000
*                              IF CTRADDR > ALTPTR &               0710 02132000
*                               AVAILCNT > 0                       0710 02133000
*/*                              THEN                                */ 02134000
*                                THEN DO;                          0710 02135000
         CL    @06,ALTPTR                                          0710 02136000
         BNH   @RF00710                                            0710 02137000
         L     @06,AVAILCNT                                        0710 02138000
         LTR   @06,@06                                             0710 02139000
         BNP   @RF00710                                            0710 02140000
*/*                                ISSUE_RE-ASSIGN_ALTERNATE_TRACK   */ 02141000
*                                  CALL RASGNALT;                  0712 02142000
         BAL   @14,RASGNALT                                        0712 02143000
*/*                                END-THEN                          */ 02144000
*                                  END;                            0713 02145000
*/*                              ELSE                                */ 02146000
*                                ELSE DO;                          0714 02147000
         B     @RC00710                                            0714 02148000
@RF00710 DS    0H                                                  0715 02149000
*/*                                DECREMENT COUNT OF AVAILABLE      */ 02150000
*/*                                 ALTERNATE TRACKS                 */ 02151000
*                                  ALTCOUNT = ALTCOUNT - 1;        0715 02152000
         L     @06,ALTCOUNT                                        0715 02153000
         BCTR  @06,0                                               0715 02154000
         ST    @06,ALTCOUNT                                        0715 02155000
*/*                                IF ALTERNATE TRACK AT NEXT        */ 02156000
*/*                                 AVAILABLE ALTERNATE TRACK        */ 02157000
*                                  IF CTRADDR = ALTPTR             0716 02158000
*/*                                  THEN (POINT TO NEXT TRACK)      */ 02159000
*                                    THEN DO;                      0716 02160000
         CLC   CTRADDR(4),ALTPTR                                   0716 02161000
         BNE   @RF00716                                            0716 02162000
*                                      IF ALTPTRT = TRKSPCYL - 1   0718 02163000
*                                        THEN DO;                  0718 02164000
         L     @06,INFOPTR+12                                      0718 02165000
         L     @06,TRKSPCYL(,@06)                                  0718 02166000
         BCTR  @06,0                                               0718 02167000
         MVC   @ZT00002+2(2),ALTPTRT                               0718 02168000
         C     @06,@ZT00002                                        0718 02169000
         BNE   @RF00718                                            0718 02170000
*                                          ALTPTRC = ALTPTRC + 1;  0720 02171000
         MVC   @ZT00002+2(2),ALTPTRC                               0720 02172000
         L     @06,@ZT00002                                        0720 02173000
         LA    @06,1(,@06)                                         0720 02174000
         STH   @06,ALTPTRC                                         0720 02175000
*                                          ALTPTRT = 0;            0721 02176000
         SLR   @06,@06                                             0721 02177000
         STH   @06,ALTPTRT                                         0721 02178000
*                                          END;                    0722 02179000
*                                        ELSE DO;                  0723 02180000
         B     @RC00718                                            0723 02181000
@RF00718 DS    0H                                                  0724 02182000
*                                          ALTPTRT = ALTPTRT + 1;  0724 02183000
         MVC   @ZT00002+2(2),ALTPTRT                               0724 02184000
         L     @06,@ZT00002                                        0724 02185000
         LA    @06,1(,@06)                                         0724 02186000
         STH   @06,ALTPTRT                                         0724 02187000
*                                          END;                    0725 02188000
*/*                                    END-THEN                      */ 02189000
*                                      END;                        0726 02190000
*/*                                END-ELSE                          */ 02191000
*                                  END;                            0727 02192000
*/*                            END-THEN                              */ 02193000
*                              END;                                0728 02194000
*/*                          ELSE                                    */ 02195000
*                            ELSE DO;                              0729 02196000
*                                                                  0729 02197000
         B     @RC00708                                            0729 02198000
@RF00708 DS    0H                                                  0730 02199000
*/*                            VALIDATE_HOME-ADDRESS                 */ 02200000
*                              CALL VALHOME                        0730 02201000
*                                   (CTRADDR                       0730 02202000
*                                   ,DFLAGC                        0730 02203000
*                                   ,TRACKTYP);                    0730 02204000
         LA    @06,CTRADDR                                         0730 02205000
         ST    @06,@AL00001                                        0730 02206000
         LA    @06,DFLAGC                                          0730 02207000
         ST    @06,@AL00001+4                                      0730 02208000
         LA    @06,TRACKTYP                                        0730 02209000
         ST    @06,@AL00001+8                                      0730 02210000
         LA    @01,@AL00001                                        0730 02211000
         BAL   @14,VALHOME                                         0730 02212000
*/*                            IF NO SEVERE ERRORS AND DEFECT FLAG   */ 02213000
*/*                             NOT SET AND TRACK RECOVERABLE        */ 02214000
*                              IF LASTCOND < LASTCC12 &            0731 02215000
*                               DFLAGC = NODEFECT &                0731 02216000
*                               RCVRFLAG = RECOVER                 0731 02217000
*/*                              THEN DISSOCIATE_TRACK               */ 02218000
*                                THEN DO;    CALL DISTRACK; END;   0731 02219000
         L     @06,@PC00001+8                                      0731 02220000
         LH    @06,LASTCOND(,@06)                                  0731 02221000
         CH    @06,@CH00265                                        0731 02222000
         BNL   @RF00731                                            0731 02223000
         TM    DFLAGC,B'10000000'                                  0731 02224000
         BNZ   @RF00731                                            0731 02225000
         TM    RCVRFLAG,B'10000000'                                0731 02226000
         BNO   @RF00731                                            0731 02227000
         BAL   @14,DISTRACK                                        0733 02228000
*/*                              ELSE                                */ 02229000
*                                ELSE DO;                          0735 02230000
         B     @RC00731                                            0735 02231000
@RF00731 DS    0H                                                  0736 02232000
*/*                                IF NO SEVERE ERRORS AND           */ 02233000
*/*                                 DEFECT-FLAG SET                  */ 02234000
*                                  IF LASTCOND < LASTCC12 &        0736 02235000
*                                   DFLAGC = DEFECTIV              0736 02236000
*/*                                  THEN                            */ 02237000
*                                    THEN DO;                      0736 02238000
         L     @06,@PC00001+8                                      0736 02239000
         LH    @06,LASTCOND(,@06)                                  0736 02240000
         CH    @06,@CH00265                                        0736 02241000
         BNL   @RF00736                                            0736 02242000
         TM    DFLAGC,B'10000000'                                  0736 02243000
         BNO   @RF00736                                            0736 02244000
*/*                                    DECREMENT NUMBER OF           */ 02245000
*/*                                     AVAILABLE ALTERNATE TRACKS   */ 02246000
*                                      ALTCOUNT = ALTCOUNT - 1;    0738 02247000
         L     @06,ALTCOUNT                                        0738 02248000
         BCTR  @06,0                                               0738 02249000
         ST    @06,ALTCOUNT                                        0738 02250000
*/*                                    ISSUE_BUILD_PACK_MAP          */ 02251000
*                                      PACKDEF = DEFECTIV;         0739 02252000
         OI    PACKDEF,B'10000000'                                 0739 02253000
*                                      PACKCHEK = NODEFECT;        0740 02254000
         NI    PACKCHEK,B'01111111'                                0740 02255000
*                                      PACKRCVR = RCVRYES;         0741 02256000
         NI    PACKRCVR,B'01111111'                                0741 02257000
*                                      PACKTRAK = CTRADDR;         0742 02258000
         L     @06,CTRADDR                                         0742 02259000
         ST    @06,PACKTRAK                                        0742 02260000
*                                      PACKTRK = ALTTRACK;         0743 02261000
         NI    PACKTRK,B'01111111'                                 0743 02262000
*                                      PACKASC = CTRADDR;          0744 02263000
         ST    @06,PACKASC                                         0744 02264000
*                                      CALL BILDPACK;              0745 02265000
         BAL   @14,BILDPACK                                        0745 02266000
*/*                                    END-THEN                      */ 02267000
*                                      END;                        0746 02268000
*/*                                END-ELSE                          */ 02269000
*                                  END;                            0747 02270000
*/*                            END-ELSE                              */ 02271000
*                              END;                                0748 02272000
*/*                        END-THEN                                  */ 02273000
*                          END;                                    0749 02274000
*/*                      ELSE                                        */ 02275000
*                        ELSE DO;                                  0750 02276000
*                                                                  0750 02277000
         B     @RC00706                                            0750 02278000
@RF00706 DS    0H                                                  0751 02279000
*/*                        VALIDATE_HOME-ADDRESS                     */ 02280000
*                          CALL VALHOME                            0751 02281000
*                               (CTRADDR                           0751 02282000
*                               ,DFLAGC                            0751 02283000
*                               ,TRACKTYP);                        0751 02284000
         LA    @06,CTRADDR                                         0751 02285000
         ST    @06,@AL00001                                        0751 02286000
         LA    @06,DFLAGC                                          0751 02287000
         ST    @06,@AL00001+4                                      0751 02288000
         LA    @06,TRACKTYP                                        0751 02289000
         ST    @06,@AL00001+8                                      0751 02290000
         LA    @01,@AL00001                                        0751 02291000
         BAL   @14,VALHOME                                         0751 02292000
*/*                        IF NO SEVERE ERRORS AND DEFECT FLAG       */ 02293000
*/*                         NOT SET AND TRACK IS RECOVERABLE         */ 02294000
*                          IF LASTCOND < LASTCC12 &                0752 02295000
*                           DFLAGC = NODEFECT & RCVRFLAG = RECOVER 0752 02296000
*/*                          THEN DISSOCIATE_TRACK                   */ 02297000
*                            THEN DO;    CALL DISTRACK; END    ;   0752 02298000
         L     @06,@PC00001+8                                      0752 02299000
         LH    @06,LASTCOND(,@06)                                  0752 02300000
         CH    @06,@CH00265                                        0752 02301000
         BNL   @RF00752                                            0752 02302000
         TM    DFLAGC,B'10000000'                                  0752 02303000
         BNZ   @RF00752                                            0752 02304000
         TM    RCVRFLAG,B'10000000'                                0752 02305000
         BNO   @RF00752                                            0752 02306000
         BAL   @14,DISTRACK                                        0754 02307000
*/*                          ELSE                                    */ 02308000
*                            ELSE DO;                              0756 02309000
         B     @RC00752                                            0756 02310000
@RF00752 DS    0H                                                  0757 02311000
*/*                            IF NO SEVERE ERRORS AND               */ 02312000
*/*                             DEFECT-FLAG SET                      */ 02313000
*                              IF LASTCOND < LASTCC12 &            0757 02314000
*                               DFLAGC = DEFECTIV                  0757 02315000
*/*                              THEN                                */ 02316000
*                                THEN DO;                          0757 02317000
         L     @06,@PC00001+8                                      0757 02318000
         LH    @06,LASTCOND(,@06)                                  0757 02319000
         CH    @06,@CH00265                                        0757 02320000
         BNL   @RF00757                                            0757 02321000
         TM    DFLAGC,B'10000000'                                  0757 02322000
         BNO   @RF00757                                            0757 02323000
*/*                                DECREMENT NUMBER OF               */ 02324000
*/*                                 AVAILABLE ALTERNATE TRACKS       */ 02325000
*                                  ALTCOUNT = ALTCOUNT - 1;        0759 02326000
         L     @06,ALTCOUNT                                        0759 02327000
         BCTR  @06,0                                               0759 02328000
         ST    @06,ALTCOUNT                                        0759 02329000
*/*                                ISSUE_BUILD_PACK_MAP              */ 02330000
*                                  PACKDEF = DEFECTIV;             0760 02331000
         OI    PACKDEF,B'10000000'                                 0760 02332000
*                                  PACKCHEK = NODEFECT;            0761 02333000
         NI    PACKCHEK,B'01111111'                                0761 02334000
*                                  PACKRCVR = RCVRYES;             0762 02335000
         NI    PACKRCVR,B'01111111'                                0762 02336000
*                                  PACKTRAK = CTRADDR;             0763 02337000
         L     @06,CTRADDR                                         0763 02338000
         ST    @06,PACKTRAK                                        0763 02339000
*                                  PACKTRK = ALTTRACK;             0764 02340000
         NI    PACKTRK,B'01111111'                                 0764 02341000
*                                  PACKASC = CTRADDR;              0765 02342000
         ST    @06,PACKASC                                         0765 02343000
*                                  CALL BILDPACK;                  0766 02344000
         BAL   @14,BILDPACK                                        0766 02345000
*/*                                END-THEN                          */ 02346000
*                                  END;                            0767 02347000
*/*                            END-ELSE                              */ 02348000
*                              END;                                0768 02349000
@RF00757 DS    0H                                                  0769 02350000
*/*                        IF PRIMARY IS INCORRECTLY ASSOCIATED OR   */ 02351000
*/*                         FLAGGED DEFECTIVE                        */ 02352000
*                          IF (RZACCHH ^= RZCCHH) | (DFLAGA = DEFECTIV) 02353000
*/*                          THEN                                    */ 02354000
*                            THEN DO;                              0769 02355000
*                                                                  0769 02356000
@RC00752 CLC   RZACCHH(4),RZCCHH                                   0769 02357000
         BNE   @RT00769                                            0769 02358000
         TM    DFLAGA,B'10000000'                                  0769 02359000
         BNO   @RF00769                                            0769 02360000
@RT00769 DS    0H                                                  0770 02361000
*/*                            ISSUE ERROR MESSAGE (MSGMEDAL)        */ 02362000
*                              DARGSENT = MSGMEDAL;                0771 02363000
         L     @06,DDSTRU                                          0771 02364000
         MVI   DARGSENT(@06),X'08'                                 0771 02365000
*                              DARGCNT = 8;                        0772 02366000
         MVC   DARGCNT(2,@06),@CH00161                             0772 02367000
*                              IF DFLAGA = DEFECTIV                0773 02368000
*                                THEN DO;                          0773 02369000
         TM    DFLAGA,B'10000000'                                  0773 02370000
         BNO   @RF00773                                            0773 02371000
*                                  DARGINS (1) = 1;                0775 02372000
         LA    @15,1                                               0775 02373000
         STH   @15,DARGINS(,@06)                                   0775 02374000
*                                  DARGINL (1) = 1;                0776 02375000
         STH   @15,DARGINL(,@06)                                   0776 02376000
*                                  DARGDTM (1) = ADDR ('D');       0777 02377000
         LA    @15,@CC00799                                        0777 02378000
         ST    @15,DARGDTM(,@06)                                   0777 02379000
*                                  END;                            0778 02380000
*                                ELSE DO;                          0779 02381000
         B     @RC00773                                            0779 02382000
@RF00773 DS    0H                                                  0780 02383000
*                                  DARGINS (1) = 1;                0780 02384000
         LA    @06,1                                               0780 02385000
         L     @15,DDSTRU                                          0780 02386000
         STH   @06,DARGINS(,@15)                                   0780 02387000
*                                  DARGINL (1) = 1;                0781 02388000
         STH   @06,DARGINL(,@15)                                   0781 02389000
*                                  DARGDTM (1) = ADDR ('N');       0782 02390000
         LA    @06,@CC00800                                        0782 02391000
         ST    @06,DARGDTM(,@15)                                   0782 02392000
*                                  END;                            0783 02393000
*                              DARGINS (2) = 2;                    0784 02394000
@RC00773 LA    @06,2                                               0784 02395000
         L     @15,DDSTRU                                          0784 02396000
         STH   @06,DARGINS+8(,@15)                                 0784 02397000
*                              DARGINL (2) = LENGTH (RZCCHHC);     0785 02398000
         STH   @06,DARGINL+8(,@15)                                 0785 02399000
*                              DARGDTM (2) = ADDR (RZCCHHC);       0786 02400000
         LA    @14,RZCCHHC                                         0786 02401000
         ST    @14,DARGDTM+8(,@15)                                 0786 02402000
*                              DARGINS (3) = 3;                    0787 02403000
         MVC   DARGINS+16(2,@15),@CH00136                          0787 02404000
*                              DARGINL (3) = LENGTH (RZCCHHT);     0788 02405000
         STH   @06,DARGINL+16(,@15)                                0788 02406000
*                              DARGDTM (3) = ADDR (RZCCHHT);       0789 02407000
         LA    @14,RZCCHHT                                         0789 02408000
         ST    @14,DARGDTM+16(,@15)                                0789 02409000
*                              DARGINS (4) = 4;                    0790 02410000
         MVC   DARGINS+24(2,@15),@CH00044                          0790 02411000
*                              DARGINL (4) = LENGTH (RZACCHHC);    0791 02412000
         STH   @06,DARGINL+24(,@15)                                0791 02413000
*                              DARGDTM (4) = ADDR (RZACCHHC);      0792 02414000
         LA    @14,RZACCHHC                                        0792 02415000
         ST    @14,DARGDTM+24(,@15)                                0792 02416000
*                              DARGINS (5) = 5;                    0793 02417000
         MVC   DARGINS+32(2,@15),@CH00255                          0793 02418000
*                              DARGINL (5) = LENGTH (RZACCHHT);    0794 02419000
         STH   @06,DARGINL+32(,@15)                                0794 02420000
*                              DARGDTM (5) = ADDR (RZACCHHT);      0795 02421000
         LA    @06,RZACCHHT                                        0795 02422000
         ST    @06,DARGDTM+32(,@15)                                0795 02423000
*                              IF DFLAGC = DEFECTIV                0796 02424000
*                                THEN DO;                          0796 02425000
         TM    DFLAGC,B'10000000'                                  0796 02426000
         BNO   @RF00796                                            0796 02427000
*                                  DARGINS (6) = 6;                0798 02428000
         MVC   DARGINS+40(2,@15),@CH00119                          0798 02429000
*                                  DARGINL (6) = 1;                0799 02430000
         MVC   DARGINL+40(2,@15),@CH00165                          0799 02431000
*                                  DARGDTM (6) = ADDR ('D');       0800 02432000
         LA    @06,@CC00799                                        0800 02433000
         ST    @06,DARGDTM+40(,@15)                                0800 02434000
*                                  END;                            0801 02435000
*                                ELSE DO;                          0802 02436000
         B     @RC00796                                            0802 02437000
@RF00796 DS    0H                                                  0803 02438000
*                                  DARGINS (6) = 6;                0803 02439000
         L     @06,DDSTRU                                          0803 02440000
         MVC   DARGINS+40(2,@06),@CH00119                          0803 02441000
*                                  DARGINL (6) = 1;                0804 02442000
         MVC   DARGINL+40(2,@06),@CH00165                          0804 02443000
*                                  DARGDTM (6) = ADDR ('N');       0805 02444000
         LA    @15,@CC00800                                        0805 02445000
         ST    @15,DARGDTM+40(,@06)                                0805 02446000
*                                  END;                            0806 02447000
*                              DARGINS (7) = 7;                    0807 02448000
@RC00796 L     @06,DDSTRU                                          0807 02449000
         MVC   DARGINS+48(2,@06),@CH00185                          0807 02450000
*                              DARGINL (7) = LENGTH (CTRADDRC);    0808 02451000
         LA    @15,2                                               0808 02452000
         STH   @15,DARGINL+48(,@06)                                0808 02453000
*                              DARGDTM (7) = ADDR (CTRADDRC);      0809 02454000
         LA    @14,CTRADDRC                                        0809 02455000
         ST    @14,DARGDTM+48(,@06)                                0809 02456000
*                              DARGINS (8) = 8;                    0810 02457000
         MVC   DARGINS+56(2,@06),@CH00161                          0810 02458000
*                              DARGINL (8) = LENGTH (CTRADDRT);    0811 02459000
         STH   @15,DARGINL+56(,@06)                                0811 02460000
*                              DARGDTM (8) = ADDR (CTRADDRT);      0812 02461000
         LA    @15,CTRADDRT                                        0812 02462000
         ST    @15,DARGDTM+56(,@06)                                0812 02463000
*                              CALL ICKTPPR0 (GDTTBL               0813 02464000
*                                     ,PRTFILE                     0813 02465000
*                                     ,DDSTRU);                    0813 02466000
         L     @06,@PC00001                                        0813 02467000
         ST    @06,@AL00001                                        0813 02468000
         LA    @15,@CF00094                                        0813 02469000
         ST    @15,@AL00001+4                                      0813 02470000
         LA    @15,DDSTRU                                          0813 02471000
         ST    @15,@AL00001+8                                      0813 02472000
         MVI   @AL00001+8,X'80'                                    0813 02473000
         L     @15,GDTPRT(,@06)                                    0813 02474000
         LA    @01,@AL00001                                        0813 02475000
         BALR  @14,@15                                             0813 02476000
*/*                            INDICATE AN ERROR                     */ 02477000
*                              LASTCOND = MAX(LASTCOND,LASTCC08);  0814 02478000
         L     @06,@PC00001+8                                      0814 02479000
         LH    @15,LASTCOND(,@06)                                  0814 02480000
         LA    @14,8                                               0814 02481000
         CR    @15,@14                                             0814 02482000
         BNL   *+6                                                      02483000
         LR    @15,@14                                             0814 02484000
         STH   @15,LASTCOND(,@06)                                  0814 02485000
*/*                            IF THE TRACK IS A CRITICAL TRACK      */ 02486000
*                              IF (RZCCHH = 0) |                   0815 02487000
*                               (RZCCHH >= VTOCLOC & RZCCHH <= VTOCHI)  02488000
*/*                              THEN                                */ 02489000
*                                THEN DO;                          0815 02490000
         L     @06,RZCCHH                                          0815 02491000
         LTR   @06,@06                                             0815 02492000
         BZ    @RT00815                                            0815 02493000
         CL    @06,VTOCLOC                                         0815 02494000
         BL    @RF00815                                            0815 02495000
         CL    @06,VTOCHI                                          0815 02496000
         BH    @RF00815                                            0815 02497000
@RT00815 DS    0H                                                  0816 02498000
*/*                                ISSUE A SEVERE ERROR MESSAGE      */ 02499000
*                                  DARGSENT = MSGMINV;             0817 02500000
         L     @06,DDSTRU                                          0817 02501000
         MVI   DARGSENT(@06),X'0C'                                 0817 02502000
*                                  DARGCNT = 2;                    0818 02503000
         LA    @15,2                                               0818 02504000
         STH   @15,DARGCNT(,@06)                                   0818 02505000
*                                  DARGINS (1) = 1;                0819 02506000
         MVC   DARGINS(2,@06),@CH00165                             0819 02507000
*                                  DARGINL (1) = LENGTH (RZCCHHC); 0820 02508000
         STH   @15,DARGINL(,@06)                                   0820 02509000
*                                  DARGDTM (1) = ADDR (RZCCHHC);   0821 02510000
         LA    @14,RZCCHHC                                         0821 02511000
         ST    @14,DARGDTM(,@06)                                   0821 02512000
*                                  DARGINS (2) = 2;                0822 02513000
         STH   @15,DARGINS+8(,@06)                                 0822 02514000
*                                  DARGINL (2) = LENGTH (RZCCHHT); 0823 02515000
         STH   @15,DARGINL+8(,@06)                                 0823 02516000
*                                  DARGDTM (2) = ADDR (RZCCHHT);   0824 02517000
         LA    @15,RZCCHHT                                         0824 02518000
         ST    @15,DARGDTM+8(,@06)                                 0824 02519000
*                                  CALL ICKTPPR0 (GDTTBL           0825 02520000
*                                         ,PRTFILE                 0825 02521000
*                                         ,DDSTRU);                0825 02522000
         L     @06,@PC00001                                        0825 02523000
         ST    @06,@AL00001                                        0825 02524000
         LA    @15,@CF00094                                        0825 02525000
         ST    @15,@AL00001+4                                      0825 02526000
         LA    @15,DDSTRU                                          0825 02527000
         ST    @15,@AL00001+8                                      0825 02528000
         MVI   @AL00001+8,X'80'                                    0825 02529000
         L     @15,GDTPRT(,@06)                                    0825 02530000
         LA    @01,@AL00001                                        0825 02531000
         BALR  @14,@15                                             0825 02532000
*/*                                INDICATE A SEVERE ERROR           */ 02533000
*                                  LASTCOND = LASTCC12;            0826 02534000
         L     @06,@PC00001+8                                      0826 02535000
         MVC   LASTCOND(2,@06),@CH00265                            0826 02536000
*/*                                END-THEN                          */ 02537000
*                                  END;                            0827 02538000
*/*                            END-THEN                              */ 02539000
*                              END;                                0828 02540000
*/*                        END-ELSE                                  */ 02541000
*                          END;                                    0829 02542000
*/*                    END-THEN                                      */ 02543000
*                      END;                                        0830 02544000
*/*                END-THEN (TRACK ASSOCIATED WITH PRIMARY)          */ 02545000
*                  END;                                            0831 02546000
*/*              ELSE                                                */ 02547000
*                ELSE DO;                                          0832 02548000
         B     @RC00701                                            0832 02549000
@RF00701 DS    0H                                                  0833 02550000
*/*                IF TRACK IS NOT ASSOCIATED TO ITSELF              */ 02551000
*                  IF RZCCHH ^= CTRADDR                            0833 02552000
*/*                  THEN                                            */ 02553000
*                    THEN DO;                                      0833 02554000
         CLC   RZCCHH(4),CTRADDR                                   0833 02555000
         BE    @RF00833                                            0833 02556000
*/*                    VALIDATE_HOME-ADDRESS                         */ 02557000
*                      CALL VALHOME                                0835 02558000
*                           (CTRADDR                               0835 02559000
*                           ,DFLAGC                                0835 02560000
*                           ,TRACKTYP);                            0835 02561000
         LA    @06,CTRADDR                                         0835 02562000
         ST    @06,@AL00001                                        0835 02563000
         LA    @06,DFLAGC                                          0835 02564000
         ST    @06,@AL00001+4                                      0835 02565000
         LA    @06,TRACKTYP                                        0835 02566000
         ST    @06,@AL00001+8                                      0835 02567000
         LA    @01,@AL00001                                        0835 02568000
         BAL   @14,VALHOME                                         0835 02569000
*/*                    IF NO SEVERE ERRORS AND DEFECT FLAG           */ 02570000
*/*                     NOT SET AND TRACK IS RECOVERABLE             */ 02571000
*                      IF LASTCOND < LASTCC12 &                    0836 02572000
*                       DFLAGC = NODEFECT & RCVRFLAG = RECOVER     0836 02573000
*/*                      THEN DISSOCIATE_TRACK                       */ 02574000
*                        THEN DO;    CALL DISTRACK; END        ;   0836 02575000
         L     @06,@PC00001+8                                      0836 02576000
         LH    @06,LASTCOND(,@06)                                  0836 02577000
         CH    @06,@CH00265                                        0836 02578000
         BNL   @RF00836                                            0836 02579000
         TM    DFLAGC,B'10000000'                                  0836 02580000
         BNZ   @RF00836                                            0836 02581000
         TM    RCVRFLAG,B'10000000'                                0836 02582000
         BNO   @RF00836                                            0836 02583000
         BAL   @14,DISTRACK                                        0838 02584000
*/*                      ELSE                                        */ 02585000
*                        ELSE DO;                                  0840 02586000
         B     @RC00836                                            0840 02587000
@RF00836 DS    0H                                                  0841 02588000
*/*                        IF NO SEVERE ERRORS AND                   */ 02589000
*/*                         DEFECT-FLAG SET                          */ 02590000
*                          IF LASTCOND < LASTCC12 &                0841 02591000
*                           DFLAGC = DEFECTIV                      0841 02592000
*/*                          THEN                                    */ 02593000
*                            THEN DO;                              0841 02594000
         L     @06,@PC00001+8                                      0841 02595000
         LH    @06,LASTCOND(,@06)                                  0841 02596000
         CH    @06,@CH00265                                        0841 02597000
         BNL   @RF00841                                            0841 02598000
         TM    DFLAGC,B'10000000'                                  0841 02599000
         BNO   @RF00841                                            0841 02600000
*/*                            DECREMENT NUMBER OF                   */ 02601000
*/*                             AVAILABLE ALTERNATE TRACKS           */ 02602000
*                              ALTCOUNT = ALTCOUNT - 1;            0843 02603000
         L     @06,ALTCOUNT                                        0843 02604000
         BCTR  @06,0                                               0843 02605000
         ST    @06,ALTCOUNT                                        0843 02606000
*/*                            ISSUE_BUILD_PACK_MAP                  */ 02607000
*                              PACKDEF = DEFECTIV;                 0844 02608000
         OI    PACKDEF,B'10000000'                                 0844 02609000
*                              PACKCHEK = NODEFECT;                0845 02610000
         NI    PACKCHEK,B'01111111'                                0845 02611000
*                              PACKRCVR = RCVRYES;                 0846 02612000
         NI    PACKRCVR,B'01111111'                                0846 02613000
*                              PACKTRAK = CTRADDR;                 0847 02614000
         L     @06,CTRADDR                                         0847 02615000
         ST    @06,PACKTRAK                                        0847 02616000
*                              PACKTRK = ALTTRACK;                 0848 02617000
         NI    PACKTRK,B'01111111'                                 0848 02618000
*                              PACKASC = CTRADDR;                  0849 02619000
         ST    @06,PACKASC                                         0849 02620000
*                              CALL BILDPACK;                      0850 02621000
         BAL   @14,BILDPACK                                        0850 02622000
*/*                            END-THEN                              */ 02623000
*                              END;                                0851 02624000
*/*                        END-ELSE                                  */ 02625000
*                          END;                                    0852 02626000
*/*                    END-THEN                                      */ 02627000
*                      END;                                        0853 02628000
*/*                  ELSE INCREMENT NUMBER OF AVAILABLE ALTERNATE    */ 02629000
*/*                   TRACKS FOUND                                   */ 02630000
*                    ELSE DO;    AVAILCNT = AVAILCNT + 1; END;     0854 02631000
         B     @RC00833                                            0854 02632000
@RF00833 DS    0H                                                  0855 02633000
         LA    @06,1                                               0855 02634000
         AL    @06,AVAILCNT                                        0855 02635000
         ST    @06,AVAILCNT                                        0855 02636000
*/*                END-ELSE                                          */ 02637000
*                  END;                                            0857 02638000
@RC00833 DS    0H                                                  0858 02639000
*/*            END-ELSE (DEFECT FLAG FOUND NOT TO BE SET)            */ 02640000
*              END;                                                0858 02641000
@RC00701 DS    0H                                                  0859 02642000
*/*        IF NO SEVERE ERRORS AND TRACK IS RECOVERABLE              */ 02643000
*          IF LASTCOND < LASTCC12 & RCVRFLAG = RECOVER             0859 02644000
*/*          THEN                                                    */ 02645000
*            THEN DO;                                              0859 02646000
@RC00546 L     @06,@PC00001+8                                      0859 02647000
         LH    @06,LASTCOND(,@06)                                  0859 02648000
         CH    @06,@CH00265                                        0859 02649000
         BNL   @RF00859                                            0859 02650000
         TM    RCVRFLAG,B'10000000'                                0859 02651000
         BNO   @RF00859                                            0859 02652000
*/*            IF FIRST AVAILABLE TRACK (AVAILCNT = 1)               */ 02653000
*              IF AVAILCNT = 1                                     0861 02654000
*/*              THEN UPDATE POINTER TO THE NEXT AVAILABLE ALTERNATE */ 02655000
*/*               TRACK TO POINT TO THIS TRACK (ALTPTR)              */ 02656000
*                THEN DO;                                          0861 02657000
*                                                                  0861 02658000
         L     @06,AVAILCNT                                        0861 02659000
         LA    @15,1                                               0861 02660000
         CR    @06,@15                                             0861 02661000
         BNE   @RF00861                                            0861 02662000
*                  ALTPTRC = CTRADDRC;                             0863 02663000
         MVC   ALTPTRC(2),CTRADDRC                                 0863 02664000
*                  ALTPTRT = CTRADDRT;                             0864 02665000
         MVC   ALTPTRT(2),CTRADDRT                                 0864 02666000
*                  AVAILCNT = AVAILCNT + 1;                        0865 02667000
         ALR   @06,@15                                             0865 02668000
         ST    @06,AVAILCNT                                        0865 02669000
*                  END;                                            0866 02670000
*/*            END-THEN                                              */ 02671000
*              END;                                                0867 02672000
@RF00861 DS    0H                                                  0868 02673000
*/*        END-THEN (NO SEVERE ERRORS)                               */ 02674000
*          END;                                                    0868 02675000
@RF00859 DS    0H                                                  0869 02676000
*/*    IF LASTCOND >= 12                                             */ 02677000
*      IF LASTCOND >= LASTCC12                                     0869 02678000
*        THEN RETURN;                                              0869 02679000
@RF00544 L     @06,@PC00001+8                                      0869 02680000
         LH    @06,LASTCOND(,@06)                                  0869 02681000
         CH    @06,@CH00265                                        0869 02682000
         BNL   @RT00869                                            0869 02683000
*/*      ELSE INCREMENT CURRENT TRACK ADDRESS                        */ 02684000
*        ELSE DO;                                                  0871 02685000
*                                                                  0871 02686000
*          IF CTRADDRT = TRKSPCYL - 1                              0872 02687000
*            THEN DO;                                              0872 02688000
*                                                                  0872 02689000
         L     @06,INFOPTR+12                                      0872 02690000
         L     @06,TRKSPCYL(,@06)                                  0872 02691000
         BCTR  @06,0                                               0872 02692000
         MVC   @ZT00002+2(2),CTRADDRT                              0872 02693000
         C     @06,@ZT00002                                        0872 02694000
         BNE   @RF00872                                            0872 02695000
*              CTRADDRC = CTRADDRC + 1;                            0874 02696000
         MVC   @ZT00002+2(2),CTRADDRC                              0874 02697000
         L     @06,@ZT00002                                        0874 02698000
         LA    @06,1(,@06)                                         0874 02699000
         STH   @06,CTRADDRC                                        0874 02700000
*              CTRADDRT = 0;                                       0875 02701000
         SLR   @06,@06                                             0875 02702000
         STH   @06,CTRADDRT                                        0875 02703000
*              END;                                                0876 02704000
*            ELSE DO;    CTRADDRT = CTRADDRT + 1; END;             0877 02705000
         B     @RC00872                                            0877 02706000
@RF00872 DS    0H                                                  0878 02707000
         MVC   @ZT00002+2(2),CTRADDRT                              0878 02708000
         L     @06,@ZT00002                                        0878 02709000
         LA    @06,1(,@06)                                         0878 02710000
         STH   @06,CTRADDRT                                        0878 02711000
*          END;                                                    0880 02712000
@RC00872 DS    0H                                                  0881 02713000
*/*  END-UNTIL (ALL ALTERNATE TRACKS ARE EXHAUSTED)                  */ 02714000
*    END;                                                          0881 02715000
@DE00541 L     @06,INFOPTR+60                                      0881 02716000
         CLC   CTRADDR(4),FINALT(@06)                              0881 02717000
         BNH   @DL00541                                            0881 02718000
*/*  END-SUB-PROCEDURE EXAMINE_ALTERNATE_TRACKS                      */ 02719000
*    END EXALTRA;                                                  0882 02720000
*                                                                  0882 02721000
@EL00005 DS    0H                                                  0882 02722000
@EF00005 DS    0H                                                  0882 02723000
@ER00005 LM    @14,@12,@SA00005                                    0882 02724000
         BR    @14                                                 0882 02725000
         EJECT                                                          02726000
*/*****  START OF SPECIFICATIONS  ************************************/ 02727000
*/*                                                                  */ 02728000
*/*  SUB-PROCEDURE NAME:  INALTRA                                    */ 02729000
*/*                                                                  */ 02730000
*/*  DESCRIPTIVE NAME:  INITIALIZE ALTERNATE TRACKS                  */ 02731000
*/*                                                                  */ 02732000
*/*  FUNCTION:                                                       */ 02733000
*/*                                                                  */ 02734000
*/*    THIS SUB-PROCEDURE WILL INITIALIZE ALL THE ALTERNATE TRACKS   */ 02735000
*/*    ON A PACK FOR MEDIAL AND MAXIMAL INITIALIZATION.              */ 02736000
*/*                                                                  */ 02737000
*/*****  END OF SPECIFICATIONS  **************************************/ 02738000
*                                                                  0883 02739000
*                                                                  0883 02740000
*/*  SUB-PROCEDURE INITIALIZE_ALTERNATE_TRACKS                       */ 02741000
*    INALTRA:                                                      0883 02742000
*      PROCEDURE;                                                  0883 02743000
INALTRA  STM   @14,@12,@SA00006                                    0883 02744000
*    OLDERID2 = NEWERID2;                                          0884 02745000
         L     @06,@PC00001                                        0884 02746000
         L     @06,GDTTR2(,@06)                                    0884 02747000
         MVC   @TS00001(95),NEWERID2(@06)                          0884 02748000
         MVC   OLDERID2(95,@06),@TS00001                           0884 02749000
*    NEWID2 =  'INIA';                                             0885 02750000
         MVC   NEWID2(4,@06),@CC00805                              0885 02751000
*    CTRADDR = FIRSTAL;                                            0886 02752000
         L     @06,INFOPTR+48                                      0886 02753000
         MVC   CTRADDR(4),FIRSTAL(@06)                             0886 02754000
*    TRACKTYP = ALTTRACK;                                          0887 02755000
         NI    TRACKTYP,B'01111111'                                0887 02756000
*/*  DO-UNTIL ALL ALTERNATE TRACKS ARE EXHAUSTED                     */ 02757000
*    DO UNTIL (CTRADDR > FINALT);                                  0888 02758000
*                                                                  0888 02759000
@DL00888 DS    0H                                                  0889 02760000
*/*    SET FLAG TO INDICATE TRACK CURRENTLY RECOVERABLE              */ 02761000
*      RCVRFLAG = RECOVER;                                         0889 02762000
         OI    RCVRFLAG,B'10000000'                                0889 02763000
*/*    VALIDATE_TRACK                                                */ 02764000
*      CALL VALTRACK;                                              0890 02765000
         BAL   @14,VALTRACK                                        0890 02766000
*/*    IF NO SEVERE ERRORS AND TRACK RECOVERABLE                     */ 02767000
*      IF (LASTCOND < LASTCC12) & (RCVRFLAG = RECOVER)             0891 02768000
*/*      THEN                                                        */ 02769000
*        THEN DO;                                                  0891 02770000
*                                                                  0891 02771000
         L     @06,@PC00001+8                                      0891 02772000
         LH    @06,LASTCOND(,@06)                                  0891 02773000
         CH    @06,@CH00265                                        0891 02774000
         BNL   @RF00891                                            0891 02775000
         TM    RCVRFLAG,B'10000000'                                0891 02776000
         BNO   @RF00891                                            0891 02777000
*/*        IF DEFECT-FLAG IS FOUND TO BE SET                         */ 02778000
*          IF DFLAGC = DEFECTIV                                    0893 02779000
*/*          THEN                                                    */ 02780000
*            THEN DO;                                              0893 02781000
*                                                                  0893 02782000
         TM    DFLAGC,B'10000000'                                  0893 02783000
         BNO   @RF00893                                            0893 02784000
*/*            DECREMENT COUNT OF AVAILABLE ALT. TRACKS (ALTCOUNT)   */ 02785000
*              ALTCOUNT = ALTCOUNT - 1;                            0895 02786000
         L     @06,ALTCOUNT                                        0895 02787000
         BCTR  @06,0                                               0895 02788000
         ST    @06,ALTCOUNT                                        0895 02789000
*/*            IF MEDIAL INITIALIZATION WAS REQUESTED                */ 02790000
*              IF (ADDR(VALID) ^= NULLPTR) & (ADDR(NOCHK) ^= NULLPTR)   02791000
*/*              THEN ISSUE_BUILD_PACK_MAP                           */ 02792000
*                THEN DO;                                          0896 02793000
*                                                                  0896 02794000
         SLR   @06,@06                                             0896 02795000
         L     @15,@PC00001+4                                      0896 02796000
         C     @06,FDTPTR+56(,@15)                                 0896 02797000
         BE    @RF00896                                            0896 02798000
         C     @06,FDTPTR+16(,@15)                                 0896 02799000
         BE    @RF00896                                            0896 02800000
*                  PACKDEF  = DEFECTIV;                            0898 02801000
         OI    PACKDEF,B'10000000'                                 0898 02802000
*                  PACKCHEK = NODEFECT;                            0899 02803000
         NI    PACKCHEK,B'01111111'                                0899 02804000
*                  PACKRCVR = RCVRYES;                             0900 02805000
         NI    PACKRCVR,B'01111111'                                0900 02806000
*                  PACKTRK  = ALTTRACK;                            0901 02807000
         NI    PACKTRK,B'01111111'                                 0901 02808000
*                  PACKTRAK = CTRADDR;                             0902 02809000
         L     @06,CTRADDR                                         0902 02810000
         ST    @06,PACKTRAK                                        0902 02811000
*                  PACKASC = CTRADDR;                              0903 02812000
         ST    @06,PACKASC                                         0903 02813000
*                  CALL BILDPACK;                                  0904 02814000
         BAL   @14,BILDPACK                                        0904 02815000
*                  END;                                            0905 02816000
*/*            END-THEN                                              */ 02817000
*              END;                                                0906 02818000
*/*          ELSE (DEFECT-FLAG FOUND NOT TO BE SET)                  */ 02819000
*            ELSE DO;                                              0907 02820000
*                                                                  0907 02821000
         B     @RC00893                                            0907 02822000
@RF00893 DS    0H                                                  0908 02823000
*/*            INCREMENT COUNT OF AVAILABLE TRACKS FOUND             */ 02824000
*              AVAILCNT = AVAILCNT + 1;                            0908 02825000
         LA    @06,1                                               0908 02826000
         AL    @06,AVAILCNT                                        0908 02827000
         ST    @06,AVAILCNT                                        0908 02828000
*/*            END-ELSE (DEFECT-FLAG FOUND NOT TO BE SET)            */ 02829000
*              END;                                                0909 02830000
*/*        END-THEN (NO SEVERE ERRORS)                               */ 02831000
*          END;                                                    0910 02832000
@RC00893 DS    0H                                                  0911 02833000
*/*    IF NO SEVERE ERRORS AND TRACK RECOVERABLE                     */ 02834000
*      IF (LASTCOND < LASTCC12) & (RCVRFLAG = RECOVER)             0911 02835000
*/*      THEN                                                        */ 02836000
*        THEN DO;                                                  0911 02837000
*                                                                  0911 02838000
@RF00891 L     @06,@PC00001+8                                      0911 02839000
         LH    @06,LASTCOND(,@06)                                  0911 02840000
         CH    @06,@CH00265                                        0911 02841000
         BNL   @RF00911                                            0911 02842000
         TM    RCVRFLAG,B'10000000'                                0911 02843000
         BNO   @RF00911                                            0911 02844000
*/*        IF CHECK(N) IS SPECIFIED                                  */ 02845000
*          IF ADDR (CHECK) ^= NULLPTR                              0913 02846000
*/*          THEN                                                    */ 02847000
*            THEN DO;                                              0913 02848000
*                                                                  0913 02849000
         L     @06,@PC00001+4                                      0913 02850000
         L     @06,FDTPTR+12(,@06)                                 0913 02851000
         LTR   @06,@06                                             0913 02852000
         BZ    @RF00913                                            0913 02853000
*/*            ISSUE_CHECK_TRACK_SURFACE                             */ 02854000
*              CALL CHTRACK;                                       0915 02855000
         BAL   @14,CHTRACK                                         0915 02856000
*/*            IF NO SEVERE ERRORS AND TRACK RECOVERABLE             */ 02857000
*              IF (LASTCOND < LASTCC12) & (RCVRFLAG = RECOVER)     0916 02858000
*/*              THEN                                                */ 02859000
*                THEN DO;                                          0916 02860000
*                                                                  0916 02861000
         L     @06,@PC00001+8                                      0916 02862000
         LH    @06,LASTCOND(,@06)                                  0916 02863000
         CH    @06,@CH00265                                        0916 02864000
         BNL   @RF00916                                            0916 02865000
         TM    RCVRFLAG,B'10000000'                                0916 02866000
         BNO   @RF00916                                            0916 02867000
*/*                IF TRACK CHECKS OUT NON-DEFECTIVE                 */ 02868000
*                  IF TRSTATUS = TSCGOOD                           0918 02869000
*/*                  THEN                                            */ 02870000
*                    THEN DO;                                      0918 02871000
*                                                                  0918 02872000
         TM    TRSTATUS,B'10000000'                                0918 02873000
         BNO   @RF00918                                            0918 02874000
*/*                    IF DEFECT-FLAG IS FOUND TO BE SET             */ 02875000
*                      IF DFLAGC = DEFECTIV                        0920 02876000
*/*                      THEN                                        */ 02877000
*                        THEN DO;                                  0920 02878000
*                                                                  0920 02879000
         TM    DFLAGC,B'10000000'                                  0920 02880000
         BNO   @RF00920                                            0920 02881000
*/*                        IF RECLAIM IS SPECIFIED                   */ 02882000
*                          IF ADDR (RECLA) ^= NULLPTR              0922 02883000
*/*                          THEN ISSUE_RECLAIM_ALTERNATE_TRACK      */ 02884000
*                            THEN DO;    CALL REATRACK; END;       0922 02885000
         L     @06,@PC00001+4                                      0922 02886000
         L     @06,FDTPTR+20(,@06)                                 0922 02887000
         LTR   @06,@06                                             0922 02888000
         BZ    @RF00922                                            0922 02889000
         BAL   @14,REATRACK                                        0924 02890000
*/*                          ELSE ISSUE_BUILD_PACK_MAP (FLAGGED DEF.)*/ 02891000
*                            ELSE DO;                              0926 02892000
*                                                                  0926 02893000
         B     @RC00922                                            0926 02894000
@RF00922 DS    0H                                                  0927 02895000
*                              PACKDEF  = DEFECTIV;                0927 02896000
         OI    PACKDEF,B'10000000'                                 0927 02897000
*                              PACKCHEK = NODEFECT;                0928 02898000
         NI    PACKCHEK,B'01111111'                                0928 02899000
*                              PACKRCVR = RCVRYES;                 0929 02900000
         NI    PACKRCVR,B'01111111'                                0929 02901000
*                              PACKTRK  = ALTTRACK;                0930 02902000
         NI    PACKTRK,B'01111111'                                 0930 02903000
*                              PACKTRAK = CTRADDR;                 0931 02904000
         L     @06,CTRADDR                                         0931 02905000
         ST    @06,PACKTRAK                                        0931 02906000
*                              PACKASC = CTRADDR;                  0932 02907000
         ST    @06,PACKASC                                         0932 02908000
*                              CALL BILDPACK;                      0933 02909000
         BAL   @14,BILDPACK                                        0933 02910000
*                              END;                                0934 02911000
*/*                        END-THEN (DEFECT-FLAG IS SET)             */ 02912000
*                          END;                                    0935 02913000
*/*                    END-THEN (TRACK CHECKS OUT NON-DEFECTIVE)     */ 02914000
*                      END;                                        0936 02915000
*/*                  ELSE (TRACK CHECKS OUT DEFECTIVE)               */ 02916000
*                    ELSE DO;                                      0937 02917000
*                                                                  0937 02918000
         B     @RC00918                                            0937 02919000
@RF00918 DS    0H                                                  0938 02920000
*/*                    IF DEFECT-FLAG IS FOUND TO BE SET             */ 02921000
*                      IF DFLAGC = DEFECTIV                        0938 02922000
*/*                      THEN                                        */ 02923000
*                        THEN DO;                                  0938 02924000
*                                                                  0938 02925000
         TM    DFLAGC,B'10000000'                                  0938 02926000
         BNO   @RF00938                                            0938 02927000
*/*                        ISSUE_BUILD_PACK_MAP (FLAGGED DEFECTIVE)  */ 02928000
*                          PACKDEF  = DEFECTIV;                    0940 02929000
         OI    PACKDEF,B'10000000'                                 0940 02930000
*                          PACKCHEK = NODEFECT;                    0941 02931000
         NI    PACKCHEK,B'01111111'                                0941 02932000
*                          PACKRCVR = RCVRYES;                     0942 02933000
         NI    PACKRCVR,B'01111111'                                0942 02934000
*                          PACKTRK  = ALTTRACK;                    0943 02935000
         NI    PACKTRK,B'01111111'                                 0943 02936000
*                          PACKTRAK = CTRADDR;                     0944 02937000
         L     @06,CTRADDR                                         0944 02938000
         ST    @06,PACKTRAK                                        0944 02939000
*                          PACKASC = CTRADDR;                      0945 02940000
         ST    @06,PACKASC                                         0945 02941000
*                          CALL BILDPACK;                          0946 02942000
         BAL   @14,BILDPACK                                        0946 02943000
*/*                        ISSUE_BUILD_PACK_MAP (TRACK DEFECTIVE)    */ 02944000
*                          PACKDEF  = NODEFECT;                    0947 02945000
         NI    PACKDEF,B'01111111'                                 0947 02946000
*                          PACKCHEK = DEFECTIV;                    0948 02947000
         OI    PACKCHEK,B'10000000'                                0948 02948000
*                          CALL BILDPACK;                          0949 02949000
         BAL   @14,BILDPACK                                        0949 02950000
*/*                        END-THEN                                  */ 02951000
*                          END;                                    0950 02952000
*/*                      ELSE (DEFECT-FLAG FOUND NOT TO BE SET)      */ 02953000
*                        ELSE DO;                                  0951 02954000
*                                                                  0951 02955000
         B     @RC00938                                            0951 02956000
@RF00938 DS    0H                                                  0952 02957000
*/*                        DECREMENT COUNT OF AVAILABLE ALT TRACKS   */ 02958000
*                          ALTCOUNT = ALTCOUNT - 1;                0952 02959000
         L     @06,ALTCOUNT                                        0952 02960000
         BCTR  @06,0                                               0952 02961000
         ST    @06,ALTCOUNT                                        0952 02962000
*/*                        ISSUE_BUILD_PACK_MAP (TRACK DEFECTIVE)    */ 02963000
*                          PACKDEF  = NODEFECT;                    0953 02964000
         NI    PACKDEF,B'01111111'                                 0953 02965000
*                          PACKCHEK = DEFECTIV;                    0954 02966000
         OI    PACKCHEK,B'10000000'                                0954 02967000
*                          PACKRCVR = RCVRYES;                     0955 02968000
         NI    PACKRCVR,B'01111111'                                0955 02969000
*                          PACKTRK  = ALTTRACK;                    0956 02970000
         NI    PACKTRK,B'01111111'                                 0956 02971000
*                          PACKTRAK = CTRADDR;                     0957 02972000
         L     @06,CTRADDR                                         0957 02973000
         ST    @06,PACKTRAK                                        0957 02974000
*                          PACKASC = CTRADDR;                      0958 02975000
         ST    @06,PACKASC                                         0958 02976000
*                          CALL BILDPACK;                          0959 02977000
         BAL   @14,BILDPACK                                        0959 02978000
*/*                        ISSUE_MARK_TRACK_DEFECTIVE                */ 02979000
*                          CALL WRIHARZD;                          0960 02980000
         BAL   @14,WRIHARZD                                        0960 02981000
*/*                        END-ELSE (DEFECT-FLAG NOT SET)            */ 02982000
*                          END;                                    0961 02983000
*/*                    END-ELSE (TRACK CHECKS OUT DEFECTIVE)         */ 02984000
*                      END;                                        0962 02985000
@RC00938 DS    0H                                                  0963 02986000
*/*                IF FIRST AVAILABLE TRACK (AVAILCNT = 1)           */ 02987000
*                  IF AVAILCNT = 1                                 0963 02988000
*/*                  THEN SET POINTER TO THE NEXT AVAILABLE ALTERNATE*/ 02989000
*/*                   TRACK TO POINT TO THIS TRACK                   */ 02990000
*                    THEN DO;                                      0963 02991000
*                                                                  0963 02992000
@RC00918 L     @06,AVAILCNT                                        0963 02993000
         LA    @15,1                                               0963 02994000
         CR    @06,@15                                             0963 02995000
         BNE   @RF00963                                            0963 02996000
*                      ALTPTR = CTRADDR;                           0965 02997000
         MVC   ALTPTR(4),CTRADDR                                   0965 02998000
*                      AVAILCNT = AVAILCNT + 1;                    0966 02999000
         ALR   @06,@15                                             0966 03000000
         ST    @06,AVAILCNT                                        0966 03001000
*                      END;                                        0967 03002000
*/*                END-THEN (NO SEVERE ERRORS)                       */ 03003000
*                  END;                                            0968 03004000
@RF00963 DS    0H                                                  0969 03005000
*/*            END-THEN (CHECK (N) IS SPECIFIED)                     */ 03006000
*              END;                                                0969 03007000
@RF00916 DS    0H                                                  0970 03008000
*/*        END-THEN (NO SEVERE ERRORS)                               */ 03009000
*          END;                                                    0970 03010000
@RF00913 DS    0H                                                  0971 03011000
*/*    IF LASTCOND >= 12                                             */ 03012000
*      IF LASTCOND >= LASTCC12                                     0971 03013000
*/*      THEN RETURN                                                 */ 03014000
*        THEN DO;    RETURN; END;                                  0971 03015000
@RF00911 L     @06,@PC00001+8                                      0971 03016000
         LH    @06,LASTCOND(,@06)                                  0971 03017000
         CH    @06,@CH00265                                        0971 03018000
         BL    @RF00971                                            0971 03019000
@EL00006 DS    0H                                                  0973 03020000
@EF00006 DS    0H                                                  0973 03021000
@ER00006 LM    @14,@12,@SA00006                                    0973 03022000
         BR    @14                                                 0973 03023000
*/*      ELSE INCREMENT CURRENT TRACK ADDRESS                        */ 03024000
*        ELSE DO;                                                  0975 03025000
*                                                                  0975 03026000
@RF00971 DS    0H                                                  0976 03027000
*          IF CTRADDRT = TRKSPCYL - 1                              0976 03028000
*            THEN DO;                                              0976 03029000
*                                                                  0976 03030000
         L     @06,INFOPTR+12                                      0976 03031000
         L     @06,TRKSPCYL(,@06)                                  0976 03032000
         BCTR  @06,0                                               0976 03033000
         MVC   @ZT00002+2(2),CTRADDRT                              0976 03034000
         C     @06,@ZT00002                                        0976 03035000
         BNE   @RF00976                                            0976 03036000
*              CTRADDRC = CTRADDRC + 1;                            0978 03037000
         MVC   @ZT00002+2(2),CTRADDRC                              0978 03038000
         L     @06,@ZT00002                                        0978 03039000
         LA    @06,1(,@06)                                         0978 03040000
         STH   @06,CTRADDRC                                        0978 03041000
*              CTRADDRT = 0;                                       0979 03042000
         SLR   @06,@06                                             0979 03043000
         STH   @06,CTRADDRT                                        0979 03044000
*              END;                                                0980 03045000
*            ELSE DO;    CTRADDRT = CTRADDRT + 1; END;             0981 03046000
         B     @RC00976                                            0981 03047000
@RF00976 DS    0H                                                  0982 03048000
         MVC   @ZT00002+2(2),CTRADDRT                              0982 03049000
         L     @06,@ZT00002                                        0982 03050000
         LA    @06,1(,@06)                                         0982 03051000
         STH   @06,CTRADDRT                                        0982 03052000
*          END;                                                    0984 03053000
@RC00976 DS    0H                                                  0985 03054000
*/*  END-UNTIL (ALL THE ALTERNATE TRACKS)                            */ 03055000
*    END;                                                          0985 03056000
@DE00888 L     @06,INFOPTR+60                                      0985 03057000
         CLC   CTRADDR(4),FINALT(@06)                              0985 03058000
         BNH   @DL00888                                            0985 03059000
*/*  END-SUB-PROCEDURE INITIALIZE_ALTERNATE_TRACKS                   */ 03060000
*    END INALTRA;                                                  0986 03061000
*                                                                  0986 03062000
         B     @EL00006                                            0986 03063000
         EJECT                                                          03064000
*/*****  START OF SPECIFICATIONS  ************************************/ 03065000
*/*                                                                  */ 03066000
*/*  SUB-PROCEDURE NAME:  INITPRIM                                   */ 03067000
*/*                                                                  */ 03068000
*/*  DESCRIPTIVE NAME:  INITIALIZE PRIMARY TRACKS                    */ 03069000
*/*                                                                  */ 03070000
*/*  FUNCTION:                                                       */ 03071000
*/*                                                                  */ 03072000
*/*    THIS SUB-PROCEDURE INITIALIZES ALL THE PRIMARY TRACKS ON      */ 03073000
*/*    THE PACK FOR MEDIAL AND MAXIMAL INITIALIZATION.               */ 03074000
*/*                                                                  */ 03075000
*/*****  END OF SPECIFICATIONS  **************************************/ 03076000
*                                                                  0987 03077000
*                                                                  0987 03078000
*/*  SUB-PROCEDURE INITIALIZE_PRIMARY_TRACKS                         */ 03079000
*    INITPRIM:                                                     0987 03080000
*      PROCEDURE;                                                  0987 03081000
INITPRIM STM   @14,@12,@SA00007                                    0987 03082000
*    OLDERID2 = NEWERID2;                                          0988 03083000
         L     @06,@PC00001                                        0988 03084000
         L     @06,GDTTR2(,@06)                                    0988 03085000
         MVC   @TS00001(95),NEWERID2(@06)                          0988 03086000
         MVC   OLDERID2(95,@06),@TS00001                           0988 03087000
*    NEWID2 =  'INIP';                                             0989 03088000
         MVC   NEWID2(4,@06),@CC00813                              0989 03089000
*    CTRADDR = 0;                                                  0990 03090000
         SLR   @06,@06                                             0990 03091000
         ST    @06,CTRADDR                                         0990 03092000
*    TRACKTYP = PRITRACK;                                          0991 03093000
         OI    TRACKTYP,B'10000000'                                0991 03094000
*    FTRKFLG = NODEFECT;                                           0992 03095000
         NI    FTRKFLG,B'01111111'                                 0992 03096000
*/*  DO-UNTIL ALL THE PRIMARY TRACKS ARE EXHAUSTED                   */ 03097000
*    DO UNTIL (CTRADDR > FINPRI);                                  0993 03098000
*                                                                  0993 03099000
@DL00993 DS    0H                                                  0994 03100000
*/*    SET FLAG TO INDICATE TRACK IS CURRENTLY RECOVERABLE           */ 03101000
*      RCVRFLAG = RECOVER;                                         0994 03102000
         OI    RCVRFLAG,B'10000000'                                0994 03103000
*/*    VALIDATE_TRACK                                                */ 03104000
*      CALL VALTRACK;                                              0995 03105000
         BAL   @14,VALTRACK                                        0995 03106000
*/*    IF NO SEVERE ERRORS AND TRACK RECOVERABLE                     */ 03107000
*      IF (LASTCOND < LASTCC12) & (RCVRFLAG = RECOVER)             0996 03108000
*/*      THEN                                                        */ 03109000
*        THEN DO;                                                  0996 03110000
*                                                                  0996 03111000
         L     @06,@PC00001+8                                      0996 03112000
         LH    @06,LASTCOND(,@06)                                  0996 03113000
         CH    @06,@CH00265                                        0996 03114000
         BNL   @RF00996                                            0996 03115000
         TM    RCVRFLAG,B'10000000'                                0996 03116000
         BNO   @RF00996                                            0996 03117000
*/*        IF VALIDATE AND NOCHECK ARE SPECIFIED(MED. INITIALIZATION)*/ 03118000
*          IF (ADDR(VALID) ^= NULLPTR) & (ADDR(NOCHK) ^= NULLPTR)  0998 03119000
*/*          THEN                                                    */ 03120000
*            THEN DO;                                              0998 03121000
*                                                                  0998 03122000
         SLR   @06,@06                                             0998 03123000
         L     @15,@PC00001+4                                      0998 03124000
         C     @06,FDTPTR+56(,@15)                                 0998 03125000
         BE    @RF00998                                            0998 03126000
         C     @06,FDTPTR+16(,@15)                                 0998 03127000
         BE    @RF00998                                            0998 03128000
*/*            IF DEFECT-FLAG IS FOUND TO BE SET                     */ 03129000
*              IF DFLAGC = DEFECTIV                                1000 03130000
*/*              THEN                                                */ 03131000
*                  THEN DO;                                        1000 03132000
*                                                                  1000 03133000
         TM    DFLAGC,B'10000000'                                  1000 03134000
         BNO   @RF01000                                            1000 03135000
*/*                IF FIRST TRACK ON PACK                            */ 03136000
*                  IF CTRADDR = 0                                  1002 03137000
*/*                  THEN INDICATE THAT IT IS DEFECTIVE              */ 03138000
*                    THEN DO;    FTRKFLG = DEFECTIV; END;          1002 03139000
         CL    @06,CTRADDR                                         1002 03140000
         BNE   @RF01002                                            1002 03141000
         OI    FTRKFLG,B'10000000'                                 1004 03142000
*/*                ISSUE_BUILD_PACK_MAP (TRACK DEFECT-FLAG IS SET)   */ 03143000
*                  PACKDEF  = DEFECTIV;                            1006 03144000
@RF01002 OI    PACKDEF,B'10000000'                                 1006 03145000
*                  PACKCHEK = NODEFECT;                            1007 03146000
         NI    PACKCHEK,B'01111111'                                1007 03147000
*                  PACKRCVR = RCVRYES;                             1008 03148000
         NI    PACKRCVR,B'01111111'                                1008 03149000
*                  PACKTRK  = PRITRACK;                            1009 03150000
         OI    PACKTRK,B'10000000'                                 1009 03151000
*                  PACKTRAK = CTRADDR;                             1010 03152000
         L     @06,CTRADDR                                         1010 03153000
         ST    @06,PACKTRAK                                        1010 03154000
*                  PACKASC = CTRADDR;                              1011 03155000
         ST    @06,PACKASC                                         1011 03156000
*                  CALL BILDPACK;                                  1012 03157000
         BAL   @14,BILDPACK                                        1012 03158000
*/*                IF NO SEVERE ERRORS AND TRACK RECOVERABLE         */ 03159000
*                  IF (LASTCOND < LASTCC12) & (RCVRFLAG = RECOVER) 1013 03160000
*/*                  THEN ISSUE_ASSIGN_ALTERNATE_TRACK               */ 03161000
*                    THEN DO;    CALL ASSGNALT; END;               1013 03162000
         L     @06,@PC00001+8                                      1013 03163000
         LH    @06,LASTCOND(,@06)                                  1013 03164000
         CH    @06,@CH00265                                        1013 03165000
         BNL   @RF01013                                            1013 03166000
         TM    RCVRFLAG,B'10000000'                                1013 03167000
         BNO   @RF01013                                            1013 03168000
         BAL   @14,ASSGNALT                                        1015 03169000
*/*                END-THEN (DEFECT-FLAG SET)                        */ 03170000
*                  END;                                            1017 03171000
*/*            END-THEN (VALIDATE AND NOCHECK ARE SPECIFIED)         */ 03172000
*              END;                                                1018 03173000
*/*          ELSE (CHECK(N) IS SPECIFIED) (MAXIMAL INITIALIZATION)   */ 03174000
*            ELSE DO;                                              1019 03175000
*                                                                  1019 03176000
         B     @RC00998                                            1019 03177000
@RF00998 DS    0H                                                  1020 03178000
*/*            ISSUE_CHECK_TRACK_SURFACE                             */ 03179000
*              CALL CHTRACK;                                       1020 03180000
         BAL   @14,CHTRACK                                         1020 03181000
*/*            IF NO SEVERE ERRORS AND TRACK RECOVERABLE             */ 03182000
*              IF (LASTCOND < LASTCC12) & (RCVRFLAG = RECOVER)     1021 03183000
*/*              THEN                                                */ 03184000
*                THEN DO;                                          1021 03185000
*                                                                  1021 03186000
         L     @06,@PC00001+8                                      1021 03187000
         LH    @06,LASTCOND(,@06)                                  1021 03188000
         CH    @06,@CH00265                                        1021 03189000
         BNL   @RF01021                                            1021 03190000
         TM    RCVRFLAG,B'10000000'                                1021 03191000
         BNO   @RF01021                                            1021 03192000
*/*                IF TRACK CHECKS OUT OKAY                          */ 03193000
*                  IF TRSTATUS = TSCGOOD                           1023 03194000
*/*                  THEN                                            */ 03195000
*                    THEN DO;                                      1023 03196000
*                                                                  1023 03197000
         TM    TRSTATUS,B'10000000'                                1023 03198000
         BNO   @RF01023                                            1023 03199000
*/*                    IF DEFECT-FLAG IS FOUND TO BE SET             */ 03200000
*                      IF DFLAGC = DEFECTIV                        1025 03201000
*/*                      THEN                                        */ 03202000
*                        THEN DO;                                  1025 03203000
*                                                                  1025 03204000
         TM    DFLAGC,B'10000000'                                  1025 03205000
         BNO   @RF01025                                            1025 03206000
*/*                        IF RECLAIM IS SPECIFIED                   */ 03207000
*                          IF ADDR(RECLA) ^= NULLPTR               1027 03208000
*/*                          THEN ISSUE_RECLAIM_PRIMARY_TRACK        */ 03209000
*                            THEN DO;    CALL REPTRACK; END;       1027 03210000
         L     @06,@PC00001+4                                      1027 03211000
         L     @06,FDTPTR+20(,@06)                                 1027 03212000
         LTR   @06,@06                                             1027 03213000
         BZ    @RF01027                                            1027 03214000
         BAL   @14,REPTRACK                                        1029 03215000
*/*                          ELSE (NORECLAIM IS SPECIFIED)           */ 03216000
*                            ELSE DO;                              1031 03217000
*                                                                  1031 03218000
         B     @RC01027                                            1031 03219000
@RF01027 DS    0H                                                  1032 03220000
*/*                            IF FIRST TRACK ON PACK                */ 03221000
*                              IF CTRADDR = 0                      1032 03222000
*/*                              THEN INDICATE THAT IT IS DEFECTIVE  */ 03223000
*                                THEN DO;                          1032 03224000
*                                                                  1032 03225000
         L     @06,CTRADDR                                         1032 03226000
         LTR   @06,@06                                             1032 03227000
         BNZ   @RF01032                                            1032 03228000
*                                  FTRKFLG = DEFECTIV;             1034 03229000
         OI    FTRKFLG,B'10000000'                                 1034 03230000
*                                  END;                            1035 03231000
*/*                            ISSUE_BUILD_PACK_MAP (FLAGGED DEF.)   */ 03232000
*                              PACKDEF  = DEFECTIV;                1036 03233000
@RF01032 OI    PACKDEF,B'10000000'                                 1036 03234000
*                              PACKCHEK = NODEFECT;                1037 03235000
         NI    PACKCHEK,B'01111111'                                1037 03236000
*                              PACKRCVR = RCVRYES;                 1038 03237000
         NI    PACKRCVR,B'01111111'                                1038 03238000
*                              PACKTRK  = PRITRACK;                1039 03239000
         OI    PACKTRK,B'10000000'                                 1039 03240000
*                              PACKTRAK = CTRADDR;                 1040 03241000
         L     @06,CTRADDR                                         1040 03242000
         ST    @06,PACKTRAK                                        1040 03243000
*                              PACKASC = CTRADDR;                  1041 03244000
         ST    @06,PACKASC                                         1041 03245000
*                              CALL BILDPACK;                      1042 03246000
         BAL   @14,BILDPACK                                        1042 03247000
*/*                            IF NO SEVERE ERRORS AND TRACK         */ 03248000
*/*                             RECOVERABLE                          */ 03249000
*                              IF (LASTCOND < LASTCC12) &          1043 03250000
*                               (RCVRFLAG = RECOVER)               1043 03251000
*/*                              THEN ISSUE_ASSIGN_ALTERNATE_TRACK   */ 03252000
*                                THEN DO;    CALL ASSGNALT; END;   1043 03253000
         L     @06,@PC00001+8                                      1043 03254000
         LH    @06,LASTCOND(,@06)                                  1043 03255000
         CH    @06,@CH00265                                        1043 03256000
         BNL   @RF01043                                            1043 03257000
         TM    RCVRFLAG,B'10000000'                                1043 03258000
         BNO   @RF01043                                            1043 03259000
         BAL   @14,ASSGNALT                                        1045 03260000
*/*                            END-ELSE (NORECLAIM IS SPECIFIED)     */ 03261000
*                              END;                                1047 03262000
*/*                        END-THEN (DEFECT-FLAG IS SET)             */ 03263000
*                          END;                                    1048 03264000
*/*                    END-THEN (TRACK CHECKS OUT OKAY)              */ 03265000
*                      END;                                        1049 03266000
*/*                  ELSE (TRACK CHECKS OUT DEFECTIVE)               */ 03267000
*                    ELSE DO;                                      1050 03268000
*                                                                  1050 03269000
         B     @RC01023                                            1050 03270000
@RF01023 DS    0H                                                  1051 03271000
*/*                    IF DEFECT-FLAG IS FOUND TO BE SET             */ 03272000
*                      IF DFLAGC = DEFECTIV                        1051 03273000
*/*                      THEN                                        */ 03274000
*                        THEN DO;                                  1051 03275000
*                                                                  1051 03276000
         TM    DFLAGC,B'10000000'                                  1051 03277000
         BNO   @RF01051                                            1051 03278000
*/*                        IF FIRST TRACK ON PACK                    */ 03279000
*                          IF CTRADDR = 0                          1053 03280000
*/*                          THEN INDICATE THAT IT IS DEFECTIVE      */ 03281000
*                            THEN DO;                              1053 03282000
*                                                                  1053 03283000
         L     @06,CTRADDR                                         1053 03284000
         LTR   @06,@06                                             1053 03285000
         BNZ   @RF01053                                            1053 03286000
*                              FTRKFLG = DEFECTIV;                 1055 03287000
         OI    FTRKFLG,B'10000000'                                 1055 03288000
*                              END;                                1056 03289000
*/*                        ISSUE_BUILD_PACK_MAP (FLAGGED DEFECTIVE)  */ 03290000
*                          PACKDEF  = DEFECTIV;                    1057 03291000
@RF01053 OI    PACKDEF,B'10000000'                                 1057 03292000
*                          PACKCHEK = NODEFECT;                    1058 03293000
         NI    PACKCHEK,B'01111111'                                1058 03294000
*                          PACKRCVR = RCVRYES;                     1059 03295000
         NI    PACKRCVR,B'01111111'                                1059 03296000
*                          PACKTRK  = PRITRACK;                    1060 03297000
         OI    PACKTRK,B'10000000'                                 1060 03298000
*                          PACKTRAK = CTRADDR;                     1061 03299000
         L     @06,CTRADDR                                         1061 03300000
         ST    @06,PACKTRAK                                        1061 03301000
*                          PACKASC = CTRADDR;                      1062 03302000
         ST    @06,PACKASC                                         1062 03303000
*                          CALL BILDPACK;                          1063 03304000
         BAL   @14,BILDPACK                                        1063 03305000
*/*                        ISSUE_BUILD_PACK_MAP (FOUND DEFECTIVE)    */ 03306000
*                          PACKDEF  = NODEFECT;                    1064 03307000
         NI    PACKDEF,B'01111111'                                 1064 03308000
*                          PACKCHEK = DEFECTIV;                    1065 03309000
         OI    PACKCHEK,B'10000000'                                1065 03310000
*                          CALL BILDPACK;                          1066 03311000
         BAL   @14,BILDPACK                                        1066 03312000
*                          END;                                    1067 03313000
*/*                      ELSE (DEFECT-FLAG FOUND NOT TO BE SET)      */ 03314000
*                        ELSE DO;                                  1068 03315000
*                                                                  1068 03316000
         B     @RC01051                                            1068 03317000
@RF01051 DS    0H                                                  1069 03318000
*/*                        ISSUE_BUILD_PACK_MAP (FOUND DEFECTIVE)    */ 03319000
*                          PACKDEF  = NODEFECT;                    1069 03320000
         NI    PACKDEF,B'01111111'                                 1069 03321000
*                          PACKCHEK = DEFECTIV;                    1070 03322000
         OI    PACKCHEK,B'10000000'                                1070 03323000
*                          PACKTRK  = PRITRACK;                    1071 03324000
         OI    PACKTRK,B'10000000'                                 1071 03325000
*                          PACKTRAK = CTRADDR;                     1072 03326000
         L     @06,CTRADDR                                         1072 03327000
         ST    @06,PACKTRAK                                        1072 03328000
*                          PACKASC = CTRADDR;                      1073 03329000
         ST    @06,PACKASC                                         1073 03330000
*                          CALL BILDPACK;                          1074 03331000
         BAL   @14,BILDPACK                                        1074 03332000
*/*                        ISSUE_MARK_TRACK_DEFECTIVE                */ 03333000
*                          CALL WRIHARZD;                          1075 03334000
         BAL   @14,WRIHARZD                                        1075 03335000
*/*                        IF FIRST TRACK ON PACK                    */ 03336000
*                          IF CTRADDR = 0                          1076 03337000
*/*                          THEN INDICATE THAT IT IS DEFECTIVE      */ 03338000
*                            THEN DO;    FTRKFLG = DEFECTIV; END;  1076 03339000
         L     @06,CTRADDR                                         1076 03340000
         LTR   @06,@06                                             1076 03341000
         BNZ   @RF01076                                            1076 03342000
         OI    FTRKFLG,B'10000000'                                 1078 03343000
*/*                        END-ELSE                                  */ 03344000
*                          END;                                    1080 03345000
@RF01076 DS    0H                                                  1081 03346000
*/*                    IF NO SEVERE ERRORS AND TRACK RECOVERABLE     */ 03347000
*                      IF (LASTCOND < LASTCC12) &                  1081 03348000
*                       (RCVRFLAG = RECOVER)                       1081 03349000
*/*                      THEN ISSUE_ASSIGN_ALTERNATE_TRACK           */ 03350000
*                        THEN DO;    CALL ASSGNALT; END;           1081 03351000
@RC01051 L     @06,@PC00001+8                                      1081 03352000
         LH    @06,LASTCOND(,@06)                                  1081 03353000
         CH    @06,@CH00265                                        1081 03354000
         BNL   @RF01081                                            1081 03355000
         TM    RCVRFLAG,B'10000000'                                1081 03356000
         BNO   @RF01081                                            1081 03357000
         BAL   @14,ASSGNALT                                        1083 03358000
*/*                    END-ELSE (TRACK CHECKS OUT DEFECTIVE)         */ 03359000
*                      END;                                        1085 03360000
@RF01081 DS    0H                                                  1086 03361000
*/*                END-THEN (NO SEVERE ERRORS)                       */ 03362000
*                  END;                                            1086 03363000
@RC01023 DS    0H                                                  1087 03364000
*/*            END-ELSE (CHECK(N) IS SPECIFIED)                      */ 03365000
*              END;                                                1087 03366000
@RF01021 DS    0H                                                  1088 03367000
*/*        END-THEN (NO SEVERE ERRORS)                               */ 03368000
*          END;                                                    1088 03369000
@RC00998 DS    0H                                                  1089 03370000
*/*    IF LASTCOND >= 12                                             */ 03371000
*      IF LASTCOND >= LASTCC12                                     1089 03372000
*/*      THEN RETURN                                                 */ 03373000
*        THEN DO;    RETURN; END;                                  1089 03374000
@RF00996 L     @06,@PC00001+8                                      1089 03375000
         LH    @06,LASTCOND(,@06)                                  1089 03376000
         CH    @06,@CH00265                                        1089 03377000
         BL    @RF01089                                            1089 03378000
@EL00007 DS    0H                                                  1091 03379000
@EF00007 DS    0H                                                  1091 03380000
@ER00007 LM    @14,@12,@SA00007                                    1091 03381000
         BR    @14                                                 1091 03382000
*/*      ELSE INCREMENT CURRENT TRACK ADDRESS                        */ 03383000
*        ELSE DO;                                                  1093 03384000
*                                                                  1093 03385000
@RF01089 DS    0H                                                  1094 03386000
*          IF CTRADDRT = TRKSPCYL - 1                              1094 03387000
*            THEN DO;                                              1094 03388000
*                                                                  1094 03389000
         L     @06,INFOPTR+12                                      1094 03390000
         L     @06,TRKSPCYL(,@06)                                  1094 03391000
         BCTR  @06,0                                               1094 03392000
         MVC   @ZT00002+2(2),CTRADDRT                              1094 03393000
         C     @06,@ZT00002                                        1094 03394000
         BNE   @RF01094                                            1094 03395000
*              CTRADDRC = CTRADDRC + 1;                            1096 03396000
         MVC   @ZT00002+2(2),CTRADDRC                              1096 03397000
         L     @06,@ZT00002                                        1096 03398000
         LA    @06,1(,@06)                                         1096 03399000
         STH   @06,CTRADDRC                                        1096 03400000
*              CTRADDRT = 0;                                       1097 03401000
         SLR   @06,@06                                             1097 03402000
         STH   @06,CTRADDRT                                        1097 03403000
*              END;                                                1098 03404000
*            ELSE DO;    CTRADDRT = CTRADDRT + 1; END;             1099 03405000
         B     @RC01094                                            1099 03406000
@RF01094 DS    0H                                                  1100 03407000
         MVC   @ZT00002+2(2),CTRADDRT                              1100 03408000
         L     @06,@ZT00002                                        1100 03409000
         LA    @06,1(,@06)                                         1100 03410000
         STH   @06,CTRADDRT                                        1100 03411000
*          END;                                                    1102 03412000
@RC01094 DS    0H                                                  1103 03413000
*/*  END-UNTIL (ALL THE PRIMARY TRACKS)                              */ 03414000
*    END;                                                          1103 03415000
@DE00993 L     @06,INFOPTR+72                                      1103 03416000
         CLC   CTRADDR(4),FINPRI(@06)                              1103 03417000
         BNH   @DL00993                                            1103 03418000
*/*  END-SUB-PROCEDURE INITIALIZE_PRIMARY_TRACKS                     */ 03419000
*    END INITPRIM;                                                 1104 03420000
*                                                                  1104 03421000
         B     @EL00007                                            1104 03422000
         EJECT                                                          03423000
*/*****  START OF SPECIFICATIONS  ************************************/ 03424000
*/*                                                                  */ 03425000
*/*  SUB-PROCEDURE NAME:  PREPVOL                                    */ 03426000
*/*                                                                  */ 03427000
*/*  DESCRIPTIVE NAME:  PREPARE VOLUME LABELS                        */ 03428000
*/*                                                                  */ 03429000
*/*  FUNCTION:                                                       */ 03430000
*/*                                                                  */ 03431000
*/*    THIS SUB-PROCEDURE PROCESSES THE FIRST TRACK ON THE PACK.     */ 03432000
*/*    THE BOOTSTRAP RECORDS, VOLUME LABEL AND USER VOLUME LABELS    */ 03433000
*/*    AS SPECIFIED ARE WRITTEN ON THIS TRACK. IPL PROGRAM RECORDS   */ 03434000
*/*    ARE NOT WRITTEN ON THIS TRACK BY THIS SUB-PROCEDURE. IF AN    */ 03435000
*/*    AN IPL PROGRAM IS SUPPLIED IT IS WRITTEN ON THIS TRACK LATER  */ 03436000
*/*    BY ANOTHER SUB-PROCEDURE                                      */ 03437000
*/*                                                                  */ 03438000
*/*****  END OF SPECIFICATIONS  **************************************/ 03439000
*                                                                  1105 03440000
*                                                                  1105 03441000
*/*  SUB-PROCEDURE PREPARE_VOLUME_LABELS                             */ 03442000
*    PREPVOL:                                                      1105 03443000
*      PROCEDURE;                                                  1105 03444000
PREPVOL  STM   @14,@12,@SA00008                                    1105 03445000
*    OLDERID2 = NEWERID2;                                          1106 03446000
         L     @06,@PC00001                                        1106 03447000
         L     @06,GDTTR2(,@06)                                    1106 03448000
         MVC   @TS00001(95),NEWERID2(@06)                          1106 03449000
         MVC   OLDERID2(95,@06),@TS00001                           1106 03450000
*    NEWID2 =  'INVL';                                             1107 03451000
         MVC   NEWID2(4,@06),@CC00819                              1107 03452000
*/*  SET CURRENT ADDRESS TO POINT TO THE FIRST TRACK                 */ 03453000
*    CTRADDR = 0;                                                  1108 03454000
         SLR   @06,@06                                             1108 03455000
         ST    @06,CTRADDR                                         1108 03456000
*/*  INDICATE THAT THE FIRST TRACK IS A PRIMARY TRACK                */ 03457000
*    TRACKTYP = PRITRACK;                                          1109 03458000
         OI    TRACKTYP,B'10000000'                                1109 03459000
*/*  IF MINIMAL INITIALIZATION SPECIFIED                             */ 03460000
*    IF ADDR(NOCHK) ^= NULLPTR & ADDR(NOVAL) ^= NULLPTR            1110 03461000
*/*    THEN                                                          */ 03462000
*      THEN DO;                                                    1110 03463000
*                                                                  1110 03464000
         L     @15,@PC00001+4                                      1110 03465000
         C     @06,FDTPTR+16(,@15)                                 1110 03466000
         BE    @RF01110                                            1110 03467000
         C     @06,FDTPTR+60(,@15)                                 1110 03468000
         BE    @RF01110                                            1110 03469000
*/*      OBTAIN_TRACK_STATUS                                         */ 03470000
*        CALL OBTTRST (CTRADDR                                     1112 03471000
*                     ,DFLAGC                                      1112 03472000
*                     ,RZCCHH                                      1112 03473000
*                     ,TRACKTYP);                                  1112 03474000
         LA    @06,CTRADDR                                         1112 03475000
         ST    @06,@AL00001                                        1112 03476000
         LA    @06,DFLAGC                                          1112 03477000
         ST    @06,@AL00001+4                                      1112 03478000
         LA    @06,RZCCHH                                          1112 03479000
         ST    @06,@AL00001+8                                      1112 03480000
         LA    @06,TRACKTYP                                        1112 03481000
         ST    @06,@AL00001+12                                     1112 03482000
         LA    @01,@AL00001                                        1112 03483000
         BAL   @14,OBTTRST                                         1112 03484000
*/*      IF NO SEVERE ERRORS                                         */ 03485000
*        IF LASTCOND < LASTCC12                                    1113 03486000
*/*        THEN                                                      */ 03487000
*          THEN DO;                                                1113 03488000
*                                                                  1113 03489000
         L     @06,@PC00001+8                                      1113 03490000
         LH    @06,LASTCOND(,@06)                                  1113 03491000
         CH    @06,@CH00265                                        1113 03492000
         BNL   @RF01113                                            1113 03493000
*/*          IF THE DEFECT-FLAG IS FOUND TO BE SET                   */ 03494000
*            IF DFLAGC = DEFECTIV                                  1115 03495000
*/*            THEN RETAIN THE DEFECTIVE CONDITION                   */ 03496000
*              THEN DO;    FTRKFLG = DEFECTIV; END;                1115 03497000
         TM    DFLAGC,B'10000000'                                  1115 03498000
         BNO   @RF01115                                            1115 03499000
         OI    FTRKFLG,B'10000000'                                 1117 03500000
*/*            ELSE RETAIN THE NO-DEFECT CONDITION                   */ 03501000
*              ELSE DO;    FTRKFLG = NODEFECT; END;                1119 03502000
         B     @RC01115                                            1119 03503000
@RF01115 DS    0H                                                  1120 03504000
         NI    FTRKFLG,B'01111111'                                 1120 03505000
*/*          END-THEN                                                */ 03506000
*            END;                                                  1122 03507000
@RC01115 DS    0H                                                  1123 03508000
*/*      END-THEN (MINIMAL INITIALIZATION)                           */ 03509000
*        END;                                                      1123 03510000
@RF01113 DS    0H                                                  1124 03511000
*/*  IF NO SEVERE ERRORS                                             */ 03512000
*    IF LASTCOND < LASTCC12                                        1124 03513000
*/*    THEN                                                          */ 03514000
*      THEN DO;                                                    1124 03515000
*                                                                  1124 03516000
@RF01110 L     @06,@PC00001+8                                      1124 03517000
         LH    @06,LASTCOND(,@06)                                  1124 03518000
         CH    @06,@CH00265                                        1124 03519000
         BNL   @RF01124                                            1124 03520000
*/*      IF THE DEFECT-FLAG IS SET.                                  */ 03521000
*        IF FTRKFLG = DEFECTIV                                     1126 03522000
*/*        THEN                                                      */ 03523000
*          THEN DO;                                                1126 03524000
*                                                                  1126 03525000
         TM    FTRKFLG,B'10000000'                                 1126 03526000
         BNO   @RF01126                                            1126 03527000
*/*          ISSUE MESSAGE (MSGFTRAK) (UPRINT)                       */ 03528000
*            DARGSENT = MSGFTRAK;                                  1128 03529000
         L     @06,DDSTRU                                          1128 03530000
         MVI   DARGSENT(@06),X'30'                                 1128 03531000
*            CALL ICKTPPR0 (GDTTBL                                 1129 03532000
*                   ,PRTFILE                                       1129 03533000
*                   ,DDSTRU);                                      1129 03534000
         L     @06,@PC00001                                        1129 03535000
         ST    @06,@AL00001                                        1129 03536000
         LA    @15,@CF00094                                        1129 03537000
         ST    @15,@AL00001+4                                      1129 03538000
         LA    @15,DDSTRU                                          1129 03539000
         ST    @15,@AL00001+8                                      1129 03540000
         MVI   @AL00001+8,X'80'                                    1129 03541000
         L     @15,GDTPRT(,@06)                                    1129 03542000
         LA    @01,@AL00001                                        1129 03543000
         BALR  @14,@15                                             1129 03544000
*/*          END-THEN                                                */ 03545000
*            END;                                                  1130 03546000
*/*      END-THEN (NO SEVERE ERRORS)                                 */ 03547000
*        END;                                                      1131 03548000
@RF01126 DS    0H                                                  1132 03549000
*/*  IF NO SEVERE ERRORS                                             */ 03550000
*    IF LASTCOND < LASTCC12                                        1132 03551000
*/*    THEN ISSUE_CREATE_VOLUME_LABEL                                */ 03552000
*      THEN DO;    CALL CREATLAB; END;                             1132 03553000
@RF01124 L     @06,@PC00001+8                                      1132 03554000
         LH    @06,LASTCOND(,@06)                                  1132 03555000
         CH    @06,@CH00265                                        1132 03556000
         BNL   @RF01132                                            1132 03557000
         BAL   @14,CREATLAB                                        1134 03558000
*/*  END-SUB-PROCEDURE PREPARE_VOLUME_LABELS                         */ 03559000
*                                                                  1136 03560000
*                                                                  1136 03561000
*    END PREPVOL;                                                  1136 03562000
*                                                                  1136 03563000
@EL00008 DS    0H                                                  1136 03564000
@EF00008 DS    0H                                                  1136 03565000
@ER00008 LM    @14,@12,@SA00008                                    1136 03566000
         BR    @14                                                 1136 03567000
         EJECT                                                          03568000
*/*****  START OF SPECIFICATIONS  ************************************/ 03569000
*/*                                                                  */ 03570000
*/*  SUB-PROCEDURE NAME:  PREPVTOC                                   */ 03571000
*/*                                                                  */ 03572000
*/*  DESCRIPTIVE NAME:  PREPARE VOLUME TABLE OF CONTENTS             */ 03573000
*/*                                                                  */ 03574000
*/*  FUNCTION:                                                       */ 03575000
*/*                                                                  */ 03576000
*/*    THIS SUB-PROCEDURE EFFECTS THE CREATION OF A VOLUME TABLE     */ 03577000
*/*    OF CONTENTS ON A PACK.                                        */ 03578000
*/*                                                                  */ 03579000
*/*****  END OF SPECIFICATIONS  **************************************/ 03580000
*                                                                  1137 03581000
*                                                                  1137 03582000
*/*  SUB-PROCEDURE PREPARE_VOLUME_TABLE_OF_CONTENTS                  */ 03583000
*    PREPVTOC:                                                     1137 03584000
*      PROCEDURE;                                                  1137 03585000
PREPVTOC STM   @14,@12,@SA00009                                    1137 03586000
*    OLDERID2 = NEWERID2;                                          1138 03587000
         L     @06,@PC00001                                        1138 03588000
         L     @06,GDTTR2(,@06)                                    1138 03589000
         MVC   @TS00001(95),NEWERID2(@06)                          1138 03590000
         MVC   OLDERID2(95,@06),@TS00001                           1138 03591000
*    NEWID2 =  'INVT';                                             1139 03592000
         MVC   NEWID2(4,@06),@CC00824                              1139 03593000
*/*  IF NO AVAILABLE ALTERNATE TRACKS WERE FOUND                     */ 03594000
*    IF AVAILCNT = 0                                               1140 03595000
*/*    THEN RESET POINTER TO THE NEXT AVAILABLE ALTERNATE TRACK      */ 03596000
*/*     ZERO                                                         */ 03597000
*      THEN DO;    ALTPTR = 0; END;                                1140 03598000
         SLR   @06,@06                                             1140 03599000
         C     @06,AVAILCNT                                        1140 03600000
         BNE   @RF01140                                            1140 03601000
         ST    @06,ALTPTR                                          1142 03602000
*/*  CREATE_VOLUME_TABLE_OF_CONTENTS                                 */ 03603000
*    CALL ICKWV01                                                  1144 03604000
*         (GDTTBL                                                  1144 03605000
*         ,VOLIB                                                   1144 03606000
*         ,VTOCLOC                                                 1144 03607000
*         ,VTOCEXT                                                 1144 03608000
*         ,ALTCOUNT                                                1144 03609000
*         ,ALTPTR                                                  1144 03610000
*         ,RETCODE);                                               1144 03611000
@RF01140 L     @06,@PC00001                                        1144 03612000
         ST    @06,@AL00001                                        1144 03613000
         LA    @06,VOLIB                                           1144 03614000
         ST    @06,@AL00001+4                                      1144 03615000
         LA    @06,VTOCLOC                                         1144 03616000
         ST    @06,@AL00001+8                                      1144 03617000
         LA    @06,VTOCEXT                                         1144 03618000
         ST    @06,@AL00001+12                                     1144 03619000
         LA    @06,ALTCOUNT                                        1144 03620000
         ST    @06,@AL00001+16                                     1144 03621000
         LA    @06,ALTPTR                                          1144 03622000
         ST    @06,@AL00001+20                                     1144 03623000
         LA    @06,RETCODE                                         1144 03624000
         ST    @06,@AL00001+24                                     1144 03625000
         L     @15,@CV00825                                        1144 03626000
         LA    @01,@AL00001                                        1144 03627000
         BALR  @14,@15                                             1144 03628000
*/*  IF VTOC CREATION FAILS                                          */ 03629000
*    IF RETCODE = FAILURE                                          1145 03630000
*/*    THEN                                                          */ 03631000
*      THEN DO;                                                    1145 03632000
*                                                                  1145 03633000
         CLC   RETCODE(4),@CF00165                                 1145 03634000
         BNE   @RF01145                                            1145 03635000
*/*      ISSUE ERROR MESSAGE (MSGVTOCC) (UPRINT)                     */ 03636000
*        DARGSENT = MSGVTOCC;                                      1147 03637000
         L     @06,DDSTRU                                          1147 03638000
         MVI   DARGSENT(@06),X'05'                                 1147 03639000
*        CALL ICKTPPR0 (GDTTBL                                     1148 03640000
*               ,PRTFILE                                           1148 03641000
*               ,DDSTRU);                                          1148 03642000
         L     @06,@PC00001                                        1148 03643000
         ST    @06,@AL00001                                        1148 03644000
         LA    @15,@CF00094                                        1148 03645000
         ST    @15,@AL00001+4                                      1148 03646000
         LA    @15,DDSTRU                                          1148 03647000
         ST    @15,@AL00001+8                                      1148 03648000
         MVI   @AL00001+8,X'80'                                    1148 03649000
         L     @15,GDTPRT(,@06)                                    1148 03650000
         LA    @01,@AL00001                                        1148 03651000
         BALR  @14,@15                                             1148 03652000
*/*      INDICATE SEVERE ERROR (LASTCOND = 12)                       */ 03653000
*        LASTCOND = LASTCC12;                                      1149 03654000
         L     @06,@PC00001+8                                      1149 03655000
         MVC   LASTCOND(2,@06),@CH00265                            1149 03656000
*/*      END-THEN (VTOC CREATION FAILS)                              */ 03657000
*        END;                                                      1150 03658000
*/*  IF SPECIFIED VTOC LOCATION IS INVALID                           */ 03659000
*    IF RETCODE = INVTOC                                           1151 03660000
*/*    THEN                                                          */ 03661000
*      THEN DO;                                                    1151 03662000
*                                                                  1151 03663000
@RF01145 CLC   RETCODE(4),@CF00116                                 1151 03664000
         BNE   @RF01151                                            1151 03665000
*/*      ISSUE ERROR MESSAGE (MSGVTOCA) (UPRINT)                     */ 03666000
*        DARGSENT = MSGVTOCA;                                      1153 03667000
         L     @06,DDSTRU                                          1153 03668000
         MVI   DARGSENT(@06),X'03'                                 1153 03669000
*        DARGCNT = 1;                                              1154 03670000
         LA    @15,1                                               1154 03671000
         STH   @15,DARGCNT(,@06)                                   1154 03672000
*        DARGINS (1) = 1;                                          1155 03673000
         STH   @15,DARGINS(,@06)                                   1155 03674000
*        DARGINL (1) = LENGTH (TRACKVAL);                          1156 03675000
         MVC   DARGINL(2,@06),@CH00260                             1156 03676000
*        DARGDTM (1) = ADDR (TRACKVAL);                            1157 03677000
         L     @15,@PC00001+4                                      1157 03678000
         L     @01,FDTPTR+32(,@15)                                 1157 03679000
         LA    @15,TRACKVAL(,@01)                                  1157 03680000
         ST    @15,DARGDTM(,@06)                                   1157 03681000
*        CALL ICKTPPR0 (GDTTBL                                     1158 03682000
*               ,PRTFILE                                           1158 03683000
*               ,DDSTRU);                                          1158 03684000
         L     @06,@PC00001                                        1158 03685000
         ST    @06,@AL00001                                        1158 03686000
         LA    @15,@CF00094                                        1158 03687000
         ST    @15,@AL00001+4                                      1158 03688000
         LA    @15,DDSTRU                                          1158 03689000
         ST    @15,@AL00001+8                                      1158 03690000
         MVI   @AL00001+8,X'80'                                    1158 03691000
         L     @15,GDTPRT(,@06)                                    1158 03692000
         LA    @01,@AL00001                                        1158 03693000
         BALR  @14,@15                                             1158 03694000
*/*      INDICATE SEVERE ERROR (LASTCOND = 12)                       */ 03695000
*        LASTCOND = LASTCC12;                                      1159 03696000
         L     @06,@PC00001+8                                      1159 03697000
         MVC   LASTCOND(2,@06),@CH00265                            1159 03698000
*/*      END-THEN (VTOC LOCATION INVALID)                            */ 03699000
*        END;                                                      1160 03700000
*/*  IF SPECIFIED EXTENT IS INVALID                                  */ 03701000
*    IF RETCODE = INEXTENT                                         1161 03702000
*/*    THEN                                                          */ 03703000
*      THEN DO;                                                    1161 03704000
*                                                                  1161 03705000
@RF01151 CLC   RETCODE(4),@CF00136                                 1161 03706000
         BNE   @RF01161                                            1161 03707000
*/*      ISSUE ERROR MESSAGE (MSGVTOCB) (UPRINT)                     */ 03708000
*        DARGSENT = MSGVTOCB;                                      1163 03709000
         L     @06,DDSTRU                                          1163 03710000
         MVI   DARGSENT(@06),X'04'                                 1163 03711000
*        DARGCNT = 1;                                              1164 03712000
         LA    @15,1                                               1164 03713000
         STH   @15,DARGCNT(,@06)                                   1164 03714000
*        DARGINS (1) = 1;                                          1165 03715000
         STH   @15,DARGINS(,@06)                                   1165 03716000
*        DARGINL (1) = LENGTH (VTOCEXT);                           1166 03717000
         MVC   DARGINL(2,@06),@CH00044                             1166 03718000
*        DARGDTM (1) = ADDR (VTOCEXT);                             1167 03719000
         LA    @15,VTOCEXT                                         1167 03720000
         ST    @15,DARGDTM(,@06)                                   1167 03721000
*        CALL ICKTPPR0 (GDTTBL                                     1168 03722000
*               ,PRTFILE                                           1168 03723000
*               ,DDSTRU);                                          1168 03724000
         L     @06,@PC00001                                        1168 03725000
         ST    @06,@AL00001                                        1168 03726000
         LA    @15,@CF00094                                        1168 03727000
         ST    @15,@AL00001+4                                      1168 03728000
         LA    @15,DDSTRU                                          1168 03729000
         ST    @15,@AL00001+8                                      1168 03730000
         MVI   @AL00001+8,X'80'                                    1168 03731000
         L     @15,GDTPRT(,@06)                                    1168 03732000
         LA    @01,@AL00001                                        1168 03733000
         BALR  @14,@15                                             1168 03734000
*/*      INDICATE SEVERE ERROR (LASTCOND = 12)                       */ 03735000
*        LASTCOND = LASTCC12;                                      1169 03736000
         L     @06,@PC00001+8                                      1169 03737000
         MVC   LASTCOND(2,@06),@CH00265                            1169 03738000
*/*      END-THEN (SPECIFIED EXTENT INVALID)                         */ 03739000
*        END;                                                      1170 03740000
*/*  IF UNABLE TO WRITE THE VOLUME LABEL                             */ 03741000
*    IF RETCODE = NOWLABEL                                         1171 03742000
*/*    THEN                                                          */ 03743000
*      THEN DO;                                                    1171 03744000
*                                                                  1171 03745000
@RF01161 CLC   RETCODE(4),@CF00044                                 1171 03746000
         BNE   @RF01171                                            1171 03747000
*/*      ISSUE ERROR MESSAGE (MSGNLAB) (UPRINT)                      */ 03748000
*        DARGSENT = MSGNLAB;                                       1173 03749000
         L     @06,DDSTRU                                          1173 03750000
         MVI   DARGSENT(@06),X'1C'                                 1173 03751000
*        CALL ICKTPPR0 (GDTTBL                                     1174 03752000
*               ,PRTFILE                                           1174 03753000
*               ,DDSTRU);                                          1174 03754000
         L     @06,@PC00001                                        1174 03755000
         ST    @06,@AL00001                                        1174 03756000
         LA    @15,@CF00094                                        1174 03757000
         ST    @15,@AL00001+4                                      1174 03758000
         LA    @15,DDSTRU                                          1174 03759000
         ST    @15,@AL00001+8                                      1174 03760000
         MVI   @AL00001+8,X'80'                                    1174 03761000
         L     @15,GDTPRT(,@06)                                    1174 03762000
         LA    @01,@AL00001                                        1174 03763000
         BALR  @14,@15                                             1174 03764000
*/*      INDICATE SEVERE ERROR (LASTCOND = 12)                       */ 03765000
*        LASTCOND = LASTCC12;                                      1175 03766000
         L     @06,@PC00001+8                                      1175 03767000
         MVC   LASTCOND(2,@06),@CH00265                            1175 03768000
*/*      END-THEN (UNABLE TO WRITE THE VOLUME LABEL)                 */ 03769000
*        END;                                                      1176 03770000
*/*  END-SUB-PROCEDURE PREPARE_VOLUME_TABLE_OF_CONTENTS              */ 03771000
*    END PREPVTOC;                                                 1177 03772000
*                                                                  1177 03773000
*                                                                  1177 03774000
@EL00009 DS    0H                                                  1177 03775000
@EF00009 DS    0H                                                  1177 03776000
@ER00009 LM    @14,@12,@SA00009                                    1177 03777000
         BR    @14                                                 1177 03778000
         EJECT                                                          03779000
*/*****  START OF SPECIFICATIONS  ************************************/ 03780000
*/*                                                                  */ 03781000
*/*  SUB-PROCEDURE NAME:  COUNTRKS                                   */ 03782000
*/*                                                                  */ 03783000
*/*  DESCRIPTIVE NAME:  COUNT UNRECOVERABLE TRACKS                   */ 03784000
*/*                                                                  */ 03785000
*/*  FUNCTION:                                                       */ 03786000
*/*                                                                  */ 03787000
*/*    THIS SUB-PROCEDURE KEEPS TRACK OF THE NUMBER OF UNRECOVERABLE */ 03788000
*/*    TRACKS ENCOUNTERED. IT WILL CAUSE A TERMINATION IF THE NUMBER */ 03789000
*/*    OF TRACKS FOUND UNRECOVERABLE EXCEEDS A DESIGN THRESHOLD.     */ 03790000
*/*                                                                  */ 03791000
*/*****  END OF SPECIFICATIONS  **************************************/ 03792000
*                                                                  1178 03793000
*                                                                  1178 03794000
*/*  SUB-PROCEDURE COUNT_UNRECOVERABLE_TRACKS                        */ 03795000
*    COUNTRKS:                                                     1178 03796000
*      PROCEDURE;                                                  1178 03797000
COUNTRKS STM   @14,@12,@SA00010                                    1178 03798000
*    OLDERID2 = NEWERID2;                                          1179 03799000
         L     @06,@PC00001                                        1179 03800000
         L     @06,GDTTR2(,@06)                                    1179 03801000
         MVC   @TS00001(95),NEWERID2(@06)                          1179 03802000
         MVC   OLDERID2(95,@06),@TS00001                           1179 03803000
*    NEWID2 =  'INUT';                                             1180 03804000
*                                                                  1180 03805000
         MVC   NEWID2(4,@06),@CC00830                              1180 03806000
*/*  IF THE UNRECOVERABLE TRACK IS THE ONE THAT IS BEING PROCESSED   */ 03807000
*/*   CURRENTLY                                                      */ 03808000
*    IF UNTRACK = CTRADDR                                          1181 03809000
*/*    THEN                                                          */ 03810000
*      THEN DO;                                                    1181 03811000
*                                                                  1181 03812000
         CLC   UNTRACK(4),CTRADDR                                  1181 03813000
         BNE   @RF01181                                            1181 03814000
*/*      SET FLAG TO INDICATE TRACK WAS FOUND TO BE UNRECOVERABLE    */ 03815000
*        RCVRFLAG = NORCVR;                                        1183 03816000
         NI    RCVRFLAG,B'01111111'                                1183 03817000
*/*      END-THEN                                                    */ 03818000
*        END;                                                      1184 03819000
*/*  IF TRACK IS THE FIRST TRACK ON THE PACK                         */ 03820000
*    IF UNTRACK = 0                                                1185 03821000
*/*    THEN INDICATE A SEVERE ERROR                                  */ 03822000
*      THEN DO;    LASTCOND = LASTCC12; END;                       1185 03823000
@RF01181 L     @06,UNTRACK                                         1185 03824000
         LTR   @06,@06                                             1185 03825000
         BNZ   @RF01185                                            1185 03826000
         L     @06,@PC00001+8                                      1187 03827000
         MVC   LASTCOND(2,@06),@CH00265                            1187 03828000
*/*  IF TRACK IS AN ALTERNATE                                        */ 03829000
*    IF UNTRTYPE = ALTTRACK                                        1189 03830000
*/*    THEN                                                          */ 03831000
*      THEN DO;                                                    1189 03832000
*                                                                  1189 03833000
@RF01185 TM    UNTRTYPE,B'10000000'                                1189 03834000
         BNZ   @RF01189                                            1189 03835000
*/*      WRITE ALTERNATE HA WITH DEFECT-FLAG SET                     */ 03836000
*        CALL ICKDVOP0 (GDTTBL                                     1191 03837000
*               ,VOLIB                                             1191 03838000
*               ,ACTWAHAD                                          1191 03839000
*               ,UNTRACK                                           1191 03840000
*               ,RECNUM                                            1191 03841000
*               ,POOLID                                            1191 03842000
*               ,DATAPTR                                           1191 03843000
*               ,DATALEN                                           1191 03844000
*               ,RETCODE);                                         1191 03845000
         L     @06,@PC00001                                        1191 03846000
         ST    @06,@AL00001                                        1191 03847000
         LA    @15,VOLIB                                           1191 03848000
         ST    @15,@AL00001+4                                      1191 03849000
         LA    @15,@CF00255                                        1191 03850000
         ST    @15,@AL00001+8                                      1191 03851000
         LA    @15,UNTRACK                                         1191 03852000
         ST    @15,@AL00001+12                                     1191 03853000
         LA    @15,RECNUM                                          1191 03854000
         ST    @15,@AL00001+16                                     1191 03855000
         LA    @15,POOLID                                          1191 03856000
         ST    @15,@AL00001+20                                     1191 03857000
         LA    @15,DATAPTR                                         1191 03858000
         ST    @15,@AL00001+24                                     1191 03859000
         LA    @15,DATALEN                                         1191 03860000
         ST    @15,@AL00001+28                                     1191 03861000
         LA    @15,RETCODE                                         1191 03862000
         ST    @15,@AL00001+32                                     1191 03863000
         L     @15,GDTDOP(,@06)                                    1191 03864000
         LA    @01,@AL00001                                        1191 03865000
         BALR  @14,@15                                             1191 03866000
*/*      IF WRITE OPERATION IS SUCCESSFUL                            */ 03867000
*        IF RETCODE = SUCCESS                                      1192 03868000
*/*        THEN                                                      */ 03869000
*          THEN DO;                                                1192 03870000
*                                                                  1192 03871000
         SLR   @06,@06                                             1192 03872000
         C     @06,RETCODE                                         1192 03873000
         BNE   @RF01192                                            1192 03874000
*/*          ISSUE_BUILD_PACK_MAP (TRACK WITH DEFECT-FLAG SET)       */ 03875000
*            PACKDEF  = DEFECTIV;                                  1194 03876000
         OI    PACKDEF,B'10000000'                                 1194 03877000
*            PACKCHEK = NODEFECT;                                  1195 03878000
         NI    PACKCHEK,B'01111111'                                1195 03879000
*            PACKRCVR = RCVRYES;                                   1196 03880000
         NI    PACKRCVR,B'01111111'                                1196 03881000
*            PACKTRK  = ALTTRACK;                                  1197 03882000
         NI    PACKTRK,B'01111111'                                 1197 03883000
*            PACKTRAK = UNTRACK;                                   1198 03884000
         MVC   PACKTRAK(4),UNTRACK                                 1198 03885000
*            PACKASC = 0;                                          1199 03886000
         ST    @06,PACKASC                                         1199 03887000
*            CALL BILDPACK;                                        1200 03888000
         BAL   @14,BILDPACK                                        1200 03889000
*/*          RETURN                                                  */ 03890000
*            RETURN;                                               1201 03891000
@EL00010 DS    0H                                                  1201 03892000
@EF00010 DS    0H                                                  1201 03893000
@ER00010 LM    @14,@12,@SA00010                                    1201 03894000
         BR    @14                                                 1201 03895000
*/*          END-THEN                                                */ 03896000
*            END;                                                  1202 03897000
*/*      END-THEN                                                    */ 03898000
*        END;                                                      1203 03899000
@RF01192 DS    0H                                                  1204 03900000
*/*  ISSUE_BUILD_PACK_MAP (TRACK IS UNRECOVERABLE)                   */ 03901000
*    PACKDEF  = NODEFECT;                                          1204 03902000
@RF01189 NI    PACKDEF,B'01111111'                                 1204 03903000
*    PACKCHEK = NODEFECT;                                          1205 03904000
         NI    PACKCHEK,B'01111111'                                1205 03905000
*    PACKRCVR = RCVRNO;                                            1206 03906000
         OI    PACKRCVR,B'10000000'                                1206 03907000
*    IF UNTRTYPE = PRITRACK                                        1207 03908000
*      THEN DO;    PACKTRK = PRITRACK; END;                        1207 03909000
         TM    UNTRTYPE,B'10000000'                                1207 03910000
         BNO   @RF01207                                            1207 03911000
         OI    PACKTRK,B'10000000'                                 1209 03912000
*      ELSE DO;    PACKTRK = ALTTRACK; END;                        1211 03913000
         B     @RC01207                                            1211 03914000
@RF01207 DS    0H                                                  1212 03915000
         NI    PACKTRK,B'01111111'                                 1212 03916000
*    PACKTRAK = UNTRACK;                                           1214 03917000
@RC01207 MVC   PACKTRAK(4),UNTRACK                                 1214 03918000
*    PACKASC = 0;                                                  1215 03919000
         SLR   @06,@06                                             1215 03920000
         ST    @06,PACKASC                                         1215 03921000
*    CALL BILDPACK;                                                1216 03922000
         BAL   @14,BILDPACK                                        1216 03923000
*/*  INCREMENT COUNT OF UNRECOVERABLE TRACKS (COUNTUTR)              */ 03924000
*    COUNTUTR = COUNTUTR + 1;                                      1217 03925000
         LA    @06,1                                               1217 03926000
         AL    @06,COUNTUTR                                        1217 03927000
         ST    @06,COUNTUTR                                        1217 03928000
*/*  WRITE AN ERROR MESSAGE (MSGAUTRK OR MSGPUTRK) (UPRINT)          */ 03929000
*    IF UNTRTYPE = PRITRACK                                        1218 03930000
*      THEN DO;    DARGSENT = MSGPUTRK; END;                       1218 03931000
         TM    UNTRTYPE,B'10000000'                                1218 03932000
         BNO   @RF01218                                            1218 03933000
         L     @06,DDSTRU                                          1220 03934000
         MVI   DARGSENT(@06),X'02'                                 1220 03935000
*      ELSE DO;    DARGSENT = MSGAUTRK; END;                       1222 03936000
         B     @RC01218                                            1222 03937000
@RF01218 DS    0H                                                  1223 03938000
         L     @06,DDSTRU                                          1223 03939000
         MVI   DARGSENT(@06),X'01'                                 1223 03940000
*    DARGCNT = 2;                                                  1225 03941000
@RC01218 LA    @06,2                                               1225 03942000
         L     @15,DDSTRU                                          1225 03943000
         STH   @06,DARGCNT(,@15)                                   1225 03944000
*    DARGINS (1) = 1;                                              1226 03945000
         MVC   DARGINS(2,@15),@CH00165                             1226 03946000
*    DARGINL (1) = LENGTH (UNTRACKC);                              1227 03947000
         STH   @06,DARGINL(,@15)                                   1227 03948000
*    DARGDTM (1) = ADDR (UNTRACKC);                                1228 03949000
         LA    @14,UNTRACKC                                        1228 03950000
         ST    @14,DARGDTM(,@15)                                   1228 03951000
*    DARGINS (2) = 2;                                              1229 03952000
         STH   @06,DARGINS+8(,@15)                                 1229 03953000
*    DARGINL (2) = LENGTH (UNTRACKT);                              1230 03954000
         STH   @06,DARGINL+8(,@15)                                 1230 03955000
*    DARGDTM (2) = ADDR (UNTRACKT);                                1231 03956000
         LA    @06,UNTRACKT                                        1231 03957000
         ST    @06,DARGDTM+8(,@15)                                 1231 03958000
*    CALL ICKTPPR0 (GDTTBL                                         1232 03959000
*           ,PRTFILE                                               1232 03960000
*           ,DDSTRU);                                              1232 03961000
         L     @06,@PC00001                                        1232 03962000
         ST    @06,@AL00001                                        1232 03963000
         LA    @15,@CF00094                                        1232 03964000
         ST    @15,@AL00001+4                                      1232 03965000
         LA    @15,DDSTRU                                          1232 03966000
         ST    @15,@AL00001+8                                      1232 03967000
         MVI   @AL00001+8,X'80'                                    1232 03968000
         L     @15,GDTPRT(,@06)                                    1232 03969000
         LA    @01,@AL00001                                        1232 03970000
         BALR  @14,@15                                             1232 03971000
*/*  INDICATE AN ERROR                                               */ 03972000
*    LASTCOND = MAX(LASTCC08,LASTCOND);                            1233 03973000
         L     @06,@PC00001+8                                      1233 03974000
         LH    @15,LASTCOND(,@06)                                  1233 03975000
         LA    @14,8                                               1233 03976000
         CR    @15,@14                                             1233 03977000
         BNL   *+6                                                      03978000
         LR    @15,@14                                             1233 03979000
         STH   @15,LASTCOND(,@06)                                  1233 03980000
*/*  IF COUNT OF UNRECOVERABLE TRACKS MEETS THRESHOLD                */ 03981000
*    IF COUNTUTR >= THRESHLD                                       1234 03982000
*/*    THEN                                                          */ 03983000
*      THEN DO;                                                    1234 03984000
*                                                                  1234 03985000
         L     @06,COUNTUTR                                        1234 03986000
         L     @01,INFOPTR                                         1234 03987000
         C     @06,THRESHLD(,@01)                                  1234 03988000
         BL    @RF01234                                            1234 03989000
*/*      ISSUE ERROR MESSAGE (MSGTHRSH) (UPRINT)                     */ 03990000
*        DARGSENT = MSGTHRSH;                                      1236 03991000
         L     @06,DDSTRU                                          1236 03992000
         MVI   DARGSENT(@06),X'0E'                                 1236 03993000
*        CALL ICKTPPR0 (GDTTBL                                     1237 03994000
*               ,PRTFILE                                           1237 03995000
*               ,DDSTRU);                                          1237 03996000
         L     @06,@PC00001                                        1237 03997000
         ST    @06,@AL00001                                        1237 03998000
         LA    @15,@CF00094                                        1237 03999000
         ST    @15,@AL00001+4                                      1237 04000000
         LA    @15,DDSTRU                                          1237 04001000
         ST    @15,@AL00001+8                                      1237 04002000
         MVI   @AL00001+8,X'80'                                    1237 04003000
         L     @15,GDTPRT(,@06)                                    1237 04004000
         LA    @01,@AL00001                                        1237 04005000
         BALR  @14,@15                                             1237 04006000
*/*      INDICATE SEVERE ERROR (LASTCOND = 12)                       */ 04007000
*        LASTCOND = LASTCC12;                                      1238 04008000
         L     @06,@PC00001+8                                      1238 04009000
         MVC   LASTCOND(2,@06),@CH00265                            1238 04010000
*/*      END-THEN                                                    */ 04011000
*        END;                                                      1239 04012000
*/*  END-SUB-PROCEDURE COUNT_UNRECOVERABLE_TRACKS                    */ 04013000
*    END COUNTRKS;                                                 1240 04014000
*                                                                  1240 04015000
         B     @EL00010                                            1240 04016000
         EJECT                                                          04017000
*/*****  START OF SPECIFICATIONS  ************************************/ 04018000
*/*                                                                  */ 04019000
*/*  SUB-PROCEDURE NAME:  OBTTRST                                    */ 04020000
*/*                                                                  */ 04021000
*/*  DESCRIPTIVE NAME:  OBTAIN TRACK STATUS                          */ 04022000
*/*                                                                  */ 04023000
*/*  FUNCTION:                                                       */ 04024000
*/*                                                                  */ 04025000
*/*    THIS SUB-PROCEDURE WILL OBTAIN THE STATUS OF THE TRACK        */ 04026000
*/*    AS INDICATED BY THE HOME-ADDRESS AND THE STANDARD-LENGTH      */ 04027000
*/*    RECORD-ZERO. THIS STATUS IS OBTAINED BY INVOKING A DEVICE     */ 04028000
*/*    ADAPTER FACILITY (UDEVOP).                                    */ 04029000
*/*                                                                  */ 04030000
*/*****  END OF SPECIFICATIONS  **************************************/ 04031000
*                                                                  1241 04032000
*                                                                  1241 04033000
*/*  SUB-PROCEDURE OBTAIN_TRACK_STATUS                               */ 04034000
*    OBTTRST:                                                      1241 04035000
*      PROCEDURE                                                   1241 04036000
*        (                                                         1241 04037000
*        TRKADDR,                                                  1241 04038000
*        DFLAG,                                                    1241 04039000
*        RZADDR,                                                   1241 04040000
*        OBTRTYPE                                                  1241 04041000
*        );                                                        1241 04042000
OBTTRST  STM   @14,@12,@SA00011                                    1241 04043000
         MVC   @PC00011(16),0(@01)                                 1241 04044000
*    OLDERID2 = NEWERID2;                                          1242 04045000
         L     @06,@PC00001                                        1242 04046000
         L     @15,GDTTR2(,@06)                                    1242 04047000
         MVC   @TS00001(95),NEWERID2(@15)                          1242 04048000
         MVC   OLDERID2(95,@15),@TS00001                           1242 04049000
*    NEWID2 =  'INOT';                                             1243 04050000
*                                                                  1243 04051000
         MVC   NEWID2(4,@15),@CC00842                              1243 04052000
*    DECLARE  /********  LOCAL PARAMETERS  ***************************/ 04053000
*                                                                  1244 04054000
*      1 TRKADDR,            /* ADDRESS OF TRACK TO BE EXAMINED      */ 04055000
*                                                                  1244 04056000
*        2 TRKADDRC          /* CYLINDER NUMBER                      */ 04057000
*                            FIXED (16),                           1244 04058000
*                                                                  1244 04059000
*        2 TRKADDRH          /* TRACK NUMBER                         */ 04060000
*                            FIXED (16),                           1244 04061000
*                                                                  1244 04062000
*      DFLAG                 /* DEFECT-FLAG INDICATOR                */ 04063000
*                            /* DEFECTIV: DEFECT-FLAG SET            */ 04064000
*                            /* NODEFECT: DEFECT-FLAG NOT SET        */ 04065000
*                            BIT (1),                              1244 04066000
*                                                                  1244 04067000
*      RFLAG                 /* FLAG TO INDICATE IF TRACK IS         */ 04068000
*                            /* RECOVERABLE OR NOT                   */ 04069000
*                            /* RECOVER: RECOVERABLE                 */ 04070000
*                            /* NORCVR: UNRECOVERABLE                */ 04071000
*                            BIT (1),                              1244 04072000
*                                                                  1244 04073000
*      OBTRCODE              /* RETURN CODE FROM CALLED PROGRAMS     */ 04074000
*                            /* WHEN SAVED FOR FURTHER PROCESSING    */ 04075000
*                            FIXED (31),                           1244 04076000
*                                                                  1244 04077000
*      OBTRTYPE              /* FLAG TO INDICATE IF THE TRACK IS     */ 04078000
*                            /* A PRIMARY OR AN ALTERNATE            */ 04079000
*                            /* PRITRACK: PRIMARY                    */ 04080000
*                            /* ALTTRACK: ALTERNATE                  */ 04081000
*                            BIT (1),                              1244 04082000
*                                                                  1244 04083000
*      RZADDR                /* CCHH FROM R0 COUNT FIELD             */ 04084000
*                            CHAR(4);                              1244 04085000
*                                                                  1244 04086000
*/*  SET FLAG TO INDICATE THE TRACK IS CURRENTLY RECOVERABLE         */ 04087000
*    RFLAG = RECOVER;                                              1245 04088000
         OI    RFLAG,B'10000000'                                   1245 04089000
*/*  READ HOME-ADDRESS (TO OBTAIN THE DEFECT-FLAG) (UDEVOP)          */ 04090000
*    CALL ICKDVOP0 (GDTTBL                                         1246 04091000
*           ,VOLIB                                                 1246 04092000
*           ,ACTRDHA                                               1246 04093000
*           ,TRKADDR                                               1246 04094000
*           ,RECNUM                                                1246 04095000
*           ,POOLID                                                1246 04096000
*           ,HAPTR                                                 1246 04097000
*           ,HALEN                                                 1246 04098000
*           ,OBTRCODE);                                            1246 04099000
         ST    @06,@AL00001                                        1246 04100000
         LA    @15,VOLIB                                           1246 04101000
         ST    @15,@AL00001+4                                      1246 04102000
         LA    @15,@CF00165                                        1246 04103000
         ST    @15,@AL00001+8                                      1246 04104000
         L     @15,@PC00011                                        1246 04105000
         ST    @15,@AL00001+12                                     1246 04106000
         LA    @15,RECNUM                                          1246 04107000
         ST    @15,@AL00001+16                                     1246 04108000
         LA    @15,POOLID                                          1246 04109000
         ST    @15,@AL00001+20                                     1246 04110000
         LA    @15,HAPTR                                           1246 04111000
         ST    @15,@AL00001+24                                     1246 04112000
         LA    @15,HALEN                                           1246 04113000
         ST    @15,@AL00001+28                                     1246 04114000
         LA    @15,OBTRCODE                                        1246 04115000
         ST    @15,@AL00001+32                                     1246 04116000
         L     @15,GDTDOP(,@06)                                    1246 04117000
         LA    @01,@AL00001                                        1246 04118000
         BALR  @14,@15                                             1246 04119000
*/*  IF READ OPERATION FAILS                                         */ 04120000
*    IF OBTRCODE = CPFAILS                                         1247 04121000
*/*    THEN                                                          */ 04122000
*      THEN DO;                                                    1247 04123000
*                                                                  1247 04124000
         CLC   OBTRCODE(4),@CF00044                                1247 04125000
         BNE   @RF01247                                            1247 04126000
*/*      COUNT_UNRECOVERABLE_TRACKS                                  */ 04127000
*        UNTRACK = TRKADDR;                                        1249 04128000
         L     @06,@PC00011                                        1249 04129000
         MVC   UNTRACK(4),TRKADDR(@06)                             1249 04130000
*        IF OBTRTYPE = PRITRACK                                    1250 04131000
*          THEN DO;    UNTRTYPE = PRITRACK; END;                   1250 04132000
         L     @06,@PC00011+12                                     1250 04133000
         TM    OBTRTYPE(@06),B'10000000'                           1250 04134000
         BNO   @RF01250                                            1250 04135000
         OI    UNTRTYPE,B'10000000'                                1252 04136000
*          ELSE DO;    UNTRTYPE = ALTTRACK; END;                   1254 04137000
         B     @RC01250                                            1254 04138000
@RF01250 DS    0H                                                  1255 04139000
         NI    UNTRTYPE,B'01111111'                                1255 04140000
*        CALL COUNTRKS;                                            1257 04141000
@RC01250 BAL   @14,COUNTRKS                                        1257 04142000
*/*      IF TRACK IS AN ALTERNATE                                    */ 04143000
*        IF OBTRTYPE = ALTTRACK                                    1258 04144000
*/*        THEN DECREMENT NUMBER OF AVAILABLE ALTERNATE TRACKS       */ 04145000
*/*         BY ONE (ALTCOUNT)                                        */ 04146000
*          THEN DO;    ALTCOUNT = ALTCOUNT - 1; END;               1258 04147000
         L     @06,@PC00011+12                                     1258 04148000
         TM    OBTRTYPE(@06),B'10000000'                           1258 04149000
         BNZ   @RF01258                                            1258 04150000
         L     @06,ALTCOUNT                                        1260 04151000
         BCTR  @06,0                                               1260 04152000
         ST    @06,ALTCOUNT                                        1260 04153000
*/*      END-THEN                                                    */ 04154000
*        END;                                                      1262 04155000
*/*    ELSE (TRACK WAS NOT UNRECOVERABLE)                            */ 04156000
*      ELSE DO;                                                    1263 04157000
*                                                                  1263 04158000
         B     @RC01247                                            1263 04159000
@RF01247 DS    0H                                                  1264 04160000
*/*      IF THE DEFECT-FLAG WAS FOUND TO BE SET                      */ 04161000
*        IF OBTRCODE = DFLAGONP | OBTRCODE = DFLAGONA              1264 04162000
*/*        THEN SAVE THE DEFECT-FLAG SETTING                         */ 04163000
*          THEN DO;    DFLAG = DEFECTIV; END;                      1264 04164000
         L     @06,OBTRCODE                                        1264 04165000
         CH    @06,@CH00116                                        1264 04166000
         BE    @RT01264                                            1264 04167000
         CH    @06,@CH00119                                        1264 04168000
         BNE   @RF01264                                            1264 04169000
@RT01264 DS    0H                                                  1265 04170000
         L     @06,@PC00011+4                                      1266 04171000
         OI    DFLAG(@06),B'10000000'                              1266 04172000
*/*        ELSE INDICATE THAT THE DEFECT-FLAG IS NOT SET             */ 04173000
*          ELSE DO;    DFLAG = NODEFECT; END;                      1268 04174000
         B     @RC01264                                            1268 04175000
@RF01264 DS    0H                                                  1269 04176000
         L     @06,@PC00011+4                                      1269 04177000
         NI    DFLAG(@06),B'01111111'                              1269 04178000
*/*      READ STANDARD-LENGTH R0 (TO OBTAIN ASSOCIATION)             */ 04179000
*        CALL ICKDVOP0 (GDTTBL                                     1271 04180000
*               ,VOLIB                                             1271 04181000
*               ,ACTRDRZ                                           1271 04182000
*               ,TRKADDR                                           1271 04183000
*               ,RECNUM                                            1271 04184000
*               ,'INRZ'                                            1271 04185000
*               ,RZPTR                                             1271 04186000
*               ,RZLEN                                             1271 04187000
*               ,RETCODE);                                         1271 04188000
@RC01264 L     @06,@PC00001                                        1271 04189000
         ST    @06,@AL00001                                        1271 04190000
         LA    @15,VOLIB                                           1271 04191000
         ST    @15,@AL00001+4                                      1271 04192000
         LA    @15,@CF00116                                        1271 04193000
         ST    @15,@AL00001+8                                      1271 04194000
         L     @15,@PC00011                                        1271 04195000
         ST    @15,@AL00001+12                                     1271 04196000
         LA    @15,RECNUM                                          1271 04197000
         ST    @15,@AL00001+16                                     1271 04198000
         LA    @15,@CC00847                                        1271 04199000
         ST    @15,@AL00001+20                                     1271 04200000
         LA    @15,RZPTR                                           1271 04201000
         ST    @15,@AL00001+24                                     1271 04202000
         LA    @15,RZLEN                                           1271 04203000
         ST    @15,@AL00001+28                                     1271 04204000
         LA    @15,RETCODE                                         1271 04205000
         ST    @15,@AL00001+32                                     1271 04206000
         L     @15,GDTDOP(,@06)                                    1271 04207000
         LA    @01,@AL00001                                        1271 04208000
         BALR  @14,@15                                             1271 04209000
*/*      IF READ OPERATION FAILS                                     */ 04210000
*        IF RETCODE = CPFAILS                                      1272 04211000
*/*        THEN                                                      */ 04212000
*          THEN DO;                                                1272 04213000
*                                                                  1272 04214000
         CLC   RETCODE(4),@CF00044                                 1272 04215000
         BNE   @RF01272                                            1272 04216000
*/*          COUNT_UNRECOVERABLE_TRACKS                              */ 04217000
*            UNTRACK = TRKADDR;                                    1274 04218000
         L     @06,@PC00011                                        1274 04219000
         MVC   UNTRACK(4),TRKADDR(@06)                             1274 04220000
*            IF OBTRTYPE = PRITRACK                                1275 04221000
*              THEN DO;    UNTRTYPE = PRITRACK; END;               1275 04222000
         L     @06,@PC00011+12                                     1275 04223000
         TM    OBTRTYPE(@06),B'10000000'                           1275 04224000
         BNO   @RF01275                                            1275 04225000
         OI    UNTRTYPE,B'10000000'                                1277 04226000
*              ELSE DO;    UNTRTYPE = ALTTRACK; END;               1279 04227000
         B     @RC01275                                            1279 04228000
@RF01275 DS    0H                                                  1280 04229000
         NI    UNTRTYPE,B'01111111'                                1280 04230000
*            CALL COUNTRKS;                                        1282 04231000
@RC01275 BAL   @14,COUNTRKS                                        1282 04232000
*/*          IF TRACK IS AN ALTERNATE                                */ 04233000
*            IF OBTRTYPE = ALTTRACK                                1283 04234000
*/*            THEN DECREMENT COUNT OF AVAILABLE ALTERNATE TRACKS    */ 04235000
*/*             BY ONE (ALTCOUNT)                                    */ 04236000
*              THEN DO;    ALTCOUNT = ALTCOUNT - 1; END;           1283 04237000
         L     @06,@PC00011+12                                     1283 04238000
         TM    OBTRTYPE(@06),B'10000000'                           1283 04239000
         BNZ   @RF01283                                            1283 04240000
         L     @06,ALTCOUNT                                        1285 04241000
         BCTR  @06,0                                               1285 04242000
         ST    @06,ALTCOUNT                                        1285 04243000
*/*          END-THEN                                                */ 04244000
*            END;                                                  1287 04245000
*/*        ELSE                                                      */ 04246000
*          ELSE DO;                                                1288 04247000
*                                                                  1288 04248000
         B     @RC01272                                            1288 04249000
@RF01272 DS    0H                                                  1289 04250000
*/*          SAVE THE ASSOCIATION ADDRESS                            */ 04251000
*            RZADDR = RZADDROB;                                    1289 04252000
         L     @06,@PC00011+8                                      1289 04253000
         L     @01,RZPTR                                           1289 04254000
         MVC   RZADDR(4,@06),RZADDROB(@01)                         1289 04255000
*/*          IF THE DEFECT-FLAG IS SET DUE TO RECOVERY               */ 04256000
*            IF (RETCODE = DFLAGONP) | (RETCODE = DFLAGONA)        1290 04257000
*/*            THEN SAVE THE DEFECT-FLAG SETTING                     */ 04258000
*              THEN DO;    DFLAG = DEFECTIV; END;                  1290 04259000
         L     @06,RETCODE                                         1290 04260000
         CH    @06,@CH00116                                        1290 04261000
         BE    @RT01290                                            1290 04262000
         CH    @06,@CH00119                                        1290 04263000
         BNE   @RF01290                                            1290 04264000
@RT01290 DS    0H                                                  1291 04265000
         L     @06,@PC00011+4                                      1292 04266000
         OI    DFLAG(@06),B'10000000'                              1292 04267000
*/*          IF PHYSICAL STATE OF TRACK ON PACK DOES NOT AGREE WITH  */ 04268000
*/*           THE THEORETICAL STATE                                  */ 04269000
*            IF ((OBTRTYPE = PRITRACK) & (OBTRCODE = DFLAGONA |    1294 04270000
*             OBTRCODE = DFLAGOFA)) | ((OBTRTYPE = ALTTRACK) &     1294 04271000
*             (OBTRCODE = DFLAGONP | OBTRCODE = DFLAGOFP))         1294 04272000
*/*            THEN                                                  */ 04273000
*              THEN DO;                                            1294 04274000
*                                                                  1294 04275000
@RF01290 L     @06,@PC00011+12                                     1294 04276000
         TM    OBTRTYPE(@06),B'10000000'                           1294 04277000
         BNO   @GL00049                                            1294 04278000
         L     @06,OBTRCODE                                        1294 04279000
         CH    @06,@CH00119                                        1294 04280000
         BE    @RT01294                                            1294 04281000
         CH    @06,@CH00185                                        1294 04282000
         BE    @RT01294                                            1294 04283000
@GL00049 L     @06,@PC00011+12                                     1294 04284000
         TM    OBTRTYPE(@06),B'10000000'                           1294 04285000
         BNZ   @RF01294                                            1294 04286000
         L     @06,OBTRCODE                                        1294 04287000
         CH    @06,@CH00116                                        1294 04288000
         BE    @RT01294                                            1294 04289000
         CH    @06,@CH00136                                        1294 04290000
         BNE   @RF01294                                            1294 04291000
@RT01294 DS    0H                                                  1295 04292000
*/*              ESTABLISH_TRACK_INTEGRITY                           */ 04293000
*                CALL ESTTRINT (TRKADDR                            1296 04294000
*                              ,RZADDR                             1296 04295000
*                              ,DFLAG                              1296 04296000
*                              ,RFLAG                              1296 04297000
*                              ,OBTRCODE                           1296 04298000
*                              ,OBTRTYPE);                         1296 04299000
         L     @06,@PC00011                                        1296 04300000
         ST    @06,@AL00001                                        1296 04301000
         L     @06,@PC00011+8                                      1296 04302000
         ST    @06,@AL00001+4                                      1296 04303000
         L     @06,@PC00011+4                                      1296 04304000
         ST    @06,@AL00001+8                                      1296 04305000
         LA    @06,RFLAG                                           1296 04306000
         ST    @06,@AL00001+12                                     1296 04307000
         LA    @06,OBTRCODE                                        1296 04308000
         ST    @06,@AL00001+16                                     1296 04309000
         L     @06,@PC00011+12                                     1296 04310000
         ST    @06,@AL00001+20                                     1296 04311000
         LA    @01,@AL00001                                        1296 04312000
         BAL   @14,ESTTRINT                                        1296 04313000
*/*              END-THEN                                            */ 04314000
*                END;                                              1297 04315000
*/*          END-ELSE                                                */ 04316000
*            END;                                                  1298 04317000
@RF01294 DS    0H                                                  1299 04318000
*/*      FREE THE STORAGE OBTAINED BY UDEVOP                         */ 04319000
*        CALL ICKSAFP0 (GDTTBL                                     1299 04320000
*               ,'INRZ');                                          1299 04321000
@RC01272 L     @06,@PC00001                                        1299 04322000
         ST    @06,@AL00001                                        1299 04323000
         LA    @15,@CC00847                                        1299 04324000
         ST    @15,@AL00001+4                                      1299 04325000
         MVI   @AL00001+4,X'80'                                    1299 04326000
         L     @15,GDTFPL(,@06)                                    1299 04327000
         LA    @01,@AL00001                                        1299 04328000
         BALR  @14,@15                                             1299 04329000
*/*      END-ELSE (READ HA WAS SUCCESSFUL)                           */ 04330000
*        END;                                                      1300 04331000
*/*  END-SUB-PROCEDURE OBTAIN_TRACK_STATUS                           */ 04332000
*    END OBTTRST;                                                  1301 04333000
*                                                                  1301 04334000
@EL00011 DS    0H                                                  1301 04335000
@EF00011 DS    0H                                                  1301 04336000
@ER00011 LM    @14,@12,@SA00011                                    1301 04337000
         BR    @14                                                 1301 04338000
         EJECT                                                          04339000
*/*****  START OF SPECIFICATIONS  ************************************/ 04340000
*/*                                                                  */ 04341000
*/*  SUB-PROCEDURE NAME:  VALTRACK                                   */ 04342000
*/*                                                                  */ 04343000
*/*  DESCRIPTIVE NAME:  VALIDATE TRACK                               */ 04344000
*/*                                                                  */ 04345000
*/*  FUNCTION:                                                       */ 04346000
*/*                                                                  */ 04347000
*/*    THIS SUB-PROCEDURE CHECKS THE VALIDITY OF THE HOME-ADDRESS    */ 04348000
*/*    AND THE STANDARD-LENGTH RECORD-ZERO.                          */ 04349000
*/*                                                                  */ 04350000
*/*****  END OF SPECIFICATIONS  **************************************/ 04351000
*                                                                  1302 04352000
*                                                                  1302 04353000
*/*  SUB-PROCEDURE VALIDATE_TRACK                                    */ 04354000
*    VALTRACK:                                                     1302 04355000
*      PROCEDURE;                                                  1302 04356000
VALTRACK STM   @14,@12,@SA00012                                    1302 04357000
*    OLDERID2 = NEWERID2;                                          1303 04358000
         L     @06,@PC00001                                        1303 04359000
         L     @06,GDTTR2(,@06)                                    1303 04360000
         MVC   @TS00001(95),NEWERID2(@06)                          1303 04361000
         MVC   OLDERID2(95,@06),@TS00001                           1303 04362000
*    NEWID2 =  'INVA';                                             1304 04363000
         MVC   NEWID2(4,@06),@CC00852                              1304 04364000
*/*  IF TRACK IS A PRIMARY                                           */ 04365000
*    IF TRACKTYP = PRITRACK                                        1305 04366000
*/*    THEN SET ACTION KEY FOR VALIDATION OF PRIMARY TRACK           */ 04367000
*      THEN DO;    VAACTION = ACTVPHA; END;                        1305 04368000
         TM    TRACKTYP,B'10000000'                                1305 04369000
         BNO   @RF01305                                            1305 04370000
         MVC   VAACTION(4),@CF00267                                1307 04371000
*/*    ELSE SET ACTION KEY FOR VALIDATION OF ALTERNATE TRACK         */ 04372000
*      ELSE DO;    VAACTION = ACTVAHA; END;                        1309 04373000
         B     @RC01305                                            1309 04374000
@RF01305 DS    0H                                                  1310 04375000
         MVC   VAACTION(4),@CF00274                                1310 04376000
*/*  VALIDATE HOME-ADDRESS (UDEVOP)                                  */ 04377000
*    CALL ICKDVOP0 (GDTTBL                                         1312 04378000
*           ,VOLIB                                                 1312 04379000
*           ,VAACTION                                              1312 04380000
*           ,CTRADDR                                               1312 04381000
*           ,RECNUM                                                1312 04382000
*           ,POOLID                                                1312 04383000
*           ,HAPTR                                                 1312 04384000
*           ,HALEN                                                 1312 04385000
*           ,RETCODE);                                             1312 04386000
@RC01305 L     @06,@PC00001                                        1312 04387000
         ST    @06,@AL00001                                        1312 04388000
         LA    @15,VOLIB                                           1312 04389000
         ST    @15,@AL00001+4                                      1312 04390000
         LA    @15,VAACTION                                        1312 04391000
         ST    @15,@AL00001+8                                      1312 04392000
         LA    @15,CTRADDR                                         1312 04393000
         ST    @15,@AL00001+12                                     1312 04394000
         LA    @15,RECNUM                                          1312 04395000
         ST    @15,@AL00001+16                                     1312 04396000
         LA    @15,POOLID                                          1312 04397000
         ST    @15,@AL00001+20                                     1312 04398000
         LA    @15,HAPTR                                           1312 04399000
         ST    @15,@AL00001+24                                     1312 04400000
         LA    @15,HALEN                                           1312 04401000
         ST    @15,@AL00001+28                                     1312 04402000
         LA    @15,RETCODE                                         1312 04403000
         ST    @15,@AL00001+32                                     1312 04404000
         L     @15,GDTDOP(,@06)                                    1312 04405000
         LA    @01,@AL00001                                        1312 04406000
         BALR  @14,@15                                             1312 04407000
*/*  IF VALIDATION FAILS                                             */ 04408000
*    IF RETCODE = CPFAILS                                          1313 04409000
*/*    THEN                                                          */ 04410000
*      THEN DO;                                                    1313 04411000
*                                                                  1313 04412000
         CLC   RETCODE(4),@CF00044                                 1313 04413000
         BNE   @RF01313                                            1313 04414000
*/*      COUNT_UNRECOVERABLE_TRACKS                                  */ 04415000
*        IF TRACKTYP = PRITRACK                                    1315 04416000
*          THEN DO;    UNTRTYPE = PRITRACK; END;                   1315 04417000
         TM    TRACKTYP,B'10000000'                                1315 04418000
         BNO   @RF01315                                            1315 04419000
         OI    UNTRTYPE,B'10000000'                                1317 04420000
*          ELSE DO;    UNTRTYPE = ALTTRACK; END;                   1319 04421000
         B     @RC01315                                            1319 04422000
@RF01315 DS    0H                                                  1320 04423000
         NI    UNTRTYPE,B'01111111'                                1320 04424000
*        UNTRACK = CTRADDR;                                        1322 04425000
@RC01315 MVC   UNTRACK(4),CTRADDR                                  1322 04426000
*        CALL COUNTRKS;                                            1323 04427000
         BAL   @14,COUNTRKS                                        1323 04428000
*/*      IF TRACK IS AN ALTERNATE                                    */ 04429000
*        IF TRACKTYP = ALTTRACK                                    1324 04430000
*/*        THEN DECREMENT ALTCOUNT BY ONE                            */ 04431000
*          THEN DO;    ALTCOUNT = ALTCOUNT - 1; END;               1324 04432000
         TM    TRACKTYP,B'10000000'                                1324 04433000
         BNZ   @RF01324                                            1324 04434000
         L     @06,ALTCOUNT                                        1326 04435000
         BCTR  @06,0                                               1326 04436000
         ST    @06,ALTCOUNT                                        1326 04437000
*/*      END-THEN (VALIDATION FAILS)                                 */ 04438000
*        END;                                                      1328 04439000
*/*    ELSE (HOME-ADDRESS IS VALID)                                  */ 04440000
*      ELSE DO;                                                    1329 04441000
*                                                                  1329 04442000
         B     @RC01313                                            1329 04443000
@RF01313 DS    0H                                                  1330 04444000
*/*      IF TRACK IS STILL RECOVERABLE                               */ 04445000
*        IF RCVRFLAG = RECOVER                                     1330 04446000
*/*        THEN                                                      */ 04447000
*          THEN DO;                                                1330 04448000
*                                                                  1330 04449000
         TM    RCVRFLAG,B'10000000'                                1330 04450000
         BNO   @RF01330                                            1330 04451000
*/*          IF THE DEFECT-FLAG WAS FOUND TO BE SET                  */ 04452000
*            IF RETCODE = DFLAGONP | RETCODE = DFLAGONA            1332 04453000
*/*            THEN SAVE THE DEFECT-FLAG SETTING                     */ 04454000
*              THEN DO;    DFLAGC = DEFECTIV; END;                 1332 04455000
         L     @06,RETCODE                                         1332 04456000
         CH    @06,@CH00116                                        1332 04457000
         BE    @RT01332                                            1332 04458000
         CH    @06,@CH00119                                        1332 04459000
         BNE   @RF01332                                            1332 04460000
@RT01332 DS    0H                                                  1333 04461000
         OI    DFLAGC,B'10000000'                                  1334 04462000
*/*            ELSE INDICATE THAT THE DEFECT-FLAG IS NOT SET         */ 04463000
*              ELSE DO;    DFLAGC = NODEFECT; END;                 1336 04464000
         B     @RC01332                                            1336 04465000
@RF01332 DS    0H                                                  1337 04466000
         NI    DFLAGC,B'01111111'                                  1337 04467000
*/*          IF MEDIAL INITIALIZATION WAS REQUESTED                  */ 04468000
*            IF ADDR(CHECK) = NULLPTR                              1339 04469000
*/*            THEN (MEDIAL INITIALIZATION)                          */ 04470000
*              THEN DO;                                            1339 04471000
@RC01332 L     @06,@PC00001+4                                      1339 04472000
         L     @06,FDTPTR+12(,@06)                                 1339 04473000
         LTR   @06,@06                                             1339 04474000
         BNZ   @RF01339                                            1339 04475000
*/*              WRITE A STANDARD-LENGTH RECORD ZERO                 */ 04476000
*                CALL ICKDVOP0 (GDTTBL                             1341 04477000
*                       ,VOLIB                                     1341 04478000
*                       ,ACTWRZS                                   1341 04479000
*                       ,CTRADDR                                   1341 04480000
*                       ,RECNUM                                    1341 04481000
*                       ,POOLID                                    1341 04482000
*                       ,ADDR(CTRADDR)                             1341 04483000
*                       ,LENGTH (CTRADDR)                          1341 04484000
*                       ,RETCODE);                                 1341 04485000
         L     @06,@PC00001                                        1341 04486000
         ST    @06,@AL00001                                        1341 04487000
         LA    @15,VOLIB                                           1341 04488000
         ST    @15,@AL00001+4                                      1341 04489000
         LA    @15,@CF00161                                        1341 04490000
         ST    @15,@AL00001+8                                      1341 04491000
         LA    @15,CTRADDR                                         1341 04492000
         ST    @15,@AL00001+12                                     1341 04493000
         LA    @15,RECNUM                                          1341 04494000
         ST    @15,@AL00001+16                                     1341 04495000
         LA    @15,POOLID                                          1341 04496000
         ST    @15,@AL00001+20                                     1341 04497000
         LA    @15,CTRADDR                                         1341 04498000
         ST    @15,@AFTEMPS                                        1341 04499000
         LA    @15,@AFTEMPS                                        1341 04500000
         ST    @15,@AL00001+24                                     1341 04501000
         LA    @15,@CF00044                                        1341 04502000
         ST    @15,@AL00001+28                                     1341 04503000
         LA    @15,RETCODE                                         1341 04504000
         ST    @15,@AL00001+32                                     1341 04505000
         L     @15,GDTDOP(,@06)                                    1341 04506000
         LA    @01,@AL00001                                        1341 04507000
         BALR  @14,@15                                             1341 04508000
*/*              IF VALIDATION FAILS                                 */ 04509000
*                IF RETCODE = CPFAILS                              1342 04510000
*/*                THEN                                              */ 04511000
*                  THEN DO;                                        1342 04512000
*                                                                  1342 04513000
         CLC   RETCODE(4),@CF00044                                 1342 04514000
         BNE   @RF01342                                            1342 04515000
*/*                  COUNT_UNRECOVERABLE_TRACKS                      */ 04516000
*                    IF TRACKTYP = PRITRACK                        1344 04517000
*                      THEN UNTRTYPE = PRITRACK;                   1344 04518000
         TM    TRACKTYP,B'10000000'                                1344 04519000
         BNO   @RF01344                                            1344 04520000
         OI    UNTRTYPE,B'10000000'                                1345 04521000
*                      ELSE UNTRTYPE = ALTTRACK;                   1346 04522000
         B     @RC01344                                            1346 04523000
@RF01344 NI    UNTRTYPE,B'01111111'                                1346 04524000
*                    UNTRACK = CTRADDR;                            1347 04525000
@RC01344 MVC   UNTRACK(4),CTRADDR                                  1347 04526000
*                    CALL COUNTRKS;                                1348 04527000
         BAL   @14,COUNTRKS                                        1348 04528000
*/*                  IF TRACK IS AN ALTERNATE                        */ 04529000
*                    IF TRACKTYP = ALTTRACK                        1349 04530000
*/*                    THEN DECREMENT COUNT OF AVAILABLE ALTERNATE   */ 04531000
*/*                     TRACKS BY ONE (ALTCOUNT)                     */ 04532000
*                      THEN DO;    ALTCOUNT = ALTCOUNT - 1;        1349 04533000
         TM    TRACKTYP,B'10000000'                                1349 04534000
         BNZ   @RF01349                                            1349 04535000
         L     @06,ALTCOUNT                                        1351 04536000
         BCTR  @06,0                                               1351 04537000
         ST    @06,ALTCOUNT                                        1351 04538000
*                        END;                                      1352 04539000
*/*                  END-THEN (VALIDATION FAILS)                     */ 04540000
*                    END;                                          1353 04541000
*/*                ELSE                                              */ 04542000
*                  ELSE DO;                                        1354 04543000
*                                                                  1354 04544000
         B     @RC01342                                            1354 04545000
@RF01342 DS    0H                                                  1355 04546000
*/*                  IF THE DEFECT-FLAG IS SET DUE TO RECOVERY       */ 04547000
*                    IF RETCODE = DFLAGONP | RETCODE = DFLAGONA    1355 04548000
*/*                    THEN SAVE THE DEFECT-FLAG SETTING             */ 04549000
*                      THEN DO;    DFLAGC = DEFECTIV; END;         1355 04550000
         L     @06,RETCODE                                         1355 04551000
         CH    @06,@CH00116                                        1355 04552000
         BE    @RT01355                                            1355 04553000
         CH    @06,@CH00119                                        1355 04554000
         BNE   @RF01355                                            1355 04555000
@RT01355 DS    0H                                                  1356 04556000
         OI    DFLAGC,B'10000000'                                  1357 04557000
*/*                  END-ELSE                                        */ 04558000
*                    END;                                          1359 04559000
*/*              END-THEN  (MEDIAL INITIALIZATION)                   */ 04560000
*                END;                                              1360 04561000
*/*          END-THEN (TRACK IS RECOVERABLE)                         */ 04562000
*            END;                                                  1361 04563000
*/*      END-ELSE (HOME-ADDRESS IS VALID)                            */ 04564000
*        END;                                                      1362 04565000
*/*  END-SUB-PROCEDURE VALIDATE_TRACK                                */ 04566000
*    END VALTRACK;                                                 1363 04567000
*                                                                  1363 04568000
@EL00012 DS    0H                                                  1363 04569000
@EF00012 DS    0H                                                  1363 04570000
@ER00012 LM    @14,@12,@SA00012                                    1363 04571000
         BR    @14                                                 1363 04572000
         EJECT                                                          04573000
*/*****  START OF SPECIFICATIONS  ************************************/ 04574000
*/*                                                                  */ 04575000
*/*  SUB-PROCEDURE NAME:  VALHOME                                    */ 04576000
*/*                                                                  */ 04577000
*/*  DESCRIPTIVE NAME:  VALIDATE_HOME-ADDRESS                        */ 04578000
*/*                                                                  */ 04579000
*/*  FUNCTION:                                                       */ 04580000
*/*                                                                  */ 04581000
*/*    THIS SUB-PROCEDURE CHECKS THE VALIDITY OF THE HOME-ADDRESS    */ 04582000
*/*    ONLY FOR MINIMAL INITIALIZATION AND RETURNS THE DEFECT-FLAG   */ 04583000
*/*    SETTING.                                                      */ 04584000
*/*                                                                  */ 04585000
*/*****  END OF SPECIFICATIONS  **************************************/ 04586000
*                                                                  1364 04587000
*                                                                  1364 04588000
*/*  SUB-PROCEDURE VALIDATE_HOME-ADDRESS                             */ 04589000
*    VALHOME:                                                      1364 04590000
*      PROCEDURE                                                   1364 04591000
*        (VALADDR                                                  1364 04592000
*        ,DFLAGV                                                   1364 04593000
*        ,VALTRTYP);                                               1364 04594000
VALHOME  STM   @14,@12,@SA00013                                    1364 04595000
         MVC   @PC00013(12),0(@01)                                 1364 04596000
*    OLDERID2 = NEWERID2;                                          1365 04597000
         L     @06,@PC00001                                        1365 04598000
         L     @06,GDTTR2(,@06)                                    1365 04599000
         MVC   @TS00001(95),NEWERID2(@06)                          1365 04600000
         MVC   OLDERID2(95,@06),@TS00001                           1365 04601000
*    NEWID2 =  'INVA';                                             1366 04602000
         MVC   NEWID2(4,@06),@CC00852                              1366 04603000
*    DECLARE  /********  LOCAL PARAMETERS  ***************************/ 04604000
*                                                                  1367 04605000
*      1 VALADDR,            /* ADDRESS OF TRACK TO BE EXAMINED      */ 04606000
*                                                                  1367 04607000
*        2 VALADDRC          /* CYLINDER NUMBER                      */ 04608000
*                            FIXED (16),                           1367 04609000
*                                                                  1367 04610000
*        2 VALADDRH          /* TRACK NUMBER                         */ 04611000
*                            FIXED (16),                           1367 04612000
*                                                                  1367 04613000
*      DFLAGV                /* DEFECT-FLAG INDICATOR                */ 04614000
*                            /* DEFECTIV: DEFECT-FLAG SET            */ 04615000
*                            /* NODEFECT: DEFECT-FLAG NOT SET        */ 04616000
*                            BIT (1),                              1367 04617000
*                                                                  1367 04618000
*      VALTRTYP              /* FLAG TO INDICATE IF THE TRACK IS     */ 04619000
*                            /* A PRIMARY OR AN ALTERNATE            */ 04620000
*                            /* PRITRACK: PRIMARY                    */ 04621000
*                            /* ALTTRACK: ALTERNATE                  */ 04622000
*                            BIT (1);                              1367 04623000
*                                                                  1367 04624000
*/*  IF TRACK IS A PRIMARY                                           */ 04625000
*    IF VALTRTYP = PRITRACK                                        1368 04626000
*/*    THEN SET ACTION KEY FOR VALIDATION OF PRIMARY TRACK           */ 04627000
*      THEN DO;    VAACTION = ACTVPHA; END;                        1368 04628000
         L     @06,@PC00013+8                                      1368 04629000
         TM    VALTRTYP(@06),B'10000000'                           1368 04630000
         BNO   @RF01368                                            1368 04631000
         MVC   VAACTION(4),@CF00267                                1370 04632000
*/*    ELSE SET ACTION KEY FOR VALIDATION OF ALTERNATE TRACK         */ 04633000
*      ELSE DO;    VAACTION = ACTVAHA; END;                        1372 04634000
         B     @RC01368                                            1372 04635000
@RF01368 DS    0H                                                  1373 04636000
         MVC   VAACTION(4),@CF00274                                1373 04637000
*/*  VALIDATE HOME-ADDRESS (UDEVOP)                                  */ 04638000
*    CALL ICKDVOP0 (GDTTBL                                         1375 04639000
*           ,VOLIB                                                 1375 04640000
*           ,VAACTION                                              1375 04641000
*           ,VALADDR                                               1375 04642000
*           ,RECNUM                                                1375 04643000
*           ,POOLID                                                1375 04644000
*           ,HAPTR                                                 1375 04645000
*           ,HALEN                                                 1375 04646000
*           ,RETCODE);                                             1375 04647000
@RC01368 L     @06,@PC00001                                        1375 04648000
         ST    @06,@AL00001                                        1375 04649000
         LA    @15,VOLIB                                           1375 04650000
         ST    @15,@AL00001+4                                      1375 04651000
         LA    @15,VAACTION                                        1375 04652000
         ST    @15,@AL00001+8                                      1375 04653000
         L     @15,@PC00013                                        1375 04654000
         ST    @15,@AL00001+12                                     1375 04655000
         LA    @15,RECNUM                                          1375 04656000
         ST    @15,@AL00001+16                                     1375 04657000
         LA    @15,POOLID                                          1375 04658000
         ST    @15,@AL00001+20                                     1375 04659000
         LA    @15,HAPTR                                           1375 04660000
         ST    @15,@AL00001+24                                     1375 04661000
         LA    @15,HALEN                                           1375 04662000
         ST    @15,@AL00001+28                                     1375 04663000
         LA    @15,RETCODE                                         1375 04664000
         ST    @15,@AL00001+32                                     1375 04665000
         L     @15,GDTDOP(,@06)                                    1375 04666000
         LA    @01,@AL00001                                        1375 04667000
         BALR  @14,@15                                             1375 04668000
*/*  IF VALIDATION FAILS                                             */ 04669000
*    IF RETCODE = CPFAILS                                          1376 04670000
*/*    THEN                                                          */ 04671000
*      THEN DO;                                                    1376 04672000
*                                                                  1376 04673000
         CLC   RETCODE(4),@CF00044                                 1376 04674000
         BNE   @RF01376                                            1376 04675000
*/*      COUNT_UNRECOVERABLE_TRACKS                                  */ 04676000
*        IF VALTRTYP = PRITRACK                                    1378 04677000
*          THEN DO;    UNTRTYPE = PRITRACK; END;                   1378 04678000
         L     @06,@PC00013+8                                      1378 04679000
         TM    VALTRTYP(@06),B'10000000'                           1378 04680000
         BNO   @RF01378                                            1378 04681000
         OI    UNTRTYPE,B'10000000'                                1380 04682000
*          ELSE DO;    UNTRTYPE = ALTTRACK; END;                   1382 04683000
         B     @RC01378                                            1382 04684000
@RF01378 DS    0H                                                  1383 04685000
         NI    UNTRTYPE,B'01111111'                                1383 04686000
*        UNTRACK = CTRADDR;                                        1385 04687000
@RC01378 MVC   UNTRACK(4),CTRADDR                                  1385 04688000
*        CALL COUNTRKS;                                            1386 04689000
         BAL   @14,COUNTRKS                                        1386 04690000
*/*      IF TRACK IS AN ALTERNATE                                    */ 04691000
*        IF VALTRTYP = ALTTRACK                                    1387 04692000
*/*        THEN DECREMENT ALTCOUNT BY ONE                            */ 04693000
*          THEN DO;    ALTCOUNT = ALTCOUNT - 1; END;               1387 04694000
         L     @06,@PC00013+8                                      1387 04695000
         TM    VALTRTYP(@06),B'10000000'                           1387 04696000
         BNZ   @RF01387                                            1387 04697000
         L     @06,ALTCOUNT                                        1389 04698000
         BCTR  @06,0                                               1389 04699000
         ST    @06,ALTCOUNT                                        1389 04700000
*/*      END-THEN (VALIDATION FAILS)                                 */ 04701000
*        END;                                                      1391 04702000
*/*    ELSE (HOME-ADDRESS IS VALID)                                  */ 04703000
*      ELSE DO;                                                    1392 04704000
*                                                                  1392 04705000
         B     @RC01376                                            1392 04706000
@RF01376 DS    0H                                                  1393 04707000
*/*      IF THE DEFECT-FLAG WAS FOUND TO BE SET                      */ 04708000
*        IF RETCODE = DFLAGONP | RETCODE = DFLAGONA                1393 04709000
*/*        THEN SAVE THE DEFECT-FLAG SETTING                         */ 04710000
*          THEN DO;    DFLAGV = DEFECTIV; END;                     1393 04711000
         L     @06,RETCODE                                         1393 04712000
         CH    @06,@CH00116                                        1393 04713000
         BE    @RT01393                                            1393 04714000
         CH    @06,@CH00119                                        1393 04715000
         BNE   @RF01393                                            1393 04716000
@RT01393 DS    0H                                                  1394 04717000
         L     @06,@PC00013+4                                      1395 04718000
         OI    DFLAGV(@06),B'10000000'                             1395 04719000
*/*        ELSE INDICATE THAT THE DEFECT-FLAG IS NOT SET             */ 04720000
*          ELSE DO;    DFLAGV = NODEFECT; END;                     1397 04721000
         B     @RC01393                                            1397 04722000
@RF01393 DS    0H                                                  1398 04723000
         L     @06,@PC00013+4                                      1398 04724000
         NI    DFLAGV(@06),B'01111111'                             1398 04725000
*/*      END-ELSE (HOME-ADDRESS IS VALID)                            */ 04726000
*        END;                                                      1400 04727000
*/*  END-SUB-PROCEDURE VALIDATE_HOME-ADDRESS                         */ 04728000
*    END VALHOME;                                                  1401 04729000
*                                                                  1401 04730000
@EL00013 DS    0H                                                  1401 04731000
@EF00013 DS    0H                                                  1401 04732000
@ER00013 LM    @14,@12,@SA00013                                    1401 04733000
         BR    @14                                                 1401 04734000
         EJECT                                                          04735000
*/*****  START OF SPECIFICATIONS  ************************************/ 04736000
*/*                                                                  */ 04737000
*/*  SUB-PROCEDURE NAME:  DISTRACK                                   */ 04738000
*/*                                                                  */ 04739000
*/*  DESCRIPTIVE NAME:  DISSOCIATE TRACK                             */ 04740000
*/*                                                                  */ 04741000
*/*  FUNCTION:                                                       */ 04742000
*/*                                                                  */ 04743000
*/*    THIS SUB-PROCEDURE WILL DE-LINK AN ALTERNATE TRACK WHOSE      */ 04744000
*/*    COUNT FIELD POINTS TO A PRIMARY TRACK.                        */ 04745000
*/*    IT THUS MAKES THE ALTERNATE TRACK AVAILABLE FOR ASSIGNMENT.   */ 04746000
*/*                                                                  */ 04747000
*/*****  END OF SPECIFICATIONS  **************************************/ 04748000
*                                                                  1402 04749000
*                                                                  1402 04750000
*/*  SUB-PROCEDURE DISSOCIATE_TRACK                                  */ 04751000
*    DISTRACK:                                                     1402 04752000
*      PROCEDURE;                                                  1402 04753000
DISTRACK STM   @14,@12,@SA00014                                    1402 04754000
*    OLDERID2 = NEWERID2;                                          1403 04755000
         L     @06,@PC00001                                        1403 04756000
         L     @15,GDTTR2(,@06)                                    1403 04757000
         MVC   @TS00001(95),NEWERID2(@15)                          1403 04758000
         MVC   OLDERID2(95,@15),@TS00001                           1403 04759000
*    NEWID2 =  'INDT';                                             1404 04760000
         MVC   NEWID2(4,@15),@CC00867                              1404 04761000
*/*  DISSOCIATE TRACK FROM ASSOCIATED TRACK (UDEVOP)                 */ 04762000
*    CALL ICKDVOP0 (GDTTBL                                         1405 04763000
*           ,VOLIB                                                 1405 04764000
*           ,ACTWRZS                                               1405 04765000
*           ,CTRADDR                                               1405 04766000
*           ,RECNUM                                                1405 04767000
*           ,POOLID                                                1405 04768000
*           ,ADDR (CTRADDR)                                        1405 04769000
*           ,LENGTH (CTRADDR)                                      1405 04770000
*           ,RETCODE);                                             1405 04771000
         ST    @06,@AL00001                                        1405 04772000
         LA    @15,VOLIB                                           1405 04773000
         ST    @15,@AL00001+4                                      1405 04774000
         LA    @15,@CF00161                                        1405 04775000
         ST    @15,@AL00001+8                                      1405 04776000
         LA    @15,CTRADDR                                         1405 04777000
         ST    @15,@AL00001+12                                     1405 04778000
         LA    @15,RECNUM                                          1405 04779000
         ST    @15,@AL00001+16                                     1405 04780000
         LA    @15,POOLID                                          1405 04781000
         ST    @15,@AL00001+20                                     1405 04782000
         LA    @15,CTRADDR                                         1405 04783000
         ST    @15,@AFTEMPS+4                                      1405 04784000
         LA    @15,@AFTEMPS+4                                      1405 04785000
         ST    @15,@AL00001+24                                     1405 04786000
         LA    @15,@CF00044                                        1405 04787000
         ST    @15,@AL00001+28                                     1405 04788000
         LA    @15,RETCODE                                         1405 04789000
         ST    @15,@AL00001+32                                     1405 04790000
         L     @15,GDTDOP(,@06)                                    1405 04791000
         LA    @01,@AL00001                                        1405 04792000
         BALR  @14,@15                                             1405 04793000
*/*  IF DISSOCIATION FAILS                                           */ 04794000
*    IF RETCODE = CPFAILS                                          1406 04795000
*/*    THEN                                                          */ 04796000
*      THEN DO;                                                    1406 04797000
*                                                                  1406 04798000
         CLC   RETCODE(4),@CF00044                                 1406 04799000
         BNE   @RF01406                                            1406 04800000
*/*      COUNT_UNRECOVERABLE_TRACKS                                  */ 04801000
*        UNTRTYPE = ALTTRACK;                                      1408 04802000
         NI    UNTRTYPE,B'01111111'                                1408 04803000
*        UNTRACK = CTRADDR;                                        1409 04804000
         MVC   UNTRACK(4),CTRADDR                                  1409 04805000
*        CALL COUNTRKS;                                            1410 04806000
         BAL   @14,COUNTRKS                                        1410 04807000
*/*      DECREMENT COUNT OF AVAILABLE ALTERNATE TRACKS               */ 04808000
*        ALTCOUNT = ALTCOUNT - 1;                                  1411 04809000
         L     @06,ALTCOUNT                                        1411 04810000
         BCTR  @06,0                                               1411 04811000
         ST    @06,ALTCOUNT                                        1411 04812000
*/*      END-THEN                                                    */ 04813000
*        END;                                                      1412 04814000
*/*    ELSE                                                          */ 04815000
*      ELSE DO;                                                    1413 04816000
*                                                                  1413 04817000
         B     @RC01406                                            1413 04818000
@RF01406 DS    0H                                                  1414 04819000
*/*      IF DEFECT-FLAG IS FOUND TO BE SET DUE TO RECOVERY           */ 04820000
*        IF (RETCODE = DFLAGONP) | (RETCODE = DFLAGONA)            1414 04821000
*/*        THEN                                                      */ 04822000
*          THEN DO;                                                1414 04823000
*                                                                  1414 04824000
         L     @06,RETCODE                                         1414 04825000
         CH    @06,@CH00116                                        1414 04826000
         BE    @RT01414                                            1414 04827000
         CH    @06,@CH00119                                        1414 04828000
         BNE   @RF01414                                            1414 04829000
@RT01414 DS    0H                                                  1415 04830000
*/*          ISSUE_BUILD_PACK_MAP                                    */ 04831000
*            PACKDEF = DEFECTIV;                                   1416 04832000
         OI    PACKDEF,B'10000000'                                 1416 04833000
*            PACKCHEK = NODEFECT;                                  1417 04834000
         NI    PACKCHEK,B'01111111'                                1417 04835000
*            PACKRCVR = RCVRYES;                                   1418 04836000
         NI    PACKRCVR,B'01111111'                                1418 04837000
*            IF TRACKTYP = PRITRACK                                1419 04838000
*              THEN DO;    PACKTRK = PRITRACK; END;                1419 04839000
         TM    TRACKTYP,B'10000000'                                1419 04840000
         BNO   @RF01419                                            1419 04841000
         OI    PACKTRK,B'10000000'                                 1421 04842000
*              ELSE DO;    PACKTRK = ALTTRACK; END;                1423 04843000
         B     @RC01419                                            1423 04844000
@RF01419 DS    0H                                                  1424 04845000
         NI    PACKTRK,B'01111111'                                 1424 04846000
*            PACKTRAK = CTRADDR;                                   1426 04847000
@RC01419 L     @06,CTRADDR                                         1426 04848000
         ST    @06,PACKTRAK                                        1426 04849000
*            PACKASC = CTRADDR;                                    1427 04850000
         ST    @06,PACKASC                                         1427 04851000
*            CALL BILDPACK;                                        1428 04852000
         BAL   @14,BILDPACK                                        1428 04853000
*/*          DECREMENT COUNT OF AVAILABLE ALTERNATE TRACKS           */ 04854000
*            ALTCOUNT = ALTCOUNT - 1;                              1429 04855000
         L     @06,ALTCOUNT                                        1429 04856000
         BCTR  @06,0                                               1429 04857000
         ST    @06,ALTCOUNT                                        1429 04858000
*/*          END-THEN                                                */ 04859000
*            END;                                                  1430 04860000
*/*        ELSE INCREMENT NUMBER OF AVAILABLE ALTERNATE TRACKS       */ 04861000
*/*         FOUND (AVAILCNT)                                         */ 04862000
*          ELSE DO;    AVAILCNT = AVAILCNT + 1; END;               1431 04863000
         B     @RC01414                                            1431 04864000
@RF01414 DS    0H                                                  1432 04865000
         LA    @06,1                                               1432 04866000
         AL    @06,AVAILCNT                                        1432 04867000
         ST    @06,AVAILCNT                                        1432 04868000
*/*      END-ELSE                                                    */ 04869000
*        END;                                                      1434 04870000
*/*  END-SUB-PROCEDURE DISSOCIATE_TRACK                              */ 04871000
*    END DISTRACK;                                                 1435 04872000
*                                                                  1435 04873000
@EL00014 DS    0H                                                  1435 04874000
@EF00014 DS    0H                                                  1435 04875000
@ER00014 LM    @14,@12,@SA00014                                    1435 04876000
         BR    @14                                                 1435 04877000
         EJECT                                                          04878000
*/*****  START OF SPECIFICATIONS  ************************************/ 04879000
*/*                                                                  */ 04880000
*/*  SUB-PROCEDURE NAME:  CHTRACK                                    */ 04881000
*/*                                                                  */ 04882000
*/*  DESCRIPTIVE NAME:  ISSUE CHECK TRACK SURFACE                    */ 04883000
*/*                                                                  */ 04884000
*/*  FUNCTION:                                                       */ 04885000
*/*                                                                  */ 04886000
*/*    THIS SUB-PROCEDURE WILL EFFECT THE INVOCATION OF THE          */ 04887000
*/*    TRACK SURFACE CHECKING FUNCTION. ALL THE CONDITION CODE       */ 04888000
*/*    PROCESSING AFTER THE INVOCATION IS HANDLED BY THIS            */ 04889000
*/*    SUB-PROCEDURE. THE STATUS OF THE TRACK IS THEN MADE           */ 04890000
*/*    AVAILABLE TO THE MAIN PROCEDURE.                              */ 04891000
*/*                                                                  */ 04892000
*/*****  END OF SPECIFICATIONS  **************************************/ 04893000
*                                                                  1436 04894000
*                                                                  1436 04895000
*/*  SUB-PROCEDURE ISSUE_CHECK_TRACK_SURFACE                         */ 04896000
*    CHTRACK:                                                      1436 04897000
*      PROCEDURE;                                                  1436 04898000
CHTRACK  STM   @14,@12,@SA00015                                    1436 04899000
*    OLDERID2 = NEWERID2;                                          1437 04900000
         L     @06,@PC00001                                        1437 04901000
         L     @15,GDTTR2(,@06)                                    1437 04902000
         MVC   @TS00001(95),NEWERID2(@15)                          1437 04903000
         MVC   OLDERID2(95,@15),@TS00001                           1437 04904000
*    NEWID2 =  'INCH';                                             1438 04905000
         MVC   NEWID2(4,@15),@CC00871                              1438 04906000
*/*  CHECK_TRACK_SURFACE                                             */ 04907000
*    CALL ICKTA01                                                  1439 04908000
*         (GDTTBL                                                  1439 04909000
*         ,VOLIB                                                   1439 04910000
*         ,CTRADDR                                                 1439 04911000
*         ,CHECKVAL                                                1439 04912000
*         ,RETCODE);                                               1439 04913000
         ST    @06,@AL00001                                        1439 04914000
         LA    @06,VOLIB                                           1439 04915000
         ST    @06,@AL00001+4                                      1439 04916000
         LA    @06,CTRADDR                                         1439 04917000
         ST    @06,@AL00001+8                                      1439 04918000
         L     @06,@PC00001+4                                      1439 04919000
         L     @06,FDTPTR+12(,@06)                                 1439 04920000
         ST    @06,@AL00001+12                                     1439 04921000
         LA    @06,RETCODE                                         1439 04922000
         ST    @06,@AL00001+16                                     1439 04923000
         L     @15,@CV00872                                        1439 04924000
         LA    @01,@AL00001                                        1439 04925000
         BALR  @14,@15                                             1439 04926000
*/*  IF SURFACE CHECKING FUNCTION FAILS                              */ 04927000
*    IF RETCODE = TSCFAILS                                         1440 04928000
*/*    THEN                                                          */ 04929000
*      THEN DO;                                                    1440 04930000
*                                                                  1440 04931000
         LA    @06,2                                               1440 04932000
         C     @06,RETCODE                                         1440 04933000
         BNE   @RF01440                                            1440 04934000
*/*      ISSUE WARNING MESSAGE (MSGCHECK) (UPRINT)                   */ 04935000
*        DARGSENT = MSGCHECK;                                      1442 04936000
         L     @15,DDSTRU                                          1442 04937000
         MVI   DARGSENT(@15),X'0F'                                 1442 04938000
*        DARGCNT = 2;                                              1443 04939000
         STH   @06,DARGCNT(,@15)                                   1443 04940000
*        DARGINS (1) = 1;                                          1444 04941000
         MVC   DARGINS(2,@15),@CH00165                             1444 04942000
*        DARGINL (1) = LENGTH (CTRADDRC);                          1445 04943000
         STH   @06,DARGINL(,@15)                                   1445 04944000
*        DARGDTM (1) = ADDR (CTRADDRC);                            1446 04945000
         LA    @14,CTRADDRC                                        1446 04946000
         ST    @14,DARGDTM(,@15)                                   1446 04947000
*        DARGINS (2) = 2;                                          1447 04948000
         STH   @06,DARGINS+8(,@15)                                 1447 04949000
*        DARGINL (2) = LENGTH (CTRADDRT);                          1448 04950000
         STH   @06,DARGINL+8(,@15)                                 1448 04951000
*        DARGDTM (2) = ADDR (CTRADDRT);                            1449 04952000
         LA    @06,CTRADDRT                                        1449 04953000
         ST    @06,DARGDTM+8(,@15)                                 1449 04954000
*        CALL ICKTPPR0 (GDTTBL                                     1450 04955000
*               ,PRTFILE                                           1450 04956000
*               ,DDSTRU);                                          1450 04957000
         L     @06,@PC00001                                        1450 04958000
         ST    @06,@AL00001                                        1450 04959000
         LA    @15,@CF00094                                        1450 04960000
         ST    @15,@AL00001+4                                      1450 04961000
         LA    @15,DDSTRU                                          1450 04962000
         ST    @15,@AL00001+8                                      1450 04963000
         MVI   @AL00001+8,X'80'                                    1450 04964000
         L     @15,GDTPRT(,@06)                                    1450 04965000
         LA    @01,@AL00001                                        1450 04966000
         BALR  @14,@15                                             1450 04967000
*/*      INDICATE MINOR ERROR (LASTCOND = 4)                         */ 04968000
*        LASTCOND = MAX(LASTCC04,LASTCOND);                        1451 04969000
         L     @06,@PC00001+8                                      1451 04970000
         LH    @15,LASTCOND(,@06)                                  1451 04971000
         LA    @14,4                                               1451 04972000
         CR    @15,@14                                             1451 04973000
         BNL   *+6                                                      04974000
         LR    @15,@14                                             1451 04975000
         STH   @15,LASTCOND(,@06)                                  1451 04976000
*/*      INDICATE THE TRACK CHECKS OUT DEFECTIVE                     */ 04977000
*        TRSTATUS = TSCBAD;                                        1452 04978000
         NI    TRSTATUS,B'01111111'                                1452 04979000
*/*      END-THEN                                                    */ 04980000
*        END;                                                      1453 04981000
*/*    ELSE                                                          */ 04982000
*      ELSE DO;                                                    1454 04983000
*                                                                  1454 04984000
         B     @RC01440                                            1454 04985000
@RF01440 DS    0H                                                  1455 04986000
*/*      IF UNABLE TO OBTAIN STORAGE FOR BUFFER                      */ 04987000
*        IF RETCODE = TSCNOSTO                                     1455 04988000
*/*        THEN INDICATE SEVERE ERROR                                */ 04989000
*          THEN DO;    LASTCOND = LASTCC12; END;                   1455 04990000
         CLC   RETCODE(4),@CF00136                                 1455 04991000
         BNE   @RF01455                                            1455 04992000
         L     @06,@PC00001+8                                      1457 04993000
         MVC   LASTCOND(2,@06),@CH00265                            1457 04994000
*/*      IF TRACK CHECKS OUT GOOD                                    */ 04995000
*        IF RETCODE = TRACKOK                                      1459 04996000
*/*        THEN SAVE THE TRACK STATUS                                */ 04997000
*          THEN DO;    TRSTATUS = TSCGOOD; END;                    1459 04998000
@RF01455 L     @06,RETCODE                                         1459 04999000
         LTR   @06,@06                                             1459 05000000
         BNZ   @RF01459                                            1459 05001000
         OI    TRSTATUS,B'10000000'                                1461 05002000
*/*      IF TRACK CHECKS OUT DEFECTIVE                               */ 05003000
*        IF RETCODE = TRACKDEF                                     1463 05004000
*/*        THEN SAVE THE TRACK STATUS                                */ 05005000
*          THEN DO;    TRSTATUS = TSCBAD; END;                     1463 05006000
@RF01459 CLC   RETCODE(4),@CF00165                                 1463 05007000
         BNE   @RF01463                                            1463 05008000
         NI    TRSTATUS,B'01111111'                                1465 05009000
*/*      END-ELSE                                                    */ 05010000
*        END;                                                      1467 05011000
@RF01463 DS    0H                                                  1468 05012000
*/*  WRITE STANDARD-LENGTH RECORD-ZERO (UDEVOP)                      */ 05013000
*    CALL ICKDVOP0 (GDTTBL                                         1468 05014000
*           ,VOLIB                                                 1468 05015000
*           ,ACTWRZS                                               1468 05016000
*           ,CTRADDR                                               1468 05017000
*           ,RECNUM                                                1468 05018000
*           ,POOLID                                                1468 05019000
*           ,ADDR (CTRADDR)                                        1468 05020000
*           ,LENGTH (CTRADDR)                                      1468 05021000
*           ,RETCODE);                                             1468 05022000
@RC01440 L     @06,@PC00001                                        1468 05023000
         ST    @06,@AL00001                                        1468 05024000
         LA    @15,VOLIB                                           1468 05025000
         ST    @15,@AL00001+4                                      1468 05026000
         LA    @15,@CF00161                                        1468 05027000
         ST    @15,@AL00001+8                                      1468 05028000
         LA    @15,CTRADDR                                         1468 05029000
         ST    @15,@AL00001+12                                     1468 05030000
         LA    @15,RECNUM                                          1468 05031000
         ST    @15,@AL00001+16                                     1468 05032000
         LA    @15,POOLID                                          1468 05033000
         ST    @15,@AL00001+20                                     1468 05034000
         LA    @15,CTRADDR                                         1468 05035000
         ST    @15,@AFTEMPS+8                                      1468 05036000
         LA    @15,@AFTEMPS+8                                      1468 05037000
         ST    @15,@AL00001+24                                     1468 05038000
         LA    @15,@CF00044                                        1468 05039000
         ST    @15,@AL00001+28                                     1468 05040000
         LA    @15,RETCODE                                         1468 05041000
         ST    @15,@AL00001+32                                     1468 05042000
         L     @15,GDTDOP(,@06)                                    1468 05043000
         LA    @01,@AL00001                                        1468 05044000
         BALR  @14,@15                                             1468 05045000
*/*  IF DEFECT-FLAG SET DUE TO RECOVERY                              */ 05046000
*    IF RETCODE = DFLAGONA | RETCODE = DFLAGONP                    1469 05047000
*/*    THEN INDICATE THAT THE TRACK CHECKS OUT DEFECTIVE ANYWAY      */ 05048000
*      THEN DO;    TRSTATUS = TSCBAD; END;                         1469 05049000
         L     @06,RETCODE                                         1469 05050000
         CH    @06,@CH00119                                        1469 05051000
         BE    @RT01469                                            1469 05052000
         CH    @06,@CH00116                                        1469 05053000
         BNE   @RF01469                                            1469 05054000
@RT01469 DS    0H                                                  1470 05055000
         NI    TRSTATUS,B'01111111'                                1471 05056000
*/*    ELSE                                                          */ 05057000
*      ELSE DO;                                                    1473 05058000
*                                                                  1473 05059000
         B     @RC01469                                            1473 05060000
@RF01469 DS    0H                                                  1474 05061000
*/*      IF UNABLE TO WRITE THE RECORD 0                             */ 05062000
*        IF RETCODE = CPFAILS                                      1474 05063000
*/*        THEN                                                      */ 05064000
*          THEN DO;                                                1474 05065000
*                                                                  1474 05066000
         CLC   RETCODE(4),@CF00044                                 1474 05067000
         BNE   @RF01474                                            1474 05068000
*/*          COUNT_UNRECOVERABLE_TRACKS                              */ 05069000
*            UNTRACK = CTRADDR;                                    1476 05070000
         MVC   UNTRACK(4),CTRADDR                                  1476 05071000
*            IF TRACKTYP = PRITRACK                                1477 05072000
*              THEN DO;    UNTRTYPE = PRITRACK; END;               1477 05073000
         TM    TRACKTYP,B'10000000'                                1477 05074000
         BNO   @RF01477                                            1477 05075000
         OI    UNTRTYPE,B'10000000'                                1479 05076000
*              ELSE DO;    UNTRTYPE = ALTTRACK; END;               1481 05077000
         B     @RC01477                                            1481 05078000
@RF01477 DS    0H                                                  1482 05079000
         NI    UNTRTYPE,B'01111111'                                1482 05080000
*            CALL COUNTRKS;                                        1484 05081000
@RC01477 BAL   @14,COUNTRKS                                        1484 05082000
*/*          IF TRACK IS AN ALTERNATE TRACK                          */ 05083000
*            IF TRACKTYP = ALTTRACK                                1485 05084000
*/*            THEN DECREMENT COUNT OF AVAILABLE ALTERNATE TRACKS    */ 05085000
*              THEN DO;    ALTCOUNT = ALTCOUNT - 1; END;           1485 05086000
         TM    TRACKTYP,B'10000000'                                1485 05087000
         BNZ   @RF01485                                            1485 05088000
         L     @06,ALTCOUNT                                        1487 05089000
         BCTR  @06,0                                               1487 05090000
         ST    @06,ALTCOUNT                                        1487 05091000
*/*          END-THEN                                                */ 05092000
*            END;                                                  1489 05093000
*/*      END-ELSE                                                    */ 05094000
*        END;                                                      1490 05095000
*                                                                  1490 05096000
*                                                                  1490 05097000
*/*  END-SUB-PROCEDURE ISSUE_CHECK_TRACK_SURFACE                     */ 05098000
*    END CHTRACK;                                                  1491 05099000
*                                                                  1491 05100000
*                                                                  1491 05101000
@EL00015 DS    0H                                                  1491 05102000
@EF00015 DS    0H                                                  1491 05103000
@ER00015 LM    @14,@12,@SA00015                                    1491 05104000
         BR    @14                                                 1491 05105000
         EJECT                                                          05106000
*/*****  START OF SPECIFICATIONS  ************************************/ 05107000
*/*                                                                  */ 05108000
*/*  SUB-PROCEDURE NAME:  REATRACK                                   */ 05109000
*/*                                                                  */ 05110000
*/*  DESCRIPTIVE NAME:  ISSUE RECLAIM ALTERNATE TRACK                */ 05111000
*/*                                                                  */ 05112000
*/*  FUNCTION:                                                       */ 05113000
*/*                                                                  */ 05114000
*/*    THIS SUB-PROCEDURE INVOKES THE ELEMENTARY FUNCTION WHICH      */ 05115000
*/*    RECLAIMS AN ALTERNATE TRACK WHICH WAS FOUND TO BE WITHOUT     */ 05116000
*/*    DEFECT. THE CONDITION CODE PROCESSING AFTER THE INVOCATION    */ 05117000
*/*    IS ALSO HANDLED IN THIS SUB-PROCEDURE. APPROPRIATE MESSAGES   */ 05118000
*/*    ARE WRITTEN TO INDICATE THE RESULT OF THE RECLAMATION ATTEMPT.*/ 05119000
*/*                                                                  */ 05120000
*/*****  END OF SPECIFICATIONS  **************************************/ 05121000
*                                                                  1492 05122000
*                                                                  1492 05123000
*/*  SUB-PROCEDURE ISSUE_RECLAIM_ALTERNATE_TRACK                     */ 05124000
*    REATRACK:                                                     1492 05125000
*      PROCEDURE;                                                  1492 05126000
REATRACK STM   @14,@12,@SA00016                                    1492 05127000
*    OLDERID2 = NEWERID2;                                          1493 05128000
         L     @06,@PC00001                                        1493 05129000
         L     @15,GDTTR2(,@06)                                    1493 05130000
         MVC   @TS00001(95),NEWERID2(@15)                          1493 05131000
         MVC   OLDERID2(95,@15),@TS00001                           1493 05132000
*    NEWID2 =  'INRA';                                             1494 05133000
         MVC   NEWID2(4,@15),@CC00876                              1494 05134000
*/*  RECLAIM_ALTERNATE_TRACK                                         */ 05135000
*    CALL ICKRT01                                                  1495 05136000
*         (GDTTBL                                                  1495 05137000
*         ,VOLIB                                                   1495 05138000
*         ,CTRADDR                                                 1495 05139000
*         ,ALTCOUNT                                                1495 05140000
*         ,ALTPTR                                                  1495 05141000
*         ,RETCODE);                                               1495 05142000
         ST    @06,@AL00001                                        1495 05143000
         LA    @06,VOLIB                                           1495 05144000
         ST    @06,@AL00001+4                                      1495 05145000
         LA    @06,CTRADDR                                         1495 05146000
         ST    @06,@AL00001+8                                      1495 05147000
         LA    @06,ALTCOUNT                                        1495 05148000
         ST    @06,@AL00001+12                                     1495 05149000
         LA    @06,ALTPTR                                          1495 05150000
         ST    @06,@AL00001+16                                     1495 05151000
         LA    @06,RETCODE                                         1495 05152000
         ST    @06,@AL00001+20                                     1495 05153000
         L     @15,@CV00877                                        1495 05154000
         LA    @01,@AL00001                                        1495 05155000
         BALR  @14,@15                                             1495 05156000
*/*  IF RECLAMATION FAILS AND THE TRACK WAS FOUND TO BE UNRECOVERABLE*/ 05157000
*    IF RETCODE = REAFAIL                                          1496 05158000
*/*    THEN                                                          */ 05159000
*      THEN DO;                                                    1496 05160000
*                                                                  1496 05161000
         CLC   RETCODE(4),@CF00116                                 1496 05162000
         BNE   @RF01496                                            1496 05163000
*/*      ISSUE_BUILD_PACK_MAP (TRACK FLAGGED DEFECTIVE)              */ 05164000
*        PACKDEF  = DEFECTIV;                                      1498 05165000
         OI    PACKDEF,B'10000000'                                 1498 05166000
*        PACKCHEK = NODEFECT;                                      1499 05167000
         NI    PACKCHEK,B'01111111'                                1499 05168000
*        PACKRCVR = RCVRYES;                                       1500 05169000
         NI    PACKRCVR,B'01111111'                                1500 05170000
*        PACKTRK  = ALTTRACK;                                      1501 05171000
         NI    PACKTRK,B'01111111'                                 1501 05172000
*        PACKTRAK = CTRADDR;                                       1502 05173000
         MVC   PACKTRAK(4),CTRADDR                                 1502 05174000
*        PACKASC = 0;                                              1503 05175000
         SLR   @06,@06                                             1503 05176000
         ST    @06,PACKASC                                         1503 05177000
*        CALL BILDPACK;                                            1504 05178000
         BAL   @14,BILDPACK                                        1504 05179000
*/*      COUNT_UNRECOVERABLE_TRACKS                                  */ 05180000
*        UNTRACK = CTRADDR;                                        1505 05181000
         MVC   UNTRACK(4),CTRADDR                                  1505 05182000
*        UNTRTYPE = ALTTRACK;                                      1506 05183000
         NI    UNTRTYPE,B'01111111'                                1506 05184000
*        CALL COUNTRKS;                                            1507 05185000
         BAL   @14,COUNTRKS                                        1507 05186000
*/*      END-THEN (RECLAMATION FAILS)                                */ 05187000
*        END;                                                      1508 05188000
*/*    ELSE                                                          */ 05189000
*      ELSE DO;                                                    1509 05190000
*                                                                  1509 05191000
         B     @RC01496                                            1509 05192000
@RF01496 DS    0H                                                  1510 05193000
*/*      IF RECLAMATION IS SUCCESSFUL                                */ 05194000
*        IF RETCODE = SUCCESS                                      1510 05195000
*/*        THEN                                                      */ 05196000
*          THEN DO;                                                1510 05197000
*                                                                  1510 05198000
         L     @06,RETCODE                                         1510 05199000
         LTR   @06,@06                                             1510 05200000
         BNZ   @RF01510                                            1510 05201000
*/*          INDICATE THAT ALTERNATE TRACKS ARE AVAILABLE            */ 05202000
*            ALTFLAG = MOREYES;                                    1512 05203000
         NI    ALTFLAG,B'01111111'                                 1512 05204000
*/*          SET ARGUMENT FOR PROPER MESSAGE (MSGRCLA)               */ 05205000
*            DARGSENT = MSGRCLA;                                   1513 05206000
         L     @06,DDSTRU                                          1513 05207000
         MVI   DARGSENT(@06),X'15'                                 1513 05208000
*/*          SAVE INDICATION THAT THE DEFECT-FLAG IS NOT SET         */ 05209000
*            DFLAGC = NODEFECT;                                    1514 05210000
         NI    DFLAGC,B'01111111'                                  1514 05211000
*/*          INCREMENT NUMBER OF AVAILABLE ALTERNATE TRACKS FOUND    */ 05212000
*/*           BY ONE (AVAILCNT)                                      */ 05213000
*            AVAILCNT = AVAILCNT + 1;                              1515 05214000
         LA    @06,1                                               1515 05215000
         AL    @06,AVAILCNT                                        1515 05216000
         ST    @06,AVAILCNT                                        1515 05217000
*/*          END-THEN                                                */ 05218000
*            END;                                                  1516 05219000
*/*        ELSE (RECLAMATION FAILS BUT TRACK RECOVERABLE)            */ 05220000
*          ELSE DO;                                                1517 05221000
*                                                                  1517 05222000
         B     @RC01510                                            1517 05223000
@RF01510 DS    0H                                                  1518 05224000
*/*          SET ARGUMENT FOR PROPER MESSAGE (MSGRCLAF)              */ 05225000
*            DARGSENT = MSGRCLAF;                                  1518 05226000
         L     @06,DDSTRU                                          1518 05227000
         MVI   DARGSENT(@06),X'1F'                                 1518 05228000
*/*          SAVE INDICATION THAT THE DEFECT-FLAG IS SET DUE TO      */ 05229000
*/*           RECOVERY                                               */ 05230000
*            DFLAGC = DEFECTIV;                                    1519 05231000
         OI    DFLAGC,B'10000000'                                  1519 05232000
*/*          ISSUE_BUILD_PACK_MAP                                    */ 05233000
*            PACKDEF = DEFECTIV;                                   1520 05234000
         OI    PACKDEF,B'10000000'                                 1520 05235000
*            PACKCHEK = NODEFECT;                                  1521 05236000
         NI    PACKCHEK,B'01111111'                                1521 05237000
*            PACKRCVR = RCVRYES;                                   1522 05238000
         NI    PACKRCVR,B'01111111'                                1522 05239000
*            PACKTRK = ALTTRACK;                                   1523 05240000
         NI    PACKTRK,B'01111111'                                 1523 05241000
*            PACKTRAK = CTRADDR;                                   1524 05242000
         L     @06,CTRADDR                                         1524 05243000
         ST    @06,PACKTRAK                                        1524 05244000
*            PACKASC = CTRADDR;                                    1525 05245000
         ST    @06,PACKASC                                         1525 05246000
*            CALL BILDPACK;                                        1526 05247000
         BAL   @14,BILDPACK                                        1526 05248000
*/*          INDICATE AN ERROR                                       */ 05249000
*            LASTCOND = MAX(LASTCC08,LASTCOND);                    1527 05250000
         L     @06,@PC00001+8                                      1527 05251000
         LH    @15,LASTCOND(,@06)                                  1527 05252000
         LA    @14,8                                               1527 05253000
         CR    @15,@14                                             1527 05254000
         BNL   *+6                                                      05255000
         LR    @15,@14                                             1527 05256000
         STH   @15,LASTCOND(,@06)                                  1527 05257000
*/*          END-ELSE                                                */ 05258000
*            END;                                                  1528 05259000
*/*      ISSUE MESSAGE (UPRINT)                                      */ 05260000
*        DARGCNT = 2;                                              1529 05261000
@RC01510 LA    @06,2                                               1529 05262000
         L     @15,DDSTRU                                          1529 05263000
         STH   @06,DARGCNT(,@15)                                   1529 05264000
*        DARGINS (1) = 1;                                          1530 05265000
         MVC   DARGINS(2,@15),@CH00165                             1530 05266000
*        DARGINL (1) = LENGTH (CTRADDRC);                          1531 05267000
         STH   @06,DARGINL(,@15)                                   1531 05268000
*        DARGDTM (1) = ADDR (CTRADDRC);                            1532 05269000
         LA    @14,CTRADDRC                                        1532 05270000
         ST    @14,DARGDTM(,@15)                                   1532 05271000
*        DARGINS (2) = 2;                                          1533 05272000
         STH   @06,DARGINS+8(,@15)                                 1533 05273000
*        DARGINL (2) = LENGTH (CTRADDRT);                          1534 05274000
         STH   @06,DARGINL+8(,@15)                                 1534 05275000
*        DARGDTM (2) = ADDR (CTRADDRT);                            1535 05276000
         LA    @06,CTRADDRT                                        1535 05277000
         ST    @06,DARGDTM+8(,@15)                                 1535 05278000
*        CALL ICKTPPR0 (GDTTBL                                     1536 05279000
*               ,PRTFILE                                           1536 05280000
*               ,DDSTRU);                                          1536 05281000
         L     @06,@PC00001                                        1536 05282000
         ST    @06,@AL00001                                        1536 05283000
         LA    @15,@CF00094                                        1536 05284000
         ST    @15,@AL00001+4                                      1536 05285000
         LA    @15,DDSTRU                                          1536 05286000
         ST    @15,@AL00001+8                                      1536 05287000
         MVI   @AL00001+8,X'80'                                    1536 05288000
         L     @15,GDTPRT(,@06)                                    1536 05289000
         LA    @01,@AL00001                                        1536 05290000
         BALR  @14,@15                                             1536 05291000
*/*      END-ELSE                                                    */ 05292000
*        END;                                                      1537 05293000
*/*  END-SUB-PROCEDURE ISSUE_RECLAIM_ALTERNATE_TRACK                 */ 05294000
*    END REATRACK;                                                 1538 05295000
*                                                                  1538 05296000
@EL00016 DS    0H                                                  1538 05297000
@EF00016 DS    0H                                                  1538 05298000
@ER00016 LM    @14,@12,@SA00016                                    1538 05299000
         BR    @14                                                 1538 05300000
         EJECT                                                          05301000
*/*****  START OF SPECIFICATIONS  ************************************/ 05302000
*/*                                                                  */ 05303000
*/*  SUB-PROCEDURE NAME:  WRIHARZD                                   */ 05304000
*/*                                                                  */ 05305000
*/*  DESCRIPTIVE NAME:  ISSUE MARK TRACK DEFECTIVE                   */ 05306000
*/*                                                                  */ 05307000
*/*  FUNCTION:                                                       */ 05308000
*/*                                                                  */ 05309000
*/*    THIS SUB-PROCEDURE WILL MARK THE CURRENT TRACK THAT IS BEING  */ 05310000
*/*    PROCESSED, DEFECTIVE BY SETTING THE DEFECT-FLAG IN THE        */ 05311000
*/*    HOME-ADDRESS. IN ADDITION IT WILL ALSO WRITE THE STANDARD-    */ 05312000
*/*    LENGTH RECORD-ZERO AND CREATE THE PROPER PACK MAP ENTRY.      */ 05313000
*/*                                                                  */ 05314000
*/*****  END OF SPECIFICATIONS  **************************************/ 05315000
*                                                                  1539 05316000
*                                                                  1539 05317000
*/*  SUB-PROCEDURE ISSUE_MARK_TRACK_DEFECTIVE                        */ 05318000
*    WRIHARZD:                                                     1539 05319000
*      PROCEDURE;                                                  1539 05320000
WRIHARZD STM   @14,@12,@SA00017                                    1539 05321000
*    OLDERID2 = NEWERID2;                                          1540 05322000
         L     @06,@PC00001                                        1540 05323000
         L     @06,GDTTR2(,@06)                                    1540 05324000
         MVC   @TS00001(95),NEWERID2(@06)                          1540 05325000
         MVC   OLDERID2(95,@06),@TS00001                           1540 05326000
*    NEWID2 = 'INWD';                                              1541 05327000
         MVC   NEWID2(4,@06),@CC00881                              1541 05328000
*/*  IF TRACK IS PRIMARY                                             */ 05329000
*    IF TRACKTYP = PRITRACK                                        1542 05330000
*/*    THEN SET ACTION KEY TO WRITE A HOME-ADDRESS WITH THE          */ 05331000
*/*     DEFECT-FLAG SET ON A PRIMARY TRACK                           */ 05332000
*      THEN DO;    HAACTION = ACTWPHAD; END;                       1542 05333000
         TM    TRACKTYP,B'10000000'                                1542 05334000
         BNO   @RF01542                                            1542 05335000
         MVC   HAACTION(4),@CF00136                                1544 05336000
*/*    ELSE SET ACTION KEY TO WRITE A HOME-ADDRESS WITH THE          */ 05337000
*/*     DEFECT-FLAG SET ON AN ALTERNATE TRACK                        */ 05338000
*      ELSE DO;    HAACTION = ACTWAHAD; END;                       1546 05339000
         B     @RC01542                                            1546 05340000
@RF01542 DS    0H                                                  1547 05341000
         MVC   HAACTION(4),@CF00255                                1547 05342000
*/*  ISSUE CALL TO UDEVOP FOR THE PROPER ACTION                      */ 05343000
*    CALL ICKDVOP0 (GDTTBL                                         1549 05344000
*           ,VOLIB                                                 1549 05345000
*           ,HAACTION                                              1549 05346000
*           ,CTRADDR                                               1549 05347000
*           ,RECNUM                                                1549 05348000
*           ,POOLID                                                1549 05349000
*           ,DATAPTR                                               1549 05350000
*           ,DATALEN                                               1549 05351000
*           ,RETCODE);                                             1549 05352000
@RC01542 L     @06,@PC00001                                        1549 05353000
         ST    @06,@AL00001                                        1549 05354000
         LA    @15,VOLIB                                           1549 05355000
         ST    @15,@AL00001+4                                      1549 05356000
         LA    @15,HAACTION                                        1549 05357000
         ST    @15,@AL00001+8                                      1549 05358000
         LA    @15,CTRADDR                                         1549 05359000
         ST    @15,@AL00001+12                                     1549 05360000
         LA    @15,RECNUM                                          1549 05361000
         ST    @15,@AL00001+16                                     1549 05362000
         LA    @15,POOLID                                          1549 05363000
         ST    @15,@AL00001+20                                     1549 05364000
         LA    @15,DATAPTR                                         1549 05365000
         ST    @15,@AL00001+24                                     1549 05366000
         LA    @15,DATALEN                                         1549 05367000
         ST    @15,@AL00001+28                                     1549 05368000
         LA    @15,RETCODE                                         1549 05369000
         ST    @15,@AL00001+32                                     1549 05370000
         L     @15,GDTDOP(,@06)                                    1549 05371000
         LA    @01,@AL00001                                        1549 05372000
         BALR  @14,@15                                             1549 05373000
*/*  IF WRITE OPERATION FAILS                                        */ 05374000
*    IF RETCODE = CPFAILS                                          1550 05375000
*/*    THEN                                                          */ 05376000
*      THEN DO;                                                    1550 05377000
*                                                                  1550 05378000
         CLC   RETCODE(4),@CF00044                                 1550 05379000
         BNE   @RF01550                                            1550 05380000
*/*      COUNT_UNRECOVERABLE_TRACKS                                  */ 05381000
*        IF TRACKTYP = PRITRACK                                    1552 05382000
*          THEN DO;    UNTRTYPE = PRITRACK; END;                   1552 05383000
         TM    TRACKTYP,B'10000000'                                1552 05384000
         BNO   @RF01552                                            1552 05385000
         OI    UNTRTYPE,B'10000000'                                1554 05386000
*          ELSE DO;    UNTRTYPE = ALTTRACK; END;                   1556 05387000
         B     @RC01552                                            1556 05388000
@RF01552 DS    0H                                                  1557 05389000
         NI    UNTRTYPE,B'01111111'                                1557 05390000
*        UNTRACK = CTRADDR;                                        1559 05391000
@RC01552 MVC   UNTRACK(4),CTRADDR                                  1559 05392000
*        CALL COUNTRKS;                                            1560 05393000
         BAL   @14,COUNTRKS                                        1560 05394000
*/*      END-THEN (WRITE OPERATION FAILS)                            */ 05395000
*        END;                                                      1561 05396000
*/*    ELSE (WRITE OPERATION SUCCESSFUL)                             */ 05397000
*      ELSE DO;                                                    1562 05398000
*                                                                  1562 05399000
         B     @RC01550                                            1562 05400000
@RF01550 DS    0H                                                  1563 05401000
*/*      IF TRACK IS AN ALTERNATE TRACK                              */ 05402000
*        IF TRACKTYP = ALTTRACK                                    1563 05403000
*/*        THEN                                                      */ 05404000
*          THEN DO;                                                1563 05405000
*                                                                  1563 05406000
         TM    TRACKTYP,B'10000000'                                1563 05407000
         BNZ   @RF01563                                            1563 05408000
*/*          INDICATE ALTERNATE TRACK FOR PACK MAP ENTRY             */ 05409000
*            PACKTRK = ALTTRACK;                                   1565 05410000
         NI    PACKTRK,B'01111111'                                 1565 05411000
*/*          END-THEN                                                */ 05412000
*            END;                                                  1566 05413000
*/*        ELSE INDICATE PRIMARY TRACK FOR PACK MAP ENTRY            */ 05414000
*          ELSE DO;    PACKTRK = PRITRACK; END;                    1567 05415000
         B     @RC01563                                            1567 05416000
@RF01563 DS    0H                                                  1568 05417000
         OI    PACKTRK,B'10000000'                                 1568 05418000
*/*      ISSUE_BUILD_PACK_MAP                                        */ 05419000
*        PACKDEF = DEFECTIV;                                       1570 05420000
@RC01563 OI    PACKDEF,B'10000000'                                 1570 05421000
*        PACKCHEK = NODEFECT;                                      1571 05422000
         NI    PACKCHEK,B'01111111'                                1571 05423000
*        PACKRCVR = RCVRYES;                                       1572 05424000
         NI    PACKRCVR,B'01111111'                                1572 05425000
*        PACKTRAK = CTRADDR;                                       1573 05426000
         L     @06,CTRADDR                                         1573 05427000
         ST    @06,PACKTRAK                                        1573 05428000
*        PACKASC = CTRADDR;                                        1574 05429000
         ST    @06,PACKASC                                         1574 05430000
*        CALL BILDPACK;                                            1575 05431000
         BAL   @14,BILDPACK                                        1575 05432000
*/*      WRITE THE STANDARD-LENGTH RECORD-ZERO (UDEVOP)              */ 05433000
*        CALL ICKDVOP0 (GDTTBL                                     1576 05434000
*               ,VOLIB                                             1576 05435000
*               ,ACTWRZS                                           1576 05436000
*               ,CTRADDR                                           1576 05437000
*               ,RECNUM                                            1576 05438000
*               ,POOLID                                            1576 05439000
*               ,ADDR(CTRADDR)                                     1576 05440000
*               ,LENGTH(CTRADDR)                                   1576 05441000
*               ,RETCODE);                                         1576 05442000
         L     @06,@PC00001                                        1576 05443000
         ST    @06,@AL00001                                        1576 05444000
         LA    @15,VOLIB                                           1576 05445000
         ST    @15,@AL00001+4                                      1576 05446000
         LA    @15,@CF00161                                        1576 05447000
         ST    @15,@AL00001+8                                      1576 05448000
         LA    @15,CTRADDR                                         1576 05449000
         ST    @15,@AL00001+12                                     1576 05450000
         LA    @15,RECNUM                                          1576 05451000
         ST    @15,@AL00001+16                                     1576 05452000
         LA    @15,POOLID                                          1576 05453000
         ST    @15,@AL00001+20                                     1576 05454000
         LA    @15,CTRADDR                                         1576 05455000
         ST    @15,@AFTEMPS+12                                     1576 05456000
         LA    @15,@AFTEMPS+12                                     1576 05457000
         ST    @15,@AL00001+24                                     1576 05458000
         LA    @15,@CF00044                                        1576 05459000
         ST    @15,@AL00001+28                                     1576 05460000
         LA    @15,RETCODE                                         1576 05461000
         ST    @15,@AL00001+32                                     1576 05462000
         L     @15,GDTDOP(,@06)                                    1576 05463000
         LA    @01,@AL00001                                        1576 05464000
         BALR  @14,@15                                             1576 05465000
*/*      IF WRITE OPERATION FAILS                                    */ 05466000
*        IF RETCODE = CPFAILS                                      1577 05467000
*/*        THEN                                                      */ 05468000
*          THEN DO;                                                1577 05469000
*                                                                  1577 05470000
         CLC   RETCODE(4),@CF00044                                 1577 05471000
         BNE   @RF01577                                            1577 05472000
*/*          COUNT_UNRECOVERABLE_TRACKS                              */ 05473000
*            UNTRACK = CTRADDR;                                    1579 05474000
         MVC   UNTRACK(4),CTRADDR                                  1579 05475000
*            IF TRACKTYP = PRITRACK                                1580 05476000
*              THEN DO;    UNTRTYPE = PRITRACK; END;               1580 05477000
         TM    TRACKTYP,B'10000000'                                1580 05478000
         BNO   @RF01580                                            1580 05479000
         OI    UNTRTYPE,B'10000000'                                1582 05480000
*              ELSE DO;    UNTRTYPE = ALTTRACK; END;               1584 05481000
         B     @RC01580                                            1584 05482000
@RF01580 DS    0H                                                  1585 05483000
         NI    UNTRTYPE,B'01111111'                                1585 05484000
*            CALL COUNTRKS;                                        1587 05485000
@RC01580 BAL   @14,COUNTRKS                                        1587 05486000
*/*          END-THEN                                                */ 05487000
*            END;                                                  1588 05488000
*/*      END-ELSE (WRITE HOME-ADDRESS SUCCESSFUL)                    */ 05489000
*        END;                                                      1589 05490000
*/*  END-SUB-PROCEDURE ISSUE_MARK_TRACK_DEFECTIVE                    */ 05491000
*    END WRIHARZD;                                                 1590 05492000
*                                                                  1590 05493000
@EL00017 DS    0H                                                  1590 05494000
@EF00017 DS    0H                                                  1590 05495000
@ER00017 LM    @14,@12,@SA00017                                    1590 05496000
         BR    @14                                                 1590 05497000
         EJECT                                                          05498000
*/*****  START OF SPECIFICATIONS  ************************************/ 05499000
*/*                                                                  */ 05500000
*/*  SUB-PROCEDURE NAME:  BILDPACK                                   */ 05501000
*/*                                                                  */ 05502000
*/*  DESCRIPTIVE NAME:  ISSUE BUILD PACK MAP                         */ 05503000
*/*                                                                  */ 05504000
*/*  FUNCTION:                                                       */ 05505000
*/*                                                                  */ 05506000
*/*    THIS SUB-PROCEDURE INVOKES THE ELEMENTARY FUNCTION THAT       */ 05507000
*/*    BUILDS A PACK MAP ENTRY.                                      */ 05508000
*/*                                                                  */ 05509000
*/*****  END OF SPECIFICATIONS  **************************************/ 05510000
*                                                                  1591 05511000
*                                                                  1591 05512000
*/*  SUB-PROCEDURE ISSUE_BUILD_PACK_MAP                              */ 05513000
*    BILDPACK:                                                     1591 05514000
*      PROCEDURE;                                                  1591 05515000
BILDPACK STM   @14,@12,@SA00018                                    1591 05516000
*    OLDERID2 = NEWERID2;                                          1592 05517000
         L     @06,@PC00001                                        1592 05518000
         L     @06,GDTTR2(,@06)                                    1592 05519000
         MVC   @TS00001(95),NEWERID2(@06)                          1592 05520000
         MVC   OLDERID2(95,@06),@TS00001                           1592 05521000
*    NEWID2 =  'INBP';                                             1593 05522000
         MVC   NEWID2(4,@06),@CC00885                              1593 05523000
*/*  IF THERE IS NO STORAGE AVAILABLE TO BUILD ANOTHER ENTRY         */ 05524000
*    IF PACKENT = STORNO                                           1594 05525000
*/*    THEN RETURN                                                   */ 05526000
*      THEN DO;    RETURN; END;                                    1594 05527000
         TM    PACKENT,B'10000000'                                 1594 05528000
         BNO   @RF01594                                            1594 05529000
@EL00018 DS    0H                                                  1596 05530000
@EF00018 DS    0H                                                  1596 05531000
@ER00018 LM    @14,@12,@SA00018                                    1596 05532000
         BR    @14                                                 1596 05533000
*/*  BUILD_PACK_MAP                                                  */ 05534000
*    CALL ICKBM01                                                  1598 05535000
*         (GDTTBL                                                  1598 05536000
*         ,VOLIB                                                   1598 05537000
*         ,PACKTRAK                                                1598 05538000
*         ,PACKASC                                                 1598 05539000
*         ,PACKTRK                                                 1598 05540000
*         ,PACKDEF                                                 1598 05541000
*         ,PACKCHEK                                                1598 05542000
*         ,PACKRCVR                                                1598 05543000
*         ,RETCODE);                                               1598 05544000
@RF01594 L     @06,@PC00001                                        1598 05545000
         ST    @06,@AL00001                                        1598 05546000
         LA    @06,VOLIB                                           1598 05547000
         ST    @06,@AL00001+4                                      1598 05548000
         LA    @06,PACKTRAK                                        1598 05549000
         ST    @06,@AL00001+8                                      1598 05550000
         LA    @06,PACKASC                                         1598 05551000
         ST    @06,@AL00001+12                                     1598 05552000
         LA    @06,PACKTRK                                         1598 05553000
         ST    @06,@AL00001+16                                     1598 05554000
         LA    @06,PACKDEF                                         1598 05555000
         ST    @06,@AL00001+20                                     1598 05556000
         LA    @06,PACKCHEK                                        1598 05557000
         ST    @06,@AL00001+24                                     1598 05558000
         LA    @06,PACKRCVR                                        1598 05559000
         ST    @06,@AL00001+28                                     1598 05560000
         LA    @06,RETCODE                                         1598 05561000
         ST    @06,@AL00001+32                                     1598 05562000
         L     @15,@CV00886                                        1598 05563000
         LA    @01,@AL00001                                        1598 05564000
         BALR  @14,@15                                             1598 05565000
*/*  IF STORAGE IS NOT AVAILABLE                                     */ 05566000
*    IF RETCODE = FAILURE                                          1599 05567000
*/*    THEN                                                          */ 05568000
*      THEN DO;                                                    1599 05569000
*                                                                  1599 05570000
         CLC   RETCODE(4),@CF00165                                 1599 05571000
         BNE   @RF01599                                            1599 05572000
*/*      SET FLAG TO INDICATE NO STORAGE IS AVAILABLE                */ 05573000
*        PACKENT = STORNO;                                         1601 05574000
         OI    PACKENT,B'10000000'                                 1601 05575000
*/*      INDICATE AN ERROR (LASTCOND = 8)                            */ 05576000
*        LASTCOND = MAX(LASTCC08,LASTCOND);                        1602 05577000
         L     @06,@PC00001+8                                      1602 05578000
         LH    @15,LASTCOND(,@06)                                  1602 05579000
         LA    @14,8                                               1602 05580000
         CR    @15,@14                                             1602 05581000
         BNL   *+6                                                      05582000
         LR    @15,@14                                             1602 05583000
         STH   @15,LASTCOND(,@06)                                  1602 05584000
*/*      END-THEN                                                    */ 05585000
*        END;                                                      1603 05586000
*/*  END-SUB-PROCEDURE ISSUE_BUILD_PACK_MAP                          */ 05587000
*    END BILDPACK;                                                 1604 05588000
*                                                                  1604 05589000
         B     @EL00018                                            1604 05590000
         EJECT                                                          05591000
*/*****  START OF SPECIFICATIONS  ************************************/ 05592000
*/*                                                                  */ 05593000
*/*  SUB-PROCEDURE NAME:  ASSGNALT                                   */ 05594000
*/*                                                                  */ 05595000
*/*  DESCRIPTIVE NAME:  ISSUE ASSIGN ALTERNATE TRACK                 */ 05596000
*/*                                                                  */ 05597000
*/*  FUNCTION:                                                       */ 05598000
*/*                                                                  */ 05599000
*/*    THIS SUB-PROCEDURE INVOKES THE ELEMENTARY FUNCTION THAT       */ 05600000
*/*    ASSIGNS AN ALTERNATE TRACK FOR A PRIMARY TRACK WHICH HAS      */ 05601000
*/*    BEEN FOUND TO BE DEFECTIVE.                                   */ 05602000
*/*                                                                  */ 05603000
*/*****  END OF SPECIFICATIONS  **************************************/ 05604000
*                                                                  1605 05605000
*                                                                  1605 05606000
*/*  SUB-PROCEDURE ISSUE_ASSIGN_ALTERNATE_TRACK                      */ 05607000
*    ASSGNALT:                                                     1605 05608000
*      PROCEDURE;                                                  1605 05609000
ASSGNALT STM   @14,@12,@SA00019                                    1605 05610000
*    OLDERID2 = NEWERID2;                                          1606 05611000
         L     @06,@PC00001                                        1606 05612000
         L     @06,GDTTR2(,@06)                                    1606 05613000
         MVC   @TS00001(95),NEWERID2(@06)                          1606 05614000
         MVC   OLDERID2(95,@06),@TS00001                           1606 05615000
*    NEWID2 =  'INAA';                                             1607 05616000
         MVC   NEWID2(4,@06),@CC00890                              1607 05617000
*/*  IF NO ALTERNATE TRACKS ARE AVAILABLE                            */ 05618000
*    IF ALTFLAG = MORENO                                           1608 05619000
*/*    THEN RETURN                                                   */ 05620000
*      THEN DO;    RETURN; END;                                    1608 05621000
         TM    ALTFLAG,B'10000000'                                 1608 05622000
         BNO   @RF01608                                            1608 05623000
@EL00019 DS    0H                                                  1610 05624000
@EF00019 DS    0H                                                  1610 05625000
@ER00019 LM    @14,@12,@SA00019                                    1610 05626000
         BR    @14                                                 1610 05627000
*/*  DO-UNTIL ASSIGNMENT IS SUCCESSFUL                               */ 05628000
*    DO UNTIL (RETCODE = SUCCESS);                                 1612 05629000
*                                                                  1612 05630000
@RF01608 DS    0H                                                  1612 05631000
@DL01612 DS    0H                                                  1613 05632000
*/*    ASSIGN_ALTERNATE_TRACK                                        */ 05633000
*      CALL ICKAA01                                                1613 05634000
*           (GDTTBL                                                1613 05635000
*           ,VOLIB                                                 1613 05636000
*           ,CTRADDR                                               1613 05637000
*           ,ALTCOUNT                                              1613 05638000
*           ,ALTPTR                                                1613 05639000
*           ,ALTRACK                                               1613 05640000
*           ,UNTRACK                                               1613 05641000
*           ,RETCODE);                                             1613 05642000
         L     @06,@PC00001                                        1613 05643000
         ST    @06,@AL00001                                        1613 05644000
         LA    @06,VOLIB                                           1613 05645000
         ST    @06,@AL00001+4                                      1613 05646000
         LA    @06,CTRADDR                                         1613 05647000
         ST    @06,@AL00001+8                                      1613 05648000
         LA    @06,ALTCOUNT                                        1613 05649000
         ST    @06,@AL00001+12                                     1613 05650000
         LA    @06,ALTPTR                                          1613 05651000
         ST    @06,@AL00001+16                                     1613 05652000
         LA    @06,ALTRACK                                         1613 05653000
         ST    @06,@AL00001+20                                     1613 05654000
         LA    @06,UNTRACK                                         1613 05655000
         ST    @06,@AL00001+24                                     1613 05656000
         LA    @06,RETCODE                                         1613 05657000
         ST    @06,@AL00001+28                                     1613 05658000
         L     @15,@CV00891                                        1613 05659000
         LA    @01,@AL00001                                        1613 05660000
         BALR  @14,@15                                             1613 05661000
*/*    IF ASSIGNMENT IS SUCCESSFUL                                   */ 05662000
*      IF RETCODE = SUCCESS                                        1614 05663000
*/*      THEN                                                        */ 05664000
*        THEN DO;                                                  1614 05665000
*                                                                  1614 05666000
         L     @06,RETCODE                                         1614 05667000
         LTR   @06,@06                                             1614 05668000
         BNZ   @RF01614                                            1614 05669000
*/*        ISSUE MESSAGE ABOUT THE ASSIGNMENT (MSGALTA) (UPRINT)     */ 05670000
*          DARGSENT = MSGALTA;                                     1616 05671000
         L     @06,DDSTRU                                          1616 05672000
         MVI   DARGSENT(@06),X'11'                                 1616 05673000
*          DARGCNT = 4;                                            1617 05674000
         LA    @15,4                                               1617 05675000
         STH   @15,DARGCNT(,@06)                                   1617 05676000
*          DARGINS (1) = 1;                                        1618 05677000
         MVC   DARGINS(2,@06),@CH00165                             1618 05678000
*          DARGINL (1) = LENGTH (ALTRACKC);                        1619 05679000
         LA    @14,2                                               1619 05680000
         STH   @14,DARGINL(,@06)                                   1619 05681000
*          DARGDTM (1) = ADDR (ALTRACKC);                          1620 05682000
         LA    @05,ALTRACKC                                        1620 05683000
         ST    @05,DARGDTM(,@06)                                   1620 05684000
*          DARGINS (2) = 2;                                        1621 05685000
         STH   @14,DARGINS+8(,@06)                                 1621 05686000
*          DARGINL (2) = LENGTH (ALTRACKT);                        1622 05687000
         STH   @14,DARGINL+8(,@06)                                 1622 05688000
*          DARGDTM (2) = ADDR (ALTRACKT);                          1623 05689000
         LA    @05,ALTRACKT                                        1623 05690000
         ST    @05,DARGDTM+8(,@06)                                 1623 05691000
*          DARGINS (3) = 3;                                        1624 05692000
         MVC   DARGINS+16(2,@06),@CH00136                          1624 05693000
*          DARGINL (3) = LENGTH (CTRADDRC);                        1625 05694000
         STH   @14,DARGINL+16(,@06)                                1625 05695000
*          DARGDTM (3) = ADDR (CTRADDRC);                          1626 05696000
         LA    @05,CTRADDRC                                        1626 05697000
         ST    @05,DARGDTM+16(,@06)                                1626 05698000
*          DARGINS (4) = 4;                                        1627 05699000
         STH   @15,DARGINS+24(,@06)                                1627 05700000
*          DARGINL (4) = LENGTH (CTRADDRT);                        1628 05701000
         STH   @14,DARGINL+24(,@06)                                1628 05702000
*          DARGDTM (4) = ADDR (CTRADDRT);                          1629 05703000
         LA    @15,CTRADDRT                                        1629 05704000
         ST    @15,DARGDTM+24(,@06)                                1629 05705000
*          CALL ICKTPPR0 (GDTTBL                                   1630 05706000
*                 ,PRTFILE                                         1630 05707000
*                 ,DDSTRU);                                        1630 05708000
         L     @06,@PC00001                                        1630 05709000
         ST    @06,@AL00001                                        1630 05710000
         LA    @15,@CF00094                                        1630 05711000
         ST    @15,@AL00001+4                                      1630 05712000
         LA    @15,DDSTRU                                          1630 05713000
         ST    @15,@AL00001+8                                      1630 05714000
         MVI   @AL00001+8,X'80'                                    1630 05715000
         L     @15,GDTPRT(,@06)                                    1630 05716000
         LA    @01,@AL00001                                        1630 05717000
         BALR  @14,@15                                             1630 05718000
*/*        ISSUE_BUILD_PACK_MAP                                      */ 05719000
*          PACKDEF  = DEFECTIV;                                    1631 05720000
         OI    PACKDEF,B'10000000'                                 1631 05721000
*          PACKCHEK = NODEFECT;                                    1632 05722000
         NI    PACKCHEK,B'01111111'                                1632 05723000
*          PACKRCVR = RCVRYES;                                     1633 05724000
         NI    PACKRCVR,B'01111111'                                1633 05725000
*          PACKTRAK = CTRADDR;                                     1634 05726000
         MVC   PACKTRAK(4),CTRADDR                                 1634 05727000
*          PACKTRK = PRITRACK;                                     1635 05728000
         OI    PACKTRK,B'10000000'                                 1635 05729000
*          PACKASC = ALTRACK;                                      1636 05730000
         MVC   PACKASC(4),ALTRACK                                  1636 05731000
*          CALL BILDPACK;                                          1637 05732000
         BAL   @14,BILDPACK                                        1637 05733000
*/*        LEAVE                                                     */ 05734000
*          GOTO ENDLOOP1;                                          1638 05735000
         B     ENDLOOP1                                            1638 05736000
*/*        END-THEN                                                  */ 05737000
*          END;                                                    1639 05738000
*/*      ELSE                                                        */ 05739000
*        ELSE DO;                                                  1640 05740000
*                                                                  1640 05741000
@RF01614 DS    0H                                                  1641 05742000
*/*        IF AN UNRECOVERABLE TRACK HAS BEEN FOUND                  */ 05743000
*          IF RETCODE = UNTRAAFF                                   1641 05744000
*/*          THEN                                                    */ 05745000
*            THEN DO;                                              1641 05746000
*                                                                  1641 05747000
         CLC   RETCODE(4),@CF00044                                 1641 05748000
         BNE   @RF01641                                            1641 05749000
*/*            COUNT_UNRECOVERABLE_TRACKS                            */ 05750000
*              UNTRTYPE = ALTTRACK;                                1643 05751000
         NI    UNTRTYPE,B'01111111'                                1643 05752000
*              CALL COUNTRKS;                                      1644 05753000
         BAL   @14,COUNTRKS                                        1644 05754000
*/*            IF A SEVERE ERROR HAS OCCURRED                        */ 05755000
*              IF LASTCOND >= LASTCC12                             1645 05756000
*/*              THEN LEAVE                                          */ 05757000
*                THEN DO;    GOTO ENDLOOP1; END;                   1645 05758000
         L     @06,@PC00001+8                                      1645 05759000
         LH    @06,LASTCOND(,@06)                                  1645 05760000
         CH    @06,@CH00265                                        1645 05761000
         BL    @RF01645                                            1645 05762000
         B     ENDLOOP1                                            1647 05763000
*/*            END-THEN                                              */ 05764000
*              END;                                                1649 05765000
@RF01645 DS    0H                                                  1650 05766000
*/*        IF THERE ARE NO ALTERNATES LEFT                           */ 05767000
*          IF RETCODE = NOALTS                                     1650 05768000
*/*          THEN                                                    */ 05769000
*            THEN DO;                                              1650 05770000
*                                                                  1650 05771000
@RF01641 CLC   RETCODE(4),@CF00165                                 1650 05772000
         BNE   @RF01650                                            1650 05773000
*/*            ISSUE ERROR MESSAGE (MSGALTB) (UPRINT)                */ 05774000
*              DARGSENT = MSGALTB;                                 1652 05775000
         L     @06,DDSTRU                                          1652 05776000
         MVI   DARGSENT(@06),X'12'                                 1652 05777000
*              CALL ICKTPPR0 (GDTTBL                               1653 05778000
*                     ,PRTFILE                                     1653 05779000
*                     ,DDSTRU);                                    1653 05780000
         L     @06,@PC00001                                        1653 05781000
         ST    @06,@AL00001                                        1653 05782000
         LA    @15,@CF00094                                        1653 05783000
         ST    @15,@AL00001+4                                      1653 05784000
         LA    @15,DDSTRU                                          1653 05785000
         ST    @15,@AL00001+8                                      1653 05786000
         MVI   @AL00001+8,X'80'                                    1653 05787000
         L     @15,GDTPRT(,@06)                                    1653 05788000
         LA    @01,@AL00001                                        1653 05789000
         BALR  @14,@15                                             1653 05790000
*/*            INDICATE AN ERROR (LASTCOND = 8)                      */ 05791000
*              LASTCOND = MAX(LASTCOND,LASTCC08);                  1654 05792000
         L     @06,@PC00001+8                                      1654 05793000
         LH    @15,LASTCOND(,@06)                                  1654 05794000
         LA    @14,8                                               1654 05795000
         CR    @15,@14                                             1654 05796000
         BNL   *+6                                                      05797000
         LR    @15,@14                                             1654 05798000
         STH   @15,LASTCOND(,@06)                                  1654 05799000
*/*            INDICATE NO MORE ALTERNATES ARE AVAILABLE             */ 05800000
*              ALTFLAG = MORENO;                                   1655 05801000
         OI    ALTFLAG,B'10000000'                                 1655 05802000
*/*            LEAVE                                                 */ 05803000
*              GOTO ENDLOOP1;                                      1656 05804000
         B     ENDLOOP1                                            1656 05805000
*/*            END-THEN                                              */ 05806000
*              END;                                                1657 05807000
*/*        IF ASSOCIATION OF THE ALTERNATE TO THE PRIMARY FAILS      */ 05808000
*          IF RETCODE = NOPASSOC                                   1658 05809000
*/*          THEN                                                    */ 05810000
*            THEN DO;                                              1658 05811000
*                                                                  1658 05812000
@RF01650 CLC   RETCODE(4),@CF00116                                 1658 05813000
         BNE   @RF01658                                            1658 05814000
*/*            COUNT_UNRECOVERABLE_TRACKS                            */ 05815000
*              UNTRACK = CTRADDR;                                  1660 05816000
         MVC   UNTRACK(4),CTRADDR                                  1660 05817000
*              UNTRTYPE = PRITRACK;                                1661 05818000
         OI    UNTRTYPE,B'10000000'                                1661 05819000
*              CALL COUNTRKS;                                      1662 05820000
         BAL   @14,COUNTRKS                                        1662 05821000
*/*            LEAVE                                                 */ 05822000
*              GOTO ENDLOOP1;                                      1663 05823000
         B     ENDLOOP1                                            1663 05824000
*/*            END-THEN                                              */ 05825000
*              END;                                                1664 05826000
*/*        IF ASSOCIATION OF THE PRIMARY TO THE ALTERNATE FAILS      */ 05827000
*          IF RETCODE = NOAASSOC                                   1665 05828000
*/*          THEN                                                    */ 05829000
*            THEN DO;                                              1665 05830000
*                                                                  1665 05831000
@RF01658 CLC   RETCODE(4),@CF00136                                 1665 05832000
         BNE   @RF01665                                            1665 05833000
*/*            COUNT_UNRECOVERABLE_TRACKS                            */ 05834000
*              UNTRTYPE = ALTTRACK;                                1667 05835000
         NI    UNTRTYPE,B'01111111'                                1667 05836000
*              CALL COUNTRKS;                                      1668 05837000
         BAL   @14,COUNTRKS                                        1668 05838000
*/*            IF A SEVERE ERROR HAS OCCURRED                        */ 05839000
*              IF LASTCOND >= LASTCC12                             1669 05840000
*/*              THEN LEAVE                                          */ 05841000
*                THEN DO;    GOTO ENDLOOP1; END;                   1669 05842000
         L     @06,@PC00001+8                                      1669 05843000
         LH    @06,LASTCOND(,@06)                                  1669 05844000
         CH    @06,@CH00265                                        1669 05845000
         BL    @RF01669                                            1669 05846000
         B     ENDLOOP1                                            1671 05847000
*/*            END-THEN                                              */ 05848000
*              END;                                                1673 05849000
@RF01669 DS    0H                                                  1674 05850000
*/*      END-ELSE (ASSIGNMENT UNSUCCESSFUL)                          */ 05851000
*        END;                                                      1674 05852000
@RF01665 DS    0H                                                  1675 05853000
*/*  END-UNTIL                                                       */ 05854000
*    END;                                                          1675 05855000
@DE01612 L     @06,RETCODE                                         1675 05856000
         LTR   @06,@06                                             1675 05857000
         BNZ   @DL01612                                            1675 05858000
*/*  END-SUB-PROCEDURE ISSUE_ASSIGN_ALTERNATE_TRACK                  */ 05859000
*    ENDLOOP1:                                                     1676 05860000
*    END ASSGNALT;                                                 1676 05861000
*                                                                  1676 05862000
         B     @EL00019                                            1676 05863000
         EJECT                                                          05864000
*/*****  START OF SPECIFICATIONS  ************************************/ 05865000
*/*                                                                  */ 05866000
*/*  SUB-PROCEDURE NAME:  RASGNALT                                   */ 05867000
*/*                                                                  */ 05868000
*/*  DESCRIPTIVE NAME:  ISSUE RE-ASSIGN ALTERNATE TRACK              */ 05869000
*/*                                                                  */ 05870000
*/*  FUNCTION:                                                       */ 05871000
*/*                                                                  */ 05872000
*/*    THIS SUB-PROCEDURE INVOKES THE ELEMENTARY FUNCTION WHICH      */ 05873000
*/*    RE-ASSIGNS AN ALTERNATE TRACK FOR A SUSPECT PRIMARY TRACK     */ 05874000
*/*    WHEN  IT HAS BEEN ESTABLISHED THAT THE ALTERNATE TRACK        */ 05875000
*/*    THAT IS CURRENTLY ASSIGNED TO THE PRIMARY TRACK IS ITSELF     */ 05876000
*/*    DEFECTIVE.                                                    */ 05877000
*/*                                                                  */ 05878000
*/*****  END OF SPECIFICATIONS  **************************************/ 05879000
*                                                                  1677 05880000
*                                                                  1677 05881000
*/*  SUB-PROCEDURE ISSUE_RE-ASSIGN_ALTERNATE_TRACK                   */ 05882000
*    RASGNALT:                                                     1677 05883000
*      PROCEDURE;                                                  1677 05884000
RASGNALT STM   @14,@12,@SA00020                                    1677 05885000
*    OLDERID2 = NEWERID2;                                          1678 05886000
         L     @06,@PC00001                                        1678 05887000
         L     @06,GDTTR2(,@06)                                    1678 05888000
         MVC   @TS00001(95),NEWERID2(@06)                          1678 05889000
         MVC   OLDERID2(95,@06),@TS00001                           1678 05890000
*    NEWID2 =  'INRS';                                             1679 05891000
         MVC   NEWID2(4,@06),@CC00897                              1679 05892000
*/*  IF NO MORE ALTERNATE TRACKS ARE AVAILABLE                       */ 05893000
*    IF ALTFLAG = MORENO                                           1680 05894000
*/*    THEN RETURN                                                   */ 05895000
*      THEN DO;    RETURN; END;                                    1680 05896000
         TM    ALTFLAG,B'10000000'                                 1680 05897000
         BNO   @RF01680                                            1680 05898000
@EL00020 DS    0H                                                  1682 05899000
@EF00020 DS    0H                                                  1682 05900000
@ER00020 LM    @14,@12,@SA00020                                    1682 05901000
         BR    @14                                                 1682 05902000
*/*  DO-UNTIL RE-ASSIGNMENT IS SUCCESSFUL                            */ 05903000
*    DO UNTIL (RETCODE = SUCCESS);                                 1684 05904000
@RF01680 DS    0H                                                  1684 05905000
@DL01684 DS    0H                                                  1685 05906000
*/*    RE-ASSIGN_ALTERNATE_TRACK                                     */ 05907000
*      CALL ICKRA01                                                1685 05908000
*           (GDTTBL                                                1685 05909000
*           ,VOLIB                                                 1685 05910000
*           ,RZCCHH                                                1685 05911000
*           ,CTRADDR                                               1685 05912000
*           ,ALTCOUNT                                              1685 05913000
*           ,ALTPTR                                                1685 05914000
*           ,ALTRACK                                               1685 05915000
*           ,UNTRACK                                               1685 05916000
*           ,RETCODE);                                             1685 05917000
         L     @06,@PC00001                                        1685 05918000
         ST    @06,@AL00001                                        1685 05919000
         LA    @06,VOLIB                                           1685 05920000
         ST    @06,@AL00001+4                                      1685 05921000
         LA    @06,RZCCHH                                          1685 05922000
         ST    @06,@AL00001+8                                      1685 05923000
         LA    @06,CTRADDR                                         1685 05924000
         ST    @06,@AL00001+12                                     1685 05925000
         LA    @06,ALTCOUNT                                        1685 05926000
         ST    @06,@AL00001+16                                     1685 05927000
         LA    @06,ALTPTR                                          1685 05928000
         ST    @06,@AL00001+20                                     1685 05929000
         LA    @06,ALTRACK                                         1685 05930000
         ST    @06,@AL00001+24                                     1685 05931000
         LA    @06,UNTRACK                                         1685 05932000
         ST    @06,@AL00001+28                                     1685 05933000
         LA    @06,RETCODE                                         1685 05934000
         ST    @06,@AL00001+32                                     1685 05935000
         L     @15,@CV00898                                        1685 05936000
         LA    @01,@AL00001                                        1685 05937000
         BALR  @14,@15                                             1685 05938000
*/*    IF RE-ASSIGNMENT IS SUCCESSFUL                                */ 05939000
*      IF RETCODE = SUCCESS                                        1686 05940000
*/*      THEN                                                        */ 05941000
*        THEN DO;                                                  1686 05942000
*                                                                  1686 05943000
         L     @06,RETCODE                                         1686 05944000
         LTR   @06,@06                                             1686 05945000
         BNZ   @RF01686                                            1686 05946000
*/*        ISSUE MESSAGE ABOUT THE RE-ASSIGNMENT (MSGALTC) (UPRINT)  */ 05947000
*          DARGSENT = MSGALTC;                                     1688 05948000
         L     @06,DDSTRU                                          1688 05949000
         MVI   DARGSENT(@06),X'13'                                 1688 05950000
*          DARGCNT = 4;                                            1689 05951000
         LA    @15,4                                               1689 05952000
         STH   @15,DARGCNT(,@06)                                   1689 05953000
*          DARGINS (1) = 1;                                        1690 05954000
         MVC   DARGINS(2,@06),@CH00165                             1690 05955000
*          DARGINL (1) = LENGTH (ALTRACKC);                        1691 05956000
         LA    @14,2                                               1691 05957000
         STH   @14,DARGINL(,@06)                                   1691 05958000
*          DARGDTM (1) = ADDR (ALTRACKC);                          1692 05959000
         LA    @05,ALTRACKC                                        1692 05960000
         ST    @05,DARGDTM(,@06)                                   1692 05961000
*          DARGINS (2) = 2;                                        1693 05962000
         STH   @14,DARGINS+8(,@06)                                 1693 05963000
*          DARGINL (2) = LENGTH (ALTRACKT);                        1694 05964000
         STH   @14,DARGINL+8(,@06)                                 1694 05965000
*          DARGDTM (2) = ADDR (ALTRACKT);                          1695 05966000
         LA    @05,ALTRACKT                                        1695 05967000
         ST    @05,DARGDTM+8(,@06)                                 1695 05968000
*          DARGINS (3) = 3;                                        1696 05969000
         MVC   DARGINS+16(2,@06),@CH00136                          1696 05970000
*          DARGINL (3) = LENGTH (RZCCHHC);                         1697 05971000
         STH   @14,DARGINL+16(,@06)                                1697 05972000
*          DARGDTM (3) = ADDR (RZCCHHC);                           1698 05973000
         LA    @05,RZCCHHC                                         1698 05974000
         ST    @05,DARGDTM+16(,@06)                                1698 05975000
*          DARGINS (4) = 4;                                        1699 05976000
         STH   @15,DARGINS+24(,@06)                                1699 05977000
*          DARGINL (4) = LENGTH (RZCCHHT);                         1700 05978000
         STH   @14,DARGINL+24(,@06)                                1700 05979000
*          DARGDTM (4) = ADDR (RZCCHHT);                           1701 05980000
         LA    @15,RZCCHHT                                         1701 05981000
         ST    @15,DARGDTM+24(,@06)                                1701 05982000
*          CALL ICKTPPR0 (GDTTBL                                   1702 05983000
*                 ,PRTFILE                                         1702 05984000
*                 ,DDSTRU);                                        1702 05985000
         L     @06,@PC00001                                        1702 05986000
         ST    @06,@AL00001                                        1702 05987000
         LA    @15,@CF00094                                        1702 05988000
         ST    @15,@AL00001+4                                      1702 05989000
         LA    @15,DDSTRU                                          1702 05990000
         ST    @15,@AL00001+8                                      1702 05991000
         MVI   @AL00001+8,X'80'                                    1702 05992000
         L     @15,GDTPRT(,@06)                                    1702 05993000
         LA    @01,@AL00001                                        1702 05994000
         BALR  @14,@15                                             1702 05995000
*/*        ISSUE_BUILD_PACK_MAP (FOR THE PRIMARY TRACK)              */ 05996000
*          PACKDEF  = DEFECTIV;                                    1703 05997000
         OI    PACKDEF,B'10000000'                                 1703 05998000
*          PACKCHEK = NODEFECT;                                    1704 05999000
         NI    PACKCHEK,B'01111111'                                1704 06000000
*          PACKRCVR = RCVRYES;                                     1705 06001000
         NI    PACKRCVR,B'01111111'                                1705 06002000
*          PACKTRAK = RZCCHH;                                      1706 06003000
         MVC   PACKTRAK(4),RZCCHH                                  1706 06004000
*          PACKTRK = PRITRACK;                                     1707 06005000
         OI    PACKTRK,B'10000000'                                 1707 06006000
*          PACKASC = ALTRACK;                                      1708 06007000
         MVC   PACKASC(4),ALTRACK                                  1708 06008000
*          CALL BILDPACK;                                          1709 06009000
         BAL   @14,BILDPACK                                        1709 06010000
*/*        IF THE OLD ALTERNATE WAS FLAGGED DEFECTIVE                */ 06011000
*          IF DFLAGC = DEFECTIV                                    1710 06012000
*/*          THEN                                                    */ 06013000
*            THEN DO;                                              1710 06014000
         TM    DFLAGC,B'10000000'                                  1710 06015000
         BNO   @RF01710                                            1710 06016000
*/*            ISSUE_BUILD_PACK_MAP (FOR THE OLD ALTERNATE TRACK)    */ 06017000
*              PACKDEF = DEFECTIV;                                 1712 06018000
         OI    PACKDEF,B'10000000'                                 1712 06019000
*              PACKCHEK = NODEFECT;                                1713 06020000
         NI    PACKCHEK,B'01111111'                                1713 06021000
*              PACKRCVR = RCVRYES;                                 1714 06022000
         NI    PACKRCVR,B'01111111'                                1714 06023000
*              PACKTRAK = CTRADDR;                                 1715 06024000
         L     @06,CTRADDR                                         1715 06025000
         ST    @06,PACKTRAK                                        1715 06026000
*              PACKTRK = ALTTRACK;                                 1716 06027000
         NI    PACKTRK,B'01111111'                                 1716 06028000
*              PACKASC = CTRADDR;                                  1717 06029000
         ST    @06,PACKASC                                         1717 06030000
*              CALL BILDPACK;                                      1718 06031000
         BAL   @14,BILDPACK                                        1718 06032000
*/*            END-THEN                                              */ 06033000
*              END;                                                1719 06034000
*/*        LEAVE                                                     */ 06035000
*          GOTO ENDLOOP2;                                          1720 06036000
         B     ENDLOOP2                                            1720 06037000
*/*        END-THEN                                                  */ 06038000
*          END;                                                    1721 06039000
*/*      ELSE (RE-ASSIGNMENT UNSUCCESSFUL)                           */ 06040000
*        ELSE DO;                                                  1722 06041000
*                                                                  1722 06042000
@RF01686 DS    0H                                                  1723 06043000
*/*        IF AN UNRECOVERABLE TRACK HAS BEEN FOUND                  */ 06044000
*          IF RETCODE = UNTRRAFF                                   1723 06045000
*/*          THEN                                                    */ 06046000
*            THEN DO;                                              1723 06047000
*                                                                  1723 06048000
         CLC   RETCODE(4),@CF00255                                 1723 06049000
         BNE   @RF01723                                            1723 06050000
*/*            COUNT_UNRECOVERABLE_TRACKS                            */ 06051000
*              UNTRTYPE = ALTTRACK;                                1725 06052000
         NI    UNTRTYPE,B'01111111'                                1725 06053000
*              CALL COUNTRKS;                                      1726 06054000
         BAL   @14,COUNTRKS                                        1726 06055000
*/*            IF A SEVERE ERROR HAS OCCURRED                        */ 06056000
*              IF LASTCOND >= LASTCC12                             1727 06057000
*/*              THEN LEAVE                                          */ 06058000
*                THEN DO;    GOTO ENDLOOP2; END;                   1727 06059000
         L     @06,@PC00001+8                                      1727 06060000
         LH    @06,LASTCOND(,@06)                                  1727 06061000
         CH    @06,@CH00265                                        1727 06062000
         BL    @RF01727                                            1727 06063000
         B     ENDLOOP2                                            1729 06064000
*/*            END-THEN                                              */ 06065000
*              END;                                                1731 06066000
@RF01727 DS    0H                                                  1732 06067000
*/*        IF THERE ARE NO MORE ALTERNATES                           */ 06068000
*          IF RETCODE = NOALTS                                     1732 06069000
*/*          THEN                                                    */ 06070000
*            THEN DO;                                              1732 06071000
*                                                                  1732 06072000
@RF01723 CLC   RETCODE(4),@CF00165                                 1732 06073000
         BNE   @RF01732                                            1732 06074000
*/*            ISSUE ERROR MESSAGE (MSGALTB) (UPRINT)                */ 06075000
*              DARGSENT = MSGALTB;                                 1734 06076000
         L     @06,DDSTRU                                          1734 06077000
         MVI   DARGSENT(@06),X'12'                                 1734 06078000
*              CALL ICKTPPR0 (GDTTBL                               1735 06079000
*                     ,PRTFILE                                     1735 06080000
*                     ,DDSTRU);                                    1735 06081000
         L     @06,@PC00001                                        1735 06082000
         ST    @06,@AL00001                                        1735 06083000
         LA    @15,@CF00094                                        1735 06084000
         ST    @15,@AL00001+4                                      1735 06085000
         LA    @15,DDSTRU                                          1735 06086000
         ST    @15,@AL00001+8                                      1735 06087000
         MVI   @AL00001+8,X'80'                                    1735 06088000
         L     @15,GDTPRT(,@06)                                    1735 06089000
         LA    @01,@AL00001                                        1735 06090000
         BALR  @14,@15                                             1735 06091000
*/*            INDICATE AN ERROR (LASTCOND = 8)                      */ 06092000
*              LASTCOND = MAX(LASTCOND,LASTCC08);                  1736 06093000
         L     @06,@PC00001+8                                      1736 06094000
         LH    @15,LASTCOND(,@06)                                  1736 06095000
         LA    @14,8                                               1736 06096000
         CR    @15,@14                                             1736 06097000
         BNL   *+6                                                      06098000
         LR    @15,@14                                             1736 06099000
         STH   @15,LASTCOND(,@06)                                  1736 06100000
*/*            INDICATE NO MORE ALTERNATES LEFT                      */ 06101000
*              ALTFLAG = MORENO;                                   1737 06102000
         OI    ALTFLAG,B'10000000'                                 1737 06103000
*/*            LEAVE                                                 */ 06104000
*              GOTO ENDLOOP2;                                      1738 06105000
         B     ENDLOOP2                                            1738 06106000
*/*            END-THEN                                              */ 06107000
*              END;                                                1739 06108000
*/*        IF ASSOCIATION OF THE NEW ALTERNATE TO THE PRIMARY FAILS  */ 06109000
*          IF RETCODE = NOPASSOC                                   1740 06110000
*/*          THEN                                                    */ 06111000
*            THEN DO;                                              1740 06112000
*                                                                  1740 06113000
@RF01732 CLC   RETCODE(4),@CF00116                                 1740 06114000
         BNE   @RF01740                                            1740 06115000
*/*            COUNT_UNRECOVERABLE_TRACKS                            */ 06116000
*              UNTRACK = CTRADDR;                                  1742 06117000
         MVC   UNTRACK(4),CTRADDR                                  1742 06118000
*              UNTRTYPE = PRITRACK;                                1743 06119000
         OI    UNTRTYPE,B'10000000'                                1743 06120000
*              CALL COUNTRKS;                                      1744 06121000
         BAL   @14,COUNTRKS                                        1744 06122000
*/*            LEAVE                                                 */ 06123000
*              GOTO ENDLOOP2;                                      1745 06124000
         B     ENDLOOP2                                            1745 06125000
*/*            END-THEN                                              */ 06126000
*              END;                                                1746 06127000
*/*        IF ASSOCIATION OF THE PRIMARY TO THE NEW ALTERNATE FAILS  */ 06128000
*          IF RETCODE = NOAASSOC                                   1747 06129000
*/*          THEN                                                    */ 06130000
*            THEN DO;                                              1747 06131000
*                                                                  1747 06132000
@RF01740 CLC   RETCODE(4),@CF00136                                 1747 06133000
         BNE   @RF01747                                            1747 06134000
*/*            COUNT_UNRECOVERABLE_TRACKS                            */ 06135000
*              UNTRTYPE = ALTTRACK;                                1749 06136000
         NI    UNTRTYPE,B'01111111'                                1749 06137000
*              CALL COUNTRKS;                                      1750 06138000
         BAL   @14,COUNTRKS                                        1750 06139000
*/*            IF A  SEVERE ERROR HAS OCCURRED                       */ 06140000
*              IF LASTCOND >= LASTCC12                             1751 06141000
*/*              THEN LEAVE                                          */ 06142000
*                THEN DO;    GOTO ENDLOOP2; END;                   1751 06143000
         L     @06,@PC00001+8                                      1751 06144000
         LH    @06,LASTCOND(,@06)                                  1751 06145000
         CH    @06,@CH00265                                        1751 06146000
         BL    @RF01751                                            1751 06147000
         B     ENDLOOP2                                            1753 06148000
*/*            END-THEN                                              */ 06149000
*              END;                                                1755 06150000
@RF01751 DS    0H                                                  1756 06151000
*/*        IF DISSOCIATION OF THE OLD ALTERNATE FROM THE PRIM. FAILS */ 06152000
*          IF RETCODE = NODISSOC                                   1756 06153000
*/*          THEN                                                    */ 06154000
*            THEN DO;                                              1756 06155000
*                                                                  1756 06156000
@RF01747 CLC   RETCODE(4),@CF00044                                 1756 06157000
         BNE   @RF01756                                            1756 06158000
*/*            COUNT_UNRECOVERABLE_TRACKS                            */ 06159000
*              UNTRACK = RZCCHH;                                   1758 06160000
         MVC   UNTRACK(4),RZCCHH                                   1758 06161000
*              UNTRTYPE = ALTTRACK;                                1759 06162000
         NI    UNTRTYPE,B'01111111'                                1759 06163000
*              CALL COUNTRKS;                                      1760 06164000
         BAL   @14,COUNTRKS                                        1760 06165000
*/*            IF A SEVERE ERROR HAS OCCURRED                        */ 06166000
*              IF LASTCOND >= LASTCC12                             1761 06167000
*/*              THEN LEAVE                                          */ 06168000
*                THEN DO;    GOTO ENDLOOP2; END;                   1761 06169000
         L     @06,@PC00001+8                                      1761 06170000
         LH    @06,LASTCOND(,@06)                                  1761 06171000
         CH    @06,@CH00265                                        1761 06172000
         BL    @RF01761                                            1761 06173000
         B     ENDLOOP2                                            1763 06174000
*/*            END-THEN                                              */ 06175000
*              END;                                                1765 06176000
@RF01761 DS    0H                                                  1766 06177000
*/*        END-ELSE (RE-ASSIGNMENT UNSUCCESSFUL)                     */ 06178000
*          END;                                                    1766 06179000
@RF01756 DS    0H                                                  1767 06180000
*/*  END-UNTIL                                                       */ 06181000
*    END;                                                          1767 06182000
@DE01684 L     @06,RETCODE                                         1767 06183000
         LTR   @06,@06                                             1767 06184000
         BNZ   @DL01684                                            1767 06185000
*/*  END-SUB-PROCEDURE ISSUE_RE-ASSIGN_ALTERNATE_TRACK               */ 06186000
*    ENDLOOP2:                                                     1768 06187000
*    END RASGNALT;                                                 1768 06188000
*                                                                  1768 06189000
         B     @EL00020                                            1768 06190000
         EJECT                                                          06191000
*/*****  START OF SPECIFICATIONS  ************************************/ 06192000
*/*                                                                  */ 06193000
*/*  SUB-PROCEDURE NAME:  REPTRACK                                   */ 06194000
*/*                                                                  */ 06195000
*/*  DESCRIPTIVE NAME:  ISSUE RECLAIM PRIMARY TRACK                  */ 06196000
*/*                                                                  */ 06197000
*/*  FUNCTION:                                                       */ 06198000
*/*                                                                  */ 06199000
*/*    THIS SUB-PROCEDURE INVOKES THE ELEMENTARY FUNCTION WHICH      */ 06200000
*/*    RECLAIMS A PRIMARY TRACK THAT HAS BEEN DETERMINED TO BE A     */ 06201000
*/*    USABLE TRACK. ALL THE CONDITION CODE PROCESSING AFTER THE     */ 06202000
*/*    INVOCATION IS HANDLED HERE.                                   */ 06203000
*/*    IN THE EVENT THAT AN ALTERNATE TRACK, ASSOCIATED WITH THIS    */ 06204000
*/*    PRIMARY TRACK, IS NOT SUCCESSFULLY DISSOCIATED BUT HAS ITS    */ 06205000
*/*    DEFECT-FLAG SET DUE TO ERROR RECOVERY, A WARNING MESSAGE      */ 06206000
*/*    ABOUT THAT TRACK IS POSTED AND PROCESSING CONTINUED.          */ 06207000
*/*                                                                  */ 06208000
*/*****  END OF SPECIFICATIONS  **************************************/ 06209000
*                                                                  1769 06210000
*                                                                  1769 06211000
*/*  SUB-PROCEDURE ISSUE_RECLAIM_PRIMARY_TRACK                       */ 06212000
*    REPTRACK:                                                     1769 06213000
*      PROCEDURE;                                                  1769 06214000
REPTRACK STM   @14,@12,@SA00021                                    1769 06215000
*    OLDERID2 = NEWERID2;                                          1770 06216000
         L     @06,@PC00001                                        1770 06217000
         L     @15,GDTTR2(,@06)                                    1770 06218000
         MVC   @TS00001(95),NEWERID2(@15)                          1770 06219000
         MVC   OLDERID2(95,@15),@TS00001                           1770 06220000
*    NEWID2 =  'INRP';                                             1771 06221000
         MVC   NEWID2(4,@15),@CC00904                              1771 06222000
*/*  SET UP THE COUNT OF AVAILABLE ALTERNATE TRACKS                  */ 06223000
*    ALTPCNT = ALTCOUNT;                                           1772 06224000
         MVC   ALTPCNT(4),ALTCOUNT                                 1772 06225000
*/*  RECLAIM_PRIMARY_TRACK                                           */ 06226000
*    CALL ICKRP01                                                  1773 06227000
*         (GDTTBL                                                  1773 06228000
*         ,VOLIB                                                   1773 06229000
*         ,CTRADDR                                                 1773 06230000
*         ,CTRADDR                                                 1773 06231000
*         ,ALTPCNT                                                 1773 06232000
*         ,ALTPTR                                                  1773 06233000
*         ,RETCODE);                                               1773 06234000
         ST    @06,@AL00001                                        1773 06235000
         LA    @06,VOLIB                                           1773 06236000
         ST    @06,@AL00001+4                                      1773 06237000
         LA    @06,CTRADDR                                         1773 06238000
         ST    @06,@AL00001+8                                      1773 06239000
         LA    @06,CTRADDR                                         1773 06240000
         ST    @06,@AL00001+12                                     1773 06241000
         LA    @06,ALTPCNT                                         1773 06242000
         ST    @06,@AL00001+16                                     1773 06243000
         LA    @06,ALTPTR                                          1773 06244000
         ST    @06,@AL00001+20                                     1773 06245000
         LA    @06,RETCODE                                         1773 06246000
         ST    @06,@AL00001+24                                     1773 06247000
         L     @15,@CV00905                                        1773 06248000
         LA    @01,@AL00001                                        1773 06249000
         BALR  @14,@15                                             1773 06250000
*/*  IF RECLAMATION SUCCEEDS                                         */ 06251000
*    IF RETCODE = SUCCESS                                          1774 06252000
*/*    THEN                                                          */ 06253000
*      THEN DO;                                                    1774 06254000
*                                                                  1774 06255000
         L     @06,RETCODE                                         1774 06256000
         LTR   @06,@06                                             1774 06257000
         BNZ   @RF01774                                            1774 06258000
*/*      SET MESSAGE ARGUMENT (MSGRCLP)                              */ 06259000
*        DARGSENT = MSGRCLP;                                       1776 06260000
         L     @06,DDSTRU                                          1776 06261000
         MVI   DARGSENT(@06),X'16'                                 1776 06262000
*/*      SAVE THE DEFECT-FLAG RESETTING                              */ 06263000
*        DFLAGC = NODEFECT;                                        1777 06264000
         NI    DFLAGC,B'01111111'                                  1777 06265000
*/*      END-THEN                                                    */ 06266000
*        END;                                                      1778 06267000
*/*    ELSE                                                          */ 06268000
*      ELSE DO;                                                    1779 06269000
*                                                                  1779 06270000
         B     @RC01774                                            1779 06271000
@RF01774 DS    0H                                                  1780 06272000
*/*      IF RECLAMATION FAILS AND TRACK IS UNRECOVERABLE             */ 06273000
*        IF RETCODE = REPFAIL                                      1780 06274000
*/*        THEN COUNT_UNRECOVERABLE_TRACKS (PRIMARY TRACK)           */ 06275000
*          THEN DO;                                                1780 06276000
*                                                                  1780 06277000
         CLC   RETCODE(4),@CF00116                                 1780 06278000
         BNE   @RF01780                                            1780 06279000
*            UNTRACK = CTRADDR;                                    1782 06280000
         MVC   UNTRACK(4),CTRADDR                                  1782 06281000
*            UNTRTYPE = PRITRACK;                                  1783 06282000
         OI    UNTRTYPE,B'10000000'                                1783 06283000
*            CALL COUNTRKS;                                        1784 06284000
         BAL   @14,COUNTRKS                                        1784 06285000
*            END;                                                  1785 06286000
*/*      IF DISSOCIATION FAILS AND TRACK IS UNRECOVERABLE            */ 06287000
*        IF RETCODE = DISFAILU                                     1786 06288000
*/*        THEN COUNT_UNRECOVERABLE_TRACKS (ALTERNATE TRACK)         */ 06289000
*          THEN DO;                                                1786 06290000
*                                                                  1786 06291000
@RF01780 CLC   RETCODE(4),@CF00044                                 1786 06292000
         BNE   @RF01786                                            1786 06293000
*            UNTRACK = CTRADDR;                                    1788 06294000
         MVC   UNTRACK(4),CTRADDR                                  1788 06295000
*            UNTRTYPE = ALTTRACK;                                  1789 06296000
         NI    UNTRTYPE,B'01111111'                                1789 06297000
*            CALL COUNTRKS;                                        1790 06298000
         BAL   @14,COUNTRKS                                        1790 06299000
*            END;                                                  1791 06300000
*/*      IF RECLAMATION FAILS BUT TRACK IS RECOVERED                 */ 06301000
*        IF RETCODE = REPFAILR                                     1792 06302000
*/*        THEN                                                      */ 06303000
*          THEN DO;                                                1792 06304000
*                                                                  1792 06305000
@RF01786 CLC   RETCODE(4),@CF00165                                 1792 06306000
         BNE   @RF01792                                            1792 06307000
*/*          SET MESSAGE ARGUMENT (MSGRCLPF)                         */ 06308000
*            DARGSENT = MSGRCLPF;                                  1794 06309000
         L     @06,DDSTRU                                          1794 06310000
         MVI   DARGSENT(@06),X'20'                                 1794 06311000
*/*          ISSUE_BUILD_PACK_MAP (TRACK DEFECT-FLAG STILL SET)      */ 06312000
*            PACKDEF  = DEFECTIV;                                  1795 06313000
         OI    PACKDEF,B'10000000'                                 1795 06314000
*            PACKCHEK = NODEFECT;                                  1796 06315000
         NI    PACKCHEK,B'01111111'                                1796 06316000
*            PACKRCVR = RCVRYES;                                   1797 06317000
         NI    PACKRCVR,B'01111111'                                1797 06318000
*            PACKTRK  = PRITRACK;                                  1798 06319000
         OI    PACKTRK,B'10000000'                                 1798 06320000
*            PACKTRAK = CTRADDR;                                   1799 06321000
         L     @06,CTRADDR                                         1799 06322000
         ST    @06,PACKTRAK                                        1799 06323000
*            PACKASC = CTRADDR;                                    1800 06324000
         ST    @06,PACKASC                                         1800 06325000
*            CALL BILDPACK;                                        1801 06326000
         BAL   @14,BILDPACK                                        1801 06327000
*/*          INDICATE AN ERROR                                       */ 06328000
*            LASTCOND = MAX(LASTCC08,LASTCOND);                    1802 06329000
         L     @06,@PC00001+8                                      1802 06330000
         LH    @15,LASTCOND(,@06)                                  1802 06331000
         LA    @14,8                                               1802 06332000
         CR    @15,@14                                             1802 06333000
         BNL   *+6                                                      06334000
         LR    @15,@14                                             1802 06335000
         STH   @15,LASTCOND(,@06)                                  1802 06336000
*/*          SAVE THE DEFECT-FLAG RESETTING                          */ 06337000
*            DFLAGC = DEFECTIV;                                    1803 06338000
         OI    DFLAGC,B'10000000'                                  1803 06339000
*/*          IF FIRST TRACK ON PACK                                  */ 06340000
*            IF CTRADDR = 0                                        1804 06341000
*/*            THEN INDICATE THAT IT IS DEFECTIVE                    */ 06342000
*              THEN DO;    FTRKFLG = DEFECTIV; END;                1804 06343000
         L     @06,CTRADDR                                         1804 06344000
         LTR   @06,@06                                             1804 06345000
         BNZ   @RF01804                                            1804 06346000
         OI    FTRKFLG,B'10000000'                                 1806 06347000
*/*          END-THEN                                                */ 06348000
*            END;                                                  1808 06349000
@RF01804 DS    0H                                                  1809 06350000
*/*      IF DISSOCIATION FAILS BUT TRACK RECOVERED                   */ 06351000
*        IF RETCODE = DISFAILR                                     1809 06352000
*/*        THEN                                                      */ 06353000
*          THEN DO;                                                1809 06354000
*                                                                  1809 06355000
@RF01792 CLC   RETCODE(4),@CF00136                                 1809 06356000
         BNE   @RF01809                                            1809 06357000
*/*          SAVE THE DEFECT-FLAG RESETTING                          */ 06358000
*            DFLAGC = NODEFECT;                                    1811 06359000
         NI    DFLAGC,B'01111111'                                  1811 06360000
*/*          SET WARNING MESSAGE ARGUMENT (MSGDISPF)                 */ 06361000
*            DARGSENT = MSGDISPF;                                  1812 06362000
         L     @06,DDSTRU                                          1812 06363000
         MVI   DARGSENT(@06),X'21'                                 1812 06364000
*/*          ISSUE_BUILD_PACK_MAP (ALTERNATE TRACK DEFECT-FLAG SET)  */ 06365000
*            PACKDEF  = DEFECTIV;                                  1813 06366000
         OI    PACKDEF,B'10000000'                                 1813 06367000
*            PACKCHEK = NODEFECT;                                  1814 06368000
         NI    PACKCHEK,B'01111111'                                1814 06369000
*            PACKRCVR = RCVRYES;                                   1815 06370000
         NI    PACKRCVR,B'01111111'                                1815 06371000
*            PACKTRK  = ALTTRACK;                                  1816 06372000
         NI    PACKTRK,B'01111111'                                 1816 06373000
*            PACKTRAK = CTRADDR;                                   1817 06374000
         L     @06,CTRADDR                                         1817 06375000
         ST    @06,PACKTRAK                                        1817 06376000
*            PACKASC = CTRADDR;                                    1818 06377000
         ST    @06,PACKASC                                         1818 06378000
*            CALL BILDPACK;                                        1819 06379000
         BAL   @14,BILDPACK                                        1819 06380000
*/*          INDICATE MINOR ERROR (LASTCOND = 4)                     */ 06381000
*            LASTCOND = MAX(LASTCC04,LASTCOND);                    1820 06382000
         L     @06,@PC00001+8                                      1820 06383000
         LH    @15,LASTCOND(,@06)                                  1820 06384000
         LA    @14,4                                               1820 06385000
         CR    @15,@14                                             1820 06386000
         BNL   *+6                                                      06387000
         LR    @15,@14                                             1820 06388000
         STH   @15,LASTCOND(,@06)                                  1820 06389000
*/*          END-THEN                                                */ 06390000
*            END;                                                  1821 06391000
*/*      END-ELSE (RECLAMATION UNSUCCESSFUL)                         */ 06392000
*        END;                                                      1822 06393000
@RF01809 DS    0H                                                  1823 06394000
*/*  IF A MESSAGE ARGUMENT WAS SET                                   */ 06395000
*    IF (DARGSENT = MSGRCLP) | (DARGSENT = MSGRCLPF)               1823 06396000
*     | (DARGSENT = MSGDISPF)                                      1823 06397000
*/*    THEN ISSUE MESSAGE (UPRINT)                                   */ 06398000
*      THEN DO;                                                    1823 06399000
*                                                                  1823 06400000
@RC01774 L     @06,DDSTRU                                          1823 06401000
         CLI   DARGSENT(@06),22                                    1823 06402000
         BE    @RT01823                                            1823 06403000
         CLI   DARGSENT(@06),32                                    1823 06404000
         BE    @RT01823                                            1823 06405000
         CLI   DARGSENT(@06),33                                    1823 06406000
         BNE   @RF01823                                            1823 06407000
@RT01823 DS    0H                                                  1824 06408000
*        DARGCNT = 2;                                              1825 06409000
         LA    @06,2                                               1825 06410000
         L     @15,DDSTRU                                          1825 06411000
         STH   @06,DARGCNT(,@15)                                   1825 06412000
*        DARGINS (1) = 1;                                          1826 06413000
         MVC   DARGINS(2,@15),@CH00165                             1826 06414000
*        DARGINL (1) = LENGTH (CTRADDRC);                          1827 06415000
         STH   @06,DARGINL(,@15)                                   1827 06416000
*        DARGDTM (1) = ADDR (CTRADDRC);                            1828 06417000
         LA    @14,CTRADDRC                                        1828 06418000
         ST    @14,DARGDTM(,@15)                                   1828 06419000
*        DARGINS (2) = 2;                                          1829 06420000
         STH   @06,DARGINS+8(,@15)                                 1829 06421000
*        DARGINL (2) = LENGTH (CTRADDRT);                          1830 06422000
         STH   @06,DARGINL+8(,@15)                                 1830 06423000
*        DARGDTM (2) = ADDR (CTRADDRT);                            1831 06424000
         LA    @06,CTRADDRT                                        1831 06425000
         ST    @06,DARGDTM+8(,@15)                                 1831 06426000
*        CALL ICKTPPR0 (GDTTBL                                     1832 06427000
*               ,PRTFILE                                           1832 06428000
*               ,DDSTRU);                                          1832 06429000
         L     @06,@PC00001                                        1832 06430000
         ST    @06,@AL00001                                        1832 06431000
         LA    @15,@CF00094                                        1832 06432000
         ST    @15,@AL00001+4                                      1832 06433000
         LA    @15,DDSTRU                                          1832 06434000
         ST    @15,@AL00001+8                                      1832 06435000
         MVI   @AL00001+8,X'80'                                    1832 06436000
         L     @15,GDTPRT(,@06)                                    1832 06437000
         LA    @01,@AL00001                                        1832 06438000
         BALR  @14,@15                                             1832 06439000
*        END;                                                      1833 06440000
*/*  END-SUB-PROCEDURE ISSUE_RECLAIM_PRIMARY_TRACK                   */ 06441000
*    END REPTRACK;                                                 1834 06442000
*                                                                  1834 06443000
@EL00021 DS    0H                                                  1834 06444000
@EF00021 DS    0H                                                  1834 06445000
@ER00021 LM    @14,@12,@SA00021                                    1834 06446000
         BR    @14                                                 1834 06447000
         EJECT                                                          06448000
*/*****  START OF SPECIFICATIONS  ************************************/ 06449000
*/*                                                                  */ 06450000
*/*  SUB-PROCEDURE NAME:  CREATLAB                                   */ 06451000
*/*                                                                  */ 06452000
*/*  DESCRIPTIVE NAME:  ISSUE CREATE VOLUME LABEL                    */ 06453000
*/*                                                                  */ 06454000
*/*  FUNCTION:                                                       */ 06455000
*/*                                                                  */ 06456000
*/*    THIS SUB-PROCEDURE WILL INVOKE THE ELEMENTARY FUNCTION        */ 06457000
*/*    THAT WILL CREATE A VOLUME LABEL ON THE FIRST TRACK OF A       */ 06458000
*/*    VOLUME AS PER USER SPECIFICATIONS. ALL THE CONDITION CODE     */ 06459000
*/*    PROCESSING AFTER THE INVOCATION IS ALSO DONE HERE.            */ 06460000
*/*                                                                  */ 06461000
*/*****  END OF SPECIFICATIONS  **************************************/ 06462000
*                                                                  1835 06463000
*                                                                  1835 06464000
*/*  SUB-PROCEDURE ISSUE_CREATE_VOLUME_LABEL                         */ 06465000
*    CREATLAB:                                                     1835 06466000
*      PROCEDURE;                                                  1835 06467000
CREATLAB STM   @14,@12,@SA00022                                    1835 06468000
*    OLDERID2 = NEWERID2;                                          1836 06469000
         L     @06,@PC00001                                        1836 06470000
         L     @06,GDTTR2(,@06)                                    1836 06471000
         MVC   @TS00001(95),NEWERID2(@06)                          1836 06472000
         MVC   OLDERID2(95,@06),@TS00001                           1836 06473000
*    NEWID2 =  'INCL';                                             1837 06474000
         MVC   NEWID2(4,@06),@CC00909                              1837 06475000
*/*  CREATE_VOLUME_LABEL                                             */ 06476000
*    IF ADDR(VOLID) ^= NULLPTR                                     1838 06477000
*      THEN DO;    VLNSER = VOLIDVAL; END;                         1838 06478000
         L     @06,@PC00001+4                                      1838 06479000
         L     @06,FDTPTR+40(,@06)                                 1838 06480000
         LTR   @06,@06                                             1838 06481000
         BZ    @RF01838                                            1838 06482000
         MVC   VLNSER(6),VOLIDVAL(@06)                             1840 06483000
*      ELSE IF OLDVSER ^= ' '                                      1842 06484000
*             THEN DO;                                             1842 06485000
*                                                                  1842 06486000
         B     @RC01838                                            1842 06487000
@RF01838 CLI   OLDVSER,C' '                                        1842 06488000
         BE    @RF01842                                            1842 06489000
*               VLNSER = OLDVSER;                                  1844 06490000
         MVC   VLNSER(6),OLDVSER                                   1844 06491000
*               END;                                               1845 06492000
*             ELSE DO;    VLNSER = ' '; END;                       1846 06493000
         B     @RC01842                                            1846 06494000
@RF01842 DS    0H                                                  1847 06495000
         MVI   VLNSER+1,C' '                                       1847 06496000
         MVC   VLNSER+2(4),VLNSER+1                                1847 06497000
         MVI   VLNSER,C' '                                         1847 06498000
*    IF ADDR(OWNER) ^= NULLPTR                                     1849 06499000
*      THEN DO;    OWNERID = OWNERVAL; END;                        1849 06500000
@RC01842 DS    0H                                                  1849 06501000
@RC01838 L     @06,@PC00001+4                                      1849 06502000
         L     @06,FDTPTR+44(,@06)                                 1849 06503000
         LTR   @06,@06                                             1849 06504000
         BZ    @RF01849                                            1849 06505000
         MVC   OWNERID(14),OWNERVAL(@06)                           1851 06506000
*      ELSE IF OLDOWNER ^= ' '                                     1853 06507000
*             THEN DO;                                             1853 06508000
*                                                                  1853 06509000
         B     @RC01849                                            1853 06510000
@RF01849 CLI   OLDOWNER,C' '                                       1853 06511000
         BE    @RF01853                                            1853 06512000
*               OWNERID = OLDOWNER;                                1855 06513000
         MVC   OWNERID(14),OLDOWNER                                1855 06514000
*               END;                                               1856 06515000
*             ELSE DO;    OWNERID = ' '; END;                      1857 06516000
         B     @RC01853                                            1857 06517000
@RF01853 DS    0H                                                  1858 06518000
         MVI   OWNERID+1,C' '                                      1858 06519000
         MVC   OWNERID+2(12),OWNERID+1                             1858 06520000
         MVI   OWNERID,C' '                                        1858 06521000
*    IF ADDR(LBL) ^= NULLPTR                                       1860 06522000
*      THEN DO;                                                    1860 06523000
*                                                                  1860 06524000
@RC01853 DS    0H                                                  1860 06525000
@RC01849 SLR   @06,@06                                             1860 06526000
         L     @15,@PC00001+4                                      1860 06527000
         C     @06,FDTPTR+48(,@15)                                 1860 06528000
         BE    @RF01860                                            1860 06529000
*        IF ADDR(MIMIC) ^= NULLPTR & ADDR(MSS) ^= NULLPTR          1862 06530000
*          THEN DO;                                                1862 06531000
*                                                                  1862 06532000
         C     @06,FDTPTR+88(,@15)                                 1862 06533000
         BE    @RF01862                                            1862 06534000
         C     @06,FDTPTR+92(,@15)                                 1862 06535000
         BE    @RF01862                                            1862 06536000
*            DARGSENT = MSGMSSL;                                   1864 06537000
         L     @06,DDSTRU                                          1864 06538000
         MVI   DARGSENT(@06),X'33'                                 1864 06539000
*            CALL ICKTPPR0 (GDTTBL                                 1865 06540000
*                   ,PRTFILE                                       1865 06541000
*                   ,DDSTRU);                                      1865 06542000
         L     @06,@PC00001                                        1865 06543000
         ST    @06,@AL00001                                        1865 06544000
         LA    @15,@CF00094                                        1865 06545000
         ST    @15,@AL00001+4                                      1865 06546000
         LA    @15,DDSTRU                                          1865 06547000
         ST    @15,@AL00001+8                                      1865 06548000
         MVI   @AL00001+8,X'80'                                    1865 06549000
         L     @15,GDTPRT(,@06)                                    1865 06550000
         LA    @01,@AL00001                                        1865 06551000
         BALR  @14,@15                                             1865 06552000
*            LABELS = 0;                                           1866 06553000
         SLR   @06,@06                                             1866 06554000
         ST    @06,LABELS                                          1866 06555000
*/*          INDICATE A MINOR ERROR                                  */ 06556000
*            LASTCOND = MAX(LASTCOND,LASTCC04);                    1867 06557000
         L     @06,@PC00001+8                                      1867 06558000
         LH    @15,LASTCOND(,@06)                                  1867 06559000
         LA    @14,4                                               1867 06560000
         CR    @15,@14                                             1867 06561000
         BNL   *+6                                                      06562000
         LR    @15,@14                                             1867 06563000
         STH   @15,LASTCOND(,@06)                                  1867 06564000
*            END;                                                  1868 06565000
*          ELSE DO;                                                1869 06566000
*                                                                  1869 06567000
         B     @RC01862                                            1869 06568000
@RF01862 DS    0H                                                  1870 06569000
*            LABELS = LBLVAL;                                      1870 06570000
         L     @06,@PC00001+4                                      1870 06571000
         L     @06,FDTPTR+48(,@06)                                 1870 06572000
         MVC   LABELS(4),LBLVAL(@06)                               1870 06573000
*            END;                                                  1871 06574000
*        END;                                                      1872 06575000
*      ELSE DO;    LABELS = 0; END;                                1873 06576000
         B     @RC01860                                            1873 06577000
@RF01860 DS    0H                                                  1874 06578000
         SLR   @06,@06                                             1874 06579000
         ST    @06,LABELS                                          1874 06580000
*    CALL ICKCL01                                                  1876 06581000
*         (GDTTBL                                                  1876 06582000
*         ,VOLIB                                                   1876 06583000
*         ,VLNSER                                                  1876 06584000
*         ,OWNERID                                                 1876 06585000
*         ,OLDVTOC                                                 1876 06586000
*         ,LABELS                                                  1876 06587000
*         ,RETCODE);                                               1876 06588000
@RC01860 L     @06,@PC00001                                        1876 06589000
         ST    @06,@AL00001                                        1876 06590000
         LA    @06,VOLIB                                           1876 06591000
         ST    @06,@AL00001+4                                      1876 06592000
         LA    @06,VLNSER                                          1876 06593000
         ST    @06,@AL00001+8                                      1876 06594000
         LA    @06,OWNERID                                         1876 06595000
         ST    @06,@AL00001+12                                     1876 06596000
         LA    @06,OLDVTOC                                         1876 06597000
         ST    @06,@AL00001+16                                     1876 06598000
         LA    @06,LABELS                                          1876 06599000
         ST    @06,@AL00001+20                                     1876 06600000
         LA    @06,RETCODE                                         1876 06601000
         ST    @06,@AL00001+24                                     1876 06602000
         L     @15,@CV00910                                        1876 06603000
         LA    @01,@AL00001                                        1876 06604000
         BALR  @14,@15                                             1876 06605000
*/*  IF VOLUME LABEL CREATION FAILS                                  */ 06606000
*    IF RETCODE = FAILURE                                          1877 06607000
*/*    THEN                                                          */ 06608000
*      THEN DO;                                                    1877 06609000
*                                                                  1877 06610000
         CLC   RETCODE(4),@CF00165                                 1877 06611000
         BNE   @RF01877                                            1877 06612000
*/*      ISSUE ERROR MESSAGE (MSGLBLSB) (UPRINT)                     */ 06613000
*        DARGSENT = MSGLBLSB;                                      1879 06614000
         L     @06,DDSTRU                                          1879 06615000
         MVI   DARGSENT(@06),X'07'                                 1879 06616000
*        CALL ICKTPPR0 (GDTTBL                                     1880 06617000
*               ,PRTFILE                                           1880 06618000
*               ,DDSTRU);                                          1880 06619000
         L     @06,@PC00001                                        1880 06620000
         ST    @06,@AL00001                                        1880 06621000
         LA    @15,@CF00094                                        1880 06622000
         ST    @15,@AL00001+4                                      1880 06623000
         LA    @15,DDSTRU                                          1880 06624000
         ST    @15,@AL00001+8                                      1880 06625000
         MVI   @AL00001+8,X'80'                                    1880 06626000
         L     @15,GDTPRT(,@06)                                    1880 06627000
         LA    @01,@AL00001                                        1880 06628000
         BALR  @14,@15                                             1880 06629000
*/*      INDICATE SEVERE ERROR (LASTCOND = 12)                       */ 06630000
*        LASTCOND = LASTCC12;                                      1881 06631000
         L     @06,@PC00001+8                                      1881 06632000
         MVC   LASTCOND(2,@06),@CH00265                            1881 06633000
*/*      END-THEN (VOLUME LABEL CREATION FAILS)                      */ 06634000
*        END;                                                      1882 06635000
*/*  END-SUB-PROCEDURE ISSUE_CREATE_VOLUME_LABEL                     */ 06636000
*    END CREATLAB;                                                 1883 06637000
*                                                                  1883 06638000
@EL00022 DS    0H                                                  1883 06639000
@EF00022 DS    0H                                                  1883 06640000
@ER00022 LM    @14,@12,@SA00022                                    1883 06641000
         BR    @14                                                 1883 06642000
         EJECT                                                          06643000
*/*****  START OF SPECIFICATIONS  ************************************/ 06644000
*/*                                                                  */ 06645000
*/*  SUB-PROCEDURE NAME:  ESTTRINT                                   */ 06646000
*/*                                                                  */ 06647000
*/*  DESCRIPTIVE NAME:  ESTABLISH TRACK INTEGRITY                    */ 06648000
*/*                                                                  */ 06649000
*/*  FUNCTION:                                                       */ 06650000
*/*                                                                  */ 06651000
*/*    THIS SUB-PROCEDURE WILL CHECK THE PHYSICAL STATE OF THE       */ 06652000
*/*    TRACK (ALTERNATE OR PRIMARY) AGAINST THE ACTUAL STATE THAT    */ 06653000
*/*    IS EXPECTED FOR THE TRACK. IF THERE IS A DISPARITY THIS       */ 06654000
*/*    SUB-PROCEDURE WILL CORRECT THE DISPARITY.                     */ 06655000
*/*                                                                  */ 06656000
*/*****  END OF SPECIFICATIONS  **************************************/ 06657000
*                                                                  1884 06658000
*                                                                  1884 06659000
*/*  SUB-PROCEDURE ESTABLISH_TRACK_INTEGRITY                         */ 06660000
*    ESTTRINT:                                                     1884 06661000
*      PROCEDURE                                                   1884 06662000
*        (                                                         1884 06663000
*        ESTADDR,                                                  1884 06664000
*        ESTASSOC,                                                 1884 06665000
*        ESTDFLAG,                                                 1884 06666000
*        ESTRFLAG,                                                 1884 06667000
*        ESTCODE,                                                  1884 06668000
*        ESTTYPE                                                   1884 06669000
*        );                                                        1884 06670000
ESTTRINT STM   @14,@12,@SA00023                                    1884 06671000
         MVC   @PC00023(24),0(@01)                                 1884 06672000
*    OLDERID2 = NEWERID2;                                          1885 06673000
         L     @06,@PC00001                                        1885 06674000
         L     @06,GDTTR2(,@06)                                    1885 06675000
         MVC   @TS00001(95),NEWERID2(@06)                          1885 06676000
         MVC   OLDERID2(95,@06),@TS00001                           1885 06677000
*    NEWID2 =  'INET';                                             1886 06678000
*                                                                  1886 06679000
         MVC   NEWID2(4,@06),@CC00926                              1886 06680000
*    DECLARE  /********  LOCAL PARAMETERS  ***************************/ 06681000
*                                                                  1887 06682000
*      1 ESTADDR             /* ADDRESS OF TRACK TO BE EXAMINED      */ 06683000
*                            FIXED (32),                           1887 06684000
*                                                                  1887 06685000
*        2 ESTADDRC          /* CYLINDER NUMBER                      */ 06686000
*                            FIXED (16),                           1887 06687000
*                                                                  1887 06688000
*        2 ESTADDRH          /* TRACK NUMBER                         */ 06689000
*                            FIXED (16),                           1887 06690000
*                                                                  1887 06691000
*      ESTASSOC              /* ASSOCIATION ADDRESS IN RECORD ZERO   */ 06692000
*                            FIXED (32),                           1887 06693000
*                                                                  1887 06694000
*      ESTDFLAG              /* DEFECT-FLAG INDICATOR                */ 06695000
*                            /* ON DEFECT-FLAG IS SET  OFF NOT SET   */ 06696000
*                            BIT (1),                              1887 06697000
*                                                                  1887 06698000
*      ESTRCODE              /* RETURN CODE FROM CALLED PROGRAMS     */ 06699000
*                            FIXED (31),                           1887 06700000
*                                                                  1887 06701000
*      ESTRFLAG              /* FLAG TO INDICATE IF TRACK IS         */ 06702000
*                            /* RECOVERABLE OR NOT                   */ 06703000
*                            /* ON: UNRECOVERABLE; OFF: RECOVERABLE  */ 06704000
*                            BIT (1),                              1887 06705000
*                                                                  1887 06706000
*      ESTCODE               /* RETURN CODE THAT INDICATES THE       */ 06707000
*                            /* PHYSICAL STATE OF THE TRACK          */ 06708000
*                            FIXED (31),                           1887 06709000
*                                                                  1887 06710000
*      ESTTYPE               /* FLAG TO INDICATE IF THE TRACK IS     */ 06711000
*                            /* A PRIMARY OR AN ALTERNATE            */ 06712000
*                            /* PRITRACK: PRIMARY; ALTTRACK:ALTERNATE*/ 06713000
*                            BIT (1);                              1887 06714000
*                                                                  1887 06715000
*/*  INITIALIZE ACTION KEY TO ZERO (HAACTION)                        */ 06716000
*    HAACTION = 0;                                                 1888 06717000
         SLR   @06,@06                                             1888 06718000
         ST    @06,HAACTION                                        1888 06719000
*/*  IF TRACK IS A PRIMARY                                           */ 06720000
*    IF ESTTYPE = PRITRACK                                         1889 06721000
*/*    THEN                                                          */ 06722000
*      THEN DO;                                                    1889 06723000
*                                                                  1889 06724000
         L     @06,@PC00023+20                                     1889 06725000
         TM    ESTTYPE(@06),B'10000000'                            1889 06726000
         BNO   @RF01889                                            1889 06727000
*/*      IF READ OPERATION INDICATES AN ALTERNATE TRACK              */ 06728000
*        IF (ESTCODE = DFLAGONA) | (ESTCODE = DFLAGOFA)            1891 06729000
*/*        THEN                                                      */ 06730000
*          THEN DO;                                                1891 06731000
*                                                                  1891 06732000
         L     @06,@PC00023+16                                     1891 06733000
         L     @06,ESTCODE(,@06)                                   1891 06734000
         CH    @06,@CH00119                                        1891 06735000
         BE    @RT01891                                            1891 06736000
         CH    @06,@CH00185                                        1891 06737000
         BNE   @RF01891                                            1891 06738000
@RT01891 DS    0H                                                  1892 06739000
*/*          IF THE DEFECT-FLAG WAS FOUND TO BE SET                  */ 06740000
*            IF ESTCODE = DFLAGONA                                 1893 06741000
*/*            THEN                                                  */ 06742000
*              THEN DO;                                            1893 06743000
*                                                                  1893 06744000
         L     @06,@PC00023+16                                     1893 06745000
         CLC   ESTCODE(4,@06),@CF00119                             1893 06746000
         BNE   @RF01893                                            1893 06747000
*/*              SET ACTION KEY TO WRITE A PRIMARY HA WITH           */ 06748000
*/*               DEFECT-FLAG SET                                    */ 06749000
*                HAACTION = ACTWPHAD;                              1895 06750000
         MVC   HAACTION(4),@CF00136                                1895 06751000
*/*              SAVE THE SETTING OF DEFECT-FLAG                     */ 06752000
*                ESTDFLAG = DEFECTIV;                              1896 06753000
         L     @06,@PC00023+8                                      1896 06754000
         OI    ESTDFLAG(@06),B'10000000'                           1896 06755000
*/*              END-THEN                                            */ 06756000
*                END;                                              1897 06757000
*/*            ELSE                                                  */ 06758000
*              ELSE DO;                                            1898 06759000
*                                                                  1898 06760000
         B     @RC01893                                            1898 06761000
@RF01893 DS    0H                                                  1899 06762000
*/*              SET ACTION KEY TO WRITE A PRIMARY HA WITH           */ 06763000
*/*               DEFECT-FLAG NOT SET                                */ 06764000
*                HAACTION = ACTWPHA;                               1899 06765000
         MVC   HAACTION(4),@CF00044                                1899 06766000
*/*              SAVE THE SETTING OF DEFECT-FLAG                     */ 06767000
*                ESTDFLAG = NODEFECT;                              1900 06768000
         L     @06,@PC00023+8                                      1900 06769000
         NI    ESTDFLAG(@06),B'01111111'                           1900 06770000
*/*              END-ELSE                                            */ 06771000
*                END;                                              1901 06772000
*/*          END-THEN (TRACK IS AN ALTERNATE)                        */ 06773000
*            END;                                                  1902 06774000
*/*      END-THEN (TRACK IS A PRIMARY)                               */ 06775000
*        END;                                                      1903 06776000
*/*    ELSE (TRACK IS AN ALTERNATE TRACK)                            */ 06777000
*      ELSE DO;                                                    1904 06778000
*                                                                  1904 06779000
         B     @RC01889                                            1904 06780000
@RF01889 DS    0H                                                  1905 06781000
*/*      IF READ OPERATION INDICATES A PRIMARY TRACK                 */ 06782000
*        IF (ESTCODE = DFLAGONP) | (ESTCODE = DFLAGOFP)            1905 06783000
*/*        THEN                                                      */ 06784000
*          THEN DO;                                                1905 06785000
*                                                                  1905 06786000
         L     @06,@PC00023+16                                     1905 06787000
         L     @06,ESTCODE(,@06)                                   1905 06788000
         CH    @06,@CH00116                                        1905 06789000
         BE    @RT01905                                            1905 06790000
         CH    @06,@CH00136                                        1905 06791000
         BNE   @RF01905                                            1905 06792000
@RT01905 DS    0H                                                  1906 06793000
*/*          IF THE DEFECT-FLAG WAS FOUND TO BE SET                  */ 06794000
*            IF ESTCODE = DFLAGONP                                 1907 06795000
*/*            THEN                                                  */ 06796000
*              THEN DO;                                            1907 06797000
*                                                                  1907 06798000
         L     @06,@PC00023+16                                     1907 06799000
         CLC   ESTCODE(4,@06),@CF00116                             1907 06800000
         BNE   @RF01907                                            1907 06801000
*/*              SET ACTION KEY TO WRITE AN ALTERNATE HA WITH        */ 06802000
*/*               DEFECT-FLAG SET                                    */ 06803000
*                HAACTION = ACTWAHAD;                              1909 06804000
         MVC   HAACTION(4),@CF00255                                1909 06805000
*/*              SAVE THE SETTING OF DEFECT-FLAG                     */ 06806000
*                ESTDFLAG = DEFECTIV;                              1910 06807000
         L     @06,@PC00023+8                                      1910 06808000
         OI    ESTDFLAG(@06),B'10000000'                           1910 06809000
*/*              END-THEN                                            */ 06810000
*                END;                                              1911 06811000
*/*            ELSE                                                  */ 06812000
*              ELSE DO;                                            1912 06813000
*                                                                  1912 06814000
         B     @RC01907                                            1912 06815000
@RF01907 DS    0H                                                  1913 06816000
*/*              SET ACTION KEY TO WRITE AN ALTERNATE HA WITH        */ 06817000
*/*               DEFECT-FLAG NOT SET                                */ 06818000
*                HAACTION = ACTWAHA;                               1913 06819000
         MVC   HAACTION(4),@CF00119                                1913 06820000
*/*              SAVE THE SETTING OF DEFECT-FLAG                     */ 06821000
*                ESTDFLAG = NODEFECT;                              1914 06822000
         L     @06,@PC00023+8                                      1914 06823000
         NI    ESTDFLAG(@06),B'01111111'                           1914 06824000
*/*              END-ELSE                                            */ 06825000
*                END;                                              1915 06826000
*/*          END-THEN (TRACK IS A PRIMARY)                           */ 06827000
*            END;                                                  1916 06828000
@RC01907 DS    0H                                                  1917 06829000
*/*      END-ELSE (TRACK IS AN ALTERNATE)                            */ 06830000
*        END;                                                      1917 06831000
@RF01905 DS    0H                                                  1918 06832000
*/*  IF ACTION KEY IS NOT ZERO (HAACTION)                            */ 06833000
*    IF HAACTION ^= 0                                              1918 06834000
*/*    THEN                                                          */ 06835000
*      THEN DO;                                                    1918 06836000
*                                                                  1918 06837000
@RC01889 L     @06,HAACTION                                        1918 06838000
         LTR   @06,@06                                             1918 06839000
         BZ    @RF01918                                            1918 06840000
*/*      WRITE THE APPROPRIATE HOME-ADDRESS ON THE TRACK             */ 06841000
*        CALL ICKDVOP0 (GDTTBL                                     1920 06842000
*               ,VOLIB                                             1920 06843000
*               ,HAACTION                                          1920 06844000
*               ,ESTADDR                                           1920 06845000
*               ,RECNUM                                            1920 06846000
*               ,POOLID                                            1920 06847000
*               ,HAPTR                                             1920 06848000
*               ,HALEN                                             1920 06849000
*               ,ESTRCODE);                                        1920 06850000
         L     @06,@PC00001                                        1920 06851000
         ST    @06,@AL00001                                        1920 06852000
         LA    @15,VOLIB                                           1920 06853000
         ST    @15,@AL00001+4                                      1920 06854000
         LA    @15,HAACTION                                        1920 06855000
         ST    @15,@AL00001+8                                      1920 06856000
         L     @15,@PC00023                                        1920 06857000
         ST    @15,@AL00001+12                                     1920 06858000
         LA    @15,RECNUM                                          1920 06859000
         ST    @15,@AL00001+16                                     1920 06860000
         LA    @15,POOLID                                          1920 06861000
         ST    @15,@AL00001+20                                     1920 06862000
         LA    @15,HAPTR                                           1920 06863000
         ST    @15,@AL00001+24                                     1920 06864000
         LA    @15,HALEN                                           1920 06865000
         ST    @15,@AL00001+28                                     1920 06866000
         LA    @15,ESTRCODE                                        1920 06867000
         ST    @15,@AL00001+32                                     1920 06868000
         L     @15,GDTDOP(,@06)                                    1920 06869000
         LA    @01,@AL00001                                        1920 06870000
         BALR  @14,@15                                             1920 06871000
*/*      IF WRITE OPERATION FAILS                                    */ 06872000
*        IF ESTRCODE = CPFAILS                                     1921 06873000
*/*        THEN                                                      */ 06874000
*          THEN DO;                                                1921 06875000
*                                                                  1921 06876000
         CLC   ESTRCODE(4),@CF00044                                1921 06877000
         BNE   @RF01921                                            1921 06878000
*/*          SET FLAG TO INDICATE THE TRACK IS UNRECOVERABLE         */ 06879000
*            ESTRFLAG = NORCVR;                                    1923 06880000
         L     @06,@PC00023+12                                     1923 06881000
         NI    ESTRFLAG(@06),B'01111111'                           1923 06882000
*/*          COUNT_UNRECOVERABLE_TRACKS                              */ 06883000
*            UNTRACK = ESTADDR;                                    1924 06884000
         L     @06,@PC00023                                        1924 06885000
         MVC   UNTRACK(4),ESTADDR(@06)                             1924 06886000
*            IF ESTTYPE = PRITRACK                                 1925 06887000
*              THEN DO;    UNTRTYPE = PRITRACK; END;               1925 06888000
         L     @06,@PC00023+20                                     1925 06889000
         TM    ESTTYPE(@06),B'10000000'                            1925 06890000
         BNO   @RF01925                                            1925 06891000
         OI    UNTRTYPE,B'10000000'                                1927 06892000
*              ELSE DO;    UNTRTYPE = ALTTRACK; END;               1929 06893000
         B     @RC01925                                            1929 06894000
@RF01925 DS    0H                                                  1930 06895000
         NI    UNTRTYPE,B'01111111'                                1930 06896000
*            CALL COUNTRKS;                                        1932 06897000
@RC01925 BAL   @14,COUNTRKS                                        1932 06898000
*/*          IF TRACK IS AN ALTERNATE                                */ 06899000
*            IF ESTTYPE = ALTTRACK                                 1933 06900000
*/*            THEN DECREMENT NUMBER OF AVAILABLE ALTERNATE          */ 06901000
*/*             TRACKS BY ONE (ALTCOUNT)                             */ 06902000
*              THEN DO;    ALTCOUNT = ALTCOUNT - 1; END;           1933 06903000
         L     @06,@PC00023+20                                     1933 06904000
         TM    ESTTYPE(@06),B'10000000'                            1933 06905000
         BNZ   @RF01933                                            1933 06906000
         L     @06,ALTCOUNT                                        1935 06907000
         BCTR  @06,0                                               1935 06908000
         ST    @06,ALTCOUNT                                        1935 06909000
*/*          END-THEN                                                */ 06910000
*            END;                                                  1937 06911000
*/*        ELSE                                                      */ 06912000
*          ELSE DO;                                                1938 06913000
*                                                                  1938 06914000
         B     @RC01921                                            1938 06915000
@RF01921 DS    0H                                                  1939 06916000
*/*          IF THE DEFECT-FLAG IS SET DUE TO RECOVERY               */ 06917000
*            IF (ESTRCODE = DFLAGONP) | (ESTRCODE = DFLAGONA)      1939 06918000
*/*            THEN SAVE THE DEFECT-FLAG SETTING                     */ 06919000
*              THEN DO;    ESTDFLAG = DEFECTIV; END;               1939 06920000
         L     @06,ESTRCODE                                        1939 06921000
         CH    @06,@CH00116                                        1939 06922000
         BE    @RT01939                                            1939 06923000
         CH    @06,@CH00119                                        1939 06924000
         BNE   @RF01939                                            1939 06925000
@RT01939 DS    0H                                                  1940 06926000
         L     @06,@PC00023+8                                      1941 06927000
         OI    ESTDFLAG(@06),B'10000000'                           1941 06928000
*/*          IF TRACK IS ASSOCIATED WITH ANOTHER TRACK               */ 06929000
*            IF ESTASSOC ^= ESTADDR                                1943 06930000
*/*            THEN SET ACTION TO SAVE THE ASSOCIATION ADDRESS       */ 06931000
*              THEN DO;                                            1943 06932000
@RF01939 L     @06,@PC00023+4                                      1943 06933000
         L     @15,@PC00023                                        1943 06934000
         CLC   ESTASSOC(4,@06),ESTADDR(@15)                        1943 06935000
         BE    @RF01943                                            1943 06936000
*                RZACTION = ACTWRZSL;                              1945 06937000
         MVC   RZACTION(4),@CF00276                                1945 06938000
*                DATAPTR = ADDR(ESTASSOC);                         1946 06939000
         ST    @06,DATAPTR                                         1946 06940000
*                DATALEN = LENGTH(ESTASSOC);                       1947 06941000
         MVC   DATALEN(4),@CF00044                                 1947 06942000
*                END;                                              1948 06943000
*/*            ELSE ASSOCIATE TRACK TO ITSELF                        */ 06944000
*              ELSE DO;                                            1949 06945000
         B     @RC01943                                            1949 06946000
@RF01943 DS    0H                                                  1950 06947000
*                RZACTION = ACTWRZS;                               1950 06948000
         MVC   RZACTION(4),@CF00161                                1950 06949000
*                DATAPTR = ADDR(ESTADDR);                          1951 06950000
         L     @06,@PC00023                                        1951 06951000
         ST    @06,DATAPTR                                         1951 06952000
*                DATALEN = LENGTH(ESTADDR);                        1952 06953000
         MVC   DATALEN(4),@CF00044                                 1952 06954000
*                END;                                              1953 06955000
*/*          WRITE A STANDARD-LENGTH RECORD-ZERO (UDEVOP)            */ 06956000
*            CALL ICKDVOP0 (GDTTBL                                 1954 06957000
*                   ,VOLIB                                         1954 06958000
*                   ,RZACTION                                      1954 06959000
*                   ,ESTADDR                                       1954 06960000
*                   ,RECNUM                                        1954 06961000
*                   ,POOLID                                        1954 06962000
*                   ,DATAPTR                                       1954 06963000
*                   ,DATALEN                                       1954 06964000
*                   ,ESTRCODE);                                    1954 06965000
@RC01943 L     @06,@PC00001                                        1954 06966000
         ST    @06,@AL00001                                        1954 06967000
         LA    @15,VOLIB                                           1954 06968000
         ST    @15,@AL00001+4                                      1954 06969000
         LA    @15,RZACTION                                        1954 06970000
         ST    @15,@AL00001+8                                      1954 06971000
         L     @15,@PC00023                                        1954 06972000
         ST    @15,@AL00001+12                                     1954 06973000
         LA    @15,RECNUM                                          1954 06974000
         ST    @15,@AL00001+16                                     1954 06975000
         LA    @15,POOLID                                          1954 06976000
         ST    @15,@AL00001+20                                     1954 06977000
         LA    @15,DATAPTR                                         1954 06978000
         ST    @15,@AL00001+24                                     1954 06979000
         LA    @15,DATALEN                                         1954 06980000
         ST    @15,@AL00001+28                                     1954 06981000
         LA    @15,ESTRCODE                                        1954 06982000
         ST    @15,@AL00001+32                                     1954 06983000
         L     @15,GDTDOP(,@06)                                    1954 06984000
         LA    @01,@AL00001                                        1954 06985000
         BALR  @14,@15                                             1954 06986000
*/*          IF WRITE OPERATION FAILS                                */ 06987000
*            IF ESTRCODE = CPFAILS                                 1955 06988000
*/*            THEN                                                  */ 06989000
*              THEN DO;                                            1955 06990000
*                                                                  1955 06991000
         CLC   ESTRCODE(4),@CF00044                                1955 06992000
         BNE   @RF01955                                            1955 06993000
*/*              SET FLAG TO INDICATE TRACK IS UNRECOVERABLE         */ 06994000
*                ESTRFLAG = NORCVR;                                1957 06995000
         L     @06,@PC00023+12                                     1957 06996000
         NI    ESTRFLAG(@06),B'01111111'                           1957 06997000
*/*              COUNT_UNRECOVERABLE_TRACKS                          */ 06998000
*                UNTRACK = ESTADDR;                                1958 06999000
         L     @06,@PC00023                                        1958 07000000
         MVC   UNTRACK(4),ESTADDR(@06)                             1958 07001000
*                IF ESTTYPE = PRITRACK                             1959 07002000
*                  THEN DO;    UNTRTYPE = PRITRACK; END;           1959 07003000
         L     @06,@PC00023+20                                     1959 07004000
         TM    ESTTYPE(@06),B'10000000'                            1959 07005000
         BNO   @RF01959                                            1959 07006000
         OI    UNTRTYPE,B'10000000'                                1961 07007000
*                  ELSE DO;    UNTRTYPE = ALTTRACK; END;           1963 07008000
         B     @RC01959                                            1963 07009000
@RF01959 DS    0H                                                  1964 07010000
         NI    UNTRTYPE,B'01111111'                                1964 07011000
*                CALL COUNTRKS;                                    1966 07012000
@RC01959 BAL   @14,COUNTRKS                                        1966 07013000
*/*              IF THE TRACK IS AN ALTERNATE                        */ 07014000
*                IF ESTTYPE = ALTTRACK                             1967 07015000
*/*                THEN DECREMENT NUMBER OF AVAILABLE ALTERNATE      */ 07016000
*/*                 TRACKS BY ONE (ALTCOUNT)                         */ 07017000
*                  THEN DO;    ALTCOUNT = ALTCOUNT - 1; END;       1967 07018000
         L     @06,@PC00023+20                                     1967 07019000
         TM    ESTTYPE(@06),B'10000000'                            1967 07020000
         BNZ   @RF01967                                            1967 07021000
         L     @06,ALTCOUNT                                        1969 07022000
         BCTR  @06,0                                               1969 07023000
         ST    @06,ALTCOUNT                                        1969 07024000
*/*              END-THEN                                            */ 07025000
*                END;                                              1971 07026000
*/*            ELSE                                                  */ 07027000
*              ELSE DO;                                            1972 07028000
*                                                                  1972 07029000
         B     @RC01955                                            1972 07030000
@RF01955 DS    0H                                                  1973 07031000
*/*              IF THE DEFECT-FLAG IS SET DUE TO RECOVERY           */ 07032000
*                IF (ESTRCODE = DFLAGONP) | (ESTRCODE = DFLAGONA)  1973 07033000
*/*                THEN SAVE THE DEFECT-FLAG SETTING                 */ 07034000
*                  THEN DO;    ESTDFLAG = DEFECTIV; END;           1973 07035000
         L     @06,ESTRCODE                                        1973 07036000
         CH    @06,@CH00116                                        1973 07037000
         BE    @RT01973                                            1973 07038000
         CH    @06,@CH00119                                        1973 07039000
         BNE   @RF01973                                            1973 07040000
@RT01973 DS    0H                                                  1974 07041000
         L     @06,@PC00023+8                                      1975 07042000
         OI    ESTDFLAG(@06),B'10000000'                           1975 07043000
*/*              END-ELSE                                            */ 07044000
*                END;                                              1977 07045000
*/*          END-ELSE                                                */ 07046000
*            END;                                                  1978 07047000
*/*      END-THEN                                                    */ 07048000
*        END;                                                      1979 07049000
*/*  END-SUB-PROCEDURE ESTABLISH_TRACK_INTEGRITY                     */ 07050000
*    END ESTTRINT;                                                 1980 07051000
*                                                                  1980 07052000
@EL00023 DS    0H                                                  1980 07053000
@EF00023 DS    0H                                                  1980 07054000
@ER00023 LM    @14,@12,@SA00023                                    1980 07055000
         BR    @14                                                 1980 07056000
         EJECT                                                          07057000
*/*****  START OF SPECIFICATIONS  ************************************/ 07058000
*/*                                                                  */ 07059000
*/*  SUB-PROCEDURE NAME:  DCVTPROC                                   */ 07060000
*/*                                                                  */ 07061000
*/*  DESCRIPTIVE NAME:  DISCRETE-TRACK ADDRESS CONVERTOR             */ 07062000
*/*                                                                  */ 07063000
*/*  FUNCTION:                                                       */ 07064000
*/*                                                                  */ 07065000
*/*    CONVERTS A HEXADECIMAL DISCRETE-TRACK ADDRESS IN CHARACTER    */ 07066000
*/*    STRING FORM (9 BYTES LONG) TO INTERNAL HEXADECIMAL            */ 07067000
*/*    REPRESENTATION.                                               */ 07068000
*/*                                                                  */ 07069000
*/*                                                                  */ 07070000
*/*****  END OF SPECIFICATIONS  **************************************/ 07071000
*                                                                  1981 07072000
*                                                                  1981 07073000
*DCVTPROC:                                                         1981 07074000
*  PROCEDURE                                                       1981 07075000
*    (                                                             1981 07076000
*    DCVTSRCE,                                                     1981 07077000
*    DCVTCCHH,                                                     1981 07078000
*    DCVTLEGL                                                      1981 07079000
*    );                                                            1981 07080000
*                                                                  1981 07081000
DCVTPROC STM   @14,@12,@SA00024                                    1981 07082000
         MVC   @PC00024(12),0(@01)                                 1981 07083000
*DECLARE                                                           1982 07084000
*  DCVTSRCE                   CHAR(9),                             1982 07085000
*  1 DCVTCCHH                 FIXED(32),                           1982 07086000
*    2 DCVTCC                 FIXED(16),                           1982 07087000
*    2 DCVTHH                 FIXED(16),                           1982 07088000
*  DCVTLEGL                   BIT(1);                              1982 07089000
*                                                                  1982 07090000
*DECLARE                                                           1983 07091000
*  DCVTHEXC(16)               CHAR(1)  INIT                        1983 07092000
*                             ('0','1','2','3','4','5','6','7',    1983 07093000
*                                  '8','9','A','B','C','D','E','F'),    07094000
*  DCVTHEXN(16)               FIXED(8)  INIT                       1983 07095000
*                             (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),  07096000
*  DCVTSTR                    CHAR(9),                             1983 07097000
*  DCVTI                      FIXED(15);                           1983 07098000
*                                                                  1983 07099000
*OLDERID2 = NEWERID2;                                              1984 07100000
         L     @06,@PC00001                                        1984 07101000
         L     @06,GDTTR2(,@06)                                    1984 07102000
         MVC   @TS00001(95),NEWERID2(@06)                          1984 07103000
         MVC   OLDERID2(95,@06),@TS00001                           1984 07104000
*NEWID2 = 'INDC';                                                  1985 07105000
*                                                                  1985 07106000
         MVC   NEWID2(4,@06),@CC00960                              1985 07107000
*DO DCVTI = 1 TO 9 WHILE(DCVTSRCE(DCVTI:DCVTI) ^= ':');            1986 07108000
         LA    DCVTI,1                                             1986 07109000
@DL01986 L     @06,@PC00024                                        1986 07110000
         ALR   @06,DCVTI                                           1986 07111000
         BCTR  @06,0                                               1986 07112000
         CLI   DCVTSRCE(@06),C':'                                  1986 07113000
         BE    @DC01986                                            1986 07114000
*END;                                                              1987 07115000
*                                                                  1987 07116000
         AL    DCVTI,@CF00165                                      1987 07117000
         CH    DCVTI,@CH00260                                      1987 07118000
         BNH   @DL01986                                            1987 07119000
@DC01986 DS    0H                                                  1988 07120000
*IF DCVTI = 1  |  DCVTI >= 9                                       1988 07121000
*  THEN DCVTLEGL = NO;                                             1988 07122000
         CH    DCVTI,@CH00165                                      1988 07123000
         BE    @RT01988                                            1988 07124000
         CH    DCVTI,@CH00260                                      1988 07125000
         BL    @RF01988                                            1988 07126000
@RT01988 DS    0H                                                  1989 07127000
         L     @06,@PC00024+8                                      1989 07128000
         NI    DCVTLEGL(@06),B'01111111'                           1989 07129000
*  ELSE DO;                                                        1990 07130000
         B     @RC01988                                            1990 07131000
@RF01988 DS    0H                                                  1991 07132000
*    DCVTSTR = DCVTSRCE(1:DCVTI-1);                                1991 07133000
         MVI   DCVTSTR+1,C' '                                      1991 07134000
         MVC   DCVTSTR+2(7),DCVTSTR+1                              1991 07135000
         LR    @06,DCVTI                                           1991 07136000
         BCTR  @06,0                                               1991 07137000
         BCTR  @06,0                                               1991 07138000
         L     @03,@PC00024                                        1991 07139000
         EX    @06,@SM00991                                        1991 07140000
*    CALL DCVTCNVT (DCVTSTR,DCVTCC);                               1992 07141000
         LA    @06,DCVTSTR                                         1992 07142000
         ST    @06,@AL00001                                        1992 07143000
         L     @06,@PC00024+4                                      1992 07144000
         ST    @06,@AL00001+4                                      1992 07145000
         LA    @01,@AL00001                                        1992 07146000
         BAL   @14,DCVTCNVT                                        1992 07147000
*    IF DCVTLEGL = YES                                             1993 07148000
*      THEN DO;                                                    1993 07149000
         L     @06,@PC00024+8                                      1993 07150000
         TM    DCVTLEGL(@06),B'10000000'                           1993 07151000
         BNO   @RF01993                                            1993 07152000
*        DCVTSTR = DCVTSRCE(DCVTI+1:9);                            1995 07153000
         MVI   DCVTSTR+1,C' '                                      1995 07154000
         MVC   DCVTSTR+2(7),DCVTSTR+1                              1995 07155000
         LA    @06,8                                               1995 07156000
         SLR   @06,DCVTI                                           1995 07157000
         L     @03,@PC00024                                        1995 07158000
         ALR   @03,DCVTI                                           1995 07159000
         EX    @06,@SM00991                                        1995 07160000
*        CALL DCVTCNVT (DCVTSTR,DCVTHH);                           1996 07161000
         LA    @06,DCVTSTR                                         1996 07162000
         ST    @06,@AL00001                                        1996 07163000
         L     @06,@PC00024+4                                      1996 07164000
         LA    @06,DCVTHH(,@06)                                    1996 07165000
         ST    @06,@AL00001+4                                      1996 07166000
         LA    @01,@AL00001                                        1996 07167000
         BAL   @14,DCVTCNVT                                        1996 07168000
*        END;                                                      1997 07169000
*    END;                                                          1998 07170000
*                                                                  1998 07171000
*DCVTCNVT:                                                         1999 07172000
*  PROCEDURE                                                       1999 07173000
*    (                                                             1999 07174000
*    DCVTCHRS,                                                     1999 07175000
*    DCVTNUM                                                       1999 07176000
*    );                                                            1999 07177000
*                                                                  1999 07178000
         B     @PB00025                                            1999 07179000
DCVTCNVT STM   @14,@12,12(@13)                                     1999 07180000
         MVC   @PC00025(8),0(@01)                                  1999 07181000
*DECLARE                                                           2000 07182000
*  DCVTCHRS                       CHAR(9),                         2000 07183000
*  DCVTNUM                        FIXED(16);                       2000 07184000
*                                                                  2000 07185000
*DECLARE                                                           2001 07186000
*  DCVTMULT                       FIXED(16),                       2001 07187000
*  (DCVTII,DCVTJJ)                FIXED(15);                       2001 07188000
*                                                                  2001 07189000
*DCVTNUM = 0;                                                      2002 07190000
         L     @06,@PC00025+4                                      2002 07191000
         SLR   @03,@03                                             2002 07192000
         STH   @03,DCVTNUM(,@06)                                   2002 07193000
*DCVTMULT = 1;                                                     2003 07194000
         LA    DCVTMULT,1                                          2003 07195000
*DO DCVTII = 9 TO 1 BY -1;                                         2004 07196000
         LA    DCVTII,9                                            2004 07197000
@DL02004 DS    0H                                                  2005 07198000
*  DCVTLEGL = NO;                                                  2005 07199000
         L     @06,@PC00024+8                                      2005 07200000
         NI    DCVTLEGL(@06),B'01111111'                           2005 07201000
*  IF DCVTCHRS(DCVTII:DCVTII) ^= ' '                               2006 07202000
*    THEN DO;                                                      2006 07203000
         L     @06,@PC00025                                        2006 07204000
         ALR   @06,DCVTII                                          2006 07205000
         BCTR  @06,0                                               2006 07206000
         CLI   DCVTCHRS(@06),C' '                                  2006 07207000
         BE    @RF02006                                            2006 07208000
*      DO DCVTJJ = 1 TO 16 WHILE (DCVTLEGL = NO);                  2008 07209000
         LA    DCVTJJ,1                                            2008 07210000
@DL02008 L     @06,@PC00024+8                                      2008 07211000
         TM    DCVTLEGL(@06),B'10000000'                           2008 07212000
         BNZ   @DC02008                                            2008 07213000
*        IF DCVTCHRS(DCVTII:DCVTII) = DCVTHEXC(DCVTJJ)             2009 07214000
*          THEN IF DCVTMULT <= 4096                                2009 07215000
         L     @05,@PC00025                                        2009 07216000
         ALR   @05,DCVTII                                          2009 07217000
         BCTR  @05,0                                               2009 07218000
         LA    @01,DCVTHEXC-1(DCVTJJ)                              2009 07219000
         CLC   DCVTCHRS(1,@05),0(@01)                              2009 07220000
         BNE   @RF02009                                            2009 07221000
*            THEN DO;                                              2010 07222000
         CL    DCVTMULT,@CF00974                                   2010 07223000
         BH    @RF02010                                            2010 07224000
*              DCVTNUM = DCVTNUM + (DCVTMULT * DCVTHEXN(DCVTJJ));  2012 07225000
         L     @05,@PC00025+4                                      2012 07226000
         SLR   @01,@01                                             2012 07227000
         IC    @01,DCVTHEXN-1(DCVTJJ)                              2012 07228000
         MR    @00,DCVTMULT                                        2012 07229000
         MVC   @ZT00002+2(2),DCVTNUM(@05)                          2012 07230000
         AL    @01,@ZT00002                                        2012 07231000
         STH   @01,DCVTNUM(,@05)                                   2012 07232000
*              DCVTMULT = DCVTMULT * 16;                           2013 07233000
         SLL   DCVTMULT,4                                          2013 07234000
*              DCVTLEGL = YES;                                     2014 07235000
         OI    DCVTLEGL(@06),B'10000000'                           2014 07236000
*              END;                                                2015 07237000
*      END;                                                        2016 07238000
@RF02010 DS    0H                                                  2016 07239000
@RF02009 AL    DCVTJJ,@CF00165                                     2016 07240000
         CH    DCVTJJ,@CH00272                                     2016 07241000
         BNH   @DL02008                                            2016 07242000
@DC02008 DS    0H                                                  2017 07243000
*      IF DCVTLEGL = NO                                            2017 07244000
*        THEN RETURN;                                              2017 07245000
         L     @06,@PC00024+8                                      2017 07246000
         TM    DCVTLEGL(@06),B'10000000'                           2017 07247000
         BZ    @RT02017                                            2017 07248000
*      END;                                                        2019 07249000
*END;                                                              2020 07250000
*                                                                  2020 07251000
@RF02006 BCTR  DCVTII,0                                            2020 07252000
         LTR   DCVTII,DCVTII                                       2020 07253000
         BP    @DL02004                                            2020 07254000
*END DCVTCNVT;                                                     2021 07255000
*                                                                  2021 07256000
@EL00025 DS    0H                                                  2021 07257000
@EF00025 DS    0H                                                  2021 07258000
@ER00025 LM    @14,@12,12(@13)                                     2021 07259000
         BR    @14                                                 2021 07260000
*END DCVTPROC;                                                     2022 07261000
*                                                                  2022 07262000
@EL00024 DS    0H                                                  2022 07263000
@EF00024 DS    0H                                                  2022 07264000
@ER00024 LM    @14,@12,@SA00024                                    2022 07265000
         BR    @14                                                 2022 07266000
@PB00024 DS    0H                                                  2022 07267000
*/*  END-PROCEDURE INITIALIZE_COMMAND_CONTROLLER                     */ 07268000
*                                                                  2023 07269000
*    END ICKIN01                                                   2023 07270000
*/* THE FOLLOWING INCLUDE STATEMENTS WERE FOUND IN THIS PROGRAM.      * 07271000
*/*%INCLUDE SYSLIB  (DMSDF01 )                                        * 07272000
*/*%INCLUDE SYSLIB  (DMSDF00 )                                        * 07273000
*/*@INCLUDE SYSLIB  (DMSDF02 )                                        * 07274000
*/*%INCLUDE SYSLIB  (ICKCSIN )                                        * 07275000
*/*%INCLUDE SYSLIB  (DMSDF08 )                                        * 07276000
*;                                                                 2023 07277000
@DATA    DS    0H                                                       07278000
@CH00185 DC    H'7'                                                     07279000
@CH00260 DC    H'9'                                                     07280000
@CH00265 DC    H'12'                                                    07281000
@CH00272 DC    H'16'                                                    07282000
@SM00991 MVC   DCVTSTR(0),DCVTSRCE(@03)                                 07283000
@DATD    DSECT                                                          07284000
         DS    0F                                                       07285000
@SA00001 DS    18F                                                      07286000
@PC00001 DS    3F                                                       07287000
@SA00002 DS    15F                                                      07288000
@SA00003 DS    15F                                                      07289000
@SA00004 DS    15F                                                      07290000
@SA00005 DS    15F                                                      07291000
@SA00006 DS    15F                                                      07292000
@SA00007 DS    15F                                                      07293000
@SA00008 DS    15F                                                      07294000
@SA00009 DS    15F                                                      07295000
@SA00024 DS    15F                                                      07296000
@PC00024 DS    3F                                                       07297000
@SA00011 DS    15F                                                      07298000
@PC00011 DS    4F                                                       07299000
@SA00013 DS    15F                                                      07300000
@PC00013 DS    3F                                                       07301000
@SA00020 DS    15F                                                      07302000
@SA00014 DS    15F                                                      07303000
@SA00012 DS    15F                                                      07304000
@SA00015 DS    15F                                                      07305000
@SA00016 DS    15F                                                      07306000
@SA00017 DS    15F                                                      07307000
@SA00019 DS    15F                                                      07308000
@SA00021 DS    15F                                                      07309000
@SA00022 DS    15F                                                      07310000
@SA00010 DS    15F                                                      07311000
@SA00023 DS    15F                                                      07312000
@PC00023 DS    6F                                                       07313000
@PC00025 DS    2F                                                       07314000
@SA00018 DS    0F                                                       07315000
         DS    15F                                                      07316000
@AL00001 DS    9A                                                       07317000
@AFTEMPS DS    4F                                                       07318000
@ZTEMPS  DS    0F                                                       07319000
@ZT00002 DC    F'0'                                                     07320000
@ZTEMPND EQU   *                                                        07321000
@ZLEN    EQU   @ZTEMPND-@ZTEMPS                                         07322000
ICKIN01  CSECT                                                          07323000
         DS    0F                                                       07324000
@CF00094 DC    F'0'                                                     07325000
@CF00165 DC    F'1'                                                     07326000
@CH00165 EQU   @CF00165+2                                               07327000
@CF00116 DC    F'2'                                                     07328000
@CH00116 EQU   @CF00116+2                                               07329000
@CF00136 DC    F'3'                                                     07330000
@CH00136 EQU   @CF00136+2                                               07331000
@CF00044 DC    F'4'                                                     07332000
@CH00044 EQU   @CF00044+2                                               07333000
@CF00255 DC    F'5'                                                     07334000
@CH00255 EQU   @CF00255+2                                               07335000
@CF00119 DC    F'6'                                                     07336000
@CH00119 EQU   @CF00119+2                                               07337000
@CF00161 DC    F'8'                                                     07338000
@CH00161 EQU   @CF00161+2                                               07339000
@CF00267 DC    F'13'                                                    07340000
@CF00274 DC    F'17'                                                    07341000
@CF00276 DC    F'18'                                                    07342000
@CF00974 DC    F'4096'                                                  07343000
@DATD    DSECT                                                          07344000
         DS    0D                                                       07345000
LISTSCAN DS    A                                                        07346000
IOCSPTR  DS    A                                                        07347000
OPNPTR   DS    A                                                        07348000
DDSTRU   DS    A                                                        07349000
FSADDR   DS    A                                                        07350000
DMPINDEX DS    A                                                        07351000
RETCODE  DS    F                                                        07352000
VIBPTR   DS    A                                                        07353000
VIBLEN   DS    F                                                        07354000
RECNUM   DS    F                                                        07355000
DATAPTR  DS    A                                                        07356000
DATALEN  DS    F                                                        07357000
RZPTR    DS    A                                                        07358000
RZLEN    DS    F                                                        07359000
HAPTR    DS    A                                                        07360000
HALEN    DS    F                                                        07361000
VAACTION DS    F                                                        07362000
PACKTRAK DS    F                                                        07363000
PACKASC  DS    F                                                        07364000
VOLIB    DS    A                                                        07365000
OLDVTOC  DS    F                                                        07366000
LABELS   DS    F                                                        07367000
ALTCOUNT DS    F                                                        07368000
ALTPCNT  DS    F                                                        07369000
ALTPTR   DS    FL4                                                      07370000
         ORG   ALTPTR                                                   07371000
ALTPTRC  DS    FL2                                                      07372000
ALTPTRT  DS    FL2                                                      07373000
         ORG   ALTPTR+4                                                 07374000
VTOCLOC  DS    FL4                                                      07375000
         ORG   VTOCLOC                                                  07376000
VTOCLOCC DS    FL2                                                      07377000
VTOCLOCT DS    FL2                                                      07378000
         ORG   VTOCLOC+4                                                07379000
VTOCHI   DS    FL4                                                      07380000
         ORG   VTOCHI                                                   07381000
VTOCHIC  DS    FL2                                                      07382000
VTOCHIT  DS    FL2                                                      07383000
         ORG   VTOCHI+4                                                 07384000
VTOCEXT  DS    F                                                        07385000
UNTRACK  DS    FL4                                                      07386000
         ORG   UNTRACK                                                  07387000
UNTRACKC DS    FL2                                                      07388000
UNTRACKT DS    FL2                                                      07389000
         ORG   UNTRACK+4                                                07390000
COUNTUTR DS    F                                                        07391000
AVAILCNT DS    F                                                        07392000
CTRADDR  DS    FL4                                                      07393000
         ORG   CTRADDR                                                  07394000
CTRADDRC DS    FL2                                                      07395000
CTRADDRT DS    FL2                                                      07396000
         ORG   CTRADDR+4                                                07397000
RZCCHH   DS    FL4                                                      07398000
         ORG   RZCCHH                                                   07399000
RZCCHHC  DS    FL2                                                      07400000
RZCCHHT  DS    FL2                                                      07401000
         ORG   RZCCHH+4                                                 07402000
RZACCHH  DS    FL4                                                      07403000
         ORG   RZACCHH                                                  07404000
RZACCHHC DS    FL2                                                      07405000
RZACCHHT DS    FL2                                                      07406000
         ORG   RZACCHH+4                                                07407000
HAACTION DS    F                                                        07408000
RZACTION DS    F                                                        07409000
VIBTYPE  DS    F                                                        07410000
ALTRACK  DS    FL4                                                      07411000
         ORG   ALTRACK                                                  07412000
ALTRACKC DS    FL2                                                      07413000
ALTRACKT DS    FL2                                                      07414000
         ORG   ALTRACK+4                                                07415000
OBTRCODE DS    F                                                        07416000
ESTRCODE DS    F                                                        07417000
LISTPTR  DS    A                                                        07418000
SETRC    DS    H                                                        07419000
TESTRC   DS    H                                                        07420000
LISTLN   DS    FL1                                                      07421000
@TS00001 DS    CL95                                                     07422000
PRTSTR   DS    CL60                                                     07423000
         ORG   PRTSTR                                                   07424000
PRTHDR   DS    CL8                                                      07425000
PRTARGS  DS    CL52                                                     07426000
         ORG   PRTSTR+60                                                07427000
FTRKFLG  DS    BL1                                                      07428000
ALTFLAG  DS    BL1                                                      07429000
CHKFLG   DS    BL1                                                      07430000
LEGAL    DS    BL1                                                      07431000
TRACKTYP DS    BL1                                                      07432000
UNTRTYPE DS    BL1                                                      07433000
PRTFLG   DS    BL1                                                      07434000
PACKENT  DS    BL1                                                      07435000
DFLAGC   DS    BL1                                                      07436000
DFLAGA   DS    BL1                                                      07437000
RCVRFLAG DS    BL1                                                      07438000
TRSTATUS DS    BL1                                                      07439000
PRGFLG   DS    BL1                                                      07440000
LABFLAG  DS    BL1                                                      07441000
BOOTFLG  DS    BL1                                                      07442000
PACKDEF  DS    BL1                                                      07443000
PACKCHEK DS    BL1                                                      07444000
PACKRCVR DS    BL1                                                      07445000
PACKTRK  DS    BL1                                                      07446000
VLNSER   DS    CL6                                                      07447000
OWNERID  DS    CL14                                                     07448000
VALVOWN  DS    CL14                                                     07449000
VOLIMAGE DS    CL80                                                     07450000
OLDVSER  DS    CL6                                                      07451000
OLDOWNER DS    CL14                                                     07452000
MSSDEV   DS    CL8                                                      07453000
VIBNAME  DS    CL8                                                      07454000
DEVTYPE  DS    CL8                                                      07455000
RFLAG    DS    BL1                                                      07456000
DCVTSTR  DS    CL9                                                      07457000
         DS    CL1                                                      07458000
INFO     DS    CL12                                                     07459000
         ORG   INFO+0                                                   07460000
INFOPTR  DS    AL4                                                      07461000
INFOLEN  DS    FL4                                                      07462000
CONDCODE DS    FL4                                                      07463000
         ORG   INFO+108                                                 07464000
         ORG   *+1-(*-@DATD)/(*-@DATD) INSURE DSECT DATA                07465000
@ENDDATD EQU   *                                                        07466000
ICKIN01  CSECT                                                          07467000
         DS    0F                                                       07468000
@SIZDATD DC    AL1(0)                                                   07469000
         DC    AL3(@ENDDATD-@DATD)                                      07470000
@CV00759 DC    V(ICKVA01)                                               07471000
@CV00761 DC    V(ICKVV01)                                               07472000
@CV00762 DC    V(ICKRL01)                                               07473000
@CV00765 DC    V(ICKVP01)                                               07474000
@CV00774 DC    V(ICKWI01)                                               07475000
@CV00775 DC    V(ICKPP01)                                               07476000
@CV00825 DC    V(ICKWV01)                                               07477000
@CV00872 DC    V(ICKTA01)                                               07478000
@CV00877 DC    V(ICKRT01)                                               07479000
@CV00886 DC    V(ICKBM01)                                               07480000
@CV00891 DC    V(ICKAA01)                                               07481000
@CV00898 DC    V(ICKRA01)                                               07482000
@CV00905 DC    V(ICKRP01)                                               07483000
@CV00910 DC    V(ICKCL01)                                               07484000
         DS    0D                                                       07485000
@CC00755 DC    C'DARGLIST'                                              07486000
@CC00754 DC    C'IN00'                                                  07487000
@CC00776 DC    C'IN99'                                                  07488000
@CC00780 DC    C'INOP'                                                  07489000
@CC00785 DC    C'INPI'                                                  07490000
@CC00789 DC    C'INCP'                                                  07491000
@CC00794 DC    C'INEA'                                                  07492000
@CC00805 DC    C'INIA'                                                  07493000
@CC00813 DC    C'INIP'                                                  07494000
@CC00819 DC    C'INVL'                                                  07495000
@CC00824 DC    C'INVT'                                                  07496000
@CC00830 DC    C'INUT'                                                  07497000
@CC00842 DC    C'INOT'                                                  07498000
@CC00847 DC    C'INRZ'                                                  07499000
@CC00852 DC    C'INVA'                                                  07500000
@CC00867 DC    C'INDT'                                                  07501000
@CC00871 DC    C'INCH'                                                  07502000
@CC00876 DC    C'INRA'                                                  07503000
@CC00881 DC    C'INWD'                                                  07504000
@CC00885 DC    C'INBP'                                                  07505000
@CC00890 DC    C'INAA'                                                  07506000
@CC00897 DC    C'INRS'                                                  07507000
@CC00904 DC    C'INRP'                                                  07508000
@CC00909 DC    C'INCL'                                                  07509000
@CC00926 DC    C'INET'                                                  07510000
@CC00960 DC    C'INDC'                                                  07511000
@CC00533 DC    C'CC0'                                                   07512000
@CC00573 DC    C'UV0'                                                   07513000
@CC00781 DC    C'MSS'                                                   07514000
@CC00799 EQU   @CC00755                                                 07515000
@CC00800 DC    C'N'                                                     07516000
@CB00466 DC    B'10000000'                                              07517000
MODID    DC    CL4'IN01'                                                07518000
POOLID   DC    CL4'IN01'                                                07519000
PTCHIN01 DS    CL512                                                    07520000
         ORG   PTCHIN01                                                 07521000
@NM00020 DC    256X'00'                                                 07522000
@NM00021 DC    256X'00'                                                 07523000
         ORG   PTCHIN01+512                                             07524000
         DS    CL1                                                      07525000
INFOVECT DC    F'208'                                                   07526000
         DC    F'204'                                                   07527000
         DC    F'201'                                                   07528000
         DC    F'202'                                                   07529000
         DC    F'206'                                                   07530000
         DC    F'207'                                                   07531000
         DC    F'205'                                                   07532000
         DC    F'213'                                                   07533000
         DC    F'214'                                                   07534000
DCVTHEXC DC    CL1'0'                                                   07535000
         DC    CL1'1'                                                   07536000
         DC    CL1'2'                                                   07537000
         DC    CL1'3'                                                   07538000
         DC    CL1'4'                                                   07539000
         DC    CL1'5'                                                   07540000
         DC    CL1'6'                                                   07541000
         DC    CL1'7'                                                   07542000
         DC    CL1'8'                                                   07543000
         DC    CL1'9'                                                   07544000
         DC    CL1'A'                                                   07545000
         DC    CL1'B'                                                   07546000
         DC    CL1'C'                                                   07547000
         DC    CL1'D'                                                   07548000
         DC    CL1'E'                                                   07549000
         DC    CL1'F'                                                   07550000
DCVTHEXN DC    AL1(0)                                                   07551000
         DC    AL1(1)                                                   07552000
         DC    AL1(2)                                                   07553000
         DC    AL1(3)                                                   07554000
         DC    AL1(4)                                                   07555000
         DC    AL1(5)                                                   07556000
         DC    AL1(6)                                                   07557000
         DC    AL1(7)                                                   07558000
         DC    AL1(8)                                                   07559000
         DC    AL1(9)                                                   07560000
         DC    AL1(10)                                                  07561000
         DC    AL1(11)                                                  07562000
         DC    AL1(12)                                                  07563000
         DC    AL1(13)                                                  07564000
         DC    AL1(14)                                                  07565000
         DC    AL1(15)                                                  07566000
@00      EQU   00                      EQUATES FOR REGISTERS 0-15       07567000
@01      EQU   01                                                       07568000
@02      EQU   02                                                       07569000
@03      EQU   03                                                       07570000
@04      EQU   04                                                       07571000
@05      EQU   05                                                       07572000
@06      EQU   06                                                       07573000
@07      EQU   07                                                       07574000
@08      EQU   08                                                       07575000
@09      EQU   09                                                       07576000
@10      EQU   10                                                       07577000
@11      EQU   11                                                       07578000
@12      EQU   12                                                       07579000
@13      EQU   13                                                       07580000
@14      EQU   14                                                       07581000
@15      EQU   15                                                       07582000
DCVTJJ   EQU   @04                                                      07583000
DCVTII   EQU   @03                                                      07584000
DCVTMULT EQU   @02                                                      07585000
DCVTI    EQU   @02                                                      07586000
VTOCRTAH EQU   @02                                                      07587000
VTOCRTAL EQU   @03                                                      07588000
I        EQU   @02                                                      07589000
REG9     EQU   @09                                                      07590000
REG10    EQU   @10                                                      07591000
REG11    EQU   @11                                                      07592000
REG12    EQU   @12                                                      07593000
REG8     EQU   @08                                                      07594000
REG0     EQU   @00                                                      07595000
REG1     EQU   @01                                                      07596000
REG13    EQU   @13                                                      07597000
REG14    EQU   @14                                                      07598000
REG15    EQU   @15                                                      07599000
REG2     EQU   @02                                                      07600000
REG3     EQU   @03                                                      07601000
REG4     EQU   @04                                                      07602000
REG5     EQU   @05                                                      07603000
REG6     EQU   @06                                                      07604000
REG7     EQU   @07                                                      07605000
RTNREG   EQU   @15                                                      07606000
ICKSAEP0 EQU   0                                                        07607000
ICKSAFP0 EQU   0                                                        07608000
TRACE1   EQU   0                                                        07609000
OLDERID1 EQU   TRACE1                                                   07610000
TRACE2   EQU   0                                                        07611000
OLDERID2 EQU   TRACE2                                                   07612000
NEWID2   EQU   TRACE2+95                                                07613000
NEWERID2 EQU   5                                                        07614000
STAEPARM EQU   0                                                        07615000
STAEPFX  EQU   STAEPARM                                                 07616000
IOCSTR   EQU   0                                                        07617000
IOCDSO   EQU   IOCSTR+13                                                07618000
IOCRFM   EQU   IOCSTR+14                                                07619000
IOCMAC   EQU   IOCSTR+15                                                07620000
IOCMSG   EQU   IOCSTR+16                                                07621000
OPNAGL   EQU   0                                                        07622000
OPNOPT   EQU   OPNAGL                                                   07623000
OPNRFM   EQU   OPNAGL+1                                                 07624000
OPNTYP   EQU   OPNAGL+2                                                 07625000
OPNMOD   EQU   OPNAGL+3                                                 07626000
UVOLLIST EQU   0                                                        07627000
UVOLENT  EQU   UVOLLIST+2                                               07628000
ICKDVON0 EQU   0                                                        07629000
ICKDVIN0 EQU   0                                                        07630000
ICKDVOP0 EQU   0                                                        07631000
ICKDVCL0 EQU   0                                                        07632000
ICKTPPR0 EQU   0                                                        07633000
DARGLIST EQU   0                                                        07634000
DARGDBP  EQU   DARGLIST                                                 07635000
DARGSTID EQU   DARGLIST+8                                               07636000
DARGSMOD EQU   DARGSTID                                                 07637000
DARGSENT EQU   DARGSTID+3                                               07638000
DARGILP  EQU   DARGLIST+12                                              07639000
DARGCNT  EQU   DARGLIST+14                                              07640000
DARGARY  EQU   DARGLIST+20                                              07641000
DARGINS  EQU   DARGARY                                                  07642000
DARGINL  EQU   DARGARY+2                                                07643000
DARGDTM  EQU   DARGARY+4                                                07644000
FMTLIST  EQU   0                                                        07645000
FMTFLGS  EQU   FMTLIST                                                  07646000
FMTSPF   EQU   FMTLIST+2                                                07647000
FMTRFNO  EQU   FMTSPF                                                   07648000
FMTILEN  EQU   FMTRFNO                                                  07649000
FMTIOFF  EQU   FMTLIST+4                                                07650000
FMTTRBC  EQU   FMTIOFF                                                  07651000
FMTSTO   EQU   FMTTRBC                                                  07652000
FMTOCOL  EQU   FMTLIST+6                                                07653000
FMTCNVF  EQU   FMTLIST+10                                               07654000
ICKDB010 EQU   0                                                        07655000
DMPITM   EQU   0                                                        07656000
DMPARY   EQU   0                                                        07657000
DEVIC    EQU   0                                                        07658000
DEVICVAL EQU   DEVIC+1                                                  07659000
PURGE    EQU   0                                                        07660000
CHECK    EQU   0                                                        07661000
CHECKVAL EQU   CHECK                                                    07662000
NOCHK    EQU   0                                                        07663000
RECLA    EQU   0                                                        07664000
VTOC     EQU   0                                                        07665000
TRACK    EQU   0                                                        07666000
TRACKVAL EQU   TRACK+1                                                  07667000
EXTEN    EQU   0                                                        07668000
EXTENVAL EQU   EXTEN                                                    07669000
VOLID    EQU   0                                                        07670000
VOLIDVAL EQU   VOLID+1                                                  07671000
OWNER    EQU   0                                                        07672000
OWNERVAL EQU   OWNER+1                                                  07673000
LBL      EQU   0                                                        07674000
LBLVAL   EQU   LBL                                                      07675000
IPLDD    EQU   0                                                        07676000
IPLDDVAL EQU   IPLDD+1                                                  07677000
VALID    EQU   0                                                        07678000
NOVAL    EQU   0                                                        07679000
VERFY    EQU   0                                                        07680000
VSER     EQU   0                                                        07681000
VSERVAL  EQU   VSER+1                                                   07682000
VOWN     EQU   0                                                        07683000
VOWNVAL  EQU   VOWN+1                                                   07684000
MAP      EQU   0                                                        07685000
MIMIC    EQU   0                                                        07686000
MSS      EQU   0                                                        07687000
MINI     EQU   0                                                        07688000
DNAME    EQU   0                                                        07689000
DNAMEVAL EQU   DNAME+1                                                  07690000
DEVTY    EQU   0                                                        07691000
DEVTYVAL EQU   DEVTY+1                                                  07692000
BOOTS    EQU   0                                                        07693000
THRESHLD EQU   0                                                        07694000
TRKSPCYL EQU   0                                                        07695000
TOTALALT EQU   0                                                        07696000
FIRSTAL  EQU   0                                                        07697000
FINALT   EQU   0                                                        07698000
FINPRI   EQU   0                                                        07699000
FINPRIC  EQU   FINPRI                                                   07700000
FINPRIT  EQU   FINPRI+2                                                 07701000
DEFVTOC  EQU   0                                                        07702000
DEFVTOCC EQU   DEFVTOC                                                  07703000
DEFVTOCT EQU   DEFVTOC+2                                                07704000
DEFEXTEN EQU   0                                                        07705000
VIBPFLAG EQU   0                                                        07706000
RZADDROB EQU   0                                                        07707000
VOL1     EQU   0                                                        07708000
VOL1SER  EQU   VOL1+4                                                   07709000
VOL1VTOC EQU   VOL1+11                                                  07710000
VOL1OWNR EQU   VOL1+37                                                  07711000
DMPTRM   EQU   0                                                        07712000
HAIMAGE  EQU   0                                                        07713000
ICKIOCL0 EQU   0                                                        07714000
ICKIOGT0 EQU   0                                                        07715000
ICKIOIT0 EQU   0                                                        07716000
ICKIOOP0 EQU   0                                                        07717000
ICKIOPT0 EQU   0                                                        07718000
ICKIOTM0 EQU   0                                                        07719000
ICKSACL0 EQU   0                                                        07720000
ICKSADE0 EQU   0                                                        07721000
ICKSAFS0 EQU   0                                                        07722000
ICKSAGP0 EQU   0                                                        07723000
ICKSAGS0 EQU   0                                                        07724000
ICKSALD0 EQU   0                                                        07725000
ICKSAPR0 EQU   0                                                        07726000
ICKSASC0 EQU   0                                                        07727000
ICKSASN0 EQU   0                                                        07728000
ICKSAST0 EQU   0                                                        07729000
ICKSATI0 EQU   0                                                        07730000
ICKSAVC0 EQU   0                                                        07731000
ICKSAWO0 EQU   0                                                        07732000
ICKTPEA0 EQU   0                                                        07733000
ICKTPES0 EQU   0                                                        07734000
ICKTPRE0 EQU   0                                                        07735000
ICKTPRS0 EQU   0                                                        07736000
LISTTEST EQU   0                                                        07737000
NEWERID1 EQU   5                                                        07738000
NOBTS    EQU   0                                                        07739000
NOMAP    EQU   0                                                        07740000
NOPRG    EQU   0                                                        07741000
NOREC    EQU   0                                                        07742000
NOVER    EQU   0                                                        07743000
TOTALPRI EQU   0                                                        07744000
GDTTBL   EQU   0                                                        07745000
GDTTR1   EQU   GDTTBL+8                                                 07746000
GDTTR2   EQU   GDTTBL+12                                                07747000
GDTDIN   EQU   GDTTBL+44                                                07748000
GDTDOP   EQU   GDTTBL+48                                                07749000
GDTDBG   EQU   GDTTBL+52                                                07750000
GDTDVO   EQU   GDTTBL+56                                                07751000
GDTPRT   EQU   GDTTBL+60                                                07752000
GDTESS   EQU   GDTTBL+64                                                07753000
GDTESA   EQU   GDTTBL+68                                                07754000
GDTRST   EQU   GDTTBL+72                                                07755000
GDTRES   EQU   GDTTBL+76                                                07756000
GDTCAL   EQU   GDTTBL+80                                                07757000
GDTGSP   EQU   GDTTBL+84                                                07758000
GDTFSP   EQU   GDTTBL+88                                                07759000
GDTGPL   EQU   GDTTBL+92                                                07760000
GDTFPL   EQU   GDTTBL+96                                                07761000
GDTLOD   EQU   GDTTBL+100                                               07762000
GDTDEL   EQU   GDTTBL+104                                               07763000
GDTPRL   EQU   GDTTBL+108                                               07764000
GDTEPL   EQU   GDTTBL+112                                               07765000
GDTTIM   EQU   GDTTBL+116                                               07766000
GDTIIO   EQU   GDTTBL+120                                               07767000
GDTTIO   EQU   GDTTBL+124                                               07768000
GDTOPN   EQU   GDTTBL+136                                               07769000
GDTCLS   EQU   GDTTBL+140                                               07770000
GDTGET   EQU   GDTTBL+144                                               07771000
GDTPUT   EQU   GDTTBL+148                                               07772000
GDTSNP   EQU   GDTTBL+160                                               07773000
GDTWTO   EQU   GDTTBL+168                                               07774000
GDTSCR   EQU   GDTTBL+172                                               07775000
GDTVCK   EQU   GDTTBL+176                                               07776000
GDTDVC   EQU   GDTTBL+180                                               07777000
GDTSTE   EQU   GDTTBL+188                                               07778000
FDTTBL   EQU   0                                                        07779000
FDTPTR   EQU   FDTTBL+8                                                 07780000
LASTCOND EQU   0                                                        07781000
TRKADDR  EQU   0                                                        07782000
DFLAG    EQU   0                                                        07783000
RZADDR   EQU   0                                                        07784000
OBTRTYPE EQU   0                                                        07785000
VALADDR  EQU   0                                                        07786000
DFLAGV   EQU   0                                                        07787000
VALTRTYP EQU   0                                                        07788000
ESTADDR  EQU   0                                                        07789000
ESTASSOC EQU   0                                                        07790000
ESTDFLAG EQU   0                                                        07791000
ESTRFLAG EQU   0                                                        07792000
ESTCODE  EQU   0                                                        07793000
ESTTYPE  EQU   0                                                        07794000
DCVTSRCE EQU   0                                                        07795000
DCVTCCHH EQU   0                                                        07796000
DCVTCC   EQU   DCVTCCHH                                                 07797000
DCVTHH   EQU   DCVTCCHH+2                                               07798000
DCVTLEGL EQU   0                                                        07799000
DCVTCHRS EQU   0                                                        07800000
DCVTNUM  EQU   0                                                        07801000
         AGO   .@UNREFD                START UNREFERENCED COMPONENTS    07802000
ESTADDRH EQU   ESTADDR+2                                                07803000
ESTADDRC EQU   ESTADDR                                                  07804000
VALADDRH EQU   VALADDR+2                                                07805000
VALADDRC EQU   VALADDR                                                  07806000
TRKADDRH EQU   TRKADDR+2                                                07807000
TRKADDRC EQU   TRKADDR                                                  07808000
FDTVERB  EQU   FDTTBL                                                   07809000
GDTCVR   EQU   GDTTBL+184                                               07810000
GDTSPR   EQU   GDTTBL+164                                               07811000
GDTABH   EQU   GDTTBL+156                                               07812000
GDTABT   EQU   GDTTBL+152                                               07813000
GDTTOH   EQU   GDTTBL+132                                               07814000
GDTRIP   EQU   GDTTBL+128                                               07815000
GDTDVH   EQU   GDTTBL+40                                                07816000
GDTIOH   EQU   GDTTBL+36                                                07817000
GDTSAH   EQU   GDTTBL+32                                                07818000
GDTTPH   EQU   GDTTBL+28                                                07819000
GDTRIH   EQU   GDTTBL+24                                                07820000
GDTSTH   EQU   GDTTBL+20                                                07821000
GDTDBH   EQU   GDTTBL+16                                                07822000
GDTPRM   EQU   GDTTBL+4                                                 07823000
GDTHDR   EQU   GDTTBL                                                   07824000
VOL1STDV EQU   VOL1+79                                                  07825000
@NM00019 EQU   VOL1+51                                                  07826000
VOL1OLDO EQU   VOL1OWNR+4                                               07827000
VOL1OEXT EQU   VOL1OWNR                                                 07828000
@NM00018 EQU   VOL1+16                                                  07829000
VOL1ACC  EQU   VOL1+10                                                  07830000
VOL1NUM  EQU   VOL1+3                                                   07831000
VOL1ID   EQU   VOL1                                                     07832000
FINALTT  EQU   FINALT+2                                                 07833000
FINALTC  EQU   FINALT                                                   07834000
FIRSTALT EQU   FIRSTAL+2                                                07835000
FIRSTALC EQU   FIRSTAL                                                  07836000
DEVTYLEN EQU   DEVTY                                                    07837000
DNAMELEN EQU   DNAME                                                    07838000
MINIVAL  EQU   MINI                                                     07839000
VOWNLEN  EQU   VOWN                                                     07840000
VSERLEN  EQU   VSER                                                     07841000
IPLDDLEN EQU   IPLDD                                                    07842000
OWNERLEN EQU   OWNER                                                    07843000
VOLIDLEN EQU   VOLID                                                    07844000
TRACKLEN EQU   TRACK                                                    07845000
DEVICLEN EQU   DEVIC                                                    07846000
@NM00017 EQU   DMPARY+15                                                07847000
DMPARYTP EQU   DMPARY+14                                                07848000
DMPARYEX EQU   DMPARY+12                                                07849000
DMPARYIC EQU   DMPARY+10                                                07850000
DMPARYSZ EQU   DMPARY+8                                                 07851000
DMPARYNM EQU   DMPARY                                                   07852000
@NM00016 EQU   DMPITM+15                                                07853000
DMPITMTP EQU   DMPITM+14                                                07854000
DMPITMLN EQU   DMPITM+12                                                07855000
DMPITMPT EQU   DMPITM+8                                                 07856000
DMPITMNM EQU   DMPITM                                                   07857000
@NM00015 EQU   FMTCNVF+1                                                07858000
FMTBS    EQU   FMTCNVF+1                                                07859000
FMTSS    EQU   FMTCNVF+1                                                07860000
FMTAL    EQU   FMTCNVF+1                                                07861000
FMTZS    EQU   FMTCNVF+1                                                07862000
@NM00014 EQU   FMTCNVF                                                  07863000
FMTPU    EQU   FMTCNVF                                                  07864000
FMTBD    EQU   FMTCNVF                                                  07865000
FMTBHD   EQU   FMTCNVF                                                  07866000
FMTBHA   EQU   FMTCNVF                                                  07867000
FMTBH    EQU   FMTCNVF                                                  07868000
FMTOLEN  EQU   FMTLIST+8                                                07869000
FMTRIO   EQU   FMTOCOL                                                  07870000
FMTSPT   EQU   FMTSTO                                                   07871000
FMTSTL   EQU   FMTILEN                                                  07872000
@NM00013 EQU   FMTFLGS+1                                                07873000
FMTHDF   EQU   FMTFLGS                                                  07874000
FMTDFF   EQU   FMTFLGS                                                  07875000
FMTSTF   EQU   FMTFLGS                                                  07876000
FMTREPF  EQU   FMTFLGS                                                  07877000
FMTBDF   EQU   FMTFLGS                                                  07878000
FMTIDF   EQU   FMTFLGS                                                  07879000
FMTSCF   EQU   FMTFLGS                                                  07880000
FMTEOLF  EQU   FMTFLGS                                                  07881000
DARGPCT  EQU   DARGINL                                                  07882000
DARGREP  EQU   DARGINS                                                  07883000
@NM00012 EQU   DARGLIST+19                                              07884000
DARGIND  EQU   DARGLIST+18                                              07885000
DARGRETL EQU   DARGLIST+16                                              07886000
DARGRETP EQU   DARGLIST+4                                               07887000
UVOLVOL  EQU   UVOLENT+4                                                07888000
UVOLDEV  EQU   UVOLENT                                                  07889000
UVOLCNT  EQU   UVOLLIST                                                 07890000
OPNRSVD  EQU   OPNAGL+28                                                07891000
OPNVOL   EQU   OPNAGL+24                                                07892000
OPNBLK   EQU   OPNAGL+20                                                07893000
OPNREC   EQU   OPNAGL+16                                                07894000
OPNDSN   EQU   OPNAGL+12                                                07895000
OPNDDN   EQU   OPNAGL+8                                                 07896000
OPNIOC   EQU   OPNAGL+4                                                 07897000
@NM00011 EQU   OPNMOD                                                   07898000
OPNMODRC EQU   OPNMOD                                                   07899000
OPNMODAC EQU   OPNMOD                                                   07900000
@NM00010 EQU   OPNTYP                                                   07901000
OPNTYPSO EQU   OPNTYP                                                   07902000
OPNTYPSI EQU   OPNTYP                                                   07903000
@NM00009 EQU   OPNRFM                                                   07904000
OPNRFMBK EQU   OPNRFM                                                   07905000
OPNRFMSF EQU   OPNRFM                                                   07906000
OPNRFMUN EQU   OPNRFM                                                   07907000
OPNRFMVR EQU   OPNRFM                                                   07908000
OPNRFMFX EQU   OPNRFM                                                   07909000
@NM00008 EQU   OPNOPT                                                   07910000
OPNOPTJM EQU   OPNOPT                                                   07911000
OPNOPTKS EQU   OPNOPT                                                   07912000
OPNOPTBK EQU   OPNOPT                                                   07913000
OPNOPTUP EQU   OPNOPT                                                   07914000
OPNOPTOT EQU   OPNOPT                                                   07915000
OPNOPTIN EQU   OPNOPT                                                   07916000
IOCEXT   EQU   IOCSTR+36                                                07917000
IOCRRN   EQU   IOCSTR+32                                                07918000
@NM00007 EQU   IOCSTR+30                                                07919000
IOCPNM   EQU   IOCSTR+28                                                07920000
IOCCBP   EQU   IOCSTR+24                                                07921000
IOCDSN   EQU   IOCSTR+20                                                07922000
@NM00006 EQU   IOCSTR+17                                                07923000
@NM00005 EQU   IOCMSG                                                   07924000
IOCMSGOP EQU   IOCMSG                                                   07925000
IOCMACPA EQU   IOCMAC                                                   07926000
@NM00004 EQU   IOCMAC                                                   07927000
IOCMACBK EQU   IOCMAC                                                   07928000
IOCMACUP EQU   IOCMAC                                                   07929000
IOCMACOT EQU   IOCMAC                                                   07930000
IOCMACIN EQU   IOCMAC                                                   07931000
@NM00003 EQU   IOCRFM                                                   07932000
IOCRFMBK EQU   IOCRFM                                                   07933000
IOCRFMSF EQU   IOCRFM                                                   07934000
IOCRFMUN EQU   IOCRFM                                                   07935000
IOCRFMVR EQU   IOCRFM                                                   07936000
IOCRFMFX EQU   IOCRFM                                                   07937000
@NM00002 EQU   IOCDSO                                                   07938000
IOCDSOPS EQU   IOCDSO                                                   07939000
IOCKYL   EQU   IOCSTR+12                                                07940000
IOCTRN   EQU   IOCSTR+8                                                 07941000
IOCDLN   EQU   IOCSTR+4                                                 07942000
IOCDAD   EQU   IOCSTR                                                   07943000
STAEWORK EQU   STAEPARM+32                                              07944000
STARPTR  EQU   STAEPFX+28                                               07945000
STASPTR  EQU   STAEPFX+24                                               07946000
STALEN   EQU   STAEPFX+20                                               07947000
STAID    EQU   STAEPFX+16                                               07948000
STAEPA   EQU   STAEPFX+12                                               07949000
STAGDT   EQU   STAEPFX+8                                                07950000
STABPTR  EQU   STAEPFX+4                                                07951000
STAFPTR  EQU   STAEPFX                                                  07952000
NEWID1   EQU   TRACE1+95                                                07953000
CALLID   EQU   OLDERID1+90                                              07954000
@NM00001 EQU   OLDERID1                                                 07955000
.@UNREFD ANOP                          END UNREFERENCED COMPONENTS      07956000
@RF00273 EQU   @RC00255                                                 07957000
@RC00305 EQU   @RC00303                                                 07958000
@RF00346 EQU   @RC00335                                                 07959000
@RC00369 EQU   @RC00360                                                 07960000
@RF00455 EQU   @EL00002                                                 07961000
@RF00457 EQU   @EL00002                                                 07962000
@RF00460 EQU   @EL00002                                                 07963000
@RF00488 EQU   @EL00004                                                 07964000
@RF00556 EQU   @RC00546                                                 07965000
@RF00559 EQU   @RC00546                                                 07966000
@RC00561 EQU   @RC00546                                                 07967000
@RF00636 EQU   @RC00546                                                 07968000
@RF00682 EQU   @RC00546                                                 07969000
@RF00704 EQU   @RC00701                                                 07970000
@RC00706 EQU   @RC00701                                                 07971000
@RF00769 EQU   @RC00701                                                 07972000
@RF00815 EQU   @RC00701                                                 07973000
@RC00836 EQU   @RC00833                                                 07974000
@RF00841 EQU   @RC00833                                                 07975000
@RT00869 EQU   @EL00005                                                 07976000
@RF00896 EQU   @RC00893                                                 07977000
@RF00920 EQU   @RC00918                                                 07978000
@RC00922 EQU   @RC00918                                                 07979000
@RF01000 EQU   @RC00998                                                 07980000
@RF01013 EQU   @RC00998                                                 07981000
@RF01025 EQU   @RC01023                                                 07982000
@RC01027 EQU   @RC01023                                                 07983000
@RF01043 EQU   @RC01023                                                 07984000
@RF01132 EQU   @EL00008                                                 07985000
@RF01171 EQU   @EL00009                                                 07986000
@RF01234 EQU   @EL00010                                                 07987000
@RF01283 EQU   @RC01272                                                 07988000
@RC01247 EQU   @EL00011                                                 07989000
@RC01313 EQU   @EL00012                                                 07990000
@RF01330 EQU   @EL00012                                                 07991000
@RF01339 EQU   @EL00012                                                 07992000
@RC01342 EQU   @EL00012                                                 07993000
@RF01355 EQU   @EL00012                                                 07994000
@RC01376 EQU   @EL00013                                                 07995000
@RC01393 EQU   @EL00013                                                 07996000
@RC01406 EQU   @EL00014                                                 07997000
@RC01414 EQU   @EL00014                                                 07998000
@RC01469 EQU   @EL00015                                                 07999000
@RF01474 EQU   @EL00015                                                 08000000
@RF01485 EQU   @EL00015                                                 08001000
@RC01496 EQU   @EL00016                                                 08002000
@RC01550 EQU   @EL00017                                                 08003000
@RF01577 EQU   @EL00017                                                 08004000
@RF01599 EQU   @EL00018                                                 08005000
ENDLOOP1 EQU   @EL00019                                                 08006000
ENDLOOP2 EQU   @EL00020                                                 08007000
@RF01823 EQU   @EL00021                                                 08008000
@RC01862 EQU   @RC01860                                                 08009000
@RF01877 EQU   @EL00022                                                 08010000
@RF01891 EQU   @RC01889                                                 08011000
@RC01893 EQU   @RC01889                                                 08012000
@RF01918 EQU   @EL00023                                                 08013000
@RC01921 EQU   @EL00023                                                 08014000
@RC01955 EQU   @EL00023                                                 08015000
@RF01973 EQU   @EL00023                                                 08016000
@PB00023 EQU   @PB00024                                                 08017000
@RT02017 EQU   @EL00025                                                 08018000
@PB00025 EQU   @EL00024                                                 08019000
@RC00563 EQU   @RC00561                                                 08020000
@RF00620 EQU   @RC00561                                                 08021000
@RC00708 EQU   @RC00706                                                 08022000
@RC00731 EQU   @RC00706                                                 08023000
@RF00736 EQU   @RC00706                                                 08024000
@RF01258 EQU   @RC01247                                                 08025000
@RF01324 EQU   @RC01313                                                 08026000
@RF01349 EQU   @RC01342                                                 08027000
@RF01387 EQU   @RC01376                                                 08028000
@RF01710 EQU   ENDLOOP2                                                 08029000
@PB00022 EQU   @PB00023                                                 08030000
@RF01933 EQU   @RC01921                                                 08031000
@RF01967 EQU   @RC01955                                                 08032000
@RC01988 EQU   @PB00025                                                 08033000
@RF01993 EQU   @PB00025                                                 08034000
@RF00566 EQU   @RC00563                                                 08035000
@RF00569 EQU   @RC00563                                                 08036000
@RC00710 EQU   @RC00708                                                 08037000
@RF00716 EQU   @RC00708                                                 08038000
@RC00718 EQU   @RC00708                                                 08039000
@PB00021 EQU   @PB00022                                                 08040000
@PB00020 EQU   @PB00021                                                 08041000
@PB00019 EQU   @PB00020                                                 08042000
@PB00018 EQU   @PB00019                                                 08043000
@PB00017 EQU   @PB00018                                                 08044000
@PB00016 EQU   @PB00017                                                 08045000
@PB00015 EQU   @PB00016                                                 08046000
@PB00014 EQU   @PB00015                                                 08047000
@PB00013 EQU   @PB00014                                                 08048000
@PB00012 EQU   @PB00013                                                 08049000
@PB00011 EQU   @PB00012                                                 08050000
@PB00010 EQU   @PB00011                                                 08051000
@PB00009 EQU   @PB00010                                                 08052000
@PB00008 EQU   @PB00009                                                 08053000
@PB00007 EQU   @PB00008                                                 08054000
@PB00006 EQU   @PB00007                                                 08055000
@PB00005 EQU   @PB00006                                                 08056000
@PB00004 EQU   @PB00005                                                 08057000
@PB00003 EQU   @PB00004                                                 08058000
@PB00002 EQU   @PB00003                                                 08059000
@ENDDATA EQU   *                                                        08060000
         END   ICKIN01,(C'PLS1847',0701,78192)                          08061000
