TITLE '***** ICGTRDST MSS TRACE SDG AND RWU DISTRIBUTION REPOR*00001000 RT **** ' 00002000 ICGTRDST CSECT , 0001 00003000 @MAINENT DS 0H 0001 00004000 USING *,@15 0001 00005000 B @PROLOG 0001 00006000 DC AL1(16) 0001 00007000 DC C'ICGTRDST 77.089' 0001 00008000 DROP @15 00009000 @PROLOG STM @14,@12,12(@13) 0001 00010000 BALR @12,0 0001 00011000 @PSTART LA @11,4095(,@12) 0001 00012000 LA @10,4095(,@11) 0001 00013000 USING @PSTART,@12 0001 00014000 USING @PSTART+4095,@11 0001 00015000 USING @PSTART+8190,@10 0001 00016000 L @00,@SIZDATD 0001 00017000 GETMAIN R,LV=(0) 00018000 LR @09,@01 0001 00019000 USING @DATD,@09 0001 00020000 ST @13,@SA00001+4 0001 00021000 LM @00,@01,20(@13) 0001 00022000 ST @09,8(,@13) 0001 00023000 LR @13,@09 0001 00024000 L R1,0(R1) 00025000 * PARMPTR=R1; /* SAVE PARMS LOCATION @Y30LB40*/ 00026000 LR PARMPTR,R1 0097 00027000 * RFY 0098 00028000 * R1 UNRSTD; /* @Y30LB40*/ 00029000 * RFY 0099 00030000 * (R0, 0099 00031000 * R1) RSTD; /* @Y30LB40*/ 00032000 * R0=LENGTH(DSARRAY); /* @ZA16140*/ 00033000 L R0,@CF00997 0100 00034000 * GEN(GETMAIN R,LV=(0)); /* GETMAIN FOR ARRAYS @Y30LB40*/ 00035000 GETMAIN R,LV=(0) 00036000 * ARRAYLOC=R1; /* @Y30LB40*/ 00037000 LR ARRAYLOC,R1 0102 00038000 * RFY 0103 00039000 * (R0, 0103 00040000 * R1) UNRSTD; /* @Y30LB40*/ 00041000 * RCDCOUNT=0; /* INITIALIZE VARIABLES @Y30LB40*/ 00042000 SLR @15,@15 0104 00043000 ST @15,RCDCOUNT 0104 00044000 * RETURNCD=0; /* @Y30LB40*/ 00045000 STH @15,RETURNCD 0105 00046000 * TIMESL=600; /* @Y30LB40*/ 00047000 MVC TIMESL(4),@CF00865 0106 00048000 * HOUR=0; /* @Y30LB40*/ 00049000 ST @15,HOUR 0107 00050000 * MINUTE=0; /* @Y30LB40*/ 00051000 ST @15,MINUTE 0108 00052000 * SECOND=0; /* @Y30LB40*/ 00053000 ST @15,SECOND 0109 00054000 * SELECTSW='0'B; /* @Y30LB40*/ 00055000 NI SELECTSW,B'01111111' 0110 00056000 * LINECNT=56; /* @Y30LB40*/ 00057000 LA LINECNT,56 0111 00058000 * OPENCLOS=0; /* @Y30LB40*/ 00059000 ST @15,OPENCLOS 0112 00060000 * OPCLB1='10000000'B; /* @Y30LB40*/ 00061000 MVI OPCLB1,B'10000000' 0113 00062000 * PAGECNT=0; /* @Y30LB40*/ 00063000 ST @15,PAGECNT 0114 00064000 * EOFSW='0'B; /* @Y30LB40*/ 00065000 NI EOFSW,B'01111111' 0115 00066000 * HLDSYR=0; /* @Y30LB40*/ 00067000 MVI HLDSYR,X'00' 0116 00068000 * HLDSDAY=1; /* @Y30LB40*/ 00069000 LA @14,1 0117 00070000 STH @14,HLDSDAY 0117 00071000 * HLDSTIME=0; /* @Y30LB40*/ 00072000 ST @15,HLDSTIME 0118 00073000 * HLDEYR=99; /* @Y30LB40*/ 00074000 MVI HLDEYR,X'63' 0119 00075000 * HLDEDAY=365; /* @Y30LB40*/ 00076000 MVC HLDEDAY(2),@CH00870 0120 00077000 * HLDETIME=86399; /* @Y30LB40*/ 00078000 MVC HLDETIME(4),@CF00871 0121 00079000 * PARMSW='D'; /* @Y30LB40*/ 00080000 MVI PARMSW,C'D' 0122 00081000 * FIRSTSW='1'B; /* @Y30LB40*/ 00082000 OI FIRSTSW,B'10000000' 0123 00083000 * PARMERR='0'B; /* @Y30LB40*/ 00084000 NI PARMERR,B'01111111' 0124 00085000 * DATEINSW='0'B; /* @Y30LB40*/ 00086000 NI DATEINSW,B'01111111' 0125 00087000 * SPACE1=' '; /* @Y30LB40*/ 00088000 MVI SPACE1+1,C' ' 0126 00089000 MVC SPACE1+2(119),SPACE1+1 0126 00090000 MVI SPACE1,C' ' 0126 00091000 * DO J=1 TO 28; /* @ZA16140*/ 00092000 ST @14,J 0127 00093000 @DL00127 DS 0H 0128 00094000 * DO K=1 TO 2; /* @ZA16140*/ 00095000 LA @15,1 0128 00096000 ST @15,K 0128 00097000 @DL00128 DS 0H 0129 00098000 * DO L=1 TO 11; /* @ZA16140*/ 00099000 LA @15,1 0129 00100000 ST @15,L 0129 00101000 @DL00129 DS 0H 0130 00102000 * CALL CALCDSA(J,K,L); /* @ZA16140*/ 00103000 LA @15,J 0130 00104000 ST @15,@AL00001 0130 00105000 LA @15,K 0130 00106000 ST @15,@AL00001+4 0130 00107000 LA @15,L 0130 00108000 ST @15,@AL00001+8 0130 00109000 LA @01,@AL00001 0130 00110000 BAL @14,CALCDSA 0130 00111000 * DSB1=0; /* @ZA16140*/ 00112000 SLR @15,@15 0131 00113000 L @14,ARRAYPTR 0131 00114000 ST @15,DSB1(,@14) 0131 00115000 * DSB2=0; /* @ZA16140*/ 00116000 ST @15,DSB2(,@14) 0132 00117000 * DSB3=0; /* @ZA16140*/ 00118000 ST @15,DSB3(,@14) 0133 00119000 * DSB4=0; /* @ZA16140*/ 00120000 ST @15,DSB4(,@14) 0134 00121000 * DSB5=0; /* @ZA16140*/ 00122000 ST @15,DSB5(,@14) 0135 00123000 * DSB6=0; /* @ZA16140*/ 00124000 ST @15,DSB6(,@14) 0136 00125000 * DSB7=0; /* @ZA16140*/ 00126000 ST @15,DSB7(,@14) 0137 00127000 * DSB8=0; /* @ZA16140*/ 00128000 ST @15,DSB8(,@14) 0138 00129000 * DSB9=0; /* @ZA16140*/ 00130000 ST @15,DSB9(,@14) 0139 00131000 * DSB10=0; /* @ZA16140*/ 00132000 ST @15,DSB10(,@14) 0140 00133000 * DSB11=0; /* @ZA16140*/ 00134000 ST @15,DSB11(,@14) 0141 00135000 * END; /* @Y30LB40*/ 00136000 LA @15,1 0142 00137000 AL @15,L 0142 00138000 ST @15,L 0142 00139000 C @15,@CF00033 0142 00140000 BNH @DL00129 0142 00141000 * END; /* @Y30LB40*/ 00142000 LA @15,1 0143 00143000 AL @15,K 0143 00144000 ST @15,K 0143 00145000 C @15,@CF00051 0143 00146000 BNH @DL00128 0143 00147000 * END; /* @Y30LB40*/ 00148000 LA @14,1 0144 00149000 AL @14,J 0144 00150000 ST @14,J 0144 00151000 C @14,@CF00615 0144 00152000 BNH @DL00127 0144 00153000 * GEN(MVC PRNTDCB(PDCBL),PPATDCB);/* SETUP PRINT DCB @Y30LB40*/ 00154000 MVC PRNTDCB(PDCBL),PPATDCB 00155000 * GEN(MVC INDCB(IDCBL),IPATDCB);/* SETUP INPUT DCB @Y30LB40*/ 00156000 MVC INDCB(IDCBL),IPATDCB 00157000 * RFY 0147 00158000 * (R0, 0147 00159000 * R1, 0147 00160000 * R14, 0147 00161000 * R15) RSTD; /* @Y30LB40*/ 00162000 * GEN(OPEN (PRNTDCB,(OUTPUT)),MF=(E,OPENCLOS));/* OPEN PRINT DCB */ 00163000 OPEN (PRNTDCB,(OUTPUT)),MF=(E,OPENCLOS) 00164000 * RFY 0149 00165000 * (R0, 0149 00166000 * R1, 0149 00167000 * R14, 0149 00168000 * R15) UNRSTD; /* @Y30LB40*/ 00169000 * IF(PRNTDCB(49:49)&'00010000'B)^='00010000'B THEN 0150 00170000 MVC @TS00001(1),PRNTDCB+48 0150 00171000 NI @TS00001,B'00010000' 0150 00172000 CLI @TS00001,B'00010000' 0150 00173000 BE @RF00150 0150 00174000 * DO; /* OPEN BAD,EXIT WITH RC=4 0151 00175000 * @Y30LB40*/ 00176000 * RETURN CODE(4); /* @Y30LB40*/ 00177000 L @13,4(,@13) 0152 00178000 L @00,@SIZDATD 0152 00179000 LR @01,@09 0152 00180000 FREEMAIN R,LV=(0),A=(1) 00181000 LA @15,4 0152 00182000 L @14,12(,@13) 0152 00183000 LM @00,@12,20(@13) 0152 00184000 BR @14 0152 00185000 * END; /* @Y30LB40*/ 00186000 * RFY 0154 00187000 * (R0, 0154 00188000 * R1, 0154 00189000 * R14, 0154 00190000 * R15) RSTD; /* @Y30LB40*/ 00191000 @RF00150 DS 0H 0155 00192000 * GEN(OPEN (INDCB,(INPUT)),MF=(E,OPENCLOS));/* OPEN INPUT DCB */ 00193000 OPEN (INDCB,(INPUT)),MF=(E,OPENCLOS) 00194000 * RFY 0156 00195000 * (R0, 0156 00196000 * R1, 0156 00197000 * R14, 0156 00198000 * R15) UNRSTD; /* @Y30LB40*/ 00199000 * IF(INDCB(49:49)&'00010000'B)^='00010000'B THEN 0157 00200000 MVC @TS00001(1),INDCB+48 0157 00201000 NI @TS00001,B'00010000' 0157 00202000 CLI @TS00001,B'00010000' 0157 00203000 BE @RF00157 0157 00204000 * DO; /* OPEN BAD @Y30LB40*/ 00205000 * DSLINE=TRINMSG; /* @Y30LB40*/ 00206000 MVI DSLINE+31,C' ' 0159 00207000 MVC DSLINE+32(89),DSLINE+31 0159 00208000 MVC DSLINE(31),TRINMSG 0159 00209000 * RFY 0160 00210000 * (R0, 0160 00211000 * R1, 0160 00212000 * R14, 0160 00213000 * R15) RSTD; /* @Y30LB40*/ 00214000 * GEN(PUT PRNTDCB,DSLINE); /* PRINT ERROR MESSAGE @Y30LB40*/ 00215000 PUT PRNTDCB,DSLINE 00216000 * RFY 0162 00217000 * (R0, 0162 00218000 * R1, 0162 00219000 * R14, 0162 00220000 * R15) UNRSTD; /* @Y30LB40*/ 00221000 * RETURNCD=8; /* EXIT WITH RC=8 @Y30LB40*/ 00222000 MVC RETURNCD(2),@CH00069 0163 00223000 * GO TO CLOSEFIL; /* @Y30LB40*/ 00224000 B CLOSEFIL 0164 00225000 * END; /* @Y30LB40*/ 00226000 * IF PARMLEN=0 THEN 0166 00227000 @RF00157 LH @15,PARMLEN(,PARMPTR) 0166 00228000 LTR @15,@15 0166 00229000 BZ @RT00166 0166 00230000 * GO TO PARMEND; /* IF NO PARMS,BYPASS PROCESS */ 00231000 * IF PARMLEN>31 /* @OZ05079*/ 00232000 * THEN 0168 00233000 C @15,@CF00067 0168 00234000 BNH @RF00168 0168 00235000 * DO; /* IF PARMS TOO LONG,EXIT WITH 0169 00236000 * ERROR SWITCH ON @Y30LB40*/ 00237000 * PARMERR='1'B; /* @Y30LB40*/ 00238000 OI PARMERR,B'10000000' 0170 00239000 * GO TO PARMEND; /* @Y30LB40*/ 00240000 B PARMEND 0171 00241000 * END; /* @Y30LB40*/ 00242000 * PARMHOLD(1:1)=','; /* @Y30LB40*/ 00243000 @RF00168 MVI PARMHOLD,C',' 0173 00244000 * MVC(PARMHOLD(2:31),PARMHOLD); /* SET PARMHOLD TO ALL 0174 00245000 * COMMAS,,,,,,, */ 00246000 MVC PARMHOLD+1(30),PARMHOLD 0174 00247000 * SS=1; /* SET SUBSTRING POINTER TO 1 0175 00248000 * @Y30LB40*/ 00249000 LA SS,1 0175 00250000 * PARMHOLD(1:PARMLEN)=PARMS; /* MOVE PARMS TO PARMHOLD 0176 00251000 * @Y30LB40*/ 00252000 LH @15,PARMLEN(,PARMPTR) 0176 00253000 BCTR @15,0 0176 00254000 EX @15,@SM01014 0176 00255000 * IF PARMHOLD(1:1)=',' /* WAS REPORT SELECTOR ENTERED 0177 00256000 * @Y30LB40*/ 00257000 * THEN 0177 00258000 CLI PARMHOLD,C',' 0177 00259000 BNE @RF00177 0177 00260000 * SS=2; /* NO,BUMP TO NEXT VALUE @Y30LB40*/ 00261000 LA SS,2 0178 00262000 * ELSE 0179 00263000 * DO; /* YES,CHECK FOR D OR R @Y30LB40*/ 00264000 B @RC00177 0179 00265000 @RF00177 DS 0H 0180 00266000 * IF PARMHOLD(1:1)='D'|PARMHOLD(1:1)='R' THEN 0180 00267000 CLI PARMHOLD,C'D' 0180 00268000 BE @RT00180 0180 00269000 CLI PARMHOLD,C'R' 0180 00270000 BNE @RF00180 0180 00271000 @RT00180 DS 0H 0181 00272000 * DO; /* @Y30LB40*/ 00273000 * PARMSW=PARMHOLD(1:1); /* VALID SELECTOR,SAVE IT */ 00274000 MVC PARMSW(1),PARMHOLD 0182 00275000 * SS=3; /* @Y30LB40*/ 00276000 LA SS,3 0183 00277000 * END; /* @Y30LB40*/ 00278000 * ELSE 0185 00279000 * DO; /* @Y30LB40*/ 00280000 B @RC00180 0185 00281000 @RF00180 DS 0H 0186 00282000 * PARMERR='1'B; /* ERROR,BAD SELECTOR @Y30LB40*/ 00283000 OI PARMERR,B'10000000' 0186 00284000 * GO TO PARMEND; /* @Y30LB40*/ 00285000 B PARMEND 0187 00286000 * END; /* @Y30LB40*/ 00287000 * END; /* @Y30LB40*/ 00288000 @RC00180 DS 0H 0190 00289000 * IF PARMHOLD(SS:SS)=',' /* WAS TIME SLICE ENTERED 0190 00290000 * @Y30LB40*/ 00291000 * THEN 0190 00292000 @RC00177 LA @07,PARMHOLD-1(SS) 0190 00293000 CLI 0(@07),C',' 0190 00294000 BNE @RF00190 0190 00295000 * SS=SS+1; /* NO,BUMP TO NEXT VALUE @Y30LB40*/ 00296000 AL SS,@CF00044 0191 00297000 * ELSE 0192 00298000 * DO; /* YES @Y30LB40*/ 00299000 B @RC00190 0192 00300000 @RF00190 DS 0H 0193 00301000 * DO J=SS TO(SS+2); /* CHECK FOR NON NUMERICS 0193 00302000 * @Y30LB40*/ 00303000 LR @07,SS 0193 00304000 B @DE00193 0193 00305000 @DL00193 DS 0H 0194 00306000 * IF PARMHOLD(J:J)>='0'&PARMHOLD(J:J)<='9' THEN 0194 00307000 LA @03,PARMHOLD-1(@07) 0194 00308000 CLI 0(@03),C'0' 0194 00309000 BL @RF00194 0194 00310000 LA @03,PARMHOLD-1(@07) 0194 00311000 CLI 0(@03),C'9' 0194 00312000 BNH @RT00194 0194 00313000 * ; /* @Y30LB40*/ 00314000 * ELSE 0196 00315000 * PARMERR='1'B; /* ERROR,NON NUMERIC FOUND 0196 00316000 * @Y30LB40*/ 00317000 @RF00194 OI PARMERR,B'10000000' 0196 00318000 * END; /* @Y30LB40*/ 00319000 @RT00194 LA @07,1 0197 00320000 AL @07,J 0197 00321000 @DE00193 ST @07,J 0197 00322000 LA @03,2 0197 00323000 ALR @03,SS 0197 00324000 CR @07,@03 0197 00325000 BNH @DL00193 0197 00326000 * IF PARMERR='1'B THEN 0198 00327000 TM PARMERR,B'10000000' 0198 00328000 BO @RT00198 0198 00329000 * GO TO PARMEND; /* @Y30LB40*/ 00330000 * IF PARMHOLD(SS:SS+2)='000' THEN 0200 00331000 LA @07,PARMHOLD-1(SS) 0200 00332000 CLC 0(3,@07),@CC00881 0200 00333000 BNE @RF00200 0200 00334000 * DO; /* ERROR,TIME SLICE CANNOT BE 0201 00335000 * ZERO */ 00336000 * PARMERR='1'B; /* @Y30LB40*/ 00337000 OI PARMERR,B'10000000' 0202 00338000 * GO TO PARMEND; /* @Y30LB40*/ 00339000 B PARMEND 0203 00340000 * END; /* @Y30LB40*/ 00341000 * PACK(DOUBLEWD,PARMHOLD(SS:SS+2));/* TIME SLICE OK,CONVERT IT */ 00342000 @RF00200 LA @07,PARMHOLD-1(SS) 0205 00343000 PACK DOUBLEWD(8),0(3,@07) 0205 00344000 * CVB(TIMESL,DOUBLEWD); /* @Y30LB40*/ 00345000 CVB @07,DOUBLEWD 0206 00346000 ST @07,TIMESL 0206 00347000 * TIMESL=TIMESL*60; /* @Y30LB40*/ 00348000 MH @07,@CH00335 0207 00349000 ST @07,TIMESL 0207 00350000 * SS=SS+4; /* BUMP TO NEXT VALUE @Y30LB40*/ 00351000 AL SS,@CF00104 0208 00352000 * END; /* @Y30LB40*/ 00353000 * IF PARMHOLD(SS:SS)=',' /* WERE DATES ENTERED @Y30LB40*/ 00354000 * THEN 0210 00355000 @RC00190 LA @07,PARMHOLD-1(SS) 0210 00356000 CLI 0(@07),C',' 0210 00357000 BNE @RF00210 0210 00358000 * SS=SS+1; /* NO,BUMP TO NEXT VALUE @Y30LB40*/ 00359000 AL SS,@CF00044 0211 00360000 * ELSE 0212 00361000 * DO; /* YES,CHECK FOR NON NUMERICS 0212 00362000 * @Y30LB40*/ 00363000 B @RC00210 0212 00364000 @RF00210 DS 0H 0213 00365000 * DO J=SS TO(SS+9); /* @Y30LB40*/ 00366000 LR @07,SS 0213 00367000 B @DE00213 0213 00368000 @DL00213 DS 0H 0214 00369000 * IF PARMHOLD(J:J)>='0'&PARMHOLD(J:J)<='9' THEN 0214 00370000 LA @03,PARMHOLD-1(@07) 0214 00371000 CLI 0(@03),C'0' 0214 00372000 BL @RF00214 0214 00373000 LA @03,PARMHOLD-1(@07) 0214 00374000 CLI 0(@03),C'9' 0214 00375000 BNH @RT00214 0214 00376000 * ; /* @Y30LB40*/ 00377000 * ELSE 0216 00378000 * PARMERR='1'B; /* ERROR,NON NUMERIC FOUND 0216 00379000 * @Y30LB40*/ 00380000 @RF00214 OI PARMERR,B'10000000' 0216 00381000 * END; /* @Y30LB40*/ 00382000 @RT00214 LA @07,1 0217 00383000 AL @07,J 0217 00384000 @DE00213 ST @07,J 0217 00385000 LA @03,9 0217 00386000 ALR @03,SS 0217 00387000 CR @07,@03 0217 00388000 BNH @DL00213 0217 00389000 * IF PARMERR='1'B THEN 0218 00390000 TM PARMERR,B'10000000' 0218 00391000 BO @RT00218 0218 00392000 * GO TO PARMEND; /* @Y30LB40*/ 00393000 * PACK(DOUBLEWD,PARMHOLD(SS:SS+1));/* CONVERT DATES @Y30LB40*/ 00394000 LA @07,PARMHOLD-1(SS) 0220 00395000 PACK DOUBLEWD(8),0(2,@07) 0220 00396000 * CVB(HLDSYR,DOUBLEWD); /* @Y30LB40*/ 00397000 CVB @07,DOUBLEWD 0221 00398000 STC @07,HLDSYR 0221 00399000 * PACK(DOUBLEWD,PARMHOLD(SS+2:SS+4));/* @Y30LB40*/ 00400000 LA @07,PARMHOLD+1(SS) 0222 00401000 PACK DOUBLEWD(8),0(3,@07) 0222 00402000 * CVB(HLDSDAY,DOUBLEWD); /* @Y30LB40*/ 00403000 CVB @07,DOUBLEWD 0223 00404000 STH @07,HLDSDAY 0223 00405000 * PACK(DOUBLEWD,PARMHOLD(SS+5:SS+6));/* @Y30LB40*/ 00406000 LA @03,PARMHOLD+4(SS) 0224 00407000 PACK DOUBLEWD(8),0(2,@03) 0224 00408000 * CVB(HLDEYR,DOUBLEWD); /* @Y30LB40*/ 00409000 CVB @03,DOUBLEWD 0225 00410000 STC @03,HLDEYR 0225 00411000 * PACK(DOUBLEWD,PARMHOLD(SS+7:SS+9));/* @Y30LB40*/ 00412000 LA @03,PARMHOLD+6(SS) 0226 00413000 PACK DOUBLEWD(8),0(3,@03) 0226 00414000 * CVB(HLDEDAY,DOUBLEWD); /* @Y30LB40*/ 00415000 CVB @03,DOUBLEWD 0227 00416000 STH @03,HLDEDAY 0227 00417000 * IF HLDSDAY>0&HLDSDAY<366 /* CHECK FOR VALID DAYS */ 00418000 * THEN 0228 00419000 LTR @07,@07 0228 00420000 BNP @RF00228 0228 00421000 C @07,@CF00884 0228 00422000 BL @RT00228 0228 00423000 * ; /* @Y30LB40*/ 00424000 * ELSE 0230 00425000 * DO; /* @Y30LB40*/ 00426000 @RF00228 DS 0H 0231 00427000 * IF HLDSDAY=366 THEN 0231 00428000 CLC HLDSDAY(2),@CH00884 0231 00429000 BNE @RF00231 0231 00430000 * DO; /* CHECK FOR LEAP YEAR @Y30LB40*/ 00431000 * IF(CKSTIME(1:1)&'00000011'B)^='00000000'B THEN 0233 00432000 MVC @TS00001(1),CKSTIME 0233 00433000 NI @TS00001,B'00000011' 0233 00434000 CLI @TS00001,B'00000000' 0233 00435000 BE @RF00233 0233 00436000 * PARMERR='1'B; /* ERROR,BAD DAY @Y30LB40*/ 00437000 OI PARMERR,B'10000000' 0234 00438000 * END; /* @Y30LB40*/ 00439000 * ELSE 0236 00440000 * PARMERR='1'B; /* ERROR,BAD DAY @Y30LB40*/ 00441000 B @RC00231 0236 00442000 @RF00231 OI PARMERR,B'10000000' 0236 00443000 * END; /* @Y30LB40*/ 00444000 @RC00231 DS 0H 0238 00445000 * IF HLDEDAY>0&HLDEDAY<366 /* CHECK FOR VALID DAYS */ 00446000 * THEN 0238 00447000 @RT00228 LH @07,HLDEDAY 0238 00448000 LTR @07,@07 0238 00449000 BNP @RF00238 0238 00450000 C @07,@CF00884 0238 00451000 BL @RT00238 0238 00452000 * ; /* @Y30LB40*/ 00453000 * ELSE 0240 00454000 * DO; /* @Y30LB40*/ 00455000 @RF00238 DS 0H 0241 00456000 * IF HLDEDAY=366 THEN 0241 00457000 CLC HLDEDAY(2),@CH00884 0241 00458000 BNE @RF00241 0241 00459000 * DO; /* CHECK FOR LEAP YEAR @Y30LB40*/ 00460000 * IF(CKETIME(1:1)&'00000011'B)^='00000000'B THEN 0243 00461000 MVC @TS00001(1),CKETIME 0243 00462000 NI @TS00001,B'00000011' 0243 00463000 CLI @TS00001,B'00000000' 0243 00464000 BE @RF00243 0243 00465000 * PARMERR='1'B; /* ERROR,BAD DAY @Y30LB40*/ 00466000 OI PARMERR,B'10000000' 0244 00467000 * END; /* @Y30LB40*/ 00468000 * ELSE 0246 00469000 * PARMERR='1'B; /* ERROR,BAD DAY @Y30LB40*/ 00470000 B @RC00241 0246 00471000 @RF00241 OI PARMERR,B'10000000' 0246 00472000 * END; /* @Y30LB40*/ 00473000 @RC00241 DS 0H 0248 00474000 * IF HLDSYR<=HLDEYR /* CHECK YEARS AND DAYS IN 0248 00475000 * COMBINATION */ 00476000 * THEN 0248 00477000 @RT00238 CLC HLDSYR(1),HLDEYR 0248 00478000 BNH @RT00248 0248 00479000 * ; /* @Y30LB40*/ 00480000 * ELSE 0250 00481000 * PARMERR='1'B; /* @Y30LB40*/ 00482000 OI PARMERR,B'10000000' 0250 00483000 * IF HLDSDAY<=HLDEDAY THEN 0251 00484000 @RT00248 LH @07,HLDSDAY 0251 00485000 CH @07,HLDEDAY 0251 00486000 BNH @RT00251 0251 00487000 * ; /* @Y30LB40*/ 00488000 * ELSE 0253 00489000 * DO; /* @Y30LB40*/ 00490000 * IF HLDSYR=HLDEYR THEN 0254 00491000 CLC HLDSYR(1),HLDEYR 0254 00492000 BNE @RF00254 0254 00493000 * PARMERR='1'B; /* @Y30LB40*/ 00494000 OI PARMERR,B'10000000' 0255 00495000 * END; /* @Y30LB40*/ 00496000 @RF00254 DS 0H 0257 00497000 * IF PARMERR='1'B THEN 0257 00498000 @RT00251 TM PARMERR,B'10000000' 0257 00499000 BO @RT00257 0257 00500000 * GO TO PARMEND; /* @Y30LB40*/ 00501000 * DATEINSW='1'B; /* DATES OK, SET INDICATOR 0259 00502000 * @Y30LB40*/ 00503000 OI DATEINSW,B'10000000' 0259 00504000 * SS=SS+11; /* BUMP TO NEXT VALUE @Y30LB40*/ 00505000 AL SS,@CF00033 0260 00506000 * END; /* @Y30LB40*/ 00507000 * IF PARMHOLD(SS:SS)=',' /* WERE TIMES ENTERED @Y30LB40*/ 00508000 * THEN 0262 00509000 @RC00210 LA @07,PARMHOLD-1(SS) 0262 00510000 CLI 0(@07),C',' 0262 00511000 BNE @RF00262 0262 00512000 * SS=SS+1; /* NO,BUMP TO NEXT VALUE @Y30LB40*/ 00513000 AL SS,@CF00044 0263 00514000 * ELSE 0264 00515000 * DO; /* @Y30LB40*/ 00516000 B @RC00262 0264 00517000 @RF00262 DS 0H 0265 00518000 * DO J=SS TO(SS+7); /* YES,CHECK FOR NON NUMERICS 0265 00519000 * @Y30LB40*/ 00520000 LR @07,SS 0265 00521000 B @DE00265 0265 00522000 @DL00265 DS 0H 0266 00523000 * IF PARMHOLD(J:J)>='0'&PARMHOLD(J:J)<='9' THEN 0266 00524000 LA @03,PARMHOLD-1(@07) 0266 00525000 CLI 0(@03),C'0' 0266 00526000 BL @RF00266 0266 00527000 LA @03,PARMHOLD-1(@07) 0266 00528000 CLI 0(@03),C'9' 0266 00529000 BNH @RT00266 0266 00530000 * ; /* @Y30LB40*/ 00531000 * ELSE 0268 00532000 * PARMERR='1'B; /* ERROR,NON NUMERIC FOUND 0268 00533000 * @Y30LB40*/ 00534000 @RF00266 OI PARMERR,B'10000000' 0268 00535000 * END; /* @Y30LB40*/ 00536000 @RT00266 LA @07,1 0269 00537000 AL @07,J 0269 00538000 @DE00265 ST @07,J 0269 00539000 LA @03,7 0269 00540000 ALR @03,SS 0269 00541000 CR @07,@03 0269 00542000 BNH @DL00265 0269 00543000 * IF PARMERR='1'B THEN 0270 00544000 TM PARMERR,B'10000000' 0270 00545000 BO @RT00270 0270 00546000 * GO TO PARMEND; /* @Y30LB40*/ 00547000 * PACK(DOUBLEWD,PARMHOLD(SS:SS+1));/* CONVERT TIMES @Y30LB40*/ 00548000 LA @07,PARMHOLD-1(SS) 0272 00549000 PACK DOUBLEWD(8),0(2,@07) 0272 00550000 * CVB(TIMEWORK,DOUBLEWD); /* @Y30LB40*/ 00551000 CVB TIMEWORK,DOUBLEWD 0273 00552000 * IF TIMEWORK>23 THEN 0274 00553000 C TIMEWORK,@CF00887 0274 00554000 BNH @RF00274 0274 00555000 * PARMERR='1'B; /* @Y30LB40*/ 00556000 OI PARMERR,B'10000000' 0275 00557000 * ELSE 0276 00558000 * HLDSTIME=TIMEWORK*3600; /* @Y30LB40*/ 00559000 B @RC00274 0276 00560000 @RF00274 LR @07,TIMEWORK 0276 00561000 MH @07,@CH00888 0276 00562000 ST @07,HLDSTIME 0276 00563000 * PACK(DOUBLEWD,PARMHOLD(SS+2:SS+3));/* @Y30LB40*/ 00564000 @RC00274 LA @07,PARMHOLD+1(SS) 0277 00565000 PACK DOUBLEWD(8),0(2,@07) 0277 00566000 * CVB(TIMEWORK,DOUBLEWD); /* @Y30LB40*/ 00567000 CVB TIMEWORK,DOUBLEWD 0278 00568000 * IF TIMEWORK>59 THEN 0279 00569000 C TIMEWORK,@CF00889 0279 00570000 BNH @RF00279 0279 00571000 * PARMERR='1'B; /* @Y30LB40*/ 00572000 OI PARMERR,B'10000000' 0280 00573000 * ELSE 0281 00574000 * HLDSTIME=HLDSTIME+(TIMEWORK*60);/* @Y30LB40*/ 00575000 B @RC00279 0281 00576000 @RF00279 LR @07,TIMEWORK 0281 00577000 MH @07,@CH00335 0281 00578000 AL @07,HLDSTIME 0281 00579000 ST @07,HLDSTIME 0281 00580000 * PACK(DOUBLEWD,PARMHOLD(SS+4:SS+5));/* @Y30LB40*/ 00581000 @RC00279 LA @07,PARMHOLD+3(SS) 0282 00582000 PACK DOUBLEWD(8),0(2,@07) 0282 00583000 * CVB(TIMEWORK,DOUBLEWD); /* @Y30LB40*/ 00584000 CVB TIMEWORK,DOUBLEWD 0283 00585000 * IF TIMEWORK>23 THEN 0284 00586000 C TIMEWORK,@CF00887 0284 00587000 BNH @RF00284 0284 00588000 * PARMERR='1'B; /* @Y30LB40*/ 00589000 OI PARMERR,B'10000000' 0285 00590000 * ELSE 0286 00591000 * HLDETIME=TIMEWORK*3600; /* @Y30LB40*/ 00592000 B @RC00284 0286 00593000 @RF00284 LR @07,TIMEWORK 0286 00594000 MH @07,@CH00888 0286 00595000 ST @07,HLDETIME 0286 00596000 * PACK(DOUBLEWD,PARMHOLD(SS+6:SS+7));/* @Y30LB40*/ 00597000 @RC00284 LA @07,PARMHOLD+5(SS) 0287 00598000 PACK DOUBLEWD(8),0(2,@07) 0287 00599000 * CVB(TIMEWORK,DOUBLEWD); /* @Y30LB40*/ 00600000 CVB TIMEWORK,DOUBLEWD 0288 00601000 * IF TIMEWORK>59 THEN 0289 00602000 C TIMEWORK,@CF00889 0289 00603000 BNH @RF00289 0289 00604000 * PARMERR='1'B; /* @Y30LB40*/ 00605000 OI PARMERR,B'10000000' 0290 00606000 * ELSE 0291 00607000 * HLDETIME=HLDETIME+(TIMEWORK*60)+59;/* @Y30LB40*/ 00608000 B @RC00289 0291 00609000 @RF00289 LR @07,TIMEWORK 0291 00610000 MH @07,@CH00335 0291 00611000 AL @07,HLDETIME 0291 00612000 AL @07,@CF00889 0291 00613000 ST @07,HLDETIME 0291 00614000 * IF HLDSYR=HLDEYR&HLDSDAY=HLDEDAY/* CHECK DATES AND */ 00615000 * THEN 0292 00616000 @RC00289 CLC HLDSYR(1),HLDEYR 0292 00617000 BNE @RF00292 0292 00618000 CLC HLDSDAY(2),HLDEDAY 0292 00619000 BNE @RF00292 0292 00620000 * IF HLDSTIME>HLDETIME /* TIMES IN COMBINATION */ 00621000 * THEN 0293 00622000 L @07,HLDSTIME 0293 00623000 C @07,HLDETIME 0293 00624000 BNH @RF00293 0293 00625000 * PARMERR='1'B; /* @Y30LB40*/ 00626000 OI PARMERR,B'10000000' 0294 00627000 * IF PARMERR='0'B&DATEINSW='0'B THEN 0295 00628000 @RF00293 DS 0H 0295 00629000 @RF00292 TM PARMERR,B'10000000' 0295 00630000 BNZ @RF00295 0295 00631000 TM DATEINSW,B'10000000' 0295 00632000 BNZ @RF00295 0295 00633000 * PARMERR='1'B; /* ERROR,DATES NOT ENTERED 0296 00634000 * @Y30LB40*/ 00635000 OI PARMERR,B'10000000' 0296 00636000 * SS=SS+9; /* BUMP TO NEXT VALUE @Y30LB40*/ 00637000 @RF00295 AL SS,@CF00035 0297 00638000 * END; /* @Y30LB40*/ 00639000 * IF PARMERR='1'B THEN 0299 00640000 @RC00262 TM PARMERR,B'10000000' 0299 00641000 BO @RT00299 0299 00642000 * GO TO PARMEND; /* @Y30LB40*/ 00643000 * IF PARMHOLD(SS:SS)=',' /* WERE SDG OR LU ENTERED 0301 00644000 * @ZA16140*/ 00645000 * THEN 0301 00646000 LA @07,PARMHOLD-1(SS) 0301 00647000 CLI 0(@07),C',' 0301 00648000 BE @RT00301 0301 00649000 * ; /* NO,FINISH PROCESS @Y30LB40*/ 00650000 * ELSE 0303 00651000 * DO; /* YES @Y30LB40*/ 00652000 * SELECTSW='1'B; /* INDICATE SPECIFIC SELECTION 0304 00653000 * @Y30LB40*/ 00654000 OI SELECTSW,B'10000000' 0304 00655000 * IF PARMSW='D' THEN 0305 00656000 CLI PARMSW,C'D' 0305 00657000 BNE @RF00305 0305 00658000 * DO; /* CHECK FOR VALID SDG NUMBER 0306 00659000 * @ZA16140*/ 00660000 * IF((PARMHOLD(SS:SS+2)='SDG')&(PARMHOLD(SS+3:SS+3)>='0')&( 00661000 * PARMHOLD(SS+3:SS+3)<='2')&(PARMHOLD(SS+4:SS+4)>='0')&( 00662000 * PARMHOLD(SS+4:SS+4)<='9')&(PARMHOLD(SS+3:SS+4)<='27')) 00663000 * THEN 0307 00664000 LA @07,PARMHOLD-1(SS) 0307 00665000 CLC 0(3,@07),@CC00890 0307 00666000 BNE @RF00307 0307 00667000 LA @07,PARMHOLD+2(SS) 0307 00668000 CLI 0(@07),C'0' 0307 00669000 BL @RF00307 0307 00670000 LA @07,PARMHOLD+2(SS) 0307 00671000 CLI 0(@07),C'2' 0307 00672000 BH @RF00307 0307 00673000 LA @07,PARMHOLD+3(SS) 0307 00674000 CLI 0(@07),C'0' 0307 00675000 BL @RF00307 0307 00676000 LA @07,PARMHOLD+3(SS) 0307 00677000 CLI 0(@07),C'9' 0307 00678000 BH @RF00307 0307 00679000 LA @07,PARMHOLD+2(SS) 0307 00680000 CLC 0(2,@07),@CC00891 0307 00681000 BH @RF00307 0307 00682000 * DO; /* @ZA16140*/ 00683000 * PACK(DOUBLEWD,PARMHOLD(SS+3:SS+4));/* @ZA16140*/ 00684000 LA @07,PARMHOLD+2(SS) 0309 00685000 PACK DOUBLEWD(8),0(2,@07) 0309 00686000 * CVB(SELSDG,DOUBLEWD);/* @ZA16140*/ 00687000 CVB @07,DOUBLEWD 0310 00688000 STC @07,SELSDG 0310 00689000 * END; /* @ZA16140*/ 00690000 * ELSE 0312 00691000 * DO; /* @ZA16140*/ 00692000 B @RC00307 0312 00693000 @RF00307 DS 0H 0313 00694000 * PARMERR='1'B; /* @ZA16140*/ 00695000 OI PARMERR,B'10000000' 0313 00696000 * GO TO PARMEND; /* @ZA16140*/ 00697000 B PARMEND 0314 00698000 * END; /* @ZA16140*/ 00699000 * END; /* @Y30LB40*/ 00700000 * ELSE 0317 00701000 * DO; /* CHECK FOR VALID LIBRARY AND 0317 00702000 * RWU @Y30LB40*/ 00703000 B @RC00305 0317 00704000 @RF00305 DS 0H 0318 00705000 * IF PARMHOLD(SS:SS)^='2' /* 1ST DIGIT ALWAYS 2 @OZ05079*/ 00706000 * THEN 0318 00707000 LA @07,PARMHOLD-1(SS) 0318 00708000 CLI 0(@07),C'2' 0318 00709000 BE @RF00318 0318 00710000 * DO; /* @Y30LB40*/ 00711000 * PARMERR='1'B; /* ERROR,INVALID LIBRARY @Y30LB40*/ 00712000 OI PARMERR,B'10000000' 0320 00713000 * GO TO PARMEND; /* @Y30LB40*/ 00714000 B PARMEND 0321 00715000 * END; /* @Y30LB40*/ 00716000 * IF PARMHOLD(SS+1:SS+1)='0'/* MSF = 0 @OZ05079*/ 00717000 * |PARMHOLD(SS+1:SS+1)='1'/* MSF = 1 @OZ05079*/ 00718000 * THEN 0323 00719000 @RF00318 LA @07,PARMHOLD(SS) 0323 00720000 CLI 0(@07),C'0' 0323 00721000 BE @RT00323 0323 00722000 LA @07,PARMHOLD(SS) 0323 00723000 CLI 0(@07),C'1' 0323 00724000 BNE @RF00323 0323 00725000 @RT00323 DS 0H 0324 00726000 * DO; /* @Y30LB40*/ 00727000 * PACK(DOUBLEWD,PARMHOLD(SS+1:SS+1));/* MSF OK @OZ05079*/ 00728000 LA @07,PARMHOLD(SS) 0325 00729000 PACK DOUBLEWD(8),0(1,@07) 0325 00730000 * CVB(LIB,DOUBLEWD); /* @OZ05079*/ 00731000 CVB @07,DOUBLEWD 0326 00732000 STC @07,LIB 0326 00733000 * END; /* @Y30LB40*/ 00734000 * ELSE 0328 00735000 * DO; /* @Y30LB40*/ 00736000 B @RC00323 0328 00737000 @RF00323 DS 0H 0329 00738000 * PARMERR='1'B; /* ERROR,INVALID RWU @Y30LB40*/ 00739000 OI PARMERR,B'10000000' 0329 00740000 * GO TO PARMEND; /* @Y30LB40*/ 00741000 B PARMEND 0330 00742000 * END; /* @Y30LB40*/ 00743000 * IF PARMHOLD(SS+2:SS+2)>='0'/* RANGE OKAY @OZ05079*/ 00744000 * &PARMHOLD(SS+2:SS+2)<='7'/* @OZ05079*/ 00745000 * THEN 0332 00746000 @RC00323 LA @07,PARMHOLD+1(SS) 0332 00747000 CLI 0(@07),C'0' 0332 00748000 BL @RF00332 0332 00749000 LA @07,PARMHOLD+1(SS) 0332 00750000 CLI 0(@07),C'7' 0332 00751000 BH @RF00332 0332 00752000 * DO; /* @Y30LB40*/ 00753000 * PACK(DOUBLEWD,PARMHOLD(SS+2:SS+2));/* DRD OKAY 0334 00754000 * @OZ05079*/ 00755000 LA @07,PARMHOLD+1(SS) 0334 00756000 PACK DOUBLEWD(8),0(1,@07) 0334 00757000 * CVB(U,DOUBLEWD); /* @Y30LB40*/ 00758000 CVB @07,DOUBLEWD 0335 00759000 STC @07,U 0335 00760000 * END; /* @Y30LB40*/ 00761000 * ELSE 0337 00762000 * DO; /* @Y30LB40*/ 00763000 B @RC00332 0337 00764000 @RF00332 DS 0H 0338 00765000 * PARMERR='1'B; /* ERROR,INVALID RWU @Y30LB40*/ 00766000 OI PARMERR,B'10000000' 0338 00767000 * GO TO PARMEND; /* @Y30LB40*/ 00768000 B PARMEND 0339 00769000 * END; /* @Y30LB40*/ 00770000 * END; /* @Y30LB40*/ 00771000 @RC00332 DS 0H 0342 00772000 * END; /* @Y30LB40*/ 00773000 @RC00305 DS 0H 0343 00774000 *PARMEND: 0343 00775000 * IF PARMERR='1'B THEN 0343 00776000 @RT00301 DS 0H 0343 00777000 PARMEND TM PARMERR,B'10000000' 0343 00778000 BNO @RF00343 0343 00779000 * DO; /* IF ERRORS FOUND @Y30LB40*/ 00780000 * DSLINE=PARMMSG; /* @Y30LB40*/ 00781000 MVI DSLINE+28,C' ' 0345 00782000 MVC DSLINE+29(92),DSLINE+28 0345 00783000 MVC DSLINE(28),PARMMSG 0345 00784000 * RFY 0346 00785000 * (R0, 0346 00786000 * R1, 0346 00787000 * R14, 0346 00788000 * R15) RSTD; /* @Y30LB40*/ 00789000 * GEN(PUT PRNTDCB,DSLINE); /* PRINT ERROR MESSAGE @Y30LB40*/ 00790000 PUT PRNTDCB,DSLINE 00791000 * RFY 0348 00792000 * (R0, 0348 00793000 * R1, 0348 00794000 * R14, 0348 00795000 * R15) UNRSTD; /* @Y30LB40*/ 00796000 * RETURNCD=8; /* EXIT WITH RC=8 @Y30LB40*/ 00797000 MVC RETURNCD(2),@CH00069 0349 00798000 * GO TO CLOSEFIL; /* @Y30LB40*/ 00799000 B CLOSEFIL 0350 00800000 * END; /* @Y30LB40*/ 00801000 * RFY 0352 00802000 * (R0, 0352 00803000 * R1, 0352 00804000 * R14, 0352 00805000 * R15) RSTD; /* @Y30LB40*/ 00806000 @RF00343 DS 0H 0353 00807000 * GEN(TIME); /* GET AND CONVERT TODAYS DATE 0353 00808000 * @Y30LB40*/ 00809000 TIME 00810000 * GEN(ST R1,DOUBLEWD); /* @Y30LB40*/ 00811000 ST R1,DOUBLEWD 00812000 * RFY 0355 00813000 * (R0, 0355 00814000 * R1, 0355 00815000 * R14, 0355 00816000 * R15) UNRSTD; /* @Y30LB40*/ 00817000 * UNPK(TODAY,DOUBLEWD(2:4)); /* @Y30LB40*/ 00818000 UNPK TODAY(5),DOUBLEWD+1(3) 0356 00819000 * TSBEG=CKSTIME; /* @OZ11673*/ 00820000 MVC TSBEG(7),CKSTIME 0357 00821000 * TSEND=CKSTIME; /* @OZ11673*/ 00822000 MVC TSEND(7),CKSTIME 0358 00823000 * TSETIME=TSETIME+TIMESL; /* @OZ11673*/ 00824000 L @07,TSETIME 0359 00825000 AL @07,TIMESL 0359 00826000 ST @07,TSETIME 0359 00827000 * 0360 00828000 */********************************************************************/ 00829000 */* BEGIN PROCESSING THE FILE @Y30LB40*/ 00830000 */********************************************************************/ 00831000 * 0360 00832000 *RDTRACE: 0360 00833000 * RFY 0360 00834000 * (R0, 0360 00835000 * R1, 0360 00836000 * R14, 0360 00837000 * R15) RSTD; /* @Y30LB40*/ 00838000 RDTRACE DS 0H 0361 00839000 * GEN(GET INDCB,RCDIN); /* READ AN INPUT RECORD @Y30LB40*/ 00840000 GET INDCB,RCDIN 00841000 * RFY 0362 00842000 * (R0, 0362 00843000 * R1, 0362 00844000 * R14, 0362 00845000 * R15) UNRSTD; /* @Y30LB40*/ 00846000 * IF CKTIMECKETIME THEN 0363 00847000 CLC CKTIME(7),CKSTIME 0363 00848000 BL @RT00363 0363 00849000 CLC CKTIME(7),CKETIME 0363 00850000 BH @RT00363 0363 00851000 * GO TO RDTRACE; /* IF NOT IN DATE AND TIME 0364 00852000 * RANGE,READ NEXT */ 00853000 * IF SELECTSW='1'B /* WAS SPECIFIC SELECTION ENTERED 00854000 * @Y30LB40*/ 00855000 * THEN 0365 00856000 TM SELECTSW,B'10000000' 0365 00857000 BNO @RF00365 0365 00858000 * IF PARMSW='D' /* YES @Y30LB40*/ 00859000 * THEN 0366 00860000 CLI PARMSW,C'D' 0366 00861000 BNE @RF00366 0366 00862000 * DO; /* @Y30LB40*/ 00863000 * IF SDGINBIN^=SELSDG THEN 0368 00864000 CLC SDGINBIN(1),SELSDG 0368 00865000 BNE @RT00368 0368 00866000 * GO TO RDTRACE; /* NOT RIGHT ONE,READ NEXT RECORD*/ 00867000 * END; /* @Y30LB40*/ 00868000 * ELSE 0371 00869000 * DO; /* @Y30LB40*/ 00870000 B @RC00366 0371 00871000 @RF00366 DS 0H 0372 00872000 * IF LIB^=LIBRARY|U^=READWRIT THEN 0372 00873000 CLC LIB(1),LIBRARY 0372 00874000 BNE @RT00372 0372 00875000 CLC U(1),READWRIT 0372 00876000 BNE @RT00372 0372 00877000 * GO TO RDTRACE; /* NOT RIGHT ONE,READ NEXT RECORD*/ 00878000 * END; /* @Y30LB40*/ 00879000 * IF(DSTGD+STGD)^>0 THEN 0375 00880000 @RC00366 DS 0H 0375 00881000 @RF00365 L @07,DSTGD 0375 00882000 AL @07,STGD 0375 00883000 LTR @07,@07 0375 00884000 BNP @RT00375 0375 00885000 * GO TO RDTRACE; /* BYPASS ZERO RCDS */ 00886000 * IF FIRSTSW='1'B /* TEST IF FIRST RECORD @Y30LB40*/ 00887000 * THEN 0377 00888000 TM FIRSTSW,B'10000000' 0377 00889000 BNO @RF00377 0377 00890000 * DO; /* @Y30LB40*/ 00891000 * FIRSTSW='0'B; /* TURN OFF 1ST RECORD SWITCH */ 00892000 NI FIRSTSW,B'01111111' 0379 00893000 * CKSEQ=CKTIME; /* SETUP TIMESLICE START AND END 00894000 * @Y30LB40*/ 00895000 MVC CKSEQ(7),CKTIME 0380 00896000 * CALL GETSLICE; /* @OZ11673*/ 00897000 BAL @14,GETSLICE 0381 00898000 * END; /* @Y30LB40*/ 00899000 * IF CKTIMETSEND THEN 0396 00939000 CHECKTIM CLC CKTIME(7),TSEND 0396 00940000 BH @RT00396 0396 00941000 * GO TO DSCTLBRK; /* NEW TIME SLICE @Y30LB40*/ 00942000 *DSACCUM: /* ROUTINE TO ACCUMULATE 0398 00943000 * NECESSARY TOTALS */ 00944000 * K=SDGINBIN+1; /* @ZA16140*/ 00945000 DSACCUM LA @07,1 0398 00946000 SLR @15,@15 0398 00947000 IC @15,SDGINBIN 0398 00948000 ALR @15,@07 0398 00949000 ST @15,K 0398 00950000 * M=((LOADTIME/4)/3)+1; /* BUILD CLASS INTERVAL FOR LOAD 00951000 * TIME */ 00952000 L @00,LOADTIME 0399 00953000 SRDA @00,32 0399 00954000 D @00,@CF00032 0399 00955000 ALR @01,@07 0399 00956000 ST @01,M 0399 00957000 * IF M>10 THEN 0400 00958000 LA @07,10 0400 00959000 CR @01,@07 0400 00960000 BNH @RF00400 0400 00961000 * M=10; /* SET TO MAX @Y30LB40*/ 00962000 ST @07,M 0401 00963000 * DO L=1 TO 2; /* DETAIL AND JOB TOTALS @Y30LB40*/ 00964000 @RF00400 LA @07,1 0402 00965000 ST @07,L 0402 00966000 @DL00402 DS 0H 0403 00967000 * CALL CALCDSA(K,L,11); /* GET ARRAY ENTRY @ZA16140*/ 00968000 LA @07,K 0403 00969000 ST @07,@AL00001 0403 00970000 LA @07,L 0403 00971000 ST @07,@AL00001+4 0403 00972000 LA @07,@CF00033 0403 00973000 ST @07,@AL00001+8 0403 00974000 LA @01,@AL00001 0403 00975000 BAL @14,CALCDSA 0403 00976000 * DSB1=DSB1+LOADNUM; /* SUM CARTRIDGE LOADS @Y30LB40*/ 00977000 L @07,ARRAYPTR 0404 00978000 SLR @15,@15 0404 00979000 IC @15,LOADNUM 0404 00980000 AL @15,DSB1(,@07) 0404 00981000 ST @15,DSB1(,@07) 0404 00982000 * DSB2=DSB2+LOADTIME; /* SUM LOAD TIME @Y30LB40*/ 00983000 L @15,DSB2(,@07) 0405 00984000 AL @15,LOADTIME 0405 00985000 ST @15,DSB2(,@07) 0405 00986000 * DSB3=DSB3+STGD; /* SUM CYLS STAGED @Y30LB40*/ 00987000 L @15,STGD 0406 00988000 L @14,DSB3(,@07) 0406 00989000 ALR @14,@15 0406 00990000 ST @14,DSB3(,@07) 0406 00991000 * DSB6=DSB6+DSTGD; /* SUM CYLS DESTAGED @Y30LB40*/ 00992000 L @14,DSTGD 0407 00993000 L @05,DSB6(,@07) 0407 00994000 ALR @05,@14 0407 00995000 ST @05,DSB6(,@07) 0407 00996000 * DSB9=DSB9+(STGD+DSTGD); /* TOT STGNG @Y30LB40*/ 00997000 ALR @14,@15 0408 00998000 AL @14,DSB9(,@07) 0408 00999000 ST @14,DSB9(,@07) 0408 01000000 * DSB10=DSB10+(DEVSGTM+DEVDSTM);/* SUM DEV TIME @Y30LB40*/ 01001000 L @14,DEVSGTM 0409 01002000 LR @05,@14 0409 01003000 AL @05,DEVDSTM 0409 01004000 AL @05,DSB10(,@07) 0409 01005000 ST @05,DSB10(,@07) 0409 01006000 * DSB11=DSB11+(SYSSGTM+SYSDSTM);/* SUM SYS TIME @Y30LB40*/ 01007000 L @05,SYSSGTM 0410 01008000 LR @04,@05 0410 01009000 AL @04,SYSDSTM 0410 01010000 AL @04,DSB11(,@07) 0410 01011000 ST @04,DSB11(,@07) 0410 01012000 * IF STGDNUM^=0 /* WERE THERE CYLINDERS STAGED 0411 01013000 * @Y30LB40*/ 01014000 * THEN 0411 01015000 CLI STGDNUM,0 0411 01016000 BE @RF00411 0411 01017000 * DO; /* YES @Y30LB40*/ 01018000 * DSB4=DSB4+DEVSGTM; /* DEV STAGE TIME @Y30LB40*/ 01019000 L @04,DSB4(,@07) 0413 01020000 ALR @04,@14 0413 01021000 ST @04,DSB4(,@07) 0413 01022000 * DSB5=DSB5+SYSSGTM; /* SYS STAGE TIME @Y30LB40*/ 01023000 AL @05,DSB5(,@07) 0414 01024000 ST @05,DSB5(,@07) 0414 01025000 * IF DEVSGTM=0 THEN 0415 01026000 LTR @14,@14 0415 01027000 BNZ @RF00415 0415 01028000 * N=(STGD*4)+1; /* @Y30LB40*/ 01029000 SLA @15,2 0416 01030000 AL @15,@CF00044 0416 01031000 ST @15,N 0416 01032000 * ELSE 0417 01033000 * N=((STGD*4)/DEVSGTM)+1; /* @Y30LB40*/ 01034000 B @RC00415 0417 01035000 @RF00415 L @01,STGD 0417 01036000 M @00,@CF00104 0417 01037000 D @00,DEVSGTM 0417 01038000 AL @01,@CF00044 0417 01039000 ST @01,N 0417 01040000 * IF N>10 THEN 0418 01041000 @RC00415 LA @07,10 0418 01042000 C @07,N 0418 01043000 BNL @RF00418 0418 01044000 * N=10; /* @Y30LB40*/ 01045000 ST @07,N 0419 01046000 * CALL CALCDSA(K,L,N); /* GET ARRAY ADDRESS @ZA16140*/ 01047000 @RF00418 LA @07,K 0420 01048000 ST @07,@AL00001 0420 01049000 LA @07,L 0420 01050000 ST @07,@AL00001+4 0420 01051000 LA @07,N 0420 01052000 ST @07,@AL00001+8 0420 01053000 LA @01,@AL00001 0420 01054000 BAL @14,CALCDSA 0420 01055000 * DSB3=DSB3+STGDNUM; /* @Y30LB40*/ 01056000 L @07,ARRAYPTR 0421 01057000 SLR @15,@15 0421 01058000 IC @15,STGDNUM 0421 01059000 AL @15,DSB3(,@07) 0421 01060000 ST @15,DSB3(,@07) 0421 01061000 * IF SYSSGTM=0 THEN 0422 01062000 L @07,SYSSGTM 0422 01063000 LTR @07,@07 0422 01064000 BNZ @RF00422 0422 01065000 * N=(STGD*4)+1; /* @Y30LB40*/ 01066000 L @07,STGD 0423 01067000 SLA @07,2 0423 01068000 AL @07,@CF00044 0423 01069000 ST @07,N 0423 01070000 * ELSE 0424 01071000 * N=((STGD*4)/SYSSGTM)+1; /* @Y30LB40*/ 01072000 B @RC00422 0424 01073000 @RF00422 L @01,STGD 0424 01074000 M @00,@CF00104 0424 01075000 D @00,SYSSGTM 0424 01076000 AL @01,@CF00044 0424 01077000 ST @01,N 0424 01078000 * IF N>10 THEN 0425 01079000 @RC00422 LA @07,10 0425 01080000 C @07,N 0425 01081000 BNL @RF00425 0425 01082000 * N=10; /* @Y30LB40*/ 01083000 ST @07,N 0426 01084000 * CALL CALCDSA(K,L,N); /* GET ARRAY ADDRESS @ZA16140*/ 01085000 @RF00425 LA @07,K 0427 01086000 ST @07,@AL00001 0427 01087000 LA @07,L 0427 01088000 ST @07,@AL00001+4 0427 01089000 LA @07,N 0427 01090000 ST @07,@AL00001+8 0427 01091000 LA @01,@AL00001 0427 01092000 BAL @14,CALCDSA 0427 01093000 * DSB5=DSB5+STGDNUM; /* COUNT FOR SYSTEM @Y30LB40*/ 01094000 L @07,ARRAYPTR 0428 01095000 SLR @15,@15 0428 01096000 IC @15,STGDNUM 0428 01097000 AL @15,DSB5(,@07) 0428 01098000 ST @15,DSB5(,@07) 0428 01099000 * END; /* @Y30LB40*/ 01100000 * IF DSTGDNUM^=0 /* WERE CYLINDERS DESTAGED 0430 01101000 * @Y30LB40*/ 01102000 * THEN 0430 01103000 @RF00411 CLI DSTGDNUM,0 0430 01104000 BE @RF00430 0430 01105000 * DO; /* YES @Y30LB40*/ 01106000 * CALL CALCDSA(K,L,11); /* GET ARRAY ADDRESS @ZA16140*/ 01107000 LA @07,K 0432 01108000 ST @07,@AL00001 0432 01109000 LA @07,L 0432 01110000 ST @07,@AL00001+4 0432 01111000 LA @07,@CF00033 0432 01112000 ST @07,@AL00001+8 0432 01113000 LA @01,@AL00001 0432 01114000 BAL @14,CALCDSA 0432 01115000 * DSB7=DSB7+DEVDSTM; /* DEV DESTAGE TIME @Y30LB40*/ 01116000 L @07,ARRAYPTR 0433 01117000 L @15,DEVDSTM 0433 01118000 L @14,DSB7(,@07) 0433 01119000 ALR @14,@15 0433 01120000 ST @14,DSB7(,@07) 0433 01121000 * DSB8=DSB8+SYSDSTM; /* SYS DESTAGE TIME @Y30LB40*/ 01122000 L @14,DSB8(,@07) 0434 01123000 AL @14,SYSDSTM 0434 01124000 ST @14,DSB8(,@07) 0434 01125000 * IF DEVDSTM=0 THEN 0435 01126000 LTR @15,@15 0435 01127000 BNZ @RF00435 0435 01128000 * N=(DSTGD*4)+1; /* @Y30LB40*/ 01129000 L @07,DSTGD 0436 01130000 SLA @07,2 0436 01131000 AL @07,@CF00044 0436 01132000 ST @07,N 0436 01133000 * ELSE 0437 01134000 * N=((DSTGD*4)/DEVDSTM)+1;/* @Y30LB40*/ 01135000 B @RC00435 0437 01136000 @RF00435 L @01,DSTGD 0437 01137000 M @00,@CF00104 0437 01138000 D @00,DEVDSTM 0437 01139000 AL @01,@CF00044 0437 01140000 ST @01,N 0437 01141000 * IF N>10 THEN 0438 01142000 @RC00435 LA @07,10 0438 01143000 C @07,N 0438 01144000 BNL @RF00438 0438 01145000 * N=10; /* @Y30LB40*/ 01146000 ST @07,N 0439 01147000 * CALL CALCDSA(K,L,N); /* GET ARRAY ADDRESS @ZA16140*/ 01148000 @RF00438 LA @07,K 0440 01149000 ST @07,@AL00001 0440 01150000 LA @07,L 0440 01151000 ST @07,@AL00001+4 0440 01152000 LA @07,N 0440 01153000 ST @07,@AL00001+8 0440 01154000 LA @01,@AL00001 0440 01155000 BAL @14,CALCDSA 0440 01156000 * DSB6=DSB6+DSTGDNUM; /* @Y30LB40*/ 01157000 L @07,ARRAYPTR 0441 01158000 SLR @15,@15 0441 01159000 IC @15,DSTGDNUM 0441 01160000 AL @15,DSB6(,@07) 0441 01161000 ST @15,DSB6(,@07) 0441 01162000 * IF SYSDSTM=0 THEN 0442 01163000 L @07,SYSDSTM 0442 01164000 LTR @07,@07 0442 01165000 BNZ @RF00442 0442 01166000 * N=(DSTGD*4)+1; /* @Y30LB40*/ 01167000 L @07,DSTGD 0443 01168000 SLA @07,2 0443 01169000 AL @07,@CF00044 0443 01170000 ST @07,N 0443 01171000 * ELSE 0444 01172000 * N=((DSTGD*4)/SYSDSTM)+1;/* @Y30LB40*/ 01173000 B @RC00442 0444 01174000 @RF00442 L @01,DSTGD 0444 01175000 M @00,@CF00104 0444 01176000 D @00,SYSDSTM 0444 01177000 AL @01,@CF00044 0444 01178000 ST @01,N 0444 01179000 * IF N>10 THEN 0445 01180000 @RC00442 LA @07,10 0445 01181000 C @07,N 0445 01182000 BNL @RF00445 0445 01183000 * N=10; /* @Y30LB40*/ 01184000 ST @07,N 0446 01185000 * CALL CALCDSA(K,L,N); /* GET ARRAY ADDRESS @ZA16140*/ 01186000 @RF00445 LA @07,K 0447 01187000 ST @07,@AL00001 0447 01188000 LA @07,L 0447 01189000 ST @07,@AL00001+4 0447 01190000 LA @07,N 0447 01191000 ST @07,@AL00001+8 0447 01192000 LA @01,@AL00001 0447 01193000 BAL @14,CALCDSA 0447 01194000 * DSB8=DSB8+DSTGDNUM; /* COUNT FOR SYSTEM @Y30LB40*/ 01195000 L @07,ARRAYPTR 0448 01196000 SLR @15,@15 0448 01197000 IC @15,DSTGDNUM 0448 01198000 AL @15,DSB8(,@07) 0448 01199000 ST @15,DSB8(,@07) 0448 01200000 * END; /* @Y30LB40*/ 01201000 * CALL CALCDSA(K,L,M); /* GET ARRAY ADDRESS @ZA16140*/ 01202000 @RF00430 LA @07,K 0450 01203000 ST @07,@AL00001 0450 01204000 LA @07,L 0450 01205000 ST @07,@AL00001+4 0450 01206000 LA @07,M 0450 01207000 ST @07,@AL00001+8 0450 01208000 LA @01,@AL00001 0450 01209000 BAL @14,CALCDSA 0450 01210000 * IF LOADNUM=0 THEN 0451 01211000 CLI LOADNUM,0 0451 01212000 BE @RT00451 0451 01213000 * ; /* @Y30LB40*/ 01214000 * ELSE 0453 01215000 * DSB2=DSB2+1; /* COUNT FOR LOAD TIME @Y30LB40*/ 01216000 L @07,ARRAYPTR 0453 01217000 LA @15,1 0453 01218000 AL @15,DSB2(,@07) 0453 01219000 ST @15,DSB2(,@07) 0453 01220000 * IF MININUM=0 THEN 0454 01221000 @RT00451 CLI MININUM,0 0454 01222000 BE @RT00454 0454 01223000 * ; /* @Y30LB40*/ 01224000 * ELSE 0456 01225000 * DO; /* @Y30LB40*/ 01226000 * N=(PAGES/MININUM)+1; /* @Y30LB40*/ 01227000 SLR @01,@01 0457 01228000 IC @01,PAGES 0457 01229000 SLR @00,@00 0457 01230000 SLR @07,@07 0457 01231000 IC @07,MININUM 0457 01232000 DR @00,@07 0457 01233000 AL @01,@CF00044 0457 01234000 ST @01,N 0457 01235000 * IF N>10 THEN 0458 01236000 LA @07,10 0458 01237000 CR @01,@07 0458 01238000 BNH @RF00458 0458 01239000 * N=10; /* @Y30LB40*/ 01240000 ST @07,N 0459 01241000 * CALL CALCDSA(K,L,N); /* GET ARRAY ADDRESS @ZA16140*/ 01242000 @RF00458 LA @07,K 0460 01243000 ST @07,@AL00001 0460 01244000 LA @07,L 0460 01245000 ST @07,@AL00001+4 0460 01246000 LA @07,N 0460 01247000 ST @07,@AL00001+8 0460 01248000 LA @01,@AL00001 0460 01249000 BAL @14,CALCDSA 0460 01250000 * DSB9=DSB9+1; /* PAGES PER MINI @Y30LB40*/ 01251000 L @07,ARRAYPTR 0461 01252000 LA @15,1 0461 01253000 AL @15,DSB9(,@07) 0461 01254000 ST @15,DSB9(,@07) 0461 01255000 * END; /* @Y30LB40*/ 01256000 * N=((STGD+DSTGD)/PAGES)+1; /* @Y30LB40*/ 01257000 @RT00454 L @00,STGD 0463 01258000 AL @00,DSTGD 0463 01259000 SRDA @00,32 0463 01260000 SLR @07,@07 0463 01261000 IC @07,PAGES 0463 01262000 DR @00,@07 0463 01263000 AL @01,@CF00044 0463 01264000 ST @01,N 0463 01265000 * IF N>10 THEN 0464 01266000 LA @07,10 0464 01267000 CR @01,@07 0464 01268000 BNH @RF00464 0464 01269000 * N=10; /* @Y30LB40*/ 01270000 ST @07,N 0465 01271000 * CALL CALCDSA(K,L,N); /* GET ARRAY ADDRESS @ZA16140*/ 01272000 @RF00464 LA @07,K 0466 01273000 ST @07,@AL00001 0466 01274000 LA @07,L 0466 01275000 ST @07,@AL00001+4 0466 01276000 LA @07,N 0466 01277000 ST @07,@AL00001+8 0466 01278000 LA @01,@AL00001 0466 01279000 BAL @14,CALCDSA 0466 01280000 * DSB10=DSB10+1; /* COUNT CYLS PER PAGE @Y30LB40*/ 01281000 L @07,ARRAYPTR 0467 01282000 LA @15,1 0467 01283000 AL @15,DSB10(,@07) 0467 01284000 ST @15,DSB10(,@07) 0467 01285000 * END; /* @Y30LB40*/ 01286000 LA @07,1 0468 01287000 AL @07,L 0468 01288000 ST @07,L 0468 01289000 C @07,@CF00051 0468 01290000 BNH @DL00402 0468 01291000 * GO TO RDTRACE; /* GO READ NEXT RECORD @Y30LB40*/ 01292000 B RDTRACE 0469 01293000 */********************************************************************/ 01294000 * 0470 01295000 * 0470 01296000 */********************************************************************/ 01297000 */* PRINT SDG TIME SLICE TOTALS @ZA16140*/ 01298000 */********************************************************************/ 01299000 * 0470 01300000 *DSCTLBRK: /* DATA STAGER TIME SLICE CTL 0470 01301000 * BREAK */ 01302000 * L=1; /* DETAIL ONLY @Y30LB40*/ 01303000 DSCTLBRK MVC L(4),@CF00044 0470 01304000 *PROCDSBK: 0471 01305000 * DO K=1 TO 28; /* PROCESS SDGS 0 - 27 @ZA16140*/ 01306000 PROCDSBK LA @07,1 0471 01307000 ST @07,K 0471 01308000 @DL00471 DS 0H 0472 01309000 * DSLINE=' '; /* @Y30LB40*/ 01310000 MVI DSLINE+1,C' ' 0472 01311000 MVC DSLINE+2(119),DSLINE+1 0472 01312000 MVI DSLINE,C' ' 0472 01313000 * CALCFLD=K-1; /* GET SDG NUMBER @ZA16140*/ 01314000 BCTR @07,0 0473 01315000 ST @07,CALCFLD 0473 01316000 * CALL EDITFIX(ADDR(CALCFLD),4,'N');/* EDIT SDG @ZA16140*/ 01317000 MVC @AL00001+4(8),@AL00474 0474 01318000 LA @07,CALCFLD 0474 01319000 ST @07,@AFTEMPS 0474 01320000 LA @07,@AFTEMPS 0474 01321000 ST @07,@AL00001 0474 01322000 LA @01,@AL00001 0474 01323000 BAL @14,EDITFIX 0474 01324000 * SDGFLD=FIXOUT(12:13); /* @ZA16140*/ 01325000 MVC SDGFLD(2),FIXOUT+11 0475 01326000 * IF L=2&EOFSW='1'B /* ARE REPORT TOTALS WANTED */ 01327000 * THEN 0476 01328000 CLC L(4),@CF00051 0476 01329000 BNE @RF00476 0476 01330000 TM EOFSW,B'10000000' 0476 01331000 BNO @RF00476 0476 01332000 * DO; /* YES,SET TOTALS CONSTANT INFO */ 01333000 * DSFLD2='DISTR.'; /* @Y30LB40*/ 01334000 MVC DSFLD2(6),@CC00908 0478 01335000 * DSFLD2A='SUMMARY '; /* @Y30LB40*/ 01336000 MVC DSFLD2A(8),@CC00909 0479 01337000 * END; /* @Y30LB40*/ 01338000 * ELSE 0481 01339000 * DO; /* TIME SLICE TOTALS,SET CONSTANT 01340000 * INFO */ 01341000 B @RC00476 0481 01342000 @RF00476 DS 0H 0482 01343000 * DSFLD2=' / '; /* @Y30LB40*/ 01344000 MVC DSFLD2(6),@CC00910 0482 01345000 * CALL EDITFIX(ADDR(TSSYR),1,'N');/* @Y30LB40*/ 01346000 MVC @AL00001+4(8),@AL00483 0483 01347000 LA @07,TSSYR 0483 01348000 ST @07,@AFTEMPS 0483 01349000 LA @07,@AFTEMPS 0483 01350000 ST @07,@AL00001 0483 01351000 LA @01,@AL00001 0483 01352000 BAL @14,EDITFIX 0483 01353000 * DSFLD2(1:2)=FIXOUT(12:13);/* @Y30LB40*/ 01354000 MVC DSFLD2(2),FIXOUT+11 0484 01355000 * CALL EDITFIX(ADDR(TSSDAY),2,'N');/* @Y30LB40*/ 01356000 MVC @AL00001+4(8),@AL00485 0485 01357000 LA @07,TSSDAY 0485 01358000 ST @07,@AFTEMPS 0485 01359000 LA @07,@AFTEMPS 0485 01360000 ST @07,@AL00001 0485 01361000 LA @01,@AL00001 0485 01362000 BAL @14,EDITFIX 0485 01363000 * DSFLD2(4:6)=FIXOUT(11:13);/* @Y30LB40*/ 01364000 MVC DSFLD2+3(3),FIXOUT+10 0486 01365000 * HOUR=TSSTIME/3600; /* @Y30LB40*/ 01366000 L @07,TSSTIME 0487 01367000 LA @15,3600 0487 01368000 LR @00,@07 0487 01369000 SRDA @00,32 0487 01370000 DR @00,@15 0487 01371000 ST @01,HOUR 0487 01372000 * MINUTE=(TSSTIME-(HOUR*3600))/60;/* @Y30LB40*/ 01373000 LA @14,60 0488 01374000 MR @00,@15 0488 01375000 LR @02,@07 0488 01376000 SLR @02,@01 0488 01377000 SRDA @02,32 0488 01378000 DR @02,@14 0488 01379000 ST @03,MINUTE 0488 01380000 * SECOND=TSSTIME-((HOUR*3600)+(MINUTE*60)); 0489 01381000 MR @02,@14 0489 01382000 ALR @01,@03 0489 01383000 SLR @07,@01 0489 01384000 ST @07,SECOND 0489 01385000 * DSFLD2A=' : : '; /* @Y30LB40*/ 01386000 MVC DSFLD2A(8),@CC00911 0490 01387000 * CALL EDITFIX(ADDR(HOUR),4,'S');/* @Y30LB40*/ 01388000 MVC @AL00001+4(8),@AL00491 0491 01389000 LA @07,HOUR 0491 01390000 ST @07,@AFTEMPS 0491 01391000 LA @07,@AFTEMPS 0491 01392000 ST @07,@AL00001 0491 01393000 LA @01,@AL00001 0491 01394000 BAL @14,EDITFIX 0491 01395000 * DSFLD2A(1:2)=FIXOUT(12:13);/* @Y30LB40*/ 01396000 MVC DSFLD2A(2),FIXOUT+11 0492 01397000 * CALL EDITFIX(ADDR(MINUTE),4,'N');/* @Y30LB40*/ 01398000 MVC @AL00001+4(8),@AL00493 0493 01399000 LA @07,MINUTE 0493 01400000 ST @07,@AFTEMPS 0493 01401000 LA @07,@AFTEMPS 0493 01402000 ST @07,@AL00001 0493 01403000 LA @01,@AL00001 0493 01404000 BAL @14,EDITFIX 0493 01405000 * DSFLD2A(4:5)=FIXOUT(12:13);/* @Y30LB40*/ 01406000 MVC DSFLD2A+3(2),FIXOUT+11 0494 01407000 * CALL EDITFIX(ADDR(SECOND),4,'N');/* @Y30LB40*/ 01408000 MVC @AL00001+4(8),@AL00495 0495 01409000 LA @07,SECOND 0495 01410000 ST @07,@AFTEMPS 0495 01411000 LA @07,@AFTEMPS 0495 01412000 ST @07,@AL00001 0495 01413000 LA @01,@AL00001 0495 01414000 BAL @14,EDITFIX 0495 01415000 * DSFLD2A(7:8)=FIXOUT(12:13);/* @Y30LB40*/ 01416000 MVC DSFLD2A+6(2),FIXOUT+11 0496 01417000 * END; /* @Y30LB40*/ 01418000 * CALL CALCDSA(K,L,11); /* GET ARRAY ADDRESS @ZA16140*/ 01419000 @RC00476 LA @07,K 0498 01420000 ST @07,@AL00001 0498 01421000 LA @07,L 0498 01422000 ST @07,@AL00001+4 0498 01423000 LA @07,@CF00033 0498 01424000 ST @07,@AL00001+8 0498 01425000 LA @01,@AL00001 0498 01426000 BAL @14,CALCDSA 0498 01427000 * IF DSB9^=0 THEN 0499 01428000 L @07,ARRAYPTR 0499 01429000 L @07,DSB9(,@07) 0499 01430000 LTR @07,@07 0499 01431000 BZ @RF00499 0499 01432000 * DO M=1 TO 10; /* CLASSES 1-10 @Y30LB40*/ 01433000 LA @07,1 0500 01434000 ST @07,M 0500 01435000 @DL00500 DS 0H 0501 01436000 * IF LINECNT>43 THEN 0501 01437000 C LINECNT,@CF00712 0501 01438000 BNH @RF00501 0501 01439000 * DO; /* SKIP TO A NEW PAGE @Y30LB40*/ 01440000 * LINECNT=2; /* RESET THE LINE COUNTER 0503 01441000 * @Y30LB40*/ 01442000 LA LINECNT,2 0503 01443000 * PAGECNT=PAGECNT+1; /* UP PAGE COUNTER BY 1 */ 01444000 LA @07,1 0504 01445000 AL @07,PAGECNT 0504 01446000 ST @07,PAGECNT 0504 01447000 * HEADHOLD=HDNG1; /* @Y30LB40*/ 01448000 MVC HEADHOLD(121),HDNG1 0505 01449000 * CALL EDITFIX(ADDR(PAGECNT),4,'S');/* @Y30LB40*/ 01450000 MVC @AL00001+4(8),@AL00506 0506 01451000 LA @07,PAGECNT 0506 01452000 ST @07,@AFTEMPS 0506 01453000 LA @07,@AFTEMPS 0506 01454000 ST @07,@AL00001 0506 01455000 LA @01,@AL00001 0506 01456000 BAL @14,EDITFIX 0506 01457000 * HEADHOLD(118:121)=FIXOUT(10:13);/* @Y30LB40*/ 01458000 MVC HEADHOLD+117(4),FIXOUT+9 0507 01459000 * HEADHOLD(107:111)=TODAY;/* @Y30LB40*/ 01460000 MVC HEADHOLD+106(5),TODAY 0508 01461000 * RFY 0509 01462000 * (R0, 0509 01463000 * R1, 0509 01464000 * R14, 0509 01465000 * R15) RSTD; /* @Y30LB40*/ 01466000 * GEN(PUT PRNTDCB,HEADHOLD);/* @Y30LB40*/ 01467000 PUT PRNTDCB,HEADHOLD 01468000 * RFY 0511 01469000 * (R0, 0511 01470000 * R1, 0511 01471000 * R14, 0511 01472000 * R15) UNRSTD; /* @Y30LB40*/ 01473000 * END; /* @Y30LB40*/ 01474000 * IF M=1 THEN 0513 01475000 @RF00501 CLC M(4),@CF00044 0513 01476000 BNE @RF00513 0513 01477000 * DO; /* 1ST TIME THROUGH, PRINT 0514 01478000 * HEADINGS */ 01479000 * RFY 0515 01480000 * (R0, 0515 01481000 * R1, 0515 01482000 * R14, 0515 01483000 * R15) RSTD; /* @Y30LB40*/ 01484000 * GEN(PUT PRNTDCB,HDNG2);/* @Y30LB40*/ 01485000 PUT PRNTDCB,HDNG2 01486000 * GEN(PUT PRNTDCB,HDNG3);/* @Y30LB40*/ 01487000 PUT PRNTDCB,HDNG3 01488000 * GEN(PUT PRNTDCB,HDNG4);/* @Y30LB40*/ 01489000 PUT PRNTDCB,HDNG4 01490000 * GEN(PUT PRNTDCB,SPACE1);/* @Y30LB40*/ 01491000 PUT PRNTDCB,SPACE1 01492000 * RFY 0520 01493000 * (R0, 0520 01494000 * R1, 0520 01495000 * R14, 0520 01496000 * R15) UNRSTD; /* @Y30LB40*/ 01497000 * LINECNT=LINECNT+5; /* @Y30LB40*/ 01498000 AL LINECNT,@CF00372 0521 01499000 * END; /* @Y30LB40*/ 01500000 * CALL SETLINE(M); /* SET INTERVALS IN PRINT LINE */ 01501000 @RF00513 LA @07,M 0523 01502000 ST @07,@AL00001 0523 01503000 LA @01,@AL00001 0523 01504000 BAL @14,SETLINE 0523 01505000 * CALL CALCDSA(K,L,M); /* GET ARRAY ADDRESS @ZA16140*/ 01506000 LA @07,K 0524 01507000 ST @07,@AL00001 0524 01508000 LA @07,L 0524 01509000 ST @07,@AL00001+4 0524 01510000 LA @07,M 0524 01511000 ST @07,@AL00001+8 0524 01512000 LA @01,@AL00001 0524 01513000 BAL @14,CALCDSA 0524 01514000 * CALL EDITFIX(ADDR(DSB2),4,'S');/* @Y30LB40*/ 01515000 MVC @AL00001+4(8),@AL00525 0525 01516000 L @07,ARRAYPTR 0525 01517000 LA @07,DSB2(,@07) 0525 01518000 ST @07,@AFTEMPS 0525 01519000 LA @07,@AFTEMPS 0525 01520000 ST @07,@AL00001 0525 01521000 LA @01,@AL00001 0525 01522000 BAL @14,EDITFIX 0525 01523000 * DSFLD10=FIXOUT(9:13); /* LOAD TIME COUNT @Y30LB40*/ 01524000 MVC DSFLD10(5),FIXOUT+8 0526 01525000 * CALL EDITFIX(ADDR(DSB3),4,'S');/* @Y30LB40*/ 01526000 MVC @AL00001+4(8),@AL00527 0527 01527000 L @07,ARRAYPTR 0527 01528000 LA @07,DSB3(,@07) 0527 01529000 ST @07,@AFTEMPS 0527 01530000 LA @07,@AFTEMPS 0527 01531000 ST @07,@AL00001 0527 01532000 LA @01,@AL00001 0527 01533000 BAL @14,EDITFIX 0527 01534000 * DSFLD12=FIXOUT(8:13); /* DEV STG RATE @Y30LB40*/ 01535000 MVC DSFLD12(6),FIXOUT+7 0528 01536000 * CALL EDITFIX(ADDR(DSB5),4,'S');/* @Y30LB40*/ 01537000 MVC @AL00001+4(8),@AL00529 0529 01538000 L @07,ARRAYPTR 0529 01539000 LA @07,DSB5(,@07) 0529 01540000 ST @07,@AFTEMPS 0529 01541000 LA @07,@AFTEMPS 0529 01542000 ST @07,@AL00001 0529 01543000 LA @01,@AL00001 0529 01544000 BAL @14,EDITFIX 0529 01545000 * DSFLD14=FIXOUT(8:13); /* SYS STG RATE @Y30LB40*/ 01546000 MVC DSFLD14(6),FIXOUT+7 0530 01547000 * CALL EDITFIX(ADDR(DSB6),4,'S');/* @Y30LB40*/ 01548000 MVC @AL00001+4(8),@AL00531 0531 01549000 L @07,ARRAYPTR 0531 01550000 LA @07,DSB6(,@07) 0531 01551000 ST @07,@AFTEMPS 0531 01552000 LA @07,@AFTEMPS 0531 01553000 ST @07,@AL00001 0531 01554000 LA @01,@AL00001 0531 01555000 BAL @14,EDITFIX 0531 01556000 * DSFLD16=FIXOUT(8:13); /* DEV DSTG RATE @Y30LB40*/ 01557000 MVC DSFLD16(6),FIXOUT+7 0532 01558000 * CALL EDITFIX(ADDR(DSB8),4,'S');/* @Y30LB40*/ 01559000 MVC @AL00001+4(8),@AL00533 0533 01560000 L @07,ARRAYPTR 0533 01561000 LA @07,DSB8(,@07) 0533 01562000 ST @07,@AFTEMPS 0533 01563000 LA @07,@AFTEMPS 0533 01564000 ST @07,@AL00001 0533 01565000 LA @01,@AL00001 0533 01566000 BAL @14,EDITFIX 0533 01567000 * DSFLD18=FIXOUT(8:13); /* SYS DSTG RATE @Y30LB40*/ 01568000 MVC DSFLD18(6),FIXOUT+7 0534 01569000 * CALL EDITFIX(ADDR(DSB9),4,'S');/* @Y30LB40*/ 01570000 MVC @AL00001+4(8),@AL00535 0535 01571000 L @07,ARRAYPTR 0535 01572000 LA @07,DSB9(,@07) 0535 01573000 ST @07,@AFTEMPS 0535 01574000 LA @07,@AFTEMPS 0535 01575000 ST @07,@AL00001 0535 01576000 LA @01,@AL00001 0535 01577000 BAL @14,EDITFIX 0535 01578000 * DSFLD20=FIXOUT(8:13); /* PAGES PER MINI @Y30LB40*/ 01579000 MVC DSFLD20(6),FIXOUT+7 0536 01580000 * CALL EDITFIX(ADDR(DSB10),4,'S');/* @Y30LB40*/ 01581000 MVC @AL00001+4(8),@AL00537 0537 01582000 L @07,ARRAYPTR 0537 01583000 LA @07,DSB10(,@07) 0537 01584000 ST @07,@AFTEMPS 0537 01585000 LA @07,@AFTEMPS 0537 01586000 ST @07,@AL00001 0537 01587000 LA @01,@AL00001 0537 01588000 BAL @14,EDITFIX 0537 01589000 * DSFLD22=FIXOUT(8:13); /* CYLS PER PAGE @Y30LB40*/ 01590000 MVC DSFLD22(6),FIXOUT+7 0538 01591000 * DSB2=0; /* CLEAR BUCKETS @Y30LB40*/ 01592000 SLR @07,@07 0539 01593000 L @15,ARRAYPTR 0539 01594000 ST @07,DSB2(,@15) 0539 01595000 * DSB3=0; /* @Y30LB40*/ 01596000 ST @07,DSB3(,@15) 0540 01597000 * DSB5=0; /* @Y30LB40*/ 01598000 ST @07,DSB5(,@15) 0541 01599000 * DSB6=0; /* @Y30LB40*/ 01600000 ST @07,DSB6(,@15) 0542 01601000 * DSB8=0; /* @Y30LB40*/ 01602000 ST @07,DSB8(,@15) 0543 01603000 * DSB9=0; /* @Y30LB40*/ 01604000 ST @07,DSB9(,@15) 0544 01605000 * DSB10=0; /* @Y30LB40*/ 01606000 ST @07,DSB10(,@15) 0545 01607000 * RFY 0546 01608000 * (R0, 0546 01609000 * R1, 0546 01610000 * R14, 0546 01611000 * R15) RSTD; /* @Y30LB40*/ 01612000 * GEN(PUT PRNTDCB,DSLINE);/* PRINT LINE @Y30LB40*/ 01613000 PUT PRNTDCB,DSLINE 01614000 * RFY 0548 01615000 * (R0, 0548 01616000 * R1, 0548 01617000 * R14, 0548 01618000 * R15) UNRSTD; /* @Y30LB40*/ 01619000 * LINECNT=LINECNT+1; /* BUMP LINE COUNT @Y30LB40*/ 01620000 AL LINECNT,@CF00044 0549 01621000 * DSFLD2=' '; /* CLEAR CONSTANT INFO @Y30LB40*/ 01622000 MVI DSFLD2+1,C' ' 0550 01623000 MVC DSFLD2+2(4),DSFLD2+1 0550 01624000 MVI DSFLD2,C' ' 0550 01625000 * DSFLD2A=' '; /* @Y30LB40*/ 01626000 MVI DSFLD2A+1,C' ' 0551 01627000 MVC DSFLD2A+2(6),DSFLD2A+1 0551 01628000 MVI DSFLD2A,C' ' 0551 01629000 * SDGFLD=' '; /* @ZA16140*/ 01630000 MVI SDGFLD+1,C' ' 0552 01631000 MVI SDGFLD,C' ' 0552 01632000 * IF M=10 THEN 0553 01633000 CLC M(4),@CF00034 0553 01634000 BNE @RF00553 0553 01635000 * DO; /* LAST TIME THROUGH THE LOOP */ 01636000 * RFY 0555 01637000 * (R0, 0555 01638000 * R1, 0555 01639000 * R14, 0555 01640000 * R15) RSTD; /* @Y30LB40*/ 01641000 * GEN(PUT PRNTDCB,HDNG5);/* PRINT TIME SLICE TOTALS */ 01642000 PUT PRNTDCB,HDNG5 01643000 * GEN(PUT PRNTDCB,HDNG6);/* @Y30LB40*/ 01644000 PUT PRNTDCB,HDNG6 01645000 * GEN(PUT PRNTDCB,SPACE1);/* @Y30LB40*/ 01646000 PUT PRNTDCB,SPACE1 01647000 * RFY 0559 01648000 * (R0, 0559 01649000 * R1, 0559 01650000 * R14, 0559 01651000 * R15) UNRSTD; /* @Y30LB40*/ 01652000 * LINECNT=LINECNT+4; /* ADD 4 TO LINE COUNTER */ 01653000 AL LINECNT,@CF00104 0560 01654000 * DSTLINE=' '; /* @Y30LB40*/ 01655000 MVI DSTLINE+1,C' ' 0561 01656000 MVC DSTLINE+2(119),DSTLINE+1 0561 01657000 MVI DSTLINE,C' ' 0561 01658000 * CALL CALCDSA(K,L,11); /* GET ARRAY ADDRESS @ZA16140*/ 01659000 LA @07,K 0562 01660000 ST @07,@AL00001 0562 01661000 LA @07,L 0562 01662000 ST @07,@AL00001+4 0562 01663000 LA @07,@CF00033 0562 01664000 ST @07,@AL00001+8 0562 01665000 LA @01,@AL00001 0562 01666000 BAL @14,CALCDSA 0562 01667000 * CALL EDITFIX(ADDR(DSB1),4,'S');/* @Y30LB40*/ 01668000 MVC @AL00001+4(8),@AL00563 0563 01669000 LA @07,ARRAYPTR 0563 01670000 ST @07,@AL00001 0563 01671000 LA @01,@AL00001 0563 01672000 BAL @14,EDITFIX 0563 01673000 * DSTFLD2=FIXOUT(8:13); /* TOTAL CARTRIDGES */ 01674000 MVC DSTFLD2(6),FIXOUT+7 0564 01675000 * CALCFLD=DSB2/4; /* @Y30LB40*/ 01676000 L @07,ARRAYPTR 0565 01677000 L @00,DSB2(,@07) 0565 01678000 SRDA @00,32 0565 01679000 D @00,@CF00104 0565 01680000 ST @01,CALCFLD 0565 01681000 * CALL EDITFIX(ADDR(CALCFLD),4,'S');/* @Y30LB40*/ 01682000 MVC @AL00001+4(8),@AL00566 0566 01683000 LA @07,CALCFLD 0566 01684000 ST @07,@AFTEMPS 0566 01685000 LA @07,@AFTEMPS 0566 01686000 ST @07,@AL00001 0566 01687000 LA @01,@AL00001 0566 01688000 BAL @14,EDITFIX 0566 01689000 * DSTFLD4=FIXOUT(8:13); /* TOTAL LOAD TIME */ 01690000 MVC DSTFLD4(6),FIXOUT+7 0567 01691000 * CALL EDITFIX(ADDR(DSB3),4,'S');/* @Y30LB40*/ 01692000 MVC @AL00001+4(8),@AL00568 0568 01693000 L @07,ARRAYPTR 0568 01694000 LA @07,DSB3(,@07) 0568 01695000 ST @07,@AFTEMPS 0568 01696000 LA @07,@AFTEMPS 0568 01697000 ST @07,@AL00001 0568 01698000 LA @01,@AL00001 0568 01699000 BAL @14,EDITFIX 0568 01700000 * DSTFLD6=FIXOUT(8:13); /* TOTAL CYLS STAGED */ 01701000 MVC DSTFLD6(6),FIXOUT+7 0569 01702000 * CALCFLD=DSB4/4; /* @Y30LB40*/ 01703000 L @07,ARRAYPTR 0570 01704000 L @00,DSB4(,@07) 0570 01705000 SRDA @00,32 0570 01706000 D @00,@CF00104 0570 01707000 ST @01,CALCFLD 0570 01708000 * CALL EDITFIX(ADDR(CALCFLD),4,'S');/* @Y30LB40*/ 01709000 MVC @AL00001+4(8),@AL00571 0571 01710000 LA @07,CALCFLD 0571 01711000 ST @07,@AFTEMPS 0571 01712000 LA @07,@AFTEMPS 0571 01713000 ST @07,@AL00001 0571 01714000 LA @01,@AL00001 0571 01715000 BAL @14,EDITFIX 0571 01716000 * DSTFLD8=FIXOUT(8:13); /* TOT DEV STG TIME */ 01717000 MVC DSTFLD8(6),FIXOUT+7 0572 01718000 * CALCFLD=DSB5/4; /* @Y30LB40*/ 01719000 L @07,ARRAYPTR 0573 01720000 L @00,DSB5(,@07) 0573 01721000 SRDA @00,32 0573 01722000 D @00,@CF00104 0573 01723000 ST @01,CALCFLD 0573 01724000 * CALL EDITFIX(ADDR(CALCFLD),4,'S');/* @Y30LB40*/ 01725000 MVC @AL00001+4(8),@AL00574 0574 01726000 LA @07,CALCFLD 0574 01727000 ST @07,@AFTEMPS 0574 01728000 LA @07,@AFTEMPS 0574 01729000 ST @07,@AL00001 0574 01730000 LA @01,@AL00001 0574 01731000 BAL @14,EDITFIX 0574 01732000 * DSTFLD10=FIXOUT(8:13);/* TOT SYS STG TIME */ 01733000 MVC DSTFLD10(6),FIXOUT+7 0575 01734000 * CALL EDITFIX(ADDR(DSB6),4,'S');/* @Y30LB40*/ 01735000 MVC @AL00001+4(8),@AL00576 0576 01736000 L @07,ARRAYPTR 0576 01737000 LA @07,DSB6(,@07) 0576 01738000 ST @07,@AFTEMPS 0576 01739000 LA @07,@AFTEMPS 0576 01740000 ST @07,@AL00001 0576 01741000 LA @01,@AL00001 0576 01742000 BAL @14,EDITFIX 0576 01743000 * DSTFLD12=FIXOUT(8:13);/* TOT CYLS DESTAGED */ 01744000 MVC DSTFLD12(6),FIXOUT+7 0577 01745000 * CALCFLD=DSB7/4; /* @Y30LB40*/ 01746000 L @07,ARRAYPTR 0578 01747000 L @00,DSB7(,@07) 0578 01748000 SRDA @00,32 0578 01749000 D @00,@CF00104 0578 01750000 ST @01,CALCFLD 0578 01751000 * CALL EDITFIX(ADDR(CALCFLD),4,'S');/* @Y30LB40*/ 01752000 MVC @AL00001+4(8),@AL00579 0579 01753000 LA @07,CALCFLD 0579 01754000 ST @07,@AFTEMPS 0579 01755000 LA @07,@AFTEMPS 0579 01756000 ST @07,@AL00001 0579 01757000 LA @01,@AL00001 0579 01758000 BAL @14,EDITFIX 0579 01759000 * DSTFLD14=FIXOUT(8:13);/* TOT DEV DSTG TIME */ 01760000 MVC DSTFLD14(6),FIXOUT+7 0580 01761000 * CALCFLD=DSB8/4; /* @Y30LB40*/ 01762000 L @07,ARRAYPTR 0581 01763000 L @00,DSB8(,@07) 0581 01764000 SRDA @00,32 0581 01765000 D @00,@CF00104 0581 01766000 ST @01,CALCFLD 0581 01767000 * CALL EDITFIX(ADDR(CALCFLD),4,'S');/* @Y30LB40*/ 01768000 MVC @AL00001+4(8),@AL00582 0582 01769000 LA @07,CALCFLD 0582 01770000 ST @07,@AFTEMPS 0582 01771000 LA @07,@AFTEMPS 0582 01772000 ST @07,@AL00001 0582 01773000 LA @01,@AL00001 0582 01774000 BAL @14,EDITFIX 0582 01775000 * DSTFLD16=FIXOUT(8:13);/* TOT SYS DSTG TIME */ 01776000 MVC DSTFLD16(6),FIXOUT+7 0583 01777000 * CALL EDITFIX(ADDR(DSB9),4,'S');/* @Y30LB40*/ 01778000 MVC @AL00001+4(8),@AL00584 0584 01779000 L @07,ARRAYPTR 0584 01780000 LA @07,DSB9(,@07) 0584 01781000 ST @07,@AFTEMPS 0584 01782000 LA @07,@AFTEMPS 0584 01783000 ST @07,@AL00001 0584 01784000 LA @01,@AL00001 0584 01785000 BAL @14,EDITFIX 0584 01786000 * DSTFLD18=FIXOUT(8:13);/* TOT CYLS TRANSFRD */ 01787000 MVC DSTFLD18(6),FIXOUT+7 0585 01788000 * CALCFLD=DSB10/4; /* @Y30LB40*/ 01789000 L @07,ARRAYPTR 0586 01790000 L @00,DSB10(,@07) 0586 01791000 SRDA @00,32 0586 01792000 D @00,@CF00104 0586 01793000 ST @01,CALCFLD 0586 01794000 * CALL EDITFIX(ADDR(CALCFLD),4,'S');/* @Y30LB40*/ 01795000 MVC @AL00001+4(8),@AL00587 0587 01796000 LA @07,CALCFLD 0587 01797000 ST @07,@AFTEMPS 0587 01798000 LA @07,@AFTEMPS 0587 01799000 ST @07,@AL00001 0587 01800000 LA @01,@AL00001 0587 01801000 BAL @14,EDITFIX 0587 01802000 * DSTFLD20=FIXOUT(8:13);/* TOT DEVICE TIME */ 01803000 MVC DSTFLD20(6),FIXOUT+7 0588 01804000 * CALCFLD=DSB11/4; /* @Y30LB40*/ 01805000 L @07,ARRAYPTR 0589 01806000 L @00,DSB11(,@07) 0589 01807000 SRDA @00,32 0589 01808000 D @00,@CF00104 0589 01809000 ST @01,CALCFLD 0589 01810000 * CALL EDITFIX(ADDR(CALCFLD),4,'S');/* @Y30LB40*/ 01811000 MVC @AL00001+4(8),@AL00590 0590 01812000 LA @07,CALCFLD 0590 01813000 ST @07,@AFTEMPS 0590 01814000 LA @07,@AFTEMPS 0590 01815000 ST @07,@AL00001 0590 01816000 LA @01,@AL00001 0590 01817000 BAL @14,EDITFIX 0590 01818000 * DSTFLD22=FIXOUT(8:13);/* TOT SYSTEM TIME */ 01819000 MVC DSTFLD22(6),FIXOUT+7 0591 01820000 * IF DSB10=0 THEN 0592 01821000 L @07,ARRAYPTR 0592 01822000 L @15,DSB10(,@07) 0592 01823000 LTR @15,@15 0592 01824000 BNZ @RF00592 0592 01825000 * DSB10=1; /* @Y30LB40*/ 01826000 MVC DSB10(4,@07),@CF00044 0593 01827000 * CALCFLD=((DSB9*4)/DSB10);/* @Y30LB40*/ 01828000 @RF00592 L @07,ARRAYPTR 0594 01829000 L @15,DSB9(,@07) 0594 01830000 SLA @15,2 0594 01831000 LR @00,@15 0594 01832000 SRDA @00,32 0594 01833000 D @00,DSB10(,@07) 0594 01834000 ST @01,CALCFLD 0594 01835000 * CALL EDITFIX(ADDR(CALCFLD),4,'S');/* @Y30LB40*/ 01836000 MVC @AL00001+4(8),@AL00595 0595 01837000 LA @07,CALCFLD 0595 01838000 ST @07,@AFTEMPS 0595 01839000 LA @07,@AFTEMPS 0595 01840000 ST @07,@AL00001 0595 01841000 LA @01,@AL00001 0595 01842000 BAL @14,EDITFIX 0595 01843000 * DSTFLD24=FIXOUT(8:13);/* DEVICE RATE @Y30LB40*/ 01844000 MVC DSTFLD24(6),FIXOUT+7 0596 01845000 * IF DSB11=0 THEN 0597 01846000 L @07,ARRAYPTR 0597 01847000 L @15,DSB11(,@07) 0597 01848000 LTR @15,@15 0597 01849000 BNZ @RF00597 0597 01850000 * DSB11=1; /* @Y30LB40*/ 01851000 MVC DSB11(4,@07),@CF00044 0598 01852000 * CALCFLD=((DSB9*4)/DSB11);/* @Y30LB40*/ 01853000 @RF00597 L @07,ARRAYPTR 0599 01854000 L @15,DSB9(,@07) 0599 01855000 SLA @15,2 0599 01856000 LR @00,@15 0599 01857000 SRDA @00,32 0599 01858000 D @00,DSB11(,@07) 0599 01859000 ST @01,CALCFLD 0599 01860000 * CALL EDITFIX(ADDR(CALCFLD),4,'S');/* @Y30LB40*/ 01861000 MVC @AL00001+4(8),@AL00600 0600 01862000 LA @07,CALCFLD 0600 01863000 ST @07,@AFTEMPS 0600 01864000 LA @07,@AFTEMPS 0600 01865000 ST @07,@AL00001 0600 01866000 LA @01,@AL00001 0600 01867000 BAL @14,EDITFIX 0600 01868000 * DSTFLD26=FIXOUT(8:13);/* SYSTEM RATE @Y30LB40*/ 01869000 MVC DSTFLD26(6),FIXOUT+7 0601 01870000 * RFY 0602 01871000 * (R0, 0602 01872000 * R1, 0602 01873000 * R14, 0602 01874000 * R15) RSTD; /* @Y30LB40*/ 01875000 * GEN(PUT PRNTDCB,DSTLINE);/* PRINT TOTAL LINE */ 01876000 PUT PRNTDCB,DSTLINE 01877000 * GEN(PUT PRNTDCB,SPACE1);/* SKIP A LINE @Y30LB40*/ 01878000 PUT PRNTDCB,SPACE1 01879000 * RFY 0605 01880000 * (R0, 0605 01881000 * R1, 0605 01882000 * R14, 0605 01883000 * R15) UNRSTD; /* @Y30LB40*/ 01884000 * LINECNT=LINECNT+2; /* BUMP LINE COUNT @Y30LB40*/ 01885000 AL LINECNT,@CF00051 0606 01886000 * DSB1=0; /* CLEAR BUCKETS @Y30LB40*/ 01887000 SLR @07,@07 0607 01888000 L @15,ARRAYPTR 0607 01889000 ST @07,DSB1(,@15) 0607 01890000 * DSB2=0; /* @Y30LB40*/ 01891000 ST @07,DSB2(,@15) 0608 01892000 * DSB3=0; /* @Y30LB40*/ 01893000 ST @07,DSB3(,@15) 0609 01894000 * DSB4=0; /* @Y30LB40*/ 01895000 ST @07,DSB4(,@15) 0610 01896000 * DSB5=0; /* @Y30LB40*/ 01897000 ST @07,DSB5(,@15) 0611 01898000 * DSB6=0; /* @Y30LB40*/ 01899000 ST @07,DSB6(,@15) 0612 01900000 * DSB7=0; /* @Y30LB40*/ 01901000 ST @07,DSB7(,@15) 0613 01902000 * DSB8=0; /* @Y30LB40*/ 01903000 ST @07,DSB8(,@15) 0614 01904000 * DSB9=0; /* @Y30LB40*/ 01905000 ST @07,DSB9(,@15) 0615 01906000 * DSB10=0; /* @Y30LB40*/ 01907000 ST @07,DSB10(,@15) 0616 01908000 * DSB11=0; /* @Y30LB40*/ 01909000 ST @07,DSB11(,@15) 0617 01910000 * END; /* @Y30LB40*/ 01911000 * END; /* @Y30LB40*/ 01912000 @RF00553 LA @07,1 0619 01913000 AL @07,M 0619 01914000 ST @07,M 0619 01915000 C @07,@CF00034 0619 01916000 BNH @DL00500 0619 01917000 * END; /* @Y30LB40*/ 01918000 @RF00499 LA @07,1 0620 01919000 AL @07,K 0620 01920000 ST @07,K 0620 01921000 C @07,@CF00615 0620 01922000 BNH @DL00471 0620 01923000 * IF EOFSW='1'B THEN 0621 01924000 TM EOFSW,B'10000000' 0621 01925000 BNO @RF00621 0621 01926000 * DO; /* END OF JOB YET @Y30LB40*/ 01927000 * IF L=2 THEN 0623 01928000 LA @07,2 0623 01929000 C @07,L 0623 01930000 BE @RT00623 0623 01931000 * GO TO EOJ; /* REPORT TOTALS WRITTEN,GETOUT */ 01932000 * ELSE 0625 01933000 * DO; /* FORCE TOTAL LINES OUT @Y30LB40*/ 01934000 * L=2; /* INDICATE REPORT TOTALS 0626 01935000 * @Y30LB40*/ 01936000 ST @07,L 0626 01937000 * LINECNT=56; /* FORCE TO A NEW PAGE @Y30LB40*/ 01938000 LA LINECNT,56 0627 01939000 * GO TO PROCDSBK; /* GO PRINT TOTALS @Y30LB40*/ 01940000 B PROCDSBK 0628 01941000 * END; /* @Y30LB40*/ 01942000 * END; /* @Y30LB40*/ 01943000 * CALL GETSLICE; /* SET UP NEXT TIME SLICE 0631 01944000 * INTERVAL @OZ11673*/ 01945000 @RF00621 BAL @14,GETSLICE 0631 01946000 * GO TO CHECKTIM; /* @Y30LB40*/ 01947000 B CHECKTIM 0632 01948000 */********************************************************************/ 01949000 * 0633 01950000 * 0633 01951000 */********************************************************************/ 01952000 */* ROUTINE TO BUILD READ/WRITE REPORT @Y30LB40*/ 01953000 */********************************************************************/ 01954000 * 0633 01955000 *ROUTINE2: /* CHECK IF IN PROPER TIME SLICE */ 01956000 * IF CKTIME>TSEND THEN 0633 01957000 ROUTINE2 CLC CKTIME(7),TSEND 0633 01958000 BH @RT00633 0633 01959000 * GO TO RWCTLBRK; /* NEW TIME SLICE @Y30LB40*/ 01960000 *RWACCUM: /* ACCUMULATE NECESSARY RW TOTALS*/ 01961000 * J=LIBRARY+1; /* LIBRARY 0 THRU 1 @ZA16140*/ 01962000 RWACCUM LA @07,1 0635 01963000 SLR @15,@15 0635 01964000 IC @15,LIBRARY 0635 01965000 ALR @15,@07 0635 01966000 ST @15,J 0635 01967000 * K=READWRIT+1; /* READ WRITE UNIT @Y30LB40*/ 01968000 SLR @15,@15 0636 01969000 IC @15,READWRIT 0636 01970000 ALR @07,@15 0636 01971000 ST @07,K 0636 01972000 * IF K>8 THEN 0637 01973000 LA @15,8 0637 01974000 CR @07,@15 0637 01975000 BNH @RF00637 0637 01976000 * K=8; /* IF GREATER THEN 8 SET TO MAX */ 01977000 ST @15,K 0638 01978000 * M=((LOADTIME/4)/3)+1; /* BUILD CLASS INTERVAL FOR LOAD 01979000 * TIME */ 01980000 @RF00637 L @00,LOADTIME 0639 01981000 SRDA @00,32 0639 01982000 D @00,@CF00032 0639 01983000 AL @01,@CF00044 0639 01984000 ST @01,M 0639 01985000 * IF M>10 THEN 0640 01986000 LA @07,10 0640 01987000 CR @01,@07 0640 01988000 BNH @RF00640 0640 01989000 * M=10; /* SET TO MAX @Y30LB40*/ 01990000 ST @07,M 0641 01991000 * DO L=1 TO 2; /* DETAIL AND JOB TOTALS @Y30LB40*/ 01992000 @RF00640 LA @07,1 0642 01993000 ST @07,L 0642 01994000 @DL00642 DS 0H 0643 01995000 * CALL CALCRWA(J,K,L,11); /* GET ARRAY ADDRESS @Y30LB40*/ 01996000 LA @07,J 0643 01997000 ST @07,@AL00001 0643 01998000 LA @07,K 0643 01999000 ST @07,@AL00001+4 0643 02000000 LA @07,L 0643 02001000 ST @07,@AL00001+8 0643 02002000 LA @07,@CF00033 0643 02003000 ST @07,@AL00001+12 0643 02004000 LA @01,@AL00001 0643 02005000 BAL @14,CALCRWA 0643 02006000 * RWB1=RWB1+LOADNUM; /* SUM CARTRIDGE LOADS @Y30LB40*/ 02007000 L @07,ARRAYPTR 0644 02008000 SLR @15,@15 0644 02009000 IC @15,LOADNUM 0644 02010000 AL @15,RWB1(,@07) 0644 02011000 ST @15,RWB1(,@07) 0644 02012000 * CALL CALCRWA(J,K,L,M); /* GET ARRAY ADDRESS @Y30LB40*/ 02013000 LA @07,J 0645 02014000 ST @07,@AL00001 0645 02015000 LA @07,K 0645 02016000 ST @07,@AL00001+4 0645 02017000 LA @07,L 0645 02018000 ST @07,@AL00001+8 0645 02019000 LA @07,M 0645 02020000 ST @07,@AL00001+12 0645 02021000 LA @01,@AL00001 0645 02022000 BAL @14,CALCRWA 0645 02023000 * IF LOADNUM=0 THEN 0646 02024000 CLI LOADNUM,0 0646 02025000 BE @RT00646 0646 02026000 * ; /* @Y30LB40*/ 02027000 * ELSE 0648 02028000 * RWB2=RWB2+1; /* COUNT FOR LOAD TIME @Y30LB40*/ 02029000 L @07,ARRAYPTR 0648 02030000 LA @15,1 0648 02031000 AL @15,RWB2(,@07) 0648 02032000 ST @15,RWB2(,@07) 0648 02033000 * CALL CALCRWA(J,K,L,11); /* GET ARRAY ADDRESS @Y30LB40*/ 02034000 @RT00646 LA @07,J 0649 02035000 ST @07,@AL00001 0649 02036000 LA @07,K 0649 02037000 ST @07,@AL00001+4 0649 02038000 LA @07,L 0649 02039000 ST @07,@AL00001+8 0649 02040000 LA @07,@CF00033 0649 02041000 ST @07,@AL00001+12 0649 02042000 LA @01,@AL00001 0649 02043000 BAL @14,CALCRWA 0649 02044000 * RWB2=RWB2+LOADTIME; /* SUM LOAD TIME @Y30LB40*/ 02045000 L @07,ARRAYPTR 0650 02046000 L @15,RWB2(,@07) 0650 02047000 AL @15,LOADTIME 0650 02048000 ST @15,RWB2(,@07) 0650 02049000 * IF STGDNUM^=0 THEN 0651 02050000 CLI STGDNUM,0 0651 02051000 BE @RF00651 0651 02052000 * DO; /* SUM STAGING FIELDS @Y30LB40*/ 02053000 * CALL CALCRWA(J,K,L,11); /* GET ARRAY ADDRESS @Y30LB40*/ 02054000 LA @07,J 0653 02055000 ST @07,@AL00001 0653 02056000 LA @07,K 0653 02057000 ST @07,@AL00001+4 0653 02058000 LA @07,L 0653 02059000 ST @07,@AL00001+8 0653 02060000 LA @07,@CF00033 0653 02061000 ST @07,@AL00001+12 0653 02062000 LA @01,@AL00001 0653 02063000 BAL @14,CALCRWA 0653 02064000 * RWB3=RWB3+STGD; /* SUM TOT CYLS @Y30LB40*/ 02065000 L @07,ARRAYPTR 0654 02066000 L @15,STGD 0654 02067000 L @14,RWB3(,@07) 0654 02068000 ALR @14,@15 0654 02069000 ST @14,RWB3(,@07) 0654 02070000 * RWB4=RWB4+DEVSGTM; /* DEV STG TIME @Y30LB40*/ 02071000 L @14,DEVSGTM 0655 02072000 L @05,RWB4(,@07) 0655 02073000 ALR @05,@14 0655 02074000 ST @05,RWB4(,@07) 0655 02075000 * IF DEVSGTM=0 THEN 0656 02076000 LTR @14,@14 0656 02077000 BNZ @RF00656 0656 02078000 * N=(STGD*4)+1; /* @Y30LB40*/ 02079000 SLA @15,2 0657 02080000 AL @15,@CF00044 0657 02081000 ST @15,N 0657 02082000 * ELSE 0658 02083000 * N=((STGD*4)/DEVSGTM)+1; /* @Y30LB40*/ 02084000 B @RC00656 0658 02085000 @RF00656 L @01,STGD 0658 02086000 M @00,@CF00104 0658 02087000 D @00,DEVSGTM 0658 02088000 AL @01,@CF00044 0658 02089000 ST @01,N 0658 02090000 * IF N>10 THEN 0659 02091000 @RC00656 LA @07,10 0659 02092000 C @07,N 0659 02093000 BNL @RF00659 0659 02094000 * N=10; /* SET TO MAX @Y30LB40*/ 02095000 ST @07,N 0660 02096000 * CALL CALCRWA(J,K,L,N); /* GET ARRAY ADDRESS @Y30LB40*/ 02097000 @RF00659 LA @07,J 0661 02098000 ST @07,@AL00001 0661 02099000 LA @07,K 0661 02100000 ST @07,@AL00001+4 0661 02101000 LA @07,L 0661 02102000 ST @07,@AL00001+8 0661 02103000 LA @07,N 0661 02104000 ST @07,@AL00001+12 0661 02105000 LA @01,@AL00001 0661 02106000 BAL @14,CALCRWA 0661 02107000 * RWB7=RWB7+STGDNUM; /* DEVICE STG RATE @Y30LB40*/ 02108000 L @07,ARRAYPTR 0662 02109000 SLR @15,@15 0662 02110000 IC @15,STGDNUM 0662 02111000 AL @15,RWB7(,@07) 0662 02112000 ST @15,RWB7(,@07) 0662 02113000 * END; /* @Y30LB40*/ 02114000 * IF DSTGDNUM^=0 THEN 0664 02115000 @RF00651 CLI DSTGDNUM,0 0664 02116000 BE @RF00664 0664 02117000 * DO; /* SUM DESTAGING FIELDS @Y30LB40*/ 02118000 * CALL CALCRWA(J,K,L,11); /* GET ARRAY ADDRESS @Y30LB40*/ 02119000 LA @07,J 0666 02120000 ST @07,@AL00001 0666 02121000 LA @07,K 0666 02122000 ST @07,@AL00001+4 0666 02123000 LA @07,L 0666 02124000 ST @07,@AL00001+8 0666 02125000 LA @07,@CF00033 0666 02126000 ST @07,@AL00001+12 0666 02127000 LA @01,@AL00001 0666 02128000 BAL @14,CALCRWA 0666 02129000 * RWB5=RWB5+DSTGD; /* SUM TOT CYLS @Y30LB40*/ 02130000 L @07,ARRAYPTR 0667 02131000 L @15,DSTGD 0667 02132000 L @14,RWB5(,@07) 0667 02133000 ALR @14,@15 0667 02134000 ST @14,RWB5(,@07) 0667 02135000 * RWB6=RWB6+DEVDSTM; /* DEV DSTG TME @Y30LB40*/ 02136000 L @14,DEVDSTM 0668 02137000 L @05,RWB6(,@07) 0668 02138000 ALR @05,@14 0668 02139000 ST @05,RWB6(,@07) 0668 02140000 * IF DEVDSTM=0 THEN 0669 02141000 LTR @14,@14 0669 02142000 BNZ @RF00669 0669 02143000 * N=(DSTGD*4)+1; /* @Y30LB40*/ 02144000 SLA @15,2 0670 02145000 AL @15,@CF00044 0670 02146000 ST @15,N 0670 02147000 * ELSE 0671 02148000 * N=((DSTGD*4)/DEVDSTM)+1;/* @Y30LB40*/ 02149000 B @RC00669 0671 02150000 @RF00669 L @01,DSTGD 0671 02151000 M @00,@CF00104 0671 02152000 D @00,DEVDSTM 0671 02153000 AL @01,@CF00044 0671 02154000 ST @01,N 0671 02155000 * IF N>10 THEN 0672 02156000 @RC00669 LA @07,10 0672 02157000 C @07,N 0672 02158000 BNL @RF00672 0672 02159000 * N=10; /* SET TO MAX @Y30LB40*/ 02160000 ST @07,N 0673 02161000 * CALL CALCRWA(J,K,L,N); /* GET ARRAY ADDRESS @Y30LB40*/ 02162000 @RF00672 LA @07,J 0674 02163000 ST @07,@AL00001 0674 02164000 LA @07,K 0674 02165000 ST @07,@AL00001+4 0674 02166000 LA @07,L 0674 02167000 ST @07,@AL00001+8 0674 02168000 LA @07,N 0674 02169000 ST @07,@AL00001+12 0674 02170000 LA @01,@AL00001 0674 02171000 BAL @14,CALCRWA 0674 02172000 * RWB8=RWB8+DSTGDNUM; /* DSTG RATE @Y30LB40*/ 02173000 L @07,ARRAYPTR 0675 02174000 SLR @15,@15 0675 02175000 IC @15,DSTGDNUM 0675 02176000 AL @15,RWB8(,@07) 0675 02177000 ST @15,RWB8(,@07) 0675 02178000 * END; /* @Y30LB40*/ 02179000 * N=((BUSYTIME/4)/6)+1; /* @Y30LB40*/ 02180000 @RF00664 L @00,BUSYTIME 0677 02181000 SRDA @00,32 0677 02182000 D @00,@CF00071 0677 02183000 AL @01,@CF00044 0677 02184000 ST @01,N 0677 02185000 * IF N>10 THEN 0678 02186000 LA @07,10 0678 02187000 CR @01,@07 0678 02188000 BNH @RF00678 0678 02189000 * N=10; /* @Y30LB40*/ 02190000 ST @07,N 0679 02191000 * CALL CALCRWA(J,K,L,N); /* GET ARRAY ADDRESS @Y30LB40*/ 02192000 @RF00678 LA @07,J 0680 02193000 ST @07,@AL00001 0680 02194000 LA @07,K 0680 02195000 ST @07,@AL00001+4 0680 02196000 LA @07,L 0680 02197000 ST @07,@AL00001+8 0680 02198000 LA @07,N 0680 02199000 ST @07,@AL00001+12 0680 02200000 LA @01,@AL00001 0680 02201000 BAL @14,CALCRWA 0680 02202000 * RWB9=RWB9+1; /* @Y30LB40*/ 02203000 L @07,ARRAYPTR 0681 02204000 LA @15,1 0681 02205000 AL @15,RWB9(,@07) 0681 02206000 ST @15,RWB9(,@07) 0681 02207000 * END; /* @Y30LB40*/ 02208000 LA @07,1 0682 02209000 AL @07,L 0682 02210000 ST @07,L 0682 02211000 C @07,@CF00051 0682 02212000 BNH @DL00642 0682 02213000 * GO TO RDTRACE; /* GO READ NEXT RECORD @Y30LB40*/ 02214000 B RDTRACE 0683 02215000 */********************************************************************/ 02216000 * 0684 02217000 * 0684 02218000 */********************************************************************/ 02219000 */* PRINT RW TIME SLICE TOTALS @Y30LB40*/ 02220000 */********************************************************************/ 02221000 * 0684 02222000 *RWCTLBRK: /* READ WRITE TIME SLICE CTL 0684 02223000 * BREAK */ 02224000 * L=1; /* DETAIL ONLY @Y30LB40*/ 02225000 RWCTLBRK MVC L(4),@CF00044 0684 02226000 *PROCRWBK: 0685 02227000 * RWLINE=' '; /* @Y30LB40*/ 02228000 PROCRWBK MVI RWLINE+1,C' ' 0685 02229000 MVC RWLINE+2(119),RWLINE+1 0685 02230000 MVI RWLINE,C' ' 0685 02231000 * DO J=1 TO 2; /* PROCESS LIBRARIES 0 THRU 1 */ 02232000 LA @07,1 0686 02233000 ST @07,J 0686 02234000 @DL00686 DS 0H 0687 02235000 * DO K=1 TO 8; /* PROCESS RWU 0 THRU 7 @Y30LB40*/ 02236000 LA @07,1 0687 02237000 ST @07,K 0687 02238000 @DL00687 DS 0H 0688 02239000 * RWLINE=' '; /* @Y30LB40*/ 02240000 MVI RWLINE+1,C' ' 0688 02241000 MVC RWLINE+2(119),RWLINE+1 0688 02242000 MVI RWLINE,C' ' 0688 02243000 * RWFLD4=SSIDEQ(J); /* LIBRARY @OZ05079*/ 02244000 L @15,J 0689 02245000 LA @14,SSIDEQ-1(@15) 0689 02246000 MVC RWFLD4(1),0(@14) 0689 02247000 * CHAR2='2'; /* 1ST DIGIT ALWAYS 2 @OZ05079*/ 02248000 MVI CHAR2,C'2' 0690 02249000 * DRDMSFID=SSIDEQ(J); /* 2ND CHAR = MSF @OZ05079*/ 02250000 LA @14,SSIDEQ-1(@15) 0691 02251000 MVC DRDMSFID(1),0(@14) 0691 02252000 * RWFLD6=SSIDEQ(K); /* PHYSICAL DRD @OZ05079*/ 02253000 LA @01,SSIDEQ-1(@07) 0692 02254000 MVC RWFLD6(1),0(@01) 0692 02255000 * IF L=2&EOFSW='1'B THEN 0693 02256000 CLC L(4),@CF00051 0693 02257000 BNE @RF00693 0693 02258000 TM EOFSW,B'10000000' 0693 02259000 BNO @RF00693 0693 02260000 * DO; /* @Y30LB40*/ 02261000 * RWFLD2='DISTR.'; /* @Y30LB40*/ 02262000 MVC RWFLD2(6),@CC00908 0695 02263000 * RWFLD2A='SUMMARY '; /* @Y30LB40*/ 02264000 MVC RWFLD2A(8),@CC00909 0696 02265000 * END; /* @Y30LB40*/ 02266000 * ELSE 0698 02267000 * DO; /* @Y30LB40*/ 02268000 B @RC00693 0698 02269000 @RF00693 DS 0H 0699 02270000 * RWFLD2=' / '; /* @Y30LB40*/ 02271000 MVC RWFLD2(6),@CC00910 0699 02272000 * CALL EDITFIX(ADDR(TSSYR),1,'N');/* @Y30LB40*/ 02273000 MVC @AL00001+4(8),@AL00700 0700 02274000 LA @07,TSSYR 0700 02275000 ST @07,@AFTEMPS 0700 02276000 LA @07,@AFTEMPS 0700 02277000 ST @07,@AL00001 0700 02278000 LA @01,@AL00001 0700 02279000 BAL @14,EDITFIX 0700 02280000 * RWFLD2(1:2)=FIXOUT(12:13);/* @Y30LB40*/ 02281000 MVC RWFLD2(2),FIXOUT+11 0701 02282000 * CALL EDITFIX(ADDR(TSSDAY),2,'N');/* @Y30LB40*/ 02283000 MVC @AL00001+4(8),@AL00702 0702 02284000 LA @07,TSSDAY 0702 02285000 ST @07,@AFTEMPS 0702 02286000 LA @07,@AFTEMPS 0702 02287000 ST @07,@AL00001 0702 02288000 LA @01,@AL00001 0702 02289000 BAL @14,EDITFIX 0702 02290000 * RWFLD2(4:6)=FIXOUT(11:13);/* @Y30LB40*/ 02291000 MVC RWFLD2+3(3),FIXOUT+10 0703 02292000 * HOUR=TSSTIME/3600; /* @Y30LB40*/ 02293000 L @07,TSSTIME 0704 02294000 LA @15,3600 0704 02295000 LR @00,@07 0704 02296000 SRDA @00,32 0704 02297000 DR @00,@15 0704 02298000 ST @01,HOUR 0704 02299000 * MINUTE=(TSSTIME-(HOUR*3600))/60;/* @Y30LB40*/ 02300000 LA @14,60 0705 02301000 MR @00,@15 0705 02302000 LR @02,@07 0705 02303000 SLR @02,@01 0705 02304000 SRDA @02,32 0705 02305000 DR @02,@14 0705 02306000 ST @03,MINUTE 0705 02307000 * SECOND=TSSTIME-((HOUR*3600)+(MINUTE*60)); 0706 02308000 MR @02,@14 0706 02309000 ALR @01,@03 0706 02310000 SLR @07,@01 0706 02311000 ST @07,SECOND 0706 02312000 * RWFLD2A=' : : '; /* @Y30LB40*/ 02313000 MVC RWFLD2A(8),@CC00911 0707 02314000 * CALL EDITFIX(ADDR(HOUR),4,'S');/* @Y30LB40*/ 02315000 MVC @AL00001+4(8),@AL00708 0708 02316000 LA @07,HOUR 0708 02317000 ST @07,@AFTEMPS 0708 02318000 LA @07,@AFTEMPS 0708 02319000 ST @07,@AL00001 0708 02320000 LA @01,@AL00001 0708 02321000 BAL @14,EDITFIX 0708 02322000 * RWFLD2A(1:2)=FIXOUT(12:13);/* @Y30LB40*/ 02323000 MVC RWFLD2A(2),FIXOUT+11 0709 02324000 * CALL EDITFIX(ADDR(MINUTE),4,'N');/* @Y30LB40*/ 02325000 MVC @AL00001+4(8),@AL00710 0710 02326000 LA @07,MINUTE 0710 02327000 ST @07,@AFTEMPS 0710 02328000 LA @07,@AFTEMPS 0710 02329000 ST @07,@AL00001 0710 02330000 LA @01,@AL00001 0710 02331000 BAL @14,EDITFIX 0710 02332000 * RWFLD2A(4:5)=FIXOUT(12:13);/* @Y30LB40*/ 02333000 MVC RWFLD2A+3(2),FIXOUT+11 0711 02334000 * CALL EDITFIX(ADDR(SECOND),4,'N');/* @Y30LB40*/ 02335000 MVC @AL00001+4(8),@AL00712 0712 02336000 LA @07,SECOND 0712 02337000 ST @07,@AFTEMPS 0712 02338000 LA @07,@AFTEMPS 0712 02339000 ST @07,@AL00001 0712 02340000 LA @01,@AL00001 0712 02341000 BAL @14,EDITFIX 0712 02342000 * RWFLD2A(7:8)=FIXOUT(12:13);/* @Y30LB40*/ 02343000 MVC RWFLD2A+6(2),FIXOUT+11 0713 02344000 * END; /* @Y30LB40*/ 02345000 * CALL CALCRWA(J,K,L,11); /* GET ARRAY ADDRESS @Y30LB40*/ 02346000 @RC00693 LA @07,J 0715 02347000 ST @07,@AL00001 0715 02348000 LA @07,K 0715 02349000 ST @07,@AL00001+4 0715 02350000 LA @07,L 0715 02351000 ST @07,@AL00001+8 0715 02352000 LA @07,@CF00033 0715 02353000 ST @07,@AL00001+12 0715 02354000 LA @01,@AL00001 0715 02355000 BAL @14,CALCRWA 0715 02356000 * IF RWB3+RWB5^=0 THEN 0716 02357000 L @07,ARRAYPTR 0716 02358000 L @15,RWB3(,@07) 0716 02359000 AL @15,RWB5(,@07) 0716 02360000 LTR @15,@15 0716 02361000 BZ @RF00716 0716 02362000 * DO M=1 TO 10; /* @Y30LB40*/ 02363000 LA @07,1 0717 02364000 ST @07,M 0717 02365000 @DL00717 DS 0H 0718 02366000 * IF LINECNT>43 THEN 0718 02367000 C LINECNT,@CF00712 0718 02368000 BNH @RF00718 0718 02369000 * DO; /* SKIP TO A NEW PAGE @Y30LB40*/ 02370000 * LINECNT=2; /* RESET LINE COUNTER @Y30LB40*/ 02371000 LA LINECNT,2 0720 02372000 * PAGECNT=PAGECNT+1; /* UP PAGE COUNTER @Y30LB40*/ 02373000 LA @07,1 0721 02374000 AL @07,PAGECNT 0721 02375000 ST @07,PAGECNT 0721 02376000 * HEADHOLD=HDNGA; /* @Y30LB40*/ 02377000 MVC HEADHOLD(121),HDNGA 0722 02378000 * CALL EDITFIX(ADDR(PAGECNT),4,'S');/* @Y30LB40*/ 02379000 MVC @AL00001+4(8),@AL00723 0723 02380000 LA @07,PAGECNT 0723 02381000 ST @07,@AFTEMPS 0723 02382000 LA @07,@AFTEMPS 0723 02383000 ST @07,@AL00001 0723 02384000 LA @01,@AL00001 0723 02385000 BAL @14,EDITFIX 0723 02386000 * HEADHOLD(118:121)=FIXOUT(10:13);/* @Y30LB40*/ 02387000 MVC HEADHOLD+117(4),FIXOUT+9 0724 02388000 * HEADHOLD(107:111)=TODAY;/* @Y30LB40*/ 02389000 MVC HEADHOLD+106(5),TODAY 0725 02390000 * RFY 0726 02391000 * (R0, 0726 02392000 * R1, 0726 02393000 * R14, 0726 02394000 * R15) RSTD; /* @Y30LB40*/ 02395000 * GEN(PUT PRNTDCB,HEADHOLD);/* @Y30LB40*/ 02396000 PUT PRNTDCB,HEADHOLD 02397000 * RFY 0728 02398000 * (R0, 0728 02399000 * R1, 0728 02400000 * R14, 0728 02401000 * R15) UNRSTD; /* @Y30LB40*/ 02402000 * END; /* @Y30LB40*/ 02403000 * IF M=1 THEN 0730 02404000 @RF00718 CLC M(4),@CF00044 0730 02405000 BNE @RF00730 0730 02406000 * DO; /* 1ST TIME THROUGH, PRINT 0731 02407000 * HEADINGS */ 02408000 * RFY 0732 02409000 * (R0, 0732 02410000 * R1, 0732 02411000 * R14, 0732 02412000 * R15) RSTD; /* @Y30LB40*/ 02413000 * GEN(PUT PRNTDCB,HDNGB);/* @Y30LB40*/ 02414000 PUT PRNTDCB,HDNGB 02415000 * GEN(PUT PRNTDCB,HDNGC);/* @Y30LB40*/ 02416000 PUT PRNTDCB,HDNGC 02417000 * GEN(PUT PRNTDCB,HDNGD);/* @Y30LB40*/ 02418000 PUT PRNTDCB,HDNGD 02419000 * GEN(PUT PRNTDCB,SPACE1);/* @Y30LB40*/ 02420000 PUT PRNTDCB,SPACE1 02421000 * RFY 0737 02422000 * (R0, 0737 02423000 * R1, 0737 02424000 * R14, 0737 02425000 * R15) UNRSTD; /* @Y30LB40*/ 02426000 * LINECNT=LINECNT+5; /* @Y30LB40*/ 02427000 AL LINECNT,@CF00372 0738 02428000 * END; /* @Y30LB40*/ 02429000 * CALL SETLINE(M); /* SET INTERVALS IN PRINT LINE */ 02430000 @RF00730 LA @07,M 0740 02431000 ST @07,@AL00001 0740 02432000 LA @01,@AL00001 0740 02433000 BAL @14,SETLINE 0740 02434000 * CALL CALCRWA(J,K,L,M); /* GET ARRAY ADDRESS @Y30LB40*/ 02435000 LA @07,J 0741 02436000 ST @07,@AL00001 0741 02437000 LA @07,K 0741 02438000 ST @07,@AL00001+4 0741 02439000 LA @07,L 0741 02440000 ST @07,@AL00001+8 0741 02441000 LA @07,M 0741 02442000 ST @07,@AL00001+12 0741 02443000 LA @01,@AL00001 0741 02444000 BAL @14,CALCRWA 0741 02445000 * CALL EDITFIX(ADDR(RWB2),4,'S');/* @Y30LB40*/ 02446000 MVC @AL00001+4(8),@AL00742 0742 02447000 L @07,ARRAYPTR 0742 02448000 LA @07,RWB2(,@07) 0742 02449000 ST @07,@AFTEMPS 0742 02450000 LA @07,@AFTEMPS 0742 02451000 ST @07,@AL00001 0742 02452000 LA @01,@AL00001 0742 02453000 BAL @14,EDITFIX 0742 02454000 * RWFLD10=FIXOUT(9:13); /* LOAD TIME @Y30LB40*/ 02455000 MVC RWFLD10(5),FIXOUT+8 0743 02456000 * CALL EDITFIX(ADDR(RWB7),4,'S');/* @Y30LB40*/ 02457000 MVC @AL00001+4(8),@AL00744 0744 02458000 L @07,ARRAYPTR 0744 02459000 LA @07,RWB7(,@07) 0744 02460000 ST @07,@AFTEMPS 0744 02461000 LA @07,@AFTEMPS 0744 02462000 ST @07,@AL00001 0744 02463000 LA @01,@AL00001 0744 02464000 BAL @14,EDITFIX 0744 02465000 * RWFLD20=FIXOUT(7:13); /* TOTAL STG RATE @Y30LB40*/ 02466000 MVC RWFLD20(7),FIXOUT+6 0745 02467000 * CALL EDITFIX(ADDR(RWB8),4,'S');/* @Y30LB40*/ 02468000 MVC @AL00001+4(8),@AL00746 0746 02469000 L @07,ARRAYPTR 0746 02470000 LA @07,RWB8(,@07) 0746 02471000 ST @07,@AFTEMPS 0746 02472000 LA @07,@AFTEMPS 0746 02473000 ST @07,@AL00001 0746 02474000 LA @01,@AL00001 0746 02475000 BAL @14,EDITFIX 0746 02476000 * RWFLD22=FIXOUT(7:13); /* TOTAL DSTG RATE @Y30LB40*/ 02477000 MVC RWFLD22(7),FIXOUT+6 0747 02478000 * CALL EDITFIX(ADDR(RWB9),4,'S');/* @Y30LB40*/ 02479000 MVC @AL00001+4(8),@AL00748 0748 02480000 L @07,ARRAYPTR 0748 02481000 LA @07,RWB9(,@07) 0748 02482000 ST @07,@AFTEMPS 0748 02483000 LA @07,@AFTEMPS 0748 02484000 ST @07,@AL00001 0748 02485000 LA @01,@AL00001 0748 02486000 BAL @14,EDITFIX 0748 02487000 * RWFLD24=FIXOUT(8:13); /* RWU BUSY TIME @Y30LB40*/ 02488000 MVC RWFLD24(6),FIXOUT+7 0749 02489000 * RFY 0750 02490000 * (R0, 0750 02491000 * R1, 0750 02492000 * R14, 0750 02493000 * R15) RSTD; /* @Y30LB40*/ 02494000 * GEN(PUT PRNTDCB,RWLINE);/* PRINT CLASS LINE @Y30LB40*/ 02495000 PUT PRNTDCB,RWLINE 02496000 * RFY 0752 02497000 * (R0, 0752 02498000 * R1, 0752 02499000 * R14, 0752 02500000 * R15) UNRSTD; /* @Y30LB40*/ 02501000 * LINECNT=LINECNT+1; /* BUMP LINE COUNT @Y30LB40*/ 02502000 AL LINECNT,@CF00044 0753 02503000 * RWFLD2=' '; /* CLEAR CONSTANT INFO @Y30LB40*/ 02504000 MVI RWFLD2+1,C' ' 0754 02505000 MVC RWFLD2+2(4),RWFLD2+1 0754 02506000 MVI RWFLD2,C' ' 0754 02507000 * RWFLD2A=' '; /* @Y30LB40*/ 02508000 MVI RWFLD2A+1,C' ' 0755 02509000 MVC RWFLD2A+2(6),RWFLD2A+1 0755 02510000 MVI RWFLD2A,C' ' 0755 02511000 * RWFLD4=' '; /* @Y30LB40*/ 02512000 MVI RWFLD4,C' ' 0756 02513000 * DRDSSID=' '; /* @OZ05079*/ 02514000 MVC DRDSSID(3),@CC00926 0757 02515000 * RWB2=0; /* CLEAR BUCKETS @Y30LB40*/ 02516000 SLR @07,@07 0758 02517000 L @15,ARRAYPTR 0758 02518000 ST @07,RWB2(,@15) 0758 02519000 * RWB7=0; /* CLEAR BUCKETS @Y30LB40*/ 02520000 ST @07,RWB7(,@15) 0759 02521000 * RWB8=0; /* CLEAR BUCKETS @Y30LB40*/ 02522000 ST @07,RWB8(,@15) 0760 02523000 * RWB9=0; /* CLEAR BUCKETS @Y30LB40*/ 02524000 ST @07,RWB9(,@15) 0761 02525000 * IF M=10 THEN 0762 02526000 CLC M(4),@CF00034 0762 02527000 BNE @RF00762 0762 02528000 * DO; /* LAST TIME THROUGH THE LOOP */ 02529000 * RFY 0764 02530000 * (R0, 0764 02531000 * R1, 0764 02532000 * R14, 0764 02533000 * R15) RSTD; /* @Y30LB40*/ 02534000 * GEN(PUT PRNTDCB,HDNGE);/* PRINT TIME SLICE TOTALS */ 02535000 PUT PRNTDCB,HDNGE 02536000 * GEN(PUT PRNTDCB,HDNGF);/* @Y30LB40*/ 02537000 PUT PRNTDCB,HDNGF 02538000 * GEN(PUT PRNTDCB,SPACE1);/* @Y30LB40*/ 02539000 PUT PRNTDCB,SPACE1 02540000 * RFY 0768 02541000 * (R0, 0768 02542000 * R1, 0768 02543000 * R14, 0768 02544000 * R15) UNRSTD; /* @Y30LB40*/ 02545000 * LINECNT=LINECNT+4; /* ADD 4 TO LINE COUNTER */ 02546000 AL LINECNT,@CF00104 0769 02547000 * RWTLINE=' '; /* @Y30LB40*/ 02548000 MVI RWTLINE+1,C' ' 0770 02549000 MVC RWTLINE+2(119),RWTLINE+1 0770 02550000 MVI RWTLINE,C' ' 0770 02551000 * CALL CALCRWA(J,K,L,11);/* GET ARRAY ADDRESS */ 02552000 LA @07,J 0771 02553000 ST @07,@AL00001 0771 02554000 LA @07,K 0771 02555000 ST @07,@AL00001+4 0771 02556000 LA @07,L 0771 02557000 ST @07,@AL00001+8 0771 02558000 LA @07,@CF00033 0771 02559000 ST @07,@AL00001+12 0771 02560000 LA @01,@AL00001 0771 02561000 BAL @14,CALCRWA 0771 02562000 * CALL EDITFIX(ADDR(RWB1),4,'S');/* @Y30LB40*/ 02563000 MVC @AL00001+4(8),@AL00772 0772 02564000 LA @07,ARRAYPTR 0772 02565000 ST @07,@AL00001 0772 02566000 LA @01,@AL00001 0772 02567000 BAL @14,EDITFIX 0772 02568000 * RWTFLD2=FIXOUT(8:13);/* TOTAL CARTRIDGES */ 02569000 MVC RWTFLD2(6),FIXOUT+7 0773 02570000 * CALCFLD=RWB2/4; /* @Y30LB40*/ 02571000 L @07,ARRAYPTR 0774 02572000 L @00,RWB2(,@07) 0774 02573000 SRDA @00,32 0774 02574000 D @00,@CF00104 0774 02575000 ST @01,CALCFLD 0774 02576000 * CALL EDITFIX(ADDR(CALCFLD),4,'S');/* @Y30LB40*/ 02577000 MVC @AL00001+4(8),@AL00775 0775 02578000 LA @07,CALCFLD 0775 02579000 ST @07,@AFTEMPS 0775 02580000 LA @07,@AFTEMPS 0775 02581000 ST @07,@AL00001 0775 02582000 LA @01,@AL00001 0775 02583000 BAL @14,EDITFIX 0775 02584000 * RWTFLD4=FIXOUT(8:13);/* LOAD TIME @Y30LB40*/ 02585000 MVC RWTFLD4(6),FIXOUT+7 0776 02586000 * CALL EDITFIX(ADDR(RWB3),4,'S');/* @Y30LB40*/ 02587000 MVC @AL00001+4(8),@AL00777 0777 02588000 L @07,ARRAYPTR 0777 02589000 LA @07,RWB3(,@07) 0777 02590000 ST @07,@AFTEMPS 0777 02591000 LA @07,@AFTEMPS 0777 02592000 ST @07,@AL00001 0777 02593000 LA @01,@AL00001 0777 02594000 BAL @14,EDITFIX 0777 02595000 * RWTFLD6=FIXOUT(7:13);/* TOT CYLS STG @Y30LB40*/ 02596000 MVC RWTFLD6(7),FIXOUT+6 0778 02597000 * CALCFLD=RWB4/4; /* @Y30LB40*/ 02598000 L @07,ARRAYPTR 0779 02599000 L @00,RWB4(,@07) 0779 02600000 SRDA @00,32 0779 02601000 D @00,@CF00104 0779 02602000 ST @01,CALCFLD 0779 02603000 * CALL EDITFIX(ADDR(CALCFLD),4,'S');/* @Y30LB40*/ 02604000 MVC @AL00001+4(8),@AL00780 0780 02605000 LA @07,CALCFLD 0780 02606000 ST @07,@AFTEMPS 0780 02607000 LA @07,@AFTEMPS 0780 02608000 ST @07,@AL00001 0780 02609000 LA @01,@AL00001 0780 02610000 BAL @14,EDITFIX 0780 02611000 * RWTFLD8=FIXOUT(8:13);/* TOT DEV STG TIME */ 02612000 MVC RWTFLD8(6),FIXOUT+7 0781 02613000 * CALL EDITFIX(ADDR(RWB5),4,'S');/* @Y30LB40*/ 02614000 MVC @AL00001+4(8),@AL00782 0782 02615000 L @07,ARRAYPTR 0782 02616000 LA @07,RWB5(,@07) 0782 02617000 ST @07,@AFTEMPS 0782 02618000 LA @07,@AFTEMPS 0782 02619000 ST @07,@AL00001 0782 02620000 LA @01,@AL00001 0782 02621000 BAL @14,EDITFIX 0782 02622000 * RWTFLD10=FIXOUT(7:13);/* TOT CYLS DSTG @Y30LB40*/ 02623000 MVC RWTFLD10(7),FIXOUT+6 0783 02624000 * CALCFLD=RWB6/4; /* @Y30LB40*/ 02625000 L @07,ARRAYPTR 0784 02626000 L @00,RWB6(,@07) 0784 02627000 SRDA @00,32 0784 02628000 D @00,@CF00104 0784 02629000 ST @01,CALCFLD 0784 02630000 * CALL EDITFIX(ADDR(CALCFLD),4,'S');/* @Y30LB40*/ 02631000 MVC @AL00001+4(8),@AL00785 0785 02632000 LA @07,CALCFLD 0785 02633000 ST @07,@AFTEMPS 0785 02634000 LA @07,@AFTEMPS 0785 02635000 ST @07,@AL00001 0785 02636000 LA @01,@AL00001 0785 02637000 BAL @14,EDITFIX 0785 02638000 * RWTFLD12=FIXOUT(8:13);/* TOT DEV DSTG TIME */ 02639000 MVC RWTFLD12(6),FIXOUT+7 0786 02640000 * IF RWB1=0 THEN 0787 02641000 L @07,ARRAYPTR 0787 02642000 L @15,RWB1(,@07) 0787 02643000 LTR @15,@15 0787 02644000 BNZ @RF00787 0787 02645000 * RWB1=1; /* @Y30LB40*/ 02646000 MVC RWB1(4,@07),@CF00044 0788 02647000 * CALCFLD=((RWB2/4)/RWB1);/* @Y30LB40*/ 02648000 @RF00787 L @07,ARRAYPTR 0789 02649000 L @00,RWB2(,@07) 0789 02650000 SRDA @00,32 0789 02651000 D @00,@CF00104 0789 02652000 LR @02,@01 0789 02653000 SRDA @02,32 0789 02654000 D @02,RWB1(,@07) 0789 02655000 ST @03,CALCFLD 0789 02656000 * CALL EDITFIX(ADDR(CALCFLD),4,'S');/* @Y30LB40*/ 02657000 MVC @AL00001+4(8),@AL00790 0790 02658000 LA @07,CALCFLD 0790 02659000 ST @07,@AFTEMPS 0790 02660000 LA @07,@AFTEMPS 0790 02661000 ST @07,@AL00001 0790 02662000 LA @01,@AL00001 0790 02663000 BAL @14,EDITFIX 0790 02664000 * RWTFLD14=FIXOUT(8:13);/* CARTRIDGE RATE @Y30LB40*/ 02665000 MVC RWTFLD14(6),FIXOUT+7 0791 02666000 * RFY 0792 02667000 * (R0, 0792 02668000 * R1, 0792 02669000 * R14, 0792 02670000 * R15) RSTD; /* @Y30LB40*/ 02671000 * GEN(PUT PRNTDCB,RWTLINE);/* PRINT TOTAL LINE */ 02672000 PUT PRNTDCB,RWTLINE 02673000 * GEN(PUT PRNTDCB,SPACE1);/* SKIP A LINE @Y30LB40*/ 02674000 PUT PRNTDCB,SPACE1 02675000 * RFY 0795 02676000 * (R0, 0795 02677000 * R1, 0795 02678000 * R14, 0795 02679000 * R15) UNRSTD; /* @Y30LB40*/ 02680000 * LINECNT=LINECNT+2; /* BUMP LINE COUNT */ 02681000 AL LINECNT,@CF00051 0796 02682000 * RWB1=0; /* CLEAR BUCKETS @Y30LB40*/ 02683000 SLR @07,@07 0797 02684000 L @15,ARRAYPTR 0797 02685000 ST @07,RWB1(,@15) 0797 02686000 * RWB2=0; /* CLEAR BUCKETS @Y30LB40*/ 02687000 ST @07,RWB2(,@15) 0798 02688000 * RWB3=0; /* CLEAR BUCKETS @Y30LB40*/ 02689000 ST @07,RWB3(,@15) 0799 02690000 * RWB4=0; /* CLEAR BUCKETS @Y30LB40*/ 02691000 ST @07,RWB4(,@15) 0800 02692000 * RWB5=0; /* CLEAR BUCKETS @Y30LB40*/ 02693000 ST @07,RWB5(,@15) 0801 02694000 * RWB6=0; /* CLEAR BUCKETS @Y30LB40*/ 02695000 ST @07,RWB6(,@15) 0802 02696000 * END; /* @Y30LB40*/ 02697000 * END; /* @Y30LB40*/ 02698000 @RF00762 LA @07,1 0804 02699000 AL @07,M 0804 02700000 ST @07,M 0804 02701000 C @07,@CF00034 0804 02702000 BNH @DL00717 0804 02703000 * END; /* @Y30LB40*/ 02704000 @RF00716 LA @07,1 0805 02705000 AL @07,K 0805 02706000 ST @07,K 0805 02707000 C @07,@CF00069 0805 02708000 BNH @DL00687 0805 02709000 * END; /* @Y30LB40*/ 02710000 LA @07,1 0806 02711000 AL @07,J 0806 02712000 ST @07,J 0806 02713000 C @07,@CF00051 0806 02714000 BNH @DL00686 0806 02715000 * IF EOFSW='1'B THEN 0807 02716000 TM EOFSW,B'10000000' 0807 02717000 BNO @RF00807 0807 02718000 * DO; /* END OF JOB YET @Y30LB40*/ 02719000 * IF L=2 THEN 0809 02720000 LA @07,2 0809 02721000 C @07,L 0809 02722000 BE @RT00809 0809 02723000 * GO TO EOJ; /* IF REPORT TOTALS 0810 02724000 * WRITTEN,GETOUT */ 02725000 * ELSE 0811 02726000 * L=2; /* SETUP FOR REPORT TOTALS 0811 02727000 * @Y30LB40*/ 02728000 ST @07,L 0811 02729000 * LINECNT=56; /* FORCE NEW PAGE @Y30LB40*/ 02730000 LA LINECNT,56 0812 02731000 * GO TO PROCRWBK; /* GO WRITE TOTALS @Y30LB40*/ 02732000 B PROCRWBK 0813 02733000 * END; /* @Y30LB40*/ 02734000 * CALL GETSLICE; /* SETUP NEW TIME SLICE INTERVAL 02735000 * @OZ11673*/ 02736000 @RF00807 BAL @14,GETSLICE 0815 02737000 * GO TO ROUTINE2; /* @Y30LB40*/ 02738000 B ROUTINE2 0816 02739000 */********************************************************************/ 02740000 * 0817 02741000 * 0817 02742000 */********************************************************************/ 02743000 * 0817 02744000 *EOF: /* END OF FILE REACHED @Y30LB40*/ 02745000 * EOFSW='1'B; /* INDICATE END OF FILE @Y30LB40*/ 02746000 EOF OI EOFSW,B'10000000' 0817 02747000 * IF PARMSW='D' THEN 0818 02748000 CLI PARMSW,C'D' 0818 02749000 BE @RT00818 0818 02750000 * GO TO DSCTLBRK; /* GO FORCE SDG TOTALS @ZA16140*/ 02751000 * ELSE 0820 02752000 * GO TO RWCTLBRK; /* GO FORCE RW TOTALS @Y30LB40*/ 02753000 B RWCTLBRK 0820 02754000 * 0821 02755000 */********************************************************************/ 02756000 */* END OF JOB, CLOSE FILES, PROCESSING COMPLETE. @Y30LB40*/ 02757000 */********************************************************************/ 02758000 * 0821 02759000 *EOJ: /* REPORTS COMPLETE PRINT PARMS 02760000 * VALUES LINE @Y30LB40*/ 02761000 * DSLINE=RCDTOTAL; /* @Y30LB40*/ 02762000 EOJ MVC DSLINE(121),RCDTOTAL 0821 02763000 * DSLINE(16:16)=PARMSW; /* @Y30LB40*/ 02764000 MVC DSLINE+15(1),PARMSW 0822 02765000 * TIMESL=TIMESL/60; /* @Y30LB40*/ 02766000 L @00,TIMESL 0823 02767000 SRDA @00,32 0823 02768000 D @00,@CF00335 0823 02769000 ST @01,TIMESL 0823 02770000 * CALL EDITFIX(ADDR(TIMESL),4,'S');/* @Y30LB40*/ 02771000 MVC @AL00001+4(8),@AL00824 0824 02772000 LA @07,TIMESL 0824 02773000 ST @07,@AFTEMPS 0824 02774000 LA @07,@AFTEMPS 0824 02775000 ST @07,@AL00001 0824 02776000 LA @01,@AL00001 0824 02777000 BAL @14,EDITFIX 0824 02778000 * DSLINE(29:31)=FIXOUT(11:13); /* @Y30LB40*/ 02779000 MVC DSLINE+28(3),FIXOUT+10 0825 02780000 * CALL EDITFIX(ADDR(HLDSYR),1,'N');/* @Y30LB40*/ 02781000 MVC @AL00001+4(8),@AL00826 0826 02782000 LA @07,HLDSYR 0826 02783000 ST @07,@AFTEMPS 0826 02784000 LA @07,@AFTEMPS 0826 02785000 ST @07,@AL00001 0826 02786000 LA @01,@AL00001 0826 02787000 BAL @14,EDITFIX 0826 02788000 * DSLINE(42:43)=FIXOUT(12:13); /* @Y30LB40*/ 02789000 MVC DSLINE+41(2),FIXOUT+11 0827 02790000 * CALL EDITFIX(ADDR(HLDSDAY),2,'N');/* @Y30LB40*/ 02791000 MVC @AL00001+4(8),@AL00828 0828 02792000 LA @07,HLDSDAY 0828 02793000 ST @07,@AFTEMPS 0828 02794000 LA @07,@AFTEMPS 0828 02795000 ST @07,@AL00001 0828 02796000 LA @01,@AL00001 0828 02797000 BAL @14,EDITFIX 0828 02798000 * DSLINE(44:46)=FIXOUT(11:13); /* @Y30LB40*/ 02799000 MVC DSLINE+43(3),FIXOUT+10 0829 02800000 * CALL EDITFIX(ADDR(HLDEYR),1,'N');/* @Y30LB40*/ 02801000 MVC @AL00001+4(8),@AL00830 0830 02802000 LA @07,HLDEYR 0830 02803000 ST @07,@AFTEMPS 0830 02804000 LA @07,@AFTEMPS 0830 02805000 ST @07,@AL00001 0830 02806000 LA @01,@AL00001 0830 02807000 BAL @14,EDITFIX 0830 02808000 * DSLINE(48:49)=FIXOUT(12:13); /* @Y30LB40*/ 02809000 MVC DSLINE+47(2),FIXOUT+11 0831 02810000 * CALL EDITFIX(ADDR(HLDEDAY),2,'N');/* @Y30LB40*/ 02811000 MVC @AL00001+4(8),@AL00832 0832 02812000 LA @07,HLDEDAY 0832 02813000 ST @07,@AFTEMPS 0832 02814000 LA @07,@AFTEMPS 0832 02815000 ST @07,@AL00001 0832 02816000 LA @01,@AL00001 0832 02817000 BAL @14,EDITFIX 0832 02818000 * DSLINE(50:52)=FIXOUT(11:13); /* @Y30LB40*/ 02819000 MVC DSLINE+49(3),FIXOUT+10 0833 02820000 * HOUR=HLDSTIME/3600; /* @Y30LB40*/ 02821000 L @07,HLDSTIME 0834 02822000 LA @15,3600 0834 02823000 LR @00,@07 0834 02824000 SRDA @00,32 0834 02825000 DR @00,@15 0834 02826000 ST @01,HOUR 0834 02827000 * MINUTE=(HLDSTIME-(HOUR*3600))/60;/* @Y30LB40*/ 02828000 MR @00,@15 0835 02829000 LR @02,@07 0835 02830000 SLR @02,@01 0835 02831000 SRDA @02,32 0835 02832000 D @02,@CF00335 0835 02833000 ST @03,MINUTE 0835 02834000 * CALL EDITFIX(ADDR(HOUR),4,'N'); /* @Y30LB40*/ 02835000 MVC @AL00001+4(8),@AL00836 0836 02836000 LA @07,HOUR 0836 02837000 ST @07,@AFTEMPS 0836 02838000 LA @07,@AFTEMPS 0836 02839000 ST @07,@AL00001 0836 02840000 LA @01,@AL00001 0836 02841000 BAL @14,EDITFIX 0836 02842000 * DSLINE(63:64)=FIXOUT(12:13); /* @Y30LB40*/ 02843000 MVC DSLINE+62(2),FIXOUT+11 0837 02844000 * CALL EDITFIX(ADDR(MINUTE),4,'N');/* @Y30LB40*/ 02845000 MVC @AL00001+4(8),@AL00838 0838 02846000 LA @07,MINUTE 0838 02847000 ST @07,@AFTEMPS 0838 02848000 LA @07,@AFTEMPS 0838 02849000 ST @07,@AL00001 0838 02850000 LA @01,@AL00001 0838 02851000 BAL @14,EDITFIX 0838 02852000 * DSLINE(65:66)=FIXOUT(12:13); /* @Y30LB40*/ 02853000 MVC DSLINE+64(2),FIXOUT+11 0839 02854000 * HOUR=HLDETIME/3600; /* @Y30LB40*/ 02855000 L @07,HLDETIME 0840 02856000 LA @15,3600 0840 02857000 LR @00,@07 0840 02858000 SRDA @00,32 0840 02859000 DR @00,@15 0840 02860000 ST @01,HOUR 0840 02861000 * MINUTE=(HLDETIME-(HOUR*3600))/60;/* @Y30LB40*/ 02862000 MR @00,@15 0841 02863000 LR @02,@07 0841 02864000 SLR @02,@01 0841 02865000 SRDA @02,32 0841 02866000 D @02,@CF00335 0841 02867000 ST @03,MINUTE 0841 02868000 * CALL EDITFIX(ADDR(HOUR),4,'N'); /* @Y30LB40*/ 02869000 MVC @AL00001+4(8),@AL00842 0842 02870000 LA @07,HOUR 0842 02871000 ST @07,@AFTEMPS 0842 02872000 LA @07,@AFTEMPS 0842 02873000 ST @07,@AL00001 0842 02874000 LA @01,@AL00001 0842 02875000 BAL @14,EDITFIX 0842 02876000 * DSLINE(68:69)=FIXOUT(12:13); /* @Y30LB40*/ 02877000 MVC DSLINE+67(2),FIXOUT+11 0843 02878000 * CALL EDITFIX(ADDR(MINUTE),4,'N');/* @Y30LB40*/ 02879000 MVC @AL00001+4(8),@AL00844 0844 02880000 LA @07,MINUTE 0844 02881000 ST @07,@AFTEMPS 0844 02882000 LA @07,@AFTEMPS 0844 02883000 ST @07,@AL00001 0844 02884000 LA @01,@AL00001 0844 02885000 BAL @14,EDITFIX 0844 02886000 * DSLINE(70:71)=FIXOUT(12:13); /* @Y30LB40*/ 02887000 MVC DSLINE+69(2),FIXOUT+11 0845 02888000 * IF SELECTSW='1'B THEN 0846 02889000 TM SELECTSW,B'10000000' 0846 02890000 BNO @RF00846 0846 02891000 * IF PARMSW='D' THEN 0847 02892000 CLI PARMSW,C'D' 0847 02893000 BNE @RF00847 0847 02894000 * DO; /* @Y30LB40*/ 02895000 * DSLINE(73:80)='SDGXX '; /* @ZA16140*/ 02896000 MVC DSLINE+72(8),@CC00943 0849 02897000 * CALL EDITFIX(ADDR(SELSDG),1,'N');/* @ZA16140*/ 02898000 MVC @AL00001+4(8),@AL00850 0850 02899000 LA @07,SELSDG 0850 02900000 ST @07,@AFTEMPS 0850 02901000 LA @07,@AFTEMPS 0850 02902000 ST @07,@AL00001 0850 02903000 LA @01,@AL00001 0850 02904000 BAL @14,EDITFIX 0850 02905000 * DSLINE(76:77)=FIXOUT(12:13);/* @ZA16140*/ 02906000 MVC DSLINE+75(2),FIXOUT+11 0851 02907000 * END; /* @Y30LB40*/ 02908000 * ELSE 0853 02909000 * DO; /* @Y30LB40*/ 02910000 B @RC00847 0853 02911000 @RF00847 DS 0H 0854 02912000 * DSLINE(78:78)='2'; /* @OZ05079*/ 02913000 MVI DSLINE+77,C'2' 0854 02914000 * DSLINE(79:79)=SSIDEQ(LIB+1);/* @OZ05079*/ 02915000 SLR @07,@07 0855 02916000 IC @07,LIB 0855 02917000 LA @01,SSIDEQ(@07) 0855 02918000 MVC DSLINE+78(1),0(@01) 0855 02919000 * DSLINE(80:80)=SSIDEQ(U+1);/* @OZ05079*/ 02920000 SLR @07,@07 0856 02921000 IC @07,U 0856 02922000 LA @01,SSIDEQ(@07) 0856 02923000 MVC DSLINE+79(1),0(@01) 0856 02924000 * END; /* @Y30LB40*/ 02925000 * ELSE 0858 02926000 * DSLINE(73:80)=' '; /* @OZ05079*/ 02927000 B @RC00846 0858 02928000 @RF00846 MVC DSLINE+72(8),@CC00948 0858 02929000 * CALL EDITFIX(ADDR(RCDCOUNT),4,'S');/* @Y30LB40*/ 02930000 @RC00846 MVC @AL00001+4(8),@AL00859 0859 02931000 LA @07,RCDCOUNT 0859 02932000 ST @07,@AFTEMPS 0859 02933000 LA @07,@AFTEMPS 0859 02934000 ST @07,@AL00001 0859 02935000 LA @01,@AL00001 0859 02936000 BAL @14,EDITFIX 0859 02937000 * DSLINE(108:113)=FIXOUT(8:13); /* @Y30LB40*/ 02938000 MVC DSLINE+107(6),FIXOUT+7 0860 02939000 * RFY 0861 02940000 * (R0, 0861 02941000 * R1, 0861 02942000 * R14, 0861 02943000 * R15) RSTD; /* @Y30LB40*/ 02944000 * GEN(PUT PRNTDCB,DSLINE); /* @Y30LB40*/ 02945000 PUT PRNTDCB,DSLINE 02946000 * RFY 0863 02947000 * (R0, 0863 02948000 * R1, 0863 02949000 * R14, 0863 02950000 * R15) UNRSTD; /* @Y30LB40*/ 02951000 *CLOSEFIL: 0864 02952000 * RFY 0864 02953000 * (R0, 0864 02954000 * R1, 0864 02955000 * R14, 0864 02956000 * R15) RSTD; /* @Y30LB40*/ 02957000 CLOSEFIL DS 0H 0865 02958000 * GEN(CLOSE INDCB,MF=(E,OPENCLOS));/* CLOSE INPUT DCB @Y30LB40*/ 02959000 CLOSE INDCB,MF=(E,OPENCLOS) 02960000 * GEN(CLOSE PRNTDCB,MF=(E,OPENCLOS));/* CLOSE PRINT DCB @Y30LB40*/ 02961000 CLOSE PRNTDCB,MF=(E,OPENCLOS) 02962000 * RFY 0867 02963000 * (R0, 0867 02964000 * R1, 0867 02965000 * R14, 0867 02966000 * R15) UNRSTD; /* @Y30LB40*/ 02967000 * RFY 0868 02968000 * (R0, 0868 02969000 * R1) RSTD; /* @Y30LB40*/ 02970000 * R0=LENGTH(DSARRAY); /* @ZA16140*/ 02971000 L R0,@CF00997 0869 02972000 * R1=ARRAYLOC; /* @Y30LB40*/ 02973000 LR R1,ARRAYLOC 0870 02974000 * GEN(FREEMAIN R,LV=(0),A=(1)); /* FREEMAIN ARRAYS @Y30LB40*/ 02975000 FREEMAIN R,LV=(0),A=(1) 02976000 * RFY 0872 02977000 * (R0, 0872 02978000 * R1) UNRSTD; /* @Y30LB40*/ 02979000 * RETURN CODE(RETURNCD); /* TERMINATE WITH RETURN CODE 0873 02980000 * @Y30LB40*/ 02981000 LH @07,RETURNCD 0873 02982000 L @13,4(,@13) 0873 02983000 L @00,@SIZDATD 0873 02984000 LR @01,@09 0873 02985000 FREEMAIN R,LV=(0),A=(1) 02986000 LR @15,@07 0873 02987000 L @14,12(,@13) 0873 02988000 LM @00,@12,20(@13) 0873 02989000 BR @14 0873 02990000 * 0874 02991000 */********************************************************** @OZ11673*/ 02992000 */* @OZ11673*/ 02993000 */* PROCEDURE NAME - GETSLICE @OZ11673*/ 02994000 */* @OZ11673*/ 02995000 */* FUNCTION - BUMP THE TIMESLICE COMPARE VALUE UNTIL THE @OZ11673*/ 02996000 */* CURRENT TIME IN THE DETAIL RECORD FALLS @OZ11673*/ 02997000 */* WITHIN THE TIMESLICE RANGE. @OZ11673*/ 02998000 */* @OZ11673*/ 02999000 */********************************************************** @OZ11673*/ 03000000 * 0874 03001000 *GETSLICE: 0874 03002000 * PROCEDURE; /* @OZ11673*/ 03003000 GETSLICE STM @14,@12,12(@13) 0874 03004000 * DO WHILE(CKTIME>TSEND); /* SETUP NEXT TIME SLICE INTERVAL*/ 03005000 B @DE00875 0875 03006000 @DL00875 DS 0H 0876 03007000 * TSBEG=TSEND; /* @Y30LB40*/ 03008000 MVC TSBEG(7),TSEND 0876 03009000 * TSETIME=TSETIME+TIMESL; /* @Y30LB40*/ 03010000 L @07,TSETIME 0877 03011000 AL @07,TIMESL 0877 03012000 ST @07,TSETIME 0877 03013000 * IF TSETIME>86399 THEN 0878 03014000 C @07,@CF00871 0878 03015000 BNH @RF00878 0878 03016000 * DO; /* @Y30LB40*/ 03017000 * TSETIME=TSETIME-86400; /* @Y30LB40*/ 03018000 SL @07,@CF00955 0880 03019000 ST @07,TSETIME 0880 03020000 * TSEDAY=TSEDAY+1; /* @Y30LB40*/ 03021000 LA @07,1 0881 03022000 LH @15,TSEDAY 0881 03023000 ALR @15,@07 0881 03024000 STH @15,TSEDAY 0881 03025000 * IF TSEDAY>365 THEN 0882 03026000 C @15,@CF00870 0882 03027000 BNH @RF00882 0882 03028000 * DO; /* @Y30LB40*/ 03029000 * IF(TSEND(1:1)&'00000011'B)='00000000'B THEN 0884 03030000 MVC @TS00001(1),TSEND 0884 03031000 NI @TS00001,B'00000011' 0884 03032000 CLI @TS00001,B'00000000' 0884 03033000 BNE @RF00884 0884 03034000 * IF TSEDAY>366 THEN 0885 03035000 LA @14,366 0885 03036000 CR @15,@14 0885 03037000 BNH @RF00885 0885 03038000 * DO; /* @Y30LB40*/ 03039000 * TSEDAY=TSEDAY-366;/* @Y30LB40*/ 03040000 SLR @15,@14 0887 03041000 STH @15,TSEDAY 0887 03042000 * TSEYR=TSEYR+1; /* @Y30LB40*/ 03043000 SLR @15,@15 0888 03044000 IC @15,TSEYR 0888 03045000 ALR @07,@15 0888 03046000 STC @07,TSEYR 0888 03047000 * END; /* @Y30LB40*/ 03048000 * ELSE 0890 03049000 * ; /* @Y30LB40*/ 03050000 @RF00885 DS 0H 0891 03051000 * ELSE 0891 03052000 * DO; /* @Y30LB40*/ 03053000 B @RC00884 0891 03054000 @RF00884 DS 0H 0892 03055000 * TSEDAY=TSEDAY-365;/* @Y30LB40*/ 03056000 LH @07,TSEDAY 0892 03057000 SL @07,@CF00870 0892 03058000 STH @07,TSEDAY 0892 03059000 * TSEYR=TSEYR+1; /* @Y30LB40*/ 03060000 LA @07,1 0893 03061000 SLR @15,@15 0893 03062000 IC @15,TSEYR 0893 03063000 ALR @07,@15 0893 03064000 STC @07,TSEYR 0893 03065000 * END; /* @Y30LB40*/ 03066000 * END; /* @Y30LB40*/ 03067000 @RC00884 DS 0H 0896 03068000 * END; /* @Y30LB40*/ 03069000 @RF00882 DS 0H 0897 03070000 * END; /* @Y30LB40*/ 03071000 @RF00878 DS 0H 0897 03072000 @DE00875 CLC CKTIME(7),TSEND 0897 03073000 BH @DL00875 0897 03074000 * END GETSLICE; /* @OZ11673*/ 03075000 @EL00002 DS 0H 0898 03076000 @EF00002 DS 0H 0898 03077000 @ER00002 LM @14,@12,12(@13) 0898 03078000 BR @14 0898 03079000 * 0899 03080000 */********************************************************************/ 03081000 */* EDITFIX IS CALLED TO CONVERT BINARY FIELDS INTO CHARACTER FORM */ 03082000 */* FOR PRINTING. IT IS CALLED WITH THE FOLLOWING PARAMETERS - */ 03083000 */* 1. FIXADDR - THE ADDRESS OF THE FIELD TO BE CONVERTED @Y30LB40*/ 03084000 */* 2. FIXLEN - THE LENGTH OF THE FIELD TO BE CONVERTED - 1,2, OR 4*/ 03085000 */* 3. FIXOPT - THE TYPE OF EDITING OPTION DESIRED WHERE @Y30LB40*/ 03086000 */* N = CONVERT TO CHARACTER, NO EDITING @Y30LB40*/ 03087000 */* S = CONVERT TO CHARACTER AND ZERO SUPPRESS @Y30LB40*/ 03088000 */* E = CONVERT TO CHARACTER, INSERT COMMAS @Y30LB40*/ 03089000 */* TO DIVIDE HUNDREDS,THOUSANDS AND MILLIONS */ 03090000 */* AND ZERO AND COMMA SUPPRESS @Y30LB40*/ 03091000 */* OUTPUT IS PROVIDED IN A FIELD CALLED FIXOUT WHICH IS 13 BYTES */ 03092000 */* LONG. @Y30LB40*/ 03093000 */********************************************************************/ 03094000 * 0899 03095000 *EDITFIX: 0899 03096000 * PROC(FIXADDR,FIXLEN,FIXOPT) OPTIONS(SAVE);/* @Y30LB40*/ 03097000 EDITFIX STM @14,@12,@SA00003 0899 03098000 MVC @PC00003(12),0(@01) 0899 03099000 * DCL 0900 03100000 * FIXADDR PTR(31); /* @Y30LB40*/ 03101000 * DCL 0901 03102000 * FIXLEN PTR(31); /* @Y30LB40*/ 03103000 * DCL 0902 03104000 * FIXOPT CHAR(1); /* @Y30LB40*/ 03105000 * RFY 0903 03106000 * (R2, 0903 03107000 * R3) RSTD; /* @Y30LB40*/ 03108000 * R2=FIXADDR; /* @Y30LB40*/ 03109000 L @07,@PC00003 0904 03110000 L R2,FIXADDR(,@07) 0904 03111000 * R3=0; /* @Y30LB40*/ 03112000 SLR R3,R3 0905 03113000 * IF FIXLEN=1 /* IF LENGTH IS 1 PICKUP ONE BYTE 03114000 * @Y30LB40*/ 03115000 * THEN 0906 03116000 L @07,@PC00003+4 0906 03117000 CLC FIXLEN(4,@07),@CF00044 0906 03118000 BNE @RF00906 0906 03119000 * DO; /* @Y30LB40*/ 03120000 * GEN(IC R3,0(R2)); /* @Y30LB40*/ 03121000 IC R3,0(R2) 03122000 * END; /* @Y30LB40*/ 03123000 * ELSE 0910 03124000 * IF FIXLEN=2 /* IF LENGTH IS 2 PICKUP TWO 0910 03125000 * BYTES @Y30LB40*/ 03126000 * THEN 0910 03127000 B @RC00906 0910 03128000 @RF00906 L @07,@PC00003+4 0910 03129000 CLC FIXLEN(4,@07),@CF00051 0910 03130000 BNE @RF00910 0910 03131000 * DO; /* @Y30LB40*/ 03132000 * GEN(LH R3,0(R2)); /* @Y30LB40*/ 03133000 LH R3,0(R2) 03134000 * END; /* @Y30LB40*/ 03135000 * ELSE 0914 03136000 * DO; /* PICKUP 4 BYTES @Y30LB40*/ 03137000 B @RC00910 0914 03138000 @RF00910 DS 0H 0915 03139000 * GEN(L R3,0(R2)); /* @Y30LB40*/ 03140000 L R3,0(R2) 03141000 * END; /* @Y30LB40*/ 03142000 * GEN; 0917 03143000 @RC00910 DS 0H 0917 03144000 @RC00906 DS 0H 0917 03145000 * /*CONVERT FROM BINARY TO CHARACTER @Y30LB40*/ 03146000 CVD R3,DOUBLEWD 03147000 OI DOUBLEWD+7,X'0F' 03148000 UNPK FIXOUT(13),DOUBLEWD+2(6) 03149000 * IF FIXOPT='N' THEN 0918 03150000 L @07,@PC00003+8 0918 03151000 CLI FIXOPT(@07),C'N' 0918 03152000 BE @RT00918 0918 03153000 * GO TO EFEND; /* NO EDITING WANTED,GET OUT */ 03154000 * IF FIXOPT='S' THEN 0920 03155000 CLI FIXOPT(@07),C'S' 0920 03156000 BE @RT00920 0920 03157000 * GO TO EF4; /* NO COMMAS WANTED,SKIP 0921 03158000 * INSERTION */ 03159000 * GEN; 0922 03160000 * /*INSERT COMMA DIVIDERS @Y30LB40*/ 03161000 MVC FIXOUT(1),FIXOUT+3 03162000 MVI FIXOUT+1,C',' 03163000 MVC FIXOUT+2(3),FIXOUT+4 03164000 MVI FIXOUT+5,C',' 03165000 MVC FIXOUT+6(3),FIXOUT+7 03166000 MVI FIXOUT+9,C',' 03167000 *EF4: /* ZERO AND COMMA SUPPRESS 0923 03168000 * @Y30LB40*/ 03169000 * GEN; 0923 03170000 EF4 DS 0H 0923 03171000 * /*@Y30LB40*/ 03172000 LA R2,FIXOUT 03173000 LA R3,12 03174000 EF5 EQU * 03175000 CLI 0(R2),C',' 03176000 BE EF6 03177000 CLI 0(R2),C'0' 03178000 BNE EFEND 03179000 EF6 EQU * 03180000 MVI 0(R2),C' ' 03181000 LA R2,1(R2) 03182000 BCT R3,EF5 03183000 *EFEND: 0924 03184000 * RFY 0924 03185000 * (R2, 0924 03186000 * R3) UNRSTD; /* @Y30LB40*/ 03187000 * END EDITFIX; /* @Y30LB40*/ 03188000 @EL00003 DS 0H 0925 03189000 @EF00003 DS 0H 0925 03190000 @ER00003 LM @14,@12,@SA00003 0925 03191000 BR @14 0925 03192000 * 0926 03193000 */********************************************************************/ 03194000 */* ROUTINE TO CALCULATE ADDRESS INTO SDG ARRAY @ZA16140*/ 03195000 */********************************************************************/ 03196000 * 0926 03197000 *CALCDSA: 0926 03198000 * PROC(DSS1,DSS2,DSS3) OPTIONS(SAVE);/* @ZA16140*/ 03199000 CALCDSA STM @14,@12,12(@13) 0926 03200000 MVC @PC00004(12),0(@01) 0926 03201000 * DCL 0927 03202000 * (DSS1, 0927 03203000 * DSS2, 0927 03204000 * DSS3) PTR(31); /* THREE DIMENTIONS @ZA16140*/ 03205000 * ARRAYPTR=ARRAYLOC+((DSS1-1)*(LENGTH(DSARRAY)/DIM(DSENTS,1)))+((DSS2 03206000 * -1)*(LENGTH(DSARRAY)/(DIM(DSENTS,1)*DIM(DSENTS,2))))+((DSS3-1)* 03207000 * (LENGTH(DSARRAY)/(DIM(DSENTS,1)*DIM(DSENTS,2)*DIM(DSENTS,3)))); 03208000 L @07,@PC00004 0928 03209000 L @07,DSS1(,@07) 0928 03210000 BCTR @07,0 0928 03211000 MH @07,@CH01005 0928 03212000 ALR @07,ARRAYLOC 0928 03213000 L @15,@PC00004+4 0928 03214000 L @15,DSS2(,@15) 0928 03215000 BCTR @15,0 0928 03216000 MH @15,@CH01006 0928 03217000 ALR @07,@15 0928 03218000 L @15,@PC00004+8 0928 03219000 L @15,DSS3(,@15) 0928 03220000 BCTR @15,0 0928 03221000 MH @15,@CH00837 0928 03222000 ALR @07,@15 0928 03223000 ST @07,ARRAYPTR 0928 03224000 * /* @ZA16140*/ 03225000 * END CALCDSA; /* @Y30LB40*/ 03226000 @EL00004 DS 0H 0929 03227000 @EF00004 DS 0H 0929 03228000 @ER00004 LM @14,@12,12(@13) 0929 03229000 BR @14 0929 03230000 * 0930 03231000 */********************************************************************/ 03232000 */* ROUTINE TO CALCULATE ADDRESS INTO READ WRITE UNIT ARRAY @Y30LB40*/ 03233000 */********************************************************************/ 03234000 * 0930 03235000 *CALCRWA: 0930 03236000 * PROC(RWS1,RWS2,RWS3,RWS4) OPTIONS(SAVE);/* @Y30LB40*/ 03237000 CALCRWA STM @14,@12,12(@13) 0930 03238000 MVC @PC00005(16),0(@01) 0930 03239000 * DCL 0931 03240000 * (RWS1, 0931 03241000 * RWS2, 0931 03242000 * RWS3, 0931 03243000 * RWS4) PTR(31); /* FOUR DIMENTIONS @Y30LB40*/ 03244000 * ARRAYPTR=ARRAYLOC+((RWS1-1)*(LENGTH(RWARRAY)/DIM(RWENTS,1)))+((RWS2 03245000 * -1)*(LENGTH(RWARRAY)/(DIM(RWENTS,1)*DIM(RWENTS,2))))+((RWS3-1)* 03246000 * (LENGTH(RWARRAY)/(DIM(RWENTS,1)*DIM(RWENTS,2)*DIM(RWENTS,3))))+ 03247000 * ((RWS4-1)*(LENGTH(RWARRAY)/(DIM(RWENTS,1)*DIM(RWENTS,2)*DIM( 03248000 * RWENTS,3)*DIM(RWENTS,4)))); /* @Y30LB40*/ 03249000 L @07,@PC00005 0932 03250000 L @07,RWS1(,@07) 0932 03251000 BCTR @07,0 0932 03252000 MH @07,@CH01009 0932 03253000 ALR @07,ARRAYLOC 0932 03254000 L @15,@PC00005+4 0932 03255000 L @15,RWS2(,@15) 0932 03256000 BCTR @15,0 0932 03257000 MH @15,@CH01010 0932 03258000 ALR @07,@15 0932 03259000 L @15,@PC00005+8 0932 03260000 L @15,RWS3(,@15) 0932 03261000 BCTR @15,0 0932 03262000 MH @15,@CH01011 0932 03263000 ALR @07,@15 0932 03264000 L @15,@PC00005+12 0932 03265000 L @15,RWS4(,@15) 0932 03266000 BCTR @15,0 0932 03267000 MH @15,@CH00499 0932 03268000 ALR @07,@15 0932 03269000 ST @07,ARRAYPTR 0932 03270000 * END CALCRWA; /* @Y30LB40*/ 03271000 @EL00005 DS 0H 0933 03272000 @EF00005 DS 0H 0933 03273000 @ER00005 LM @14,@12,12(@13) 0933 03274000 BR @14 0933 03275000 * 0934 03276000 */********************************************************************/ 03277000 */* ROUTINE TO SET UP CLASS INTERVALS IN PRINT LINES @Y30LB40*/ 03278000 */********************************************************************/ 03279000 * 0934 03280000 *SETLINE: 0934 03281000 * PROC(SLN) OPTIONS(SAVE); /* @Y30LB40*/ 03282000 SETLINE STM @14,@12,12(@13) 0934 03283000 MVC @PC00006(4),0(@01) 0934 03284000 * DCL 0935 03285000 * SLN FIXED BINARY(31); /* PRINT LINE NUMBER OF A DISTR. 03286000 * 1-10 */ 03287000 * IF PARMSW='D' THEN 0936 03288000 CLI PARMSW,C'D' 0936 03289000 BNE @RF00936 0936 03290000 * DO; /* SETUP DATA STAGER 0937 03291000 * DISTRIBUTIONS @Y30LB40*/ 03292000 * DSFLD8=SEC3ARRY(SLN); /* @Y30LB40*/ 03293000 L @07,@PC00006 0938 03294000 L @07,SLN(,@07) 0938 03295000 LR @15,@07 0938 03296000 MH @15,@CH00372 0938 03297000 LA @14,SEC3ARRY-5(@15) 0938 03298000 MVC DSFLD8(5),0(@14) 0938 03299000 * DSFLD11=SEC1ARRY(SLN); /* @Y30LB40*/ 03300000 LA @01,SEC1ARRY-1(@07) 0939 03301000 MVC DSFLD11(1),0(@01) 0939 03302000 * DSFLD19=SEC1ARRY(SLN); /* @Y30LB40*/ 03303000 LA @01,SEC1ARRY-1(@07) 0940 03304000 MVC DSFLD19(1),0(@01) 0940 03305000 * END; /* @Y30LB40*/ 03306000 * ELSE 0942 03307000 * DO; /* SETUP READ WRITE UNIT 0942 03308000 * DISTRIBUTIONS @Y30LB40*/ 03309000 B @RC00936 0942 03310000 @RF00936 DS 0H 0943 03311000 * RWFLD8=SEC3ARRY(SLN); /* @Y30LB40*/ 03312000 L @07,@PC00006 0943 03313000 L @07,SLN(,@07) 0943 03314000 LR @15,@07 0943 03315000 MH @15,@CH00372 0943 03316000 LA @14,SEC3ARRY-5(@15) 0943 03317000 MVC RWFLD8(5),0(@14) 0943 03318000 * RWFLD11=SEC1ARRY(SLN); /* @Y30LB40*/ 03319000 LA @01,SEC1ARRY-1(@07) 0944 03320000 MVC RWFLD11(1),0(@01) 0944 03321000 * RWFLD23=SEC6ARRY(SLN); /* @Y30LB40*/ 03322000 LA @07,SEC6ARRY-5(@15) 0945 03323000 MVC RWFLD23(5),0(@07) 0945 03324000 * END; /* @Y30LB40*/ 03325000 * END SETLINE; /* @Y30LB40*/ 03326000 @EL00006 DS 0H 0947 03327000 @EF00006 DS 0H 0947 03328000 @ER00006 LM @14,@12,12(@13) 0947 03329000 BR @14 0947 03330000 * 0948 03331000 */********************************************************** @OZ05124*/ 03332000 */* SYNAD EXIT FOR TRACEIN, TAKEN FOR READ ERRORS. @OZ05124*/ 03333000 */********************************************************** @OZ05124*/ 03334000 * 0948 03335000 *READERR: 0948 03336000 * ; /* @OZ05124*/ 03337000 READERR DS 0H 0949 03338000 * GEN(SYNADAF ACSMETH=QSAM); /* @OZ05124*/ 03339000 SYNADAF ACSMETH=QSAM 03340000 * GEN(MVC PRNTLINE+30(79),49(R1));/* @OZ05124*/ 03341000 MVC PRNTLINE+30(79),49(R1) 03342000 * PRNTLINE(1:30)=ICGTR904; /* @OZ05124*/ 03343000 MVC PRNTLINE(30),ICGTR904 0951 03344000 * SAVE14=R14; /* @OZ09522*/ 03345000 LR SAVE14,R14 0952 03346000 * RFY 0953 03347000 * (R0, 0953 03348000 * R1, 0953 03349000 * R14, 0953 03350000 * R15) RSTD; /* @OZ05124*/ 03351000 * GEN(PUT PRNTDCB,PRNTLINE); /* @OZ05124*/ 03352000 PUT PRNTDCB,PRNTLINE 03353000 * RFY 0955 03354000 * (R0, 0955 03355000 * R1, 0955 03356000 * R14, 0955 03357000 * R15) UNRSTD; /* @OZ05124*/ 03358000 * R14=SAVE14; /* @OZ09522*/ 03359000 LR R14,SAVE14 0956 03360000 * GEN(SYNADRLS); /* @OZ05124*/ 03361000 SYNADRLS 03362000 * RETURNCD=4; /* @OZ05124*/ 03363000 MVC RETURNCD(2),@CH00104 0958 03364000 * GEN(BR R14); /* RETURN TO IOS @OZ05124*/ 03365000 BR R14 03366000 * END ICGTRDST /* @Y30LB40*/ 03367000 * 0960 03368000 */* THE FOLLOWING INCLUDE STATEMENTS WERE FOUND IN THIS PROGRAM. */ 03369000 */*%INCLUDE SYSLIB (IHADCBDF) */ 03370000 */*%INCLUDE SYSLIB (IHADCB ) */ 03371000 * 0960 03372000 * ; 0960 03373000 @EL00001 L @13,4(,@13) 0960 03374000 @EF00001 L @00,@SIZDATD 0960 03375000 LR @01,@09 0960 03376000 FREEMAIN R,LV=(0),A=(1) 03377000 @ER00001 LM @14,@12,12(@13) 0960 03378000 BR @14 0960 03379000 @DATA DS 0H 03380000 @CH00499 DC H'36' 03381000 @CH00837 DC H'44' 03382000 @CH01011 DC H'396' 03383000 @CH01006 DC H'484' 03384000 @CH01010 DC H'792' 03385000 @CH01005 DC H'968' 03386000 @CH00888 DC H'3600' 03387000 @CH01009 DC H'6336' 03388000 @SM01014 MVC PARMHOLD(0),PARMS(PARMPTR) 03389000 DS 0F 03390000 @AL00474 EQU * LIST WITH 2 ARGUMENT(S) 03391000 @AL00493 EQU * LIST WITH 2 ARGUMENT(S) 03392000 @AL00495 EQU * LIST WITH 2 ARGUMENT(S) 03393000 @AL00710 EQU * LIST WITH 2 ARGUMENT(S) 03394000 @AL00712 EQU * LIST WITH 2 ARGUMENT(S) 03395000 @AL00836 EQU * LIST WITH 2 ARGUMENT(S) 03396000 @AL00838 EQU * LIST WITH 2 ARGUMENT(S) 03397000 @AL00842 EQU * LIST WITH 2 ARGUMENT(S) 03398000 @AL00844 DC A(@CF00104) LIST WITH 2 ARGUMENT(S) 03399000 DC A(@CC00907) 03400000 @AL00483 EQU * LIST WITH 2 ARGUMENT(S) 03401000 @AL00700 EQU * LIST WITH 2 ARGUMENT(S) 03402000 @AL00826 EQU * LIST WITH 2 ARGUMENT(S) 03403000 @AL00830 EQU * LIST WITH 2 ARGUMENT(S) 03404000 @AL00850 DC A(@CF00044) LIST WITH 2 ARGUMENT(S) 03405000 DC A(@CC00907) 03406000 @AL00485 EQU * LIST WITH 2 ARGUMENT(S) 03407000 @AL00702 EQU * LIST WITH 2 ARGUMENT(S) 03408000 @AL00828 EQU * LIST WITH 2 ARGUMENT(S) 03409000 @AL00832 DC A(@CF00051) LIST WITH 2 ARGUMENT(S) 03410000 DC A(@CC00907) 03411000 @AL00491 EQU * LIST WITH 2 ARGUMENT(S) 03412000 @AL00506 EQU * LIST WITH 2 ARGUMENT(S) 03413000 @AL00525 EQU * LIST WITH 2 ARGUMENT(S) 03414000 @AL00527 EQU * LIST WITH 2 ARGUMENT(S) 03415000 @AL00529 EQU * LIST WITH 2 ARGUMENT(S) 03416000 @AL00531 EQU * LIST WITH 2 ARGUMENT(S) 03417000 @AL00533 EQU * LIST WITH 2 ARGUMENT(S) 03418000 @AL00535 EQU * LIST WITH 2 ARGUMENT(S) 03419000 @AL00537 EQU * LIST WITH 2 ARGUMENT(S) 03420000 @AL00563 EQU * LIST WITH 2 ARGUMENT(S) 03421000 @AL00566 EQU * LIST WITH 2 ARGUMENT(S) 03422000 @AL00568 EQU * LIST WITH 2 ARGUMENT(S) 03423000 @AL00571 EQU * LIST WITH 2 ARGUMENT(S) 03424000 @AL00574 EQU * LIST WITH 2 ARGUMENT(S) 03425000 @AL00576 EQU * LIST WITH 2 ARGUMENT(S) 03426000 @AL00579 EQU * LIST WITH 2 ARGUMENT(S) 03427000 @AL00582 EQU * LIST WITH 2 ARGUMENT(S) 03428000 @AL00584 EQU * LIST WITH 2 ARGUMENT(S) 03429000 @AL00587 EQU * LIST WITH 2 ARGUMENT(S) 03430000 @AL00590 EQU * LIST WITH 2 ARGUMENT(S) 03431000 @AL00595 EQU * LIST WITH 2 ARGUMENT(S) 03432000 @AL00600 EQU * LIST WITH 2 ARGUMENT(S) 03433000 @AL00708 EQU * LIST WITH 2 ARGUMENT(S) 03434000 @AL00723 EQU * LIST WITH 2 ARGUMENT(S) 03435000 @AL00742 EQU * LIST WITH 2 ARGUMENT(S) 03436000 @AL00744 EQU * LIST WITH 2 ARGUMENT(S) 03437000 @AL00746 EQU * LIST WITH 2 ARGUMENT(S) 03438000 @AL00748 EQU * LIST WITH 2 ARGUMENT(S) 03439000 @AL00772 EQU * LIST WITH 2 ARGUMENT(S) 03440000 @AL00775 EQU * LIST WITH 2 ARGUMENT(S) 03441000 @AL00777 EQU * LIST WITH 2 ARGUMENT(S) 03442000 @AL00780 EQU * LIST WITH 2 ARGUMENT(S) 03443000 @AL00782 EQU * LIST WITH 2 ARGUMENT(S) 03444000 @AL00785 EQU * LIST WITH 2 ARGUMENT(S) 03445000 @AL00790 EQU * LIST WITH 2 ARGUMENT(S) 03446000 @AL00824 EQU * LIST WITH 2 ARGUMENT(S) 03447000 @AL00859 DC A(@CF00104) LIST WITH 2 ARGUMENT(S) 03448000 DC A(@CC00912) 03449000 @DATD DSECT 03450000 DS 0F 03451000 @SA00001 DS 18F 03452000 @PC00004 DS 3F 03453000 @SA00003 DS 15F 03454000 @PC00003 DS 3F 03455000 @PC00006 DS 1F 03456000 @PC00005 DS 4F 03457000 @AL00001 DS 4A 03458000 @AFTEMPS DS 1F 03459000 ICGTRDST CSECT 03460000 DS 0F 03461000 @CF00044 DC F'1' 03462000 @CF00051 DC F'2' 03463000 @CF00104 DC F'4' 03464000 @CH00104 EQU @CF00104+2 03465000 @CF00372 DC F'5' 03466000 @CH00372 EQU @CF00372+2 03467000 @CF00069 DC F'8' 03468000 @CH00069 EQU @CF00069+2 03469000 @CF00035 DC F'9' 03470000 @CF00034 DC F'10' 03471000 @CF00033 DC F'11' 03472000 @CF00032 DC F'12' 03473000 @CF00887 DC F'23' 03474000 @CF00071 DC F'24' 03475000 @CF00615 DC F'28' 03476000 @CF00067 DC F'31' 03477000 @CF00712 DC F'43' 03478000 @CF00889 DC F'59' 03479000 @CF00335 DC F'60' 03480000 @CH00335 EQU @CF00335+2 03481000 @CF00870 DC F'365' 03482000 @CH00870 EQU @CF00870+2 03483000 @CF00884 DC F'366' 03484000 @CH00884 EQU @CF00884+2 03485000 @CF00865 DC F'600' 03486000 @CF00997 DC F'27104' 03487000 @CF00871 DC F'86399' 03488000 @CF00955 DC F'86400' 03489000 @DATD DSECT 03490000 DS 0D 03491000 DCBPTR DS A 03492000 ARRAYPTR DS A 03493000 RCDCOUNT DS F 03494000 PAGECNT DS F 03495000 TIMESL DS F 03496000 OPENCLOS DS FL4 03497000 ORG OPENCLOS 03498000 OPCLB1 DS BL1 03499000 OPCLB234 DS CL3 03500000 ORG OPENCLOS+4 03501000 HOUR DS F 03502000 MINUTE DS F 03503000 SECOND DS F 03504000 CALCFLD DS F 03505000 J DS F 03506000 K DS F 03507000 L DS F 03508000 M DS F 03509000 N DS F 03510000 RETURNCD DS H 03511000 SAINDEX DS H 03512000 SELSDG DS FL1 03513000 LIB DS FL1 03514000 U DS FL1 03515000 @TS00001 DS CL1 03516000 RCDIN DS CL72 03517000 ORG RCDIN 03518000 STGD DS FL4 03519000 CFAULT DS FL4 03520000 SYSSGTM DS FL4 03521000 DEVSGTM DS FL4 03522000 DSTGD DS FL4 03523000 SALLOC DS FL4 03524000 SYSDSTM DS FL4 03525000 DEVDSTM DS FL4 03526000 BUSYTIME DS FL4 03527000 LOADTIME DS FL4 03528000 LOADNUM DS FL1 03529000 CKTIME DS CL7 03530000 ORG CKTIME 03531000 SVEYEAR DS FL1 03532000 SVEJUL DS FL2 03533000 SVETIME DS FL4 03534000 ORG RCDIN+48 03535000 PAGES DS FL1 03536000 MININUM DS FL1 03537000 HITNUM DS FL1 03538000 STGDNUM DS FL1 03539000 DSTGDNUM DS FL1 03540000 VTOCSTG DS FL1 03541000 VTOCDSTG DS FL1 03542000 LIBRARY DS FL1 03543000 DSPORT DS FL1 03544000 DSCU DS FL1 03545000 Z DS FL1 03546000 Y DS FL1 03547000 X DS FL1 03548000 CARTPAIR DS FL1 03549000 READWRIT DS FL1 03550000 VOLID DS CL6 03551000 CHARDRC DS CL1 03552000 SDGINBIN DS FL1 03553000 @NM00030 DS CL1 03554000 ORG RCDIN+72 03555000 DSLINE DS CL121 03556000 ORG DSLINE 03557000 DSFLD1 DS CL1 03558000 DSFLD2 DS CL6 03559000 @NM00031 DS CL1 03560000 DSFLD2A DS CL8 03561000 @NM00032 DS CL2 03562000 SDGID DS CL3 03563000 ORG SDGID 03564000 @NM00033 DS CL1 03565000 SDGFLD DS CL2 03566000 ORG DSLINE+21 03567000 @NM00034 DS CL5 03568000 DSFLD8 DS CL5 03569000 @NM00035 DS CL1 03570000 DSFLD10 DS CL5 03571000 @NM00036 DS CL10 03572000 DSFLD11 DS CL1 03573000 @NM00037 DS CL4 03574000 DSFLD12 DS CL6 03575000 @NM00038 DS CL1 03576000 DSFLD14 DS CL6 03577000 @NM00039 DS CL3 03578000 DSFLD16 DS CL6 03579000 @NM00040 DS CL1 03580000 DSFLD18 DS CL6 03581000 @NM00041 DS CL11 03582000 DSFLD19 DS CL1 03583000 @NM00042 DS CL3 03584000 DSFLD20 DS CL6 03585000 @NM00043 DS CL4 03586000 DSFLD22 DS CL6 03587000 @NM00044 DS CL9 03588000 ORG DSLINE+121 03589000 SPACE1 DS CL121 03590000 HEADHOLD DS CL121 03591000 PRNTLINE DS CL121 03592000 PRNTDCB DS CL100 03593000 INDCB DS CL100 03594000 DOUBLEWD DS CL8 03595000 STARTTIM DS CL16 03596000 ORG STARTTIM 03597000 @NM00130 DS CL1 03598000 CKSTIME DS CL7 03599000 ORG CKSTIME 03600000 HLDSYR DS FL1 03601000 HLDSDAY DS FL2 03602000 HLDSTIME DS FL4 03603000 ORG STARTTIM+8 03604000 @NM00131 DS CL1 03605000 CKETIME DS CL7 03606000 ORG CKETIME 03607000 HLDEYR DS FL1 03608000 HLDEDAY DS FL2 03609000 HLDETIME DS FL4 03610000 ORG STARTTIM+16 03611000 TSTIMES DS CL16 03612000 ORG TSTIMES 03613000 @NM00132 DS CL1 03614000 TSBEG DS CL7 03615000 ORG TSBEG 03616000 TSSYR DS FL1 03617000 TSSDAY DS FL2 03618000 TSSTIME DS FL4 03619000 ORG TSTIMES+8 03620000 @NM00133 DS CL1 03621000 TSEND DS CL7 03622000 ORG TSEND 03623000 TSEYR DS FL1 03624000 TSEDAY DS FL2 03625000 TSETIME DS FL4 03626000 ORG TSTIMES+16 03627000 CKSEQ DS CL7 03628000 PARMSW DS CL1 03629000 PARMHOLD DS CL31 03630000 TODAY DS CL5 03631000 FIXOUT DS CL13 03632000 SELECTSW DS BL1 03633000 DATEINSW DS BL1 03634000 PARMERR DS BL1 03635000 FIRSTSW DS BL1 03636000 EOFSW DS BL1 03637000 ICGTRDST CSECT 03638000 DS 0F 03639000 @SIZDATD DC AL1(0) 03640000 DC AL3(@ENDDATD-@DATD) 03641000 DS 0D 03642000 @CC00909 DC C'SUMMARY ' 03643000 @CC00911 DC C' : : ' 03644000 @CC00943 DC C'SDGXX ' 03645000 @CC00948 DC C' ' 03646000 @CC00908 DC C'DISTR.' 03647000 @CC00910 DC C' / ' 03648000 @CC00881 DC C'000' 03649000 @CC00890 EQU @CC00943 03650000 @CC00926 EQU @CC00948 03651000 @CC00891 DC C'27' 03652000 @CC00907 DC C'N' 03653000 @CC00912 EQU @CC00909 03654000 HDNG1 DS CL121 03655000 ORG HDNG1 03656000 @NM00078 DC CL34'1ICGTRDST' 03657000 @NM00079 DC CL30'MSS TRACE STAGING DRIVE GROUP ' 03658000 @NM00080 DC CL37'DISTRIBUTION' 03659000 @NM00081 DC CL20'DATE YYDDD PAGEXXXX' 03660000 ORG HDNG1+121 03661000 HDNG2 DS CL121 03662000 ORG HDNG2 03663000 @NM00082 DC CL1'0' 03664000 @NM00083 DC CL40' --LOAD TIMES-- ' 03665000 @NM00084 DC CL40' --------STAGE AND DESTAGE RATES------' 03666000 @NM00085 DC CL40'--- ---PAGE AND CYL AVERAGES--- ' 03667000 ORG HDNG2+121 03668000 HDNG3 DS CL121 03669000 ORG HDNG3 03670000 @NM00086 DC CL1' ' 03671000 @NM00087 DC CL40' ' 03672000 @NM00088 DC CL40' CYLS/ DEVICE SYSTEM DEVICE SYSTE' 03673000 @NM00089 DC CL40'M PAGES CYLS ' 03674000 ORG HDNG3+121 03675000 HDNG4 DS CL121 03676000 ORG HDNG4 03677000 @NM00090 DC CL1' ' 03678000 @NM00091 DC CL40' DATE TIME SDG SECS COUNT ' 03679000 @NM00092 DC CL40' SEC STAGE STAGE DSTAGE DSTAG' 03680000 @NM00093 DC CL40'E NUM PER REQ PER PAGE ' 03681000 ORG HDNG4+121 03682000 HDNG5 DS CL121 03683000 ORG HDNG5 03684000 @NM00094 DC CL1'0' 03685000 @NM00095 DC CL40'*TOTALS* LOAD CYLS DEV-STG ' 03686000 @NM00096 DC CL40' SYS-STG CYLS DEV-DSTG SYS-DSTG C' 03687000 @NM00097 DC CL40'YLS DEVICE SYSTEM DEVICE SYSTEM' 03688000 ORG HDNG5+121 03689000 HDNG6 DS CL121 03690000 ORG HDNG6 03691000 @NM00098 DC CL1' ' 03692000 @NM00099 DC CL40' CARTGS TIME STAGED TIME ' 03693000 @NM00100 DC CL40' TIME DESTAGED TIME TIME TR' 03694000 @NM00101 DC CL40'ANSF TIME TIME RATE RATE ' 03695000 ORG HDNG6+121 03696000 HDNGA DS CL121 03697000 ORG HDNGA 03698000 @NM00102 DC CL33'1ICGTRDST' 03699000 @NM00103 DC CL28'MSS TRACE DATA RECORDING DEV' 03700000 @NM00104 DC CL40'ICE DISTRIBUTION' 03701000 @NM00105 DC CL20'DATE YYDDD PAGEXXXX' 03702000 ORG HDNGA+121 03703000 HDNGB DS CL121 03704000 ORG HDNGB 03705000 @NM00106 DC CL1'0' 03706000 @NM00107 DC CL40' --LOAD TIMES--' 03707000 @NM00108 DC CL40' -------DATA RATES-------- ---DRD BU' 03708000 @NM00109 DC CL40'SY---- ' 03709000 ORG HDNGB+121 03710000 HDNGC DS CL121 03711000 ORG HDNGC 03712000 @NM00110 DC CL1' ' 03713000 @NM00111 DC CL40' ' 03714000 @NM00112 DC CL40' CYLS/ TOTAL TOTAL ' 03715000 @NM00113 DC CL40' ' 03716000 ORG HDNGC+121 03717000 HDNGD DS CL121 03718000 ORG HDNGD 03719000 @NM00114 DC CL1' ' 03720000 @NM00115 DC CL40' DATE TIME MSF DRD SECS COUNT ' 03721000 @NM00116 DC CL40' SEC STAGE DESTAGE SECS C' 03722000 @NM00117 DC CL40'OUNT ' 03723000 ORG HDNGD+121 03724000 HDNGE DS CL121 03725000 ORG HDNGE 03726000 @NM00118 DC CL1'0' 03727000 @NM00119 DC CL40'*TOTALS* LOAD CYLS DEV-S' 03728000 @NM00120 DC CL40'TG CYLS DEV-DSTG CARTG ' 03729000 @NM00121 DC CL40' ' 03730000 ORG HDNGE+121 03731000 HDNGF DS CL121 03732000 ORG HDNGF 03733000 @NM00122 DC CL1' ' 03734000 @NM00123 DC CL40' CARTGS TIME STAGED TIM' 03735000 @NM00124 DC CL40'E DESTAGED TIME RATE ' 03736000 @NM00125 DC CL40' ' 03737000 ORG HDNGF+121 03738000 RCDTOTAL DS CL121 03739000 ORG RCDTOTAL 03740000 @NM00126 DC CL1'1' 03741000 @NM00127 DC CL40'PARM OPTION - X T-SLICE - XXX DATES - ' 03742000 @NM00128 DC CL40'YYDDD-YYDDD TIMES - HHMM-HHMM SSID-XXX ' 03743000 @NM00129 DC CL40' INPUT RECORDS SELECTED - XXXXXX ' 03744000 ORG RCDTOTAL+121 03745000 PARMMSG DC CL28'1ICG900I INVALID PARM VALUES' 03746000 TRINMSG DC CL31'1ICG901I OPEN ERROR FOR TRACEIN' 03747000 SEQMSG DC CL43'1ICG903I INPUT FILE TRACEIN OUT OF SEQUENCE' 03748000 ICGTR904 DC CL30' ICG904I I/O ERROR ON TRACEIN ' 03749000 DS CL1 03750000 FIXAREA DS CL200 03751000 ORG FIXAREA 03752000 @NM00134 DC 200CL1'Z' 03753000 ORG FIXAREA+200 03754000 SEC1ARRY DC CL1'0' 03755000 DC CL1'1' 03756000 DC CL1'2' 03757000 DC CL1'3' 03758000 DC CL1'4' 03759000 DC CL1'5' 03760000 DC CL1'6' 03761000 DC CL1'7' 03762000 DC CL1'8' 03763000 DC CL1'9' 03764000 SEC3ARRY DC CL5' 0- 2' 03765000 DC CL5' 3- 5' 03766000 DC CL5' 6- 8' 03767000 DC CL5' 9-11' 03768000 DC CL5'12-14' 03769000 DC CL5'15-17' 03770000 DC CL5'18-20' 03771000 DC CL5'21-23' 03772000 DC CL5'24-26' 03773000 DC CL5'27 ' 03774000 SEC6ARRY DC CL5' 0- 5' 03775000 DC CL5' 6-11' 03776000 DC CL5'12-17' 03777000 DC CL5'18-23' 03778000 DC CL5'24-29' 03779000 DC CL5'30-35' 03780000 DC CL5'36-41' 03781000 DC CL5'42-47' 03782000 DC CL5'48-53' 03783000 DC CL5'54 ' 03784000 SSIDEQ DC CL1'0' 03785000 DC CL1'1' 03786000 DC CL1'2' 03787000 DC CL1'3' 03788000 DC CL1'4' 03789000 DC CL1'5' 03790000 DC CL1'6' 03791000 DC CL1'7' 03792000 DC CL1'8' 03793000 DC CL1'9' 03794000 DC CL1'A' 03795000 DC CL1'B' 03796000 DC CL1'C' 03797000 DC CL1'D' 03798000 DC CL1'E' 03799000 DC CL1'F' 03800000 ICGTRDST CSECT 03801000 * /*@Y30LB40*/ 03802000 IPATDCB DCB DSORG=PS,DDNAME=TRACEIN,MACRF=GM,RECFM=FB,LRECL=72, **03803000 EODAD=EOF,EROPT=SKP,SYNAD=READERR 03804000 IDCBL EQU *-IPATDCB 03805000 PPATDCB DCB DSORG=PS,DDNAME=SYSPRINT,MACRF=PM,RECFM=FBA,LRECL=121 03806000 PDCBL EQU *-PPATDCB 03807000 @DATD DSECT 03808000 ORG *+1-(*-@DATD)/(*-@DATD) INSURE DSECT DATA 03809000 @ENDDATD EQU * 03810000 ICGTRDST CSECT 03811000 @00 EQU 00 EQUATES FOR REGISTERS 0-15 03812000 @01 EQU 01 03813000 @02 EQU 02 03814000 @03 EQU 03 03815000 @04 EQU 04 03816000 @05 EQU 05 03817000 @06 EQU 06 03818000 @07 EQU 07 03819000 @08 EQU 08 03820000 @09 EQU 09 03821000 @10 EQU 10 03822000 @11 EQU 11 03823000 @12 EQU 12 03824000 @13 EQU 13 03825000 @14 EQU 14 03826000 @15 EQU 15 03827000 SS EQU @02 03828000 LINECNT EQU @06 03829000 PARMPTR EQU @07 03830000 TIMEWORK EQU @03 03831000 SAVE14 EQU @07 03832000 R0 EQU @00 03833000 R1 EQU @01 03834000 R2 EQU @02 03835000 R3 EQU @03 03836000 ARRAYLOC EQU @08 03837000 R14 EQU @14 03838000 R15 EQU @15 03839000 IHADCB EQU 0 03840000 IHADCS05 EQU 0 03841000 DCBMODE EQU IHADCS05 03842000 DCBSTACK EQU DCBMODE 03843000 DCBFUNC EQU IHADCS05+3 03844000 IHADCS11 EQU 0 03845000 DCBRELB EQU IHADCS11 03846000 DCBREL EQU DCBRELB+1 03847000 DCBBUFCB EQU IHADCS11+4 03848000 DCBDSORG EQU IHADCS11+10 03849000 DCBDSRG1 EQU DCBDSORG 03850000 DCBDSRG2 EQU DCBDSORG+1 03851000 DCBIOBAD EQU IHADCS11+12 03852000 DCBODEB EQU DCBIOBAD 03853000 DCBLNP EQU DCBODEB 03854000 DCBQSLM EQU DCBLNP 03855000 DCBIOBAA EQU DCBODEB+1 03856000 IHADCS50 EQU 0 03857000 DCBSVCXL EQU IHADCS50 03858000 DCBEODAD EQU IHADCS50+4 03859000 DCBBFALN EQU DCBEODAD 03860000 DCBHIARC EQU DCBBFALN 03861000 DCBBFTEK EQU DCBHIARC 03862000 DCBBFT EQU DCBBFTEK 03863000 DCBEXLST EQU IHADCS50+8 03864000 DCBRECFM EQU DCBEXLST 03865000 DCBRECLA EQU DCBRECFM 03866000 IHADCS24 EQU 0 03867000 DCBOFLGS EQU IHADCS24+8 03868000 DCBOFLWR EQU DCBOFLGS 03869000 DCBIFLG EQU IHADCS24+9 03870000 DCBMACR EQU IHADCS24+10 03871000 DCBMACR1 EQU DCBMACR 03872000 DCBMRFE EQU DCBMACR1 03873000 DCBMRGET EQU DCBMRFE 03874000 DCBMRAPG EQU DCBMACR1 03875000 DCBMRRD EQU DCBMRAPG 03876000 DCBMRCI EQU DCBMACR1 03877000 DCBMRMVG EQU DCBMRCI 03878000 DCBMRLCG EQU DCBMACR1 03879000 DCBMRABC EQU DCBMACR1 03880000 DCBMRPT1 EQU DCBMRABC 03881000 DCBMRSBG EQU DCBMRPT1 03882000 DCBMRCRL EQU DCBMACR1 03883000 DCBMRCHK EQU DCBMRCRL 03884000 DCBMRRDX EQU DCBMRCHK 03885000 DCBMRDMG EQU DCBMACR1 03886000 DCBMACR2 EQU DCBMACR+1 03887000 DCBMRPUT EQU DCBMACR2 03888000 DCBMRWRT EQU DCBMACR2 03889000 DCBMRMVP EQU DCBMACR2 03890000 DCBMR5WD EQU DCBMACR2 03891000 DCBMRLDM EQU DCBMR5WD 03892000 DCBMRLCP EQU DCBMRLDM 03893000 DCBMR4WD EQU DCBMACR2 03894000 DCBMRPT2 EQU DCBMR4WD 03895000 DCBMRTMD EQU DCBMRPT2 03896000 DCBMR3WD EQU DCBMACR2 03897000 DCBMRCTL EQU DCBMR3WD 03898000 DCBMRSTK EQU DCBMRCTL 03899000 DCBMR1WD EQU DCBMACR2 03900000 DCBMRSWA EQU DCBMR1WD 03901000 DCBMRDMD EQU DCBMRSWA 03902000 IHADCS25 EQU 0 03903000 DCBMACRF EQU IHADCS25+2 03904000 DCBMACF1 EQU DCBMACRF 03905000 DCBMFFE EQU DCBMACF1 03906000 DCBMFGET EQU DCBMFFE 03907000 DCBMFAPG EQU DCBMACF1 03908000 DCBMFRD EQU DCBMFAPG 03909000 DCBMFCI EQU DCBMACF1 03910000 DCBMFMVG EQU DCBMFCI 03911000 DCBMFLCG EQU DCBMACF1 03912000 DCBMFABC EQU DCBMACF1 03913000 DCBMFPT1 EQU DCBMFABC 03914000 DCBMFSBG EQU DCBMFPT1 03915000 DCBMFCRL EQU DCBMACF1 03916000 DCBMFCHK EQU DCBMFCRL 03917000 DCBMFDMG EQU DCBMACF1 03918000 DCBMACF2 EQU DCBMACRF+1 03919000 DCBMFPUT EQU DCBMACF2 03920000 DCBMFWRT EQU DCBMACF2 03921000 DCBMFMVP EQU DCBMACF2 03922000 DCBMF5WD EQU DCBMACF2 03923000 DCBMFLDM EQU DCBMF5WD 03924000 DCBMFLCP EQU DCBMFLDM 03925000 DCBMF4WD EQU DCBMACF2 03926000 DCBMFPT2 EQU DCBMF4WD 03927000 DCBMFTMD EQU DCBMFPT2 03928000 DCBMF3WD EQU DCBMACF2 03929000 DCBMFCTL EQU DCBMF3WD 03930000 DCBMFSTK EQU DCBMFCTL 03931000 DCBMF1WD EQU DCBMACF2 03932000 DCBMFSWA EQU DCBMF1WD 03933000 DCBMFDMD EQU DCBMFSWA 03934000 DCBDEBAD EQU IHADCS25+4 03935000 DCBIFLGS EQU DCBDEBAD 03936000 IHADCS26 EQU 0 03937000 DCBWRITE EQU IHADCS26 03938000 DCBREAD EQU DCBWRITE 03939000 DCBWRITA EQU DCBREAD+1 03940000 IHADCS27 EQU 0 03941000 DCBGET EQU IHADCS27 03942000 DCBPUT EQU DCBGET 03943000 DCBGETA EQU DCBPUT+1 03944000 IHADCS36 EQU 0 03945000 DCBGERR EQU IHADCS36 03946000 DCBPERR EQU DCBGERR 03947000 DCBCHECK EQU DCBPERR 03948000 DCBOPTCD EQU DCBCHECK 03949000 DCBOPTH EQU DCBOPTCD 03950000 DCBOPTO EQU DCBOPTH 03951000 DCBOPTZ EQU DCBOPTCD 03952000 DCBGERRA EQU DCBCHECK+1 03953000 DCBPERRA EQU DCBGERRA 03954000 DCBSYNAD EQU IHADCS36+4 03955000 DCBCIND1 EQU IHADCS36+8 03956000 DCBCIND2 EQU IHADCS36+9 03957000 DCBIOBA EQU IHADCS36+16 03958000 DCBCICB EQU DCBIOBA 03959000 IHADCS52 EQU 0 03960000 DCBDIRCT EQU IHADCS52 03961000 DCBQSWS EQU DCBDIRCT 03962000 DCBUSASI EQU DCBQSWS 03963000 DCBQADFS EQU DCBUSASI 03964000 DCBBUFOF EQU DCBDIRCT+1 03965000 IHADCS37 EQU 0 03966000 DCBFLAG1 EQU IHADCS37 03967000 IHADCS38 EQU 0 03968000 DCBEOBR EQU IHADCS38 03969000 DCBPOINT EQU IHADCS38+12 03970000 DCBCNTRL EQU DCBPOINT 03971000 IHADCS40 EQU 0 03972000 DCBEOBAD EQU IHADCS40 03973000 DCBCCCW EQU IHADCS40+4 03974000 DCBRECAD EQU DCBCCCW 03975000 DCBRECBT EQU DCBRECAD 03976000 DCBRCREL EQU DCBRECBT 03977000 @NM00026 EQU IHADCS40+12 03978000 DCBEROPT EQU @NM00026 03979000 PARMVALS EQU 0 03980000 PARMLEN EQU PARMVALS 03981000 PARMS EQU PARMVALS+2 03982000 RWARRAY EQU 0 03983000 RWENTS EQU RWARRAY 03984000 RWA EQU 0 03985000 RWB1 EQU RWA 03986000 RWB2 EQU RWA+4 03987000 RWB3 EQU RWA+8 03988000 RWB4 EQU RWA+12 03989000 RWB5 EQU RWA+16 03990000 RWB6 EQU RWA+20 03991000 RWB7 EQU RWA+24 03992000 RWB8 EQU RWA+28 03993000 RWB9 EQU RWA+32 03994000 DSARRAY EQU 0 03995000 DSENTS EQU DSARRAY 03996000 DSA EQU 0 03997000 DSB1 EQU DSA 03998000 DSB2 EQU DSA+4 03999000 DSB3 EQU DSA+8 04000000 DSB4 EQU DSA+12 04001000 DSB5 EQU DSA+16 04002000 DSB6 EQU DSA+20 04003000 DSB7 EQU DSA+24 04004000 DSB8 EQU DSA+28 04005000 DSB9 EQU DSA+32 04006000 DSB10 EQU DSA+36 04007000 DSB11 EQU DSA+40 04008000 FIXADDR EQU 0 04009000 FIXLEN EQU 0 04010000 FIXOPT EQU 0 04011000 DSS1 EQU 0 04012000 DSS2 EQU 0 04013000 DSS3 EQU 0 04014000 RWS1 EQU 0 04015000 RWS2 EQU 0 04016000 RWS3 EQU 0 04017000 RWS4 EQU 0 04018000 SLN EQU 0 04019000 DSTLINE EQU DSLINE 04020000 DSTFLD2 EQU DSTLINE+6 04021000 DSTFLD4 EQU DSTLINE+16 04022000 DSTFLD6 EQU DSTLINE+24 04023000 DSTFLD8 EQU DSTLINE+33 04024000 DSTFLD10 EQU DSTLINE+42 04025000 DSTFLD12 EQU DSTLINE+51 04026000 DSTFLD14 EQU DSTLINE+60 04027000 DSTFLD16 EQU DSTLINE+70 04028000 DSTFLD18 EQU DSTLINE+78 04029000 DSTFLD20 EQU DSTLINE+87 04030000 DSTFLD22 EQU DSTLINE+96 04031000 DSTFLD24 EQU DSTLINE+105 04032000 DSTFLD26 EQU DSTLINE+114 04033000 RWLINE EQU DSLINE 04034000 RWFLD2 EQU RWLINE+1 04035000 RWFLD2A EQU RWLINE+8 04036000 RWFLD4 EQU RWLINE+18 04037000 DRDSSID EQU RWLINE+21 04038000 CHAR2 EQU DRDSSID 04039000 DRDMSFID EQU DRDSSID+1 04040000 RWFLD6 EQU DRDSSID+2 04041000 RWFLD8 EQU RWLINE+28 04042000 RWFLD10 EQU RWLINE+34 04043000 RWFLD11 EQU RWLINE+47 04044000 RWFLD20 EQU RWLINE+50 04045000 RWFLD22 EQU RWLINE+59 04046000 RWFLD23 EQU RWLINE+73 04047000 RWFLD24 EQU RWLINE+79 04048000 RWTLINE EQU DSLINE 04049000 RWTFLD2 EQU RWTLINE+9 04050000 RWTFLD4 EQU RWTLINE+18 04051000 RWTFLD6 EQU RWTLINE+26 04052000 RWTFLD8 EQU RWTLINE+36 04053000 RWTFLD10 EQU RWTLINE+45 04054000 RWTFLD12 EQU RWTLINE+55 04055000 RWTFLD14 EQU RWTLINE+63 04056000 * START UNREFERENCED COMPONENTS 04057000 @NM00077 EQU RWTLINE+69 04058000 @NM00076 EQU RWTLINE+61 04059000 @NM00075 EQU RWTLINE+52 04060000 @NM00074 EQU RWTLINE+42 04061000 @NM00073 EQU RWTLINE+33 04062000 @NM00072 EQU RWTLINE+24 04063000 @NM00071 EQU RWTLINE+15 04064000 @NM00070 EQU RWTLINE+1 04065000 RWTFLD0 EQU RWTLINE 04066000 @NM00069 EQU RWLINE+85 04067000 @NM00068 EQU RWLINE+78 04068000 @NM00067 EQU RWLINE+66 04069000 @NM00066 EQU RWLINE+57 04070000 @NM00065 EQU RWLINE+48 04071000 @NM00064 EQU RWLINE+39 04072000 @NM00063 EQU RWLINE+33 04073000 @NM00062 EQU RWLINE+24 04074000 @NM00061 EQU RWLINE+19 04075000 @NM00060 EQU RWLINE+16 04076000 @NM00059 EQU RWLINE+7 04077000 RWFLD1 EQU RWLINE 04078000 @NM00058 EQU DSTLINE+120 04079000 @NM00057 EQU DSTLINE+111 04080000 @NM00056 EQU DSTLINE+102 04081000 @NM00055 EQU DSTLINE+93 04082000 @NM00054 EQU DSTLINE+84 04083000 @NM00053 EQU DSTLINE+76 04084000 @NM00052 EQU DSTLINE+66 04085000 @NM00051 EQU DSTLINE+57 04086000 @NM00050 EQU DSTLINE+48 04087000 @NM00049 EQU DSTLINE+39 04088000 @NM00048 EQU DSTLINE+30 04089000 @NM00047 EQU DSTLINE+22 04090000 @NM00046 EQU DSTLINE+12 04091000 @NM00045 EQU DSTLINE+1 04092000 DSTFLD1 EQU DSTLINE 04093000 DCBEOB EQU IHADCS40+20 04094000 DCBPRECL EQU IHADCS40+18 04095000 @NM00029 EQU IHADCS40+16 04096000 @NM00028 EQU @NM00026+1 04097000 @NM00027 EQU DCBEROPT 04098000 DCBERABE EQU DCBEROPT 04099000 DCBERSKP EQU DCBEROPT 04100000 DCBERACC EQU DCBEROPT 04101000 @NM00025 EQU IHADCS40+10 04102000 @NM00024 EQU IHADCS40+9 04103000 @NM00023 EQU IHADCS40+8 04104000 DCBRECA EQU DCBRECAD+1 04105000 @NM00022 EQU DCBRECBT 04106000 DCBRCFGT EQU DCBRCREL 04107000 DCBRCTRU EQU DCBRCREL 04108000 DCBLCCW EQU DCBEOBAD 04109000 DCBNOTE EQU DCBCNTRL 04110000 DCBLRECL EQU IHADCS38+10 04111000 @NM00021 EQU IHADCS38+8 04112000 DCBEOBW EQU IHADCS38+4 04113000 DCBEOBRA EQU DCBEOBR+1 04114000 DCBNCP EQU DCBEOBR 04115000 @NM00020 EQU DCBFLAG1 04116000 DCBSTFLS EQU DCBFLAG1 04117000 DCBSTQCK EQU DCBFLAG1 04118000 DCBDIRCQ EQU DCBBUFOF 04119000 DCBQSTRU EQU DCBUSASI 04120000 @NM00019 EQU DCBUSASI 04121000 DCBQADF3 EQU DCBQADFS 04122000 DCBQADF2 EQU DCBQADFS 04123000 DCBQADF1 EQU DCBQADFS 04124000 DCBBLBP EQU DCBUSASI 04125000 @NM00018 EQU DCBUSASI 04126000 DCBCICBA EQU DCBCICB+1 04127000 @NM00017 EQU DCBCICB 04128000 DCBOFFSW EQU IHADCS36+15 04129000 DCBOFFSR EQU IHADCS36+14 04130000 DCBWCPL EQU IHADCS36+13 04131000 DCBWCPO EQU IHADCS36+12 04132000 DCBBLKSI EQU IHADCS36+10 04133000 DCBCNQSM EQU DCBCIND2 04134000 DCBCNFEO EQU DCBCIND2 04135000 DCBCNCHS EQU DCBCIND2 04136000 DCBCNBFP EQU DCBCIND2 04137000 DCBCNIOE EQU DCBCIND2 04138000 DCBCNCLO EQU DCBCIND2 04139000 DCBCNWRO EQU DCBCIND2 04140000 DCBCNSTO EQU DCBCIND2 04141000 DCBCNEXB EQU DCBCIND1 04142000 @NM00016 EQU DCBCIND1 04143000 DCBCNBRM EQU DCBCIND1 04144000 @NM00015 EQU DCBCIND1 04145000 DCBCNEVA EQU DCBCIND1 04146000 DCBCNEVB EQU DCBCIND1 04147000 DCBCNSRD EQU DCBCIND1 04148000 DCBCNTOV EQU DCBCIND1 04149000 DCBSYNA EQU DCBSYNAD+1 04150000 DCBIOBL EQU DCBSYNAD 04151000 DCBCHCKA EQU DCBPERRA 04152000 @NM00014 EQU DCBOPTCD 04153000 DCBOPTT EQU DCBOPTCD 04154000 DCBSRCHD EQU DCBOPTZ 04155000 DCBOPTQ EQU DCBOPTCD 04156000 DCBBCKPT EQU DCBOPTO 04157000 DCBOPTC EQU DCBOPTCD 04158000 DCBOPTU EQU DCBOPTCD 04159000 DCBOPTW EQU DCBOPTCD 04160000 DCBPUTA EQU DCBGETA 04161000 @NM00013 EQU DCBPUT 04162000 DCBREADA EQU DCBWRITA 04163000 @NM00012 EQU DCBREAD 04164000 DCBDEBA EQU DCBDEBAD+1 04165000 @NM00011 EQU DCBIFLGS 04166000 DCBIFIOE EQU DCBIFLGS 04167000 DCBIFPCT EQU DCBIFLGS 04168000 DCBIFEC EQU DCBIFLGS 04169000 DCBMFSTI EQU DCBMFDMD 04170000 DCBMFAWR EQU DCBMFSTK 04171000 DCBMFUIP EQU DCBMFTMD 04172000 DCBMFIDW EQU DCBMFLCP 04173000 DCBMFWRK EQU DCBMFMVP 04174000 DCBMFRDQ EQU DCBMFWRT 04175000 DCBMFGTQ EQU DCBMFPUT 04176000 DCBMFSTL EQU DCBMACF2 04177000 DCBMFCK EQU DCBMFDMG 04178000 DCBMFRDX EQU DCBMFCHK 04179000 DCBMFDBF EQU DCBMFSBG 04180000 DCBMFRDI EQU DCBMFLCG 04181000 DCBMFRDK EQU DCBMFMVG 04182000 DCBMFWRQ EQU DCBMFRD 04183000 DCBMFPTQ EQU DCBMFGET 04184000 DCBMFECP EQU DCBMACF1 04185000 DCBTIOT EQU IHADCS25 04186000 DCBMRSTI EQU DCBMRDMD 04187000 DCBMRAWR EQU DCBMRSTK 04188000 DCBMRUIP EQU DCBMRTMD 04189000 DCBMRIDW EQU DCBMRLCP 04190000 DCBMRWRK EQU DCBMRMVP 04191000 DCBMRRDQ EQU DCBMRWRT 04192000 DCBMRGTQ EQU DCBMRPUT 04193000 DCBMRSTL EQU DCBMACR2 04194000 DCBMRCK EQU DCBMRDMG 04195000 DCBPGFXA EQU DCBMRRDX 04196000 DCBMRDBF EQU DCBMRSBG 04197000 DCBMRRDI EQU DCBMRLCG 04198000 DCBMRRDK EQU DCBMRMVG 04199000 DCBMRWRQ EQU DCBMRRD 04200000 DCBMRPTQ EQU DCBMRGET 04201000 DCBMRECP EQU DCBMACR1 04202000 @NM00010 EQU DCBIFLG 04203000 DCBIBIOE EQU DCBIFLG 04204000 DCBIBPCT EQU DCBIFLG 04205000 DCBIBEC EQU DCBIFLG 04206000 DCBOFIOF EQU DCBOFLGS 04207000 DCBOFUEX EQU DCBOFLGS 04208000 DCBOFTM EQU DCBOFLGS 04209000 DCBOFPPC EQU DCBOFLGS 04210000 DCBOFOPN EQU DCBOFLGS 04211000 DCBOFEOV EQU DCBOFLGS 04212000 DCBOFLRB EQU DCBOFLGS 04213000 DCBOFIOD EQU DCBOFLWR 04214000 DCBDDNAM EQU IHADCS24 04215000 DCBEXLSA EQU DCBEXLST+1 04216000 DCBRECKL EQU DCBRECFM 04217000 DCBRECCC EQU DCBRECFM 04218000 DCBRECSB EQU DCBRECFM 04219000 DCBRECBR EQU DCBRECFM 04220000 DCBRECTO EQU DCBRECLA 04221000 DCBRECL EQU DCBRECLA 04222000 DCBEODA EQU DCBEODAD+1 04223000 DCBBFA EQU DCBBFTEK 04224000 DCBH0 EQU DCBBFTEK 04225000 DCBBFTKD EQU DCBBFTEK 04226000 DCBBFTE EQU DCBBFT 04227000 DCBBFTKR EQU DCBBFT 04228000 DCBBFTS EQU DCBBFT 04229000 DCBH1 EQU DCBBFTEK 04230000 DCBSVCXA EQU DCBSVCXL+1 04231000 @NM00009 EQU DCBSVCXL 04232000 DCBODEBA EQU DCBIOBAA 04233000 @NM00008 EQU DCBQSLM 04234000 DCBUPDBT EQU DCBQSLM 04235000 DCBUPDCM EQU DCBQSLM 04236000 DCB1DVDS EQU DCBQSLM 04237000 @NM00007 EQU DCBDSRG2 04238000 DCBDSGTR EQU DCBDSRG2 04239000 DCBACBM EQU DCBDSRG2 04240000 @NM00006 EQU DCBDSRG2 04241000 DCBDSGTQ EQU DCBDSRG2 04242000 DCBDSGTX EQU DCBDSRG2 04243000 DCBDSGGS EQU DCBDSRG2 04244000 DCBDSGU EQU DCBDSRG1 04245000 DCBDSGPO EQU DCBDSRG1 04246000 DCBDSGMQ EQU DCBDSRG1 04247000 DCBDSGCQ EQU DCBDSRG1 04248000 DCBDSGCX EQU DCBDSRG1 04249000 DCBDSGDA EQU DCBDSRG1 04250000 DCBDSGPS EQU DCBDSRG1 04251000 DCBDSGIS EQU DCBDSRG1 04252000 DCBBUFL EQU IHADCS11+8 04253000 DCBBUFCA EQU DCBBUFCB+1 04254000 DCBBUFNO EQU DCBBUFCB 04255000 DCBDEVT EQU DCBREL 04256000 DCBKEYLE EQU DCBRELB 04257000 @NM00005 EQU DCBFUNC 04258000 DCBFNCBT EQU DCBFUNC 04259000 DCBFNCBX EQU DCBFUNC 04260000 DCBFNCBD EQU DCBFUNC 04261000 DCBFNCBW EQU DCBFUNC 04262000 DCBFNCBP EQU DCBFUNC 04263000 DCBFNCBR EQU DCBFUNC 04264000 DCBFNCBI EQU DCBFUNC 04265000 @NM00004 EQU IHADCS05+2 04266000 @NM00003 EQU IHADCS05+1 04267000 DCBSTCK1 EQU DCBSTACK 04268000 DCBSTCK2 EQU DCBSTACK 04269000 @NM00002 EQU DCBSTACK 04270000 DCBMODER EQU DCBSTACK 04271000 DCBMODEO EQU DCBSTACK 04272000 DCBMODEE EQU DCBSTACK 04273000 DCBMODEC EQU DCBSTACK 04274000 @NM00001 EQU IHADCB 04275000 * END UNREFERENCED COMPONENTS 04276000 @RT00166 EQU PARMEND 04277000 @RT00198 EQU PARMEND 04278000 @RT00218 EQU PARMEND 04279000 @RF00233 EQU @RC00231 04280000 @RF00243 EQU @RC00241 04281000 @RT00257 EQU PARMEND 04282000 @RT00270 EQU PARMEND 04283000 @RT00299 EQU PARMEND 04284000 @RC00307 EQU @RC00305 04285000 @RT00363 EQU RDTRACE 04286000 @RT00368 EQU RDTRACE 04287000 @RT00372 EQU RDTRACE 04288000 @RT00375 EQU RDTRACE 04289000 @RT00394 EQU ROUTINE2 04290000 @RT00396 EQU DSCTLBRK 04291000 @RT00623 EQU EOJ 04292000 @RT00633 EQU RWCTLBRK 04293000 @RT00809 EQU EOJ 04294000 @RT00818 EQU DSCTLBRK 04295000 @RF00818 EQU RWCTLBRK 04296000 @RC00847 EQU @RC00846 04297000 @RT00920 EQU EF4 04298000 EFEND EQU @EL00003 04299000 @RC00936 EQU @EL00006 04300000 @RT00918 EQU EFEND 04301000 @ENDDATA EQU * 04302000 END ICGTRDST,(C'PLS1209',0603,77089) 04303000