cdc:nos2.source:opl.opl871:deck:acpd.001
Deck ACPD Part 001
9 Modifications
Listing Sections
- Deck ACPD Start
- Deck ACPD Part 1 (Line 2081)
- Deck ACPD Part 2 (Line 4188)
Source
Seq # *Modification Id* Act ----------------------------+ 02081 M00S01992.acpd +++|# 02082 M00S01993.acpd +++|* THE CURRENT FILE IS DONE. CHECK IF THERE IS ANOTHER FILE 02083 M00S01994.acpd +++|* TO REPORT. 02084 M00S01995.acpd +++|# 02085 M00S01996.acpd +++| 02086 M00S01997.acpd +++| IF (P$ET LQ TM) # ENDING TIME REACHED #
Line S00002 Modification History | |
---|---|
M01 (Added by) | acpd2 |
Seq # *Modification Id* Act ----------------------------+ 02087 M01S00002.acpd2 +++| OR (STAT EQ EOIC) # EOI ENCOUNTERED ON FILE # 02088 M00S01998.acpd +++| THEN 02089 M00S01999.acpd +++| BEGIN
Line S02000 Modification History | |
---|---|
M01 (Removed by) | acpd2 |
Seq # *Modification Id* Act ----------------------------+ 02090 M01S02000.acpd2 ---| EDTM=TRUE; # ENDING TIME REACHED #
Line S00003 Modification History | |
---|---|
M01 (Added by) | acpd2 |
Seq # *Modification Id* Act ----------------------------+ 02091 M01S00003.acpd2 +++| EDTM=TRUE; # ENDING TIME REACHED OR EOI # 02092 M00S02001.acpd +++| END 02093 M00S02002.acpd +++| 02094 M00S02003.acpd +++| ELSE # DONE WITH THE CURRENT FILE # 02095 M00S02004.acpd +++| BEGIN 02096 M00S02005.acpd +++| LSTM=TM; # TIME OF LAST RECORD # 02097 M00S02006.acpd +++| END 02098 M00S02007.acpd +++| 02099 M00S02008.acpd +++| RETURN; 02100 M00S02009.acpd +++| END # DATBLK # 02101 M00S02010.acpd +++| 02102 M00S02011.acpd +++| TERM 02103 M00S02012.acpd +++|PROC DATELM(FLG,MS1,MS2,(WFA),(WFP),(POS),(DTY),(FWA),(NSF)); 02104 M00S02013.acpd +++|# TITLE DATELM - PROCESS ONE DATA BLOCK ELEMENT. # 02105 M00S02014.acpd +++| 02106 M00S02015.acpd +++| BEGIN # DATELM # 02107 M00S02016.acpd +++| 02108 M00S02017.acpd +++|# 02109 M00S02018.acpd +++|** DATELM - PROCESS ONE DATA BLOCK ELEMENT. 02110 M00S02019.acpd +++|* 02111 M00S02020.acpd +++|* COMPUTE AND PRINT ONE DATA BLOCK ELEMENT-S STATISTICAL 02112 M00S02021.acpd +++|* VALUES (AVERAGE, STANDARD DEVIATION, AND PERCENTAGE). 02113 M00S02022.acpd +++|* 02114 M00S02023.acpd +++|* PROC DATELM(FLG,MS1,MS2,(WFA),(WFP),(POS),(DTY),(FWA),(NSF)) 02115 M00S02024.acpd +++|* 02116 M00S02025.acpd +++|* ENTRY FLG = TRUE IF SUB BLOCK TITLE IS TO BE PRINTED. 02117 M00S02026.acpd +++|* MS1 = SUB BLOCK TITLE. 02118 M00S02027.acpd +++|* MS2 = DATA ELEMENT NAME. 02119 M00S02028.acpd +++|* WFA = WEIGHT FACTOR INFORMATION. 02120 M00S02029.acpd +++|* WFP = WEIGHT FACTOR. 02121 M00S02030.acpd +++|* POS = RELATIVE POSITION OF WEIGHT FACTOR. 02122 M00S02031.acpd +++|* DTY = DATA TYPE. 02123 M00S02032.acpd +++|* FWA = ADDRESS OF THE ELEMENT IN TABLE *DCDT*. 02124 M00S02033.acpd +++|* NSF = NUMBER OF RECORDS PER INTERVAL. 02125 M00S02034.acpd +++|* NIPP = (COMMON BLOCK *CIOCOMM*) NUMBER OF INTERVALS 02126 M00S02035.acpd +++|* PER PAGE. 02127 M00S02036.acpd +++|* 02128 M00S02037.acpd +++|* EXIT THE AVERAGE, STANDARD DEVIATION, AND PERCENTAGE 02129 M00S02038.acpd +++|* OF THE DATA ELEMENT AT TEN INTERVALS ARE COMPUTED 02130 M00S02039.acpd +++|* AND PRINTED. 02131 M00S02040.acpd +++|* IF THE WEIGHT FACTOR IS THE CONSTANT 1, THE AVERAGE 02132 M00S02041.acpd +++|* WILL NOT BE PRINTED. 02133 M00S02042.acpd +++|* THE PERCENTAGE WILL NOT BE PRINTED IF THE ELEMENT 02134 M00S02043.acpd +++|* DOES NOT HAVE A WEIGHT FACTOR, OR THE WEIGHT FACTOR 02135 M00S02044.acpd +++|* IS THE CONSTANT 100. 02136 M00S02045.acpd +++|# 02137 M00S02046.acpd +++| 02138 M00S02047.acpd +++|# 02139 M00S02048.acpd +++|* PARAMETER LIST. 02140 M00S02049.acpd +++|# 02141 M00S02050.acpd +++| 02142 M00S02051.acpd +++| ITEM FLG B; # SUBBLOCK TITLE FLAG # 02143 M00S02052.acpd +++| ITEM MS1 C(40); # SUBBLOCK TITLE # 02144 M00S02053.acpd +++| ITEM MS2 C(30); # DATA ELEMENT NAME # 02145 M00S02054.acpd +++| ITEM WFA U; # WEIGHT FACTOR INFORMATION # 02146 M00S02055.acpd +++| ITEM WFP U; # WEIGHT FACTOR # 02147 M00S02056.acpd +++| ITEM POS I; # RELATIVE POSITIN OF *WFP* # 02148 M00S02057.acpd +++| ITEM DTY U; # DATA TYPE # 02149 M00S02058.acpd +++| ITEM FWA U; # ADDRESS OF ENTRY # 02150 M00S02059.acpd +++| ITEM NSF I; # NUMBER OF SAMPLES PER INTERVAL # 02151 M00S02060.acpd +++| 02152 M00S02061.acpd +++|# 02153 M00S02062.acpd +++|**** PROC DATELM - XREF LIST BEGIN. 02154 M00S02063.acpd +++|# 02155 M00S02064.acpd +++| 02156 M00S02065.acpd +++| XREF 02157 M00S02066.acpd +++| BEGIN 02158 M00S02067.acpd +++| PROC ACMSTA; # COMPUTE TOTAL STATISTICS # 02159 M00S02068.acpd +++| PROC COMPWF; # COMPUTE WEIGHT FACTOR # 02160 M00S02069.acpd +++| PROC PRDTEL; # PRINT ONE ROW OF DATA ELEMENT # 02161 M00S02070.acpd +++| FUNC SQRT R; # SQUARE ROOT # 02162 M00S02071.acpd +++| PROC WRITEV; # WRITE ONE VALUE # 02163 M00S02072.acpd +++| END 02164 M00S02073.acpd +++| 02165 M00S02074.acpd +++|# 02166 M00S02075.acpd +++|**** PROC DATELM - XREF LIST END. 02167 M00S02076.acpd +++|# 02168 M00S02077.acpd +++| 02169 M00S02078.acpd +++| DEF AVGC #"AV"#; # AVERAGE # 02170 M00S02079.acpd +++| DEF PCTC #"PC"#; # PERCENTAGE # 02171 M00S02080.acpd +++| DEF SDVC #"SD"#; # STANDARD DEVIATION # 02172 M00S02081.acpd +++| DEF ZOPC #"Z"#; # *Z* OPTION # 02173 M00S02082.acpd +++| 02174 M00S02083.acpd +++| DEF LISTCON #0#; # TURN OFF COMMON DECK LISTING # 02175 M00S02084.acpd +++| 02176 M00S02085.acpd +++|*CALL COMUCPD 02177 M00S02086.acpd +++| 02178 M00S02087.acpd +++|# 02179 M00S02088.acpd +++|* LOCAL VARIABLES. 02180 M00S02089.acpd +++|# 02181 M00S02090.acpd +++| 02182 M00S02091.acpd +++| ITEM AV R; # AVERAGE VALUE # 02183 M00S02092.acpd +++| ITEM BCL I; # BEGIN COLUMN TO PRINT # 02184 M00S02093.acpd +++| ITEM I I; # FOR LOOP CONTROL # 02185 M00S02094.acpd +++| ITEM NIP R; # NUMBER OF COLUMNS PER PAGE # 02186 M00S02095.acpd +++| ITEM NSR R; # NUMBER OF BLOCKS PER COLUMN # 02187 M00S02096.acpd +++| ITEM PRFLG B; # PROCESS FLAG # 02188 M00S02097.acpd +++| ITEM SM R; # INTERVAL SUM # 02189 M00S02098.acpd +++| ITEM SQ R; # INTERVAL SUM SQUARED # 02190 M00S02099.acpd +++| ITEM SSM R; # SUM OF SUBTOTAL # 02191 M00S02100.acpd +++| ITEM SSQ R; # SQUARED SUM OF SUBTOTAL # 02192 M00S02101.acpd +++| ITEM SWF R; # SUM OF WEIGHT FACTOR # 02193 M00S02102.acpd +++| ITEM WFT R; # WEIGHT FACTOR # 02194 M00S02103.acpd +++| 02195 M00S02104.acpd +++| ARRAY TEM [1:11] P(3); # COMPUTED STATISTIC VALUES # 02196 M00S02105.acpd +++| BEGIN 02197 M00S02106.acpd +++| ITEM TEM$AV R(00,00,60); # AVERAGE # 02198 M00S02107.acpd +++| ITEM TEM$SD R(01,00,60); # STANDARD DEVIATION # 02199 M00S02108.acpd +++| ITEM TEM$PC R(02,00,60); # PERCENTAGE # 02200 M00S02109.acpd +++| END 02201 M00S02110.acpd +++| 02202 M00S02111.acpd +++| 02203 M00S02112.acpd +++| 02204 M00S02113.acpd +++|# 02205 M00S02114.acpd +++|* BEGIN DATELM PROC. 02206 M00S02115.acpd +++|# 02207 M00S02116.acpd +++| 02208 M00S02117.acpd +++| COMPWF(WFA,WFP,POS,WFT,PRFLG); # COMPUTE WEIGHT FACTOR # 02209 M00S02118.acpd +++| IF (NOT PRFLG) # NOT TO PROCESS THIS ELEMENT # 02210 M00S02119.acpd +++| THEN 02211 M00S02120.acpd +++| BEGIN 02212 M00S02121.acpd +++| RETURN; 02213 M00S02122.acpd +++| END 02214 M00S02123.acpd +++| 02215 M00S02124.acpd +++| P<DCHD>=LOC(DBUF); 02216 M00S02125.acpd +++| P<DCDT>=LOC(DBUF[DCHL]); 02217 M00S02126.acpd +++| P<DDSM>=LOC(DBUF[DCHL + DCDC*DCDL*2]); 02218 M00S02127.acpd +++| P<DDSC>=LOC(DDDT); 02219 M00S02128.acpd +++| 02220 M00S02129.acpd +++|# 02221 M00S02130.acpd +++|* CHECK IF ENTIRE LINE IS ZERO. IF SO, DO NOT PRINT THIS LINE. 02222 M00S02131.acpd +++|# 02223 M00S02132.acpd +++| 02224 M00S02133.acpd +++| SM=0; 02225 M00S02134.acpd +++| SLOWFOR I=1 STEP 1 UNTIL NIPP 02226 M00S02135.acpd +++| DO 02227 M00S02136.acpd +++| BEGIN 02228 M00S02137.acpd +++| SM=SM + DCDT$SM[(I-1)*DCDL + FWA]; 02229 M00S02138.acpd +++| END 02230 M00S02139.acpd +++| 02231 M00S02140.acpd +++| IF (SM EQ 0.0) AND (P$LO NQ ZOPC) AND (NIPP GR (DCDC-3)) 02232 M00S02141.acpd +++| THEN 02233 M00S02142.acpd +++| BEGIN 02234 M00S02143.acpd +++| RETURN; 02235 M00S02144.acpd +++| END 02236 M00S02145.acpd +++| 02237 M00S02146.acpd +++| IF (NIPP LQ (DCDC-3)) # PRINT TOTAL ON THIS PAGE # 02238 M00S02147.acpd +++| THEN # CHECK IF TOTAL IS 0 # 02239 M00S02148.acpd +++| BEGIN 02240 M00S02149.acpd +++| IF (DDSM$IM[FWA] EQ 0) AND (P$LO NQ ZOPC) 02241 M00S02150.acpd +++| THEN 02242 M00S02151.acpd +++| BEGIN 02243 M00S02152.acpd +++| RETURN; 02244 M00S02153.acpd +++| END 02245 M00S02154.acpd +++| 02246 M00S02155.acpd +++| END 02247 M00S02156.acpd +++| 02248 M00S02157.acpd +++|# 02249 M00S02158.acpd +++|* CHECK IF SUBTITLE HAS BEEN PRINTED. 02250 M00S02159.acpd +++|# 02251 M00S02160.acpd +++| 02252 M00S02161.acpd +++| IF (FLG) # SUBTITLE NOT PRINTED # 02253 M00S02162.acpd +++| THEN # PRINT SUBTITLE # 02254 M00S02163.acpd +++| BEGIN 02255 M00S02164.acpd +++| WRITEV(MS1,CHRC,1,22,LFDC); 02256 M00S02165.acpd +++| FLG=FALSE; # INDICATE SUBTITLE WAS PRINTED # 02257 M00S02166.acpd +++| END 02258 M00S02167.acpd +++| 02259 M00S02168.acpd +++| WRITEV(MS2,CHRC,1,22,NLFC); # WRITE DATA ELEMENT NAME # 02260 M00S02169.acpd +++| 02261 M00S02170.acpd +++|# 02262 M00S02171.acpd +++|* COMPUTE AVERAGE, STANDARD DEVIATION, AND PERCENTAGE 02263 M00S02172.acpd +++|* FOR *NIPP* INTERVALS. THE COMPUTED VALUES ARE SAVED 02264 M00S02173.acpd +++|* IN ARRAY *TEM*. 02265 M00S02174.acpd +++|# 02266 M00S02175.acpd +++| 02267 M00S02176.acpd +++| BCL=BCLC; # BEGIN COLUMN TO PRINT # 02268 M00S02177.acpd +++| NSR=NSF; # CONVERT TO REAL # 02269 M00S02178.acpd +++| NIP=NIPP; # CONVERT TO REAL # 02270 M00S02179.acpd +++| SSM=0.0; 02271 M00S02180.acpd +++| SSQ=0.0; 02272 M00S02181.acpd +++| SWF=0.0; 02273 M00S02182.acpd +++| 02274 M00S02183.acpd +++| IF (NIPP GR 0) 02275 M00S02184.acpd +++| THEN 02276 M00S02185.acpd +++| BEGIN # COMPUTE INTERVAL STATISTICS # 02277 M00S02186.acpd +++| FASTFOR I=1 STEP 1 UNTIL NIPP 02278 M00S02187.acpd +++| DO 02279 M00S02188.acpd +++| BEGIN # COMPUTE *AV*, *SD*, *PC* # 02280 M00S02189.acpd +++| SM=DCDT$SM[(I-1)*DCDL + FWA]; 02281 M00S02190.acpd +++| SSM=SSM+SM; 02282 M00S02191.acpd +++| SQ=DCDT$SQ[(I-1)*DCDL+DCDC*DCDL+FWA]; 02283 M00S02192.acpd +++| SSQ=SSQ+SQ; 02284 M00S02193.acpd +++| AV=SM/NSR; # AVERAGE # 02285 M00S02194.acpd +++| TEM$AV[I]=AV; 02286 M00S02195.acpd +++| TEM$SD[I]=SQRT(SQ/NSR - AV*AV); # STANDARD DEVIATION # 02287 M00S02196.acpd +++| DCDT$SQ[(I-1)*DCDL+DCDC*DCDL+FWA]=TEM$SD[I]; # SAVE *SD* #
Line S00001 Modification History | |
---|---|
M01 (Added by) | acpd1 |
Seq # *Modification Id* Act ----------------------------+ 02288 M01S00001.acpd1 +++| DCDT$SM[(I-1)*DCDL+FWA]=TEM$AV[I]; # SAVE *AV* # 02289 M00S02197.acpd +++| 02290 M00S02198.acpd +++| IF (WFA EQ IWFC) # INDIRECT WEIGHT FACTOR # 02291 M00S02199.acpd +++| THEN # GET WEIGHT FACTOR # 02292 M00S02200.acpd +++| BEGIN 02293 M00S02201.acpd +++| WFT=DCDT$SM[(I-1)*DCDL + DDSC$FW[WFP]]/NSR; 02294 M00S02202.acpd +++| SWF=SWF+WFT; 02295 M00S02203.acpd +++| END 02296 M00S02204.acpd +++| 02297 M00S02205.acpd +++| IF (WFT LQ 0) 02298 M00S02206.acpd +++| THEN 02299 M00S02207.acpd +++| BEGIN 02300 M00S02208.acpd +++| TEM$PC[I]=0.0; 02301 M00S02209.acpd +++| END 02302 M00S02210.acpd +++| 02303 M00S02211.acpd +++| ELSE 02304 M00S02212.acpd +++| BEGIN 02305 M00S02213.acpd +++| TEM$PC[I]=(AV/WFT)*100.0; # PERCENTAGE # 02306 M00S02214.acpd +++| END 02307 M00S02215.acpd +++| 02308 M00S02216.acpd +++| END # COMPUTE *AV*, *SD*, *PC* # 02309 M00S02217.acpd +++| 02310 M00S02218.acpd +++|# 02311 M00S02219.acpd +++|* COMPUTE AVERAGE, STANDARD DEVIATION, AND PERCENTAGE 02312 M00S02220.acpd +++|* OF SUBTOTAL. THE PRECEDING INTERVALS ARE CONSIDERED 02313 M00S02221.acpd +++|* AS ONE INTERVAL. 02314 M00S02222.acpd +++|# 02315 M00S02223.acpd +++| 02316 M00S02224.acpd +++| IF (TCOL GR (DCDC-3)) # PRINT SUBTOTAL # 02317 M00S02225.acpd +++| THEN 02318 M00S02226.acpd +++| BEGIN # COMPUTE SUBTOTAL STATISTICS # 02319 M00S02227.acpd +++| I=NIPP+1; 02320 M00S02228.acpd +++| TEM$AV[I]=SSM/(NIP*NSR); # AVERAGE # 02321 M00S02229.acpd +++| TEM$SD[I]=SQRT(SSQ/(NIP*NSR)-(TEM$AV[I]*TEM$AV[I])); 02322 M00S02230.acpd +++| IF (WFA EQ IWFC) # INDIRECT WEIGHT FACTOR # 02323 M00S02231.acpd +++| THEN 02324 M00S02232.acpd +++| BEGIN 02325 M00S02233.acpd +++| WFT=SWF/NIP; # WEIGHT FACTOR # 02326 M00S02234.acpd +++| END 02327 M00S02235.acpd +++| 02328 M00S02236.acpd +++| IF (WFT LQ 0) 02329 M00S02237.acpd +++| THEN 02330 M00S02238.acpd +++| BEGIN 02331 M00S02239.acpd +++| TEM$PC[I]=0.0; 02332 M00S02240.acpd +++| END 02333 M00S02241.acpd +++| 02334 M00S02242.acpd +++| ELSE 02335 M00S02243.acpd +++| BEGIN 02336 M00S02244.acpd +++| TEM$PC[I]=(TEM$AV[I]/WFT)*100.0; 02337 M00S02245.acpd +++| END 02338 M00S02246.acpd +++| 02339 M00S02247.acpd +++| BCL=BCL + I*10; 02340 M00S02248.acpd +++| END # COMPUTE SUBTOTAL STATISTICS # 02341 M00S02249.acpd +++| 02342 M00S02250.acpd +++| ELSE # NO SUBTOTAL # 02343 M00S02251.acpd +++| BEGIN 02344 M00S02252.acpd +++| BCL=BCL + NIPP*10; 02345 M00S02253.acpd +++| END 02346 M00S02254.acpd +++| 02347 M00S02255.acpd +++| END # COMPUTE INTERVAL STATISTICS # 02348 M00S02256.acpd +++| 02349 M00S02257.acpd +++|# 02350 M00S02258.acpd +++|* PRINT VALUES SAVED IN ARRAY *TEM*. 02351 M00S02259.acpd +++|* AVERAGE VALUES ARE NOT PRINTED IF THE WEIGHT FACTOR 02352 M00S02260.acpd +++|* IS 1. 02353 M00S02261.acpd +++|* PERCENTAGE VALUES ARE NOT PRINTED IF *WFT* IS LESS THAN 0. 02354 M00S02262.acpd +++|* THE TOTAL STATISTIC VALUES ARE NOT PRINTED IF THERE ARE 02355 M00S02263.acpd +++|* MORE THAN 7 COLUMNS PRINTED ON A PAGE, I.E. IF THE NUMBER 02356 M00S02264.acpd +++|* OF INTERVALS PER PAGE *NIPP* IS GREATER THAN 7. 02357 M00S02265.acpd +++|# 02358 M00S02266.acpd +++| 02359 M00S02267.acpd +++| IF (WFA NQ CWFC) OR (WFP NQ 1) 02360 M00S02268.acpd +++| THEN 02361 M00S02269.acpd +++| BEGIN # PRINT *AV* # 02362 M00S02270.acpd +++| WRITEV(AVGC,CHRC,BCLC-2,2,NLFC); 02363 M00S02271.acpd +++| IF (NIPP GR 0) # MORE THAN 1 COLUMN # 02364 M00S02272.acpd +++| THEN 02365 M00S02273.acpd +++| BEGIN 02366 M00S02274.acpd +++| PRDTEL(LOC(TEM$AV[1]),DTY,LOC(DDSM$AX[FWA])); 02367 M00S02275.acpd +++| END 02368 M00S02276.acpd +++| 02369 M00S02277.acpd +++| IF (NIPP LQ (DCDC-3)) # PRINT TOTAL ON SAME PAGE # 02370 M00S02278.acpd +++| THEN 02371 M00S02279.acpd +++| BEGIN 02372 M00S02280.acpd +++| ACMSTA(STVAL"AVST",FWA,DTY,BCL,0); # TOTAL AVERAGE # 02373 M00S02281.acpd +++| END 02374 M00S02282.acpd +++| 02375 M00S02283.acpd +++| END # PRINT *AV* # 02376 M00S02284.acpd +++| 02377 M00S02285.acpd +++| WRITEV(SDVC,CHRC,BCLC-2,2,NLFC); 02378 M00S02286.acpd +++| IF (NIPP GR 0) # MORE THAN 1 COLUMN # 02379 M00S02287.acpd +++| THEN 02380 M00S02288.acpd +++| BEGIN # PRINT *SD* # 02381 M00S02289.acpd +++| PRDTEL(LOC(TEM$SD[1]),FLPC,LOC(DDSM$SX[FWA])); 02382 M00S02290.acpd +++| END # PRINT *SD* # 02383 M00S02291.acpd +++| 02384 M00S02292.acpd +++| IF (NIPP LQ (DCDC-3)) # PRINT TOTAL ON SAME PAGE # 02385 M00S02293.acpd +++| THEN 02386 M00S02294.acpd +++| BEGIN 02387 M00S02295.acpd +++| ACMSTA(STVAL"SDST",FWA,FLPC,BCL,0); # STANDARD DEVIATION # 02388 M00S02296.acpd +++| END 02389 M00S02297.acpd +++| 02390 M00S02298.acpd +++| IF (WFT GQ 0.0) # PERCENTAGE TO BE PRINTED # 02391 M00S02299.acpd +++| THEN 02392 M00S02300.acpd +++| BEGIN # PRINT *PC* # 02393 M00S02301.acpd +++| WRITEV(PCTC,CHRC,BCLC-2,2,NLFC); 02394 M00S02302.acpd +++| IF (NIPP GR 0) # MORE THAN 1 COLUMN # 02395 M00S02303.acpd +++| THEN 02396 M00S02304.acpd +++| BEGIN 02397 M00S02305.acpd +++| PRDTEL(LOC(TEM$PC[1]),FLPC,LOC(DDSM$PX[FWA])); 02398 M00S02306.acpd +++| END 02399 M00S02307.acpd +++| 02400 M00S02308.acpd +++| IF (WFA EQ IWFC) # INDIRECT WEIGHT FACTOR # 02401 M00S02309.acpd +++| THEN 02402 M00S02310.acpd +++| BEGIN 02403 M00S02311.acpd +++| WFT=DDSM$SM[DDSC$FW[WFP]]/ACNS; # TOTAL WEIGHT FACTOR # 02404 M00S02312.acpd +++| END 02405 M00S02313.acpd +++| 02406 M00S02314.acpd +++| IF (NIPP LQ (DCDC-3)) # TOTAL IS PRINTED ON SAME PAGE # 02407 M00S02315.acpd +++| THEN 02408 M00S02316.acpd +++| BEGIN 02409 M00S02317.acpd +++| ACMSTA(STVAL"PCST",FWA,FLPC,BCL,WFT); # TOTAL PERCENTAGE # 02410 M00S02318.acpd +++| END 02411 M00S02319.acpd +++| 02412 M00S02320.acpd +++| END # PRINT *PC* # 02413 M00S02321.acpd +++| 02414 M00S02322.acpd +++| RETURN; 02415 M00S02323.acpd +++| END # DATELM # 02416 M00S02324.acpd +++| 02417 M00S02325.acpd +++| TERM 02418 M00S02326.acpd +++|PROC DECODE((DTA),(BFA)); 02419 M00S02327.acpd +++|# TITLE DECODE - DECODE DATA. # 02420 M00S02328.acpd +++| 02421 M00S02329.acpd +++| BEGIN # DECODE # 02422 M00S02330.acpd +++| 02423 M00S02331.acpd +++|# 02424 M00S02332.acpd +++|** DECODE - DECODE DATA. 02425 M00S02333.acpd +++|* 02426 M00S02334.acpd +++|* DECODE DATA IN *CIO* INPUT BUFFER, AND PUT THEM 02427 M00S02335.acpd +++|* IN CORRESPONDING DECODED BUFFER. 02428 M00S02336.acpd +++|* 02429 M00S02337.acpd +++|* PROC DECODE((DTA),(BFA)) 02430 M00S02338.acpd +++|* 02431 M00S02339.acpd +++|* ENTRY DTA = ADDRESS OF DATA DESCRIPTION TABLE 02432 M00S02340.acpd +++|* (*DDHD* OR *DDDT*). 02433 M00S02341.acpd +++|* BFA = ADDRESS OF THE BUFFER WHERE THE DECODED DATA 02434 M00S02342.acpd +++|* ARE TO BE SAVED (*DCHD* OR *DCDT*). 02435 M00S02343.acpd +++|* IBWA = CURRENT *CIO* INPUT BUFFER ADDRESS. 02436 M00S02344.acpd +++|* 02437 M00S02345.acpd +++|* EXIT IBWA = ADDRESS OF NEXT *CIO* INPUT BUFFER WORD. 02438 M00S02346.acpd +++|* DECODED DATA ARE ACCUMULATED IN THE APPROPRIATE 02439 M00S02347.acpd +++|* BUFFER. 02440 M00S02348.acpd +++|# 02441 M00S02349.acpd +++| 02442 M00S02350.acpd +++|# 02443 M00S02351.acpd +++|* PARAMETER LIST. 02444 M00S02352.acpd +++|# 02445 M00S02353.acpd +++| 02446 M00S02354.acpd +++| ITEM BFA I; # BUFFER ADDRESS # 02447 M00S02355.acpd +++| ITEM DTA I; # DATA DESCRIPTOR TABLE ADDRESS # 02448 M00S02356.acpd +++| 02449 M00S02357.acpd +++|# 02450 M00S02358.acpd +++|**** PROC DECODE - XREF LIST BEGIN. 02451 M00S02359.acpd +++|# 02452 M00S02360.acpd +++| 02453 M00S02361.acpd +++| XREF 02454 M00S02362.acpd +++| BEGIN 02455 M00S02363.acpd +++| FUNC GETVAL I; # GET VALUE FROM *CIO* BUFFER # 02456 M00S02364.acpd +++| PROC PERROR; # PROCESS ERROR # 02457 M00S02365.acpd +++| END 02458 M00S02366.acpd +++| 02459 M00S02367.acpd +++|# 02460 M00S02368.acpd +++|**** PROC DECODE - XREF LIST END. 02461 M00S02369.acpd +++|# 02462 M00S02370.acpd +++| 02463 M00S02371.acpd +++| DEF CNIC #"CNIL"#; # FAST LOOP SAMPLE # 02464 M00S02372.acpd +++| DEF CPWC #5#; # NUMBER OF BYTES # 02465 M00S02373.acpd +++| DEF CTMC #"CTML"#; # MEDIUM LOOP SAMPLE # 02466 M00S02374.acpd +++| DEF CTOC #"CTOL"#; # SLOW LOOP SAMPLE # 02467 M00S02375.acpd +++| DEF HDLC #0#; # HEADER LOOP FLAG # 02468 M00S02376.acpd +++| DEF PDTC #"PDTM"#; # PACKED DATE AND TIME # 02469 M00S02377.acpd +++| DEF SNLC #4#; # SNAP SHOT LOOP FLAG # 02470 M00S02378.acpd +++| 02471 M00S02379.acpd +++| DEF LISTCON #0#; # TURN OFF COMMON DECK LISTING # 02472 M00S02380.acpd +++| 02473 M00S02381.acpd +++|*CALL COMUCPD 02474 M00S02382.acpd +++| 02475 M00S02383.acpd +++|# 02476 M00S02384.acpd +++|* LOCAL VARIABLES. 02477 M00S02385.acpd +++|# 02478 M00S02386.acpd +++| 02479 M00S02387.acpd +++| ITEM AV R; # AVERAGE VALUE # 02480 M00S02388.acpd +++| ITEM BA I; # BYTE ADDRESS OF *CIO* BUFFER # 02481 M00S02389.acpd +++| ITEM BASE I; # BEGIN ADDRESS OF REPEAT GROUP # 02482 M00S02390.acpd +++| ITEM C I; # DECODED DATA BUFFER ADDRESS # 02483 M00S02391.acpd +++| ITEM CQ I; # DECODED DATA BUFFER ADDRESS # 02484 M00S02392.acpd +++| ITEM I I; # FOR LOOP CONTROL # 02485 M00S02393.acpd +++| ITEM IC I; # INCREMENTOR # 02486 M00S02394.acpd +++| ITEM J I; # FOR LOOP CONTROL # 02487 M00S02395.acpd +++| ITEM K I; # FOR LOOP CONTROL # 02488 M00S02396.acpd +++| ITEM L I; # FOR LOOP CONTROL # 02489 M00S02397.acpd +++| ITEM LMP I; # LENGTH MULTIPLIER # 02490 M00S02398.acpd +++| ITEM LN I; # LENGTH OF ENTRY # 02491 M00S02399.acpd +++| ITEM M I; # FOR LOOP CONTROL # 02492 M00S02400.acpd +++| ITEM NM C(4); # DATA ELEMENT NAME # 02493 M00S02401.acpd +++| ITEM OF I; # OFFSET # 02494 M00S02402.acpd +++| ITEM PR I; # NUMBER OF PP WORDS OCCUPIED # 02495 M00S02403.acpd +++| ITEM TP U; # DATA TYPE OF ELEMENT # 02496 M00S02404.acpd +++| ITEM VL I; # DECODED VALUE # 02497 M00S02405.acpd +++| ITEM VLR R; # DECODED VALUE # 02498 M00S02406.acpd +++| 02499 M00S02407.acpd +++| BASED 02500 M00S02408.acpd +++| ARRAY BUF [0:0] P(1); # DECODED BUFFER # 02501 M00S02409.acpd +++| BEGIN # ARRAY BUF # 02502 M00S02410.acpd +++| ITEM BUF$WD U(00,00,60); # DECODED DATA # 02503 M00S02411.acpd +++| ITEM BUF$SQ R(00,00,60); # SUM SQUARE # 02504 M00S02412.acpd +++| ITEM BUF$SM R(00,00,60); # SUM # 02505 M00S02413.acpd +++| ITEM BUF$ET U(00,00,30); # INTERVAL START TIME # 02506 M00S02414.acpd +++| ITEM BUF$BT U(00,30,30); # INTERVAL END TIME # 02507 M00S02415.acpd +++| END # ARRAY BUF # 02508 M00S02416.acpd +++| 02509 M00S02417.acpd +++| ARRAY SPT [1:3] P(1); # LOOP SAMPLE TIMES # 02510 M00S02418.acpd +++| BEGIN # ARRAY SPT # 02511 M00S02419.acpd +++| ITEM SPT$WD I(00,00,60); # SAMPLE TIME # 02512 M00S02420.acpd +++| END # ARRAY SPT # 02513 M00S02421.acpd +++| 02514 M00S02422.acpd +++| 02515 M00S02423.acpd +++| 02516 M00S02424.acpd +++| 02517 M00S02425.acpd +++| 02518 M00S02426.acpd +++| 02519 M00S02427.acpd +++|# 02520 M00S02428.acpd +++|* BEGIN DECODE PROC. 02521 M00S02429.acpd +++|# 02522 M00S02430.acpd +++| 02523 M00S02431.acpd +++| P<DCHD>=LOC(DBUF); 02524 M00S02432.acpd +++| P<DDSM>=LOC(DBUF[DCHL + DCDC*DCDL*2]); 02525 M00S02433.acpd +++| P<MPAR>=DTA; 02526 M00S02434.acpd +++| P<DDSC>=LOC(DDHD); 02527 M00S02435.acpd +++| P<BUF>=BFA; 02528 M00S02436.acpd +++| BA=IBWA*CPWC; 02529 M00S02437.acpd +++| 02530 M00S02438.acpd +++| IF (MPAR$TP[0] NQ HDLC) # NOT HEADER BLOCK # 02531 M00S02439.acpd +++| THEN 02532 M00S02440.acpd +++| BEGIN # GET LOOP SAMPLE TIMES # 02533 M00S02441.acpd +++| FASTFOR I=1 STEP 1 UNTIL 3 02534 M00S02442.acpd +++| DO 02535 M00S02443.acpd +++| BEGIN 02536 M00S02444.acpd +++| SPT$WD[I]=GETVAL(BA+SPLA$WD[I],2); 02537 M00S02445.acpd +++| END 02538 M00S02446.acpd +++| 02539 M00S02447.acpd +++| END # GET LOOP SAMPLE TIMES # 02540 M00S02448.acpd +++| 02541 M00S02449.acpd +++|# 02542 M00S02450.acpd +++|* FOLLOW TABLE *MPAR* TO EXTRACT DATA FROM *CIO* BUFFER AND PUT 02543 M00S02451.acpd +++|* THEM IN THE DECODED DATA BUFFER. 02544 M00S02452.acpd +++|* THE VALUES STORED IN THE DECODED DATA BUFFER FOR THE DATA 02545 M00S02453.acpd +++|* BLOCK ELEMENTS ARE THE CUMULATIVE AVERAGES. THE AVERAGE OF 02546 M00S02454.acpd +++|* EACH DATA BLOCK ELEMENT IS COMPUTED BY TAKING THE EXTRACTED 02547 M00S02455.acpd +++|* VALUE AND DIVIDING IT BY THE RESPECTIVE LOOP-S SAMPLE TIME 02548 M00S02456.acpd +++|* (*SPT* ARRAY). THE SQUARED AVERAGES ARE ALSO COMPUTED FOR 02549 M00S02457.acpd +++|* THE DATA BLOCK ELEMENTS. 02550 M00S02458.acpd +++|# 02551 M00S02459.acpd +++| 02552 M00S02460.acpd +++| C=0; # BEGIN ADDRESS TO STORE AVERAGE # 02553 M00S02461.acpd +++| OF=DCDL*DCDC; # OFFSET # 02554 M00S02462.acpd +++| J=0; 02555 M00S02463.acpd +++| 02556 M00S02464.acpd +++| SLOWFOR M=0 WHILE (MPAR$WD[J] NQ 0) 02557 M00S02465.acpd +++| DO 02558 M00S02466.acpd +++| BEGIN # FOLLOW TABLE *MPAR* # 02559 M00S02467.acpd +++| BASE=J; 02560 M00S02468.acpd +++| LMP=1; 02561 M00S02469.acpd +++| IF (MPAR$LMP[J] NQ NULL) 02562 M00S02470.acpd +++| THEN 02563 M00S02471.acpd +++| BEGIN 02564 M00S02472.acpd +++| LMP=DCHD$WD[DDSC$FW[MPAR$LMP[J]]]; # REPEAT GROUP LENGTH # 02565 M00S02473.acpd +++| END 02566 M00S02474.acpd +++| 02567 M00S02475.acpd +++|# 02568 M00S02476.acpd +++|* *LMP* IS GREATER THAN 1 IF THE REPEAT GROUP HAS 02569 M00S02477.acpd +++|* MULTIPLE ENTRIES. 02570 M00S02478.acpd +++|# 02571 M00S02479.acpd +++| 02572 M00S02480.acpd +++| FASTFOR K=1 STEP 1 UNTIL LMP 02573 M00S02481.acpd +++| DO 02574 M00S02482.acpd +++| BEGIN # COLLECT REPEAT GROUP VALUES # 02575 M00S02483.acpd +++| J=BASE; 02576 M00S02484.acpd +++| IC=MPAR$IC[J]; 02577 M00S02485.acpd +++| 02578 M00S02486.acpd +++|# 02579 M00S02487.acpd +++|* *IC* IS THE SIZE OF THE REPEAT GROUP. 02580 M00S02488.acpd +++|* SINGLE ELEMENTS HAVE *IC* EQUAL TO 1. 02581 M00S02489.acpd +++|# 02582 M00S02490.acpd +++| 02583 M00S02491.acpd +++| FASTFOR L=1 STEP 1 UNTIL IC 02584 M00S02492.acpd +++| DO 02585 M00S02493.acpd +++| BEGIN # COLLECT ONE ENTRY OF REPEAT GROUP # 02586 M00S02494.acpd +++| NM=MPAR$NM[J]; # NAME # 02587 M00S02495.acpd +++| TP=MPAR$TP[J]; # TYPE # 02588 M00S02496.acpd +++| LN=MPAR$LN[J]; # LENGTH # 02589 M00S02497.acpd +++| PR=MPAR$PR[J]; # PRECISION # 02590 M00S02498.acpd +++| IF (PR GR CPWC) 02591 M00S02499.acpd +++| THEN 02592 M00S02500.acpd +++| BEGIN 02593 M00S02501.acpd +++| LN=(PR/CPWC)*LN; 02594 M00S02502.acpd +++| PR=CPWC; 02595 M00S02503.acpd +++| END 02596 M00S02504.acpd +++| 02597 M00S02505.acpd +++|# 02598 M00S02506.acpd +++|* *LN* IS GREATER THAN 1 IF THE ELEMENT HAS MULTIPLE 02599 M00S02507.acpd +++|* ENTRIES. 02600 M00S02508.acpd +++|# 02601 M00S02509.acpd +++| 02602 M00S02510.acpd +++| FASTFOR I=1 STEP 1 UNTIL LN 02603 M00S02511.acpd +++| DO 02604 M00S02512.acpd +++| BEGIN # COLLECT VALUE OF ONE ENTRY # 02605 M00S02513.acpd +++| CQ=C + OF; # ADDRESS OF SQUARED AVERAGE # 02606 M00S02514.acpd +++| VL=GETVAL(BA,PR); # GET VALUE FROM *CIO* BUFFER # 02607 M00S02515.acpd +++| 02608 M00S02516.acpd +++| IF (TP EQ HDLC) # HEADER BLOCK # 02609 M00S02517.acpd +++| OR (TP EQ SNLC) # SNAPSHOT LOOP # 02610 M00S02518.acpd +++| THEN 02611 M00S02519.acpd +++| BEGIN # COLLECT VALUES # 02612 M00S02520.acpd +++| 02613 M00S02521.acpd +++|# 02614 M00S02522.acpd +++|* HEADER BLOCK AND SNAPSHOT LOOP DATA ELEMENTS ARE NOT CUMULATIVE 02615 M00S02523.acpd +++|* VALUES. 02616 M00S02524.acpd +++|# 02617 M00S02525.acpd +++| 02618 M00S02526.acpd +++| IF (NM EQ PDTC) # PACKED DATE AND TIME # 02619 M00S02527.acpd +++| THEN 02620 M00S02528.acpd +++| BEGIN # GET TIME # 02621 M00S02529.acpd +++| BUF$ET[CQ]=VL-(VL/SHFC)*SHFC; # INTERVAL END TIME # 02622 M00S02530.acpd +++| IF (DDSM$BT[C] EQ 0) # TOTAL *BT* NOT COLLECTED # 02623 M00S02531.acpd +++| THEN 02624 M00S02532.acpd +++| BEGIN 02625 M00S02533.acpd +++| DDSM$BT[C]=VL; # TOTAL BEGIN TIME # 02626 M00S02534.acpd +++| END 02627 M00S02535.acpd +++| 02628 M00S02536.acpd +++| IF (BUF$BT[CQ] EQ 0) # INTERVAL *BT* NOT COLLECTED # 02629 M00S02537.acpd +++| THEN 02630 M00S02538.acpd +++| BEGIN 02631 M00S02539.acpd +++| BUF$BT[CQ]=BUF$ET[CQ]; # INTERVAL BEGIN TIME # 02632 M00S02540.acpd +++| END 02633 M00S02541.acpd +++| 02634 M00S02542.acpd +++| END # GET TIME # 02635 M00S02543.acpd +++| 02636 M00S02544.acpd +++| BUF$WD[C]=VL; 02637 M00S02545.acpd +++| IF (TP EQ SNLC) # SNAPSHOT LOOP # 02638 M00S02546.acpd +++| THEN 02639 M00S02547.acpd +++| BEGIN 02640 M00S02548.acpd +++| DDSM$IM[C]=VL; 02641 M00S02549.acpd +++| END 02642 M00S02550.acpd +++| 02643 M00S02551.acpd +++| END # COLLECT VALUES # 02644 M00S02552.acpd +++| 02645 M00S02553.acpd +++| ELSE # FAST, MEDIUM, SLOW LOOP # 02646 M00S02554.acpd +++| BEGIN # DECODE DATA BLOCK VALUES # 02647 M00S02555.acpd +++| 02648 M00S02556.acpd +++|# 02649 M00S02557.acpd +++|* THE FAST, MEDIUM, AND SLOW LOOP DATA ELEMENTS ARE CUMULATIVE 02650 M00S02558.acpd +++|* VALUES. THE VALUES SAVED IN THE DECODED BUFFER ARE CUMULATIVE 02651 M00S02559.acpd +++|* AVERAGE VALUES. THE AVERAGE VALUE IS COMPUTED BY TAKING THE 02652 M00S02560.acpd +++|* VALUE DECODED FROM THE INPUT BUFFER (READ IN FROM THE DATA 02653 M00S02561.acpd +++|* FILE) AND DEVIDE IT BY THE RESPECTIVE LOOP SAMPLE TIME. 02654 M00S02562.acpd +++|* THE AVERAGE SQUARE IS ALSO COMPUTED AND SAVED IN THE DECODED 02655 M00S02563.acpd +++|* BUFFER FOR EACH DATA BLOCK ELEMENTS. 02656 M00S02564.acpd +++|# 02657 M00S02565.acpd +++| 02658 M00S02566.acpd +++| IF (NM EQ CNIC) 02659 M00S02567.acpd +++| OR (NM EQ CTMC) 02660 M00S02568.acpd +++| OR (NM EQ CTOC) # LOOP SAMPLE TIMES # 02661 M00S02569.acpd +++| THEN # ACCUMULATE SAMPLE TIMES # 02662 M00S02570.acpd +++| BEGIN 02663 M00S02571.acpd +++| BUF$WD[C]=BUF$WD[C] + VL; 02664 M00S02572.acpd +++| DDSM$IM[C]=DDSM$IM[C] + VL; 02665 M00S02573.acpd +++| END 02666 M00S02574.acpd +++| 02667 M00S02575.acpd +++| ELSE 02668 M00S02576.acpd +++| BEGIN # COMPUTE CUMULATIVE *AV* AND SQUARED *AV* # 02669 M00S02577.acpd +++| IF (SPT$WD[TP] NQ 0) # NUMBER OF SAMPLES .NE. 0 # 02670 M00S02578.acpd +++| THEN 02671 M00S02579.acpd +++| BEGIN 02672 M00S02580.acpd +++| VLR=VL; 02673 M00S02581.acpd +++| AV=VLR/SPT$WD[TP]; 02674 M00S02582.acpd +++| BUF$SM[C]=BUF$SM[C] + AV; 02675 M00S02583.acpd +++| BUF$SQ[CQ]=BUF$SQ[CQ] + AV*AV; 02676 M00S02584.acpd +++| DDSM$SM[C]=DDSM$SM[C] + AV; 02677 M00S02585.acpd +++| DDSM$SQ[C]=DDSM$SQ[C] + AV*AV; 02678 M00S02586.acpd +++| END 02679 M00S02587.acpd +++| 02680 M00S02588.acpd +++| END # COMPUTE CUMULATIVE *AV* AND SQUARED *AV* # 02681 M00S02589.acpd +++| 02682 M00S02590.acpd +++| END # DECODE DATA BLOCK VALUES # 02683 M00S02591.acpd +++| 02684 M00S02592.acpd +++| C=C+1; # NEXT DECODED BUFFER ADDRESS # 02685 M00S02593.acpd +++| BA=BA+PR; # NEXT *CIO* BUFFER BYTE ADDRESS # 02686 M00S02594.acpd +++| END # COLLECT VALUE OF ONE ENTRY # 02687 M00S02595.acpd +++| 02688 M00S02596.acpd +++| J=J+1; 02689 M00S02597.acpd +++| END # COLLECT ONE ENTRY OF REPEAT GROUP # 02690 M00S02598.acpd +++| 02691 M00S02599.acpd +++| END # COLLECT REPEAT GROUP VALUES # 02692 M00S02600.acpd +++| 02693 M00S02601.acpd +++| END # FOLLOW TABLE *MPAR* # 02694 M00S02602.acpd +++| 02695 M00S02603.acpd +++|# 02696 M00S02604.acpd +++|* CHECK IF THERE IS ANY MISSING ELEMENTS. THE VALUE OF 02697 M00S02605.acpd +++|* *IBWA* HAS TO BE A MULTIPLE OF *IBNW*, FOR THE *CIO* BUFFER 02698 M00S02606.acpd +++|* HAS TO CONTAIN A MULTIPLE NUMBER OF DATA BLOCKS OR 02699 M00S02607.acpd +++|* HEADER BLOCK. 02700 M00S02608.acpd +++|# 02701 M00S02609.acpd +++| 02702 M00S02610.acpd +++| C=BA/CPWC; 02703 M00S02611.acpd +++| IBWA=C+1; # NEXT *CIO* BUFFER ADDRESS # 02704 M00S02612.acpd +++| J=BA - (C*CPWC); 02705 M00S02613.acpd +++| IF (J NQ 0) 02706 M00S02614.acpd +++| THEN 02707 M00S02615.acpd +++| BEGIN 02708 M00S02616.acpd +++| C=C+1; 02709 M00S02617.acpd +++| END 02710 M00S02618.acpd +++| 02711 M00S02619.acpd +++| I=IBNW - (IBNW/C)*C; 02712 M00S02620.acpd +++| IF (I NQ 0) # NOT A MULTIPLE OF *IBNW* # 02713 M00S02621.acpd +++| THEN 02714 M00S02622.acpd +++| BEGIN 02715 M00S02623.acpd +++| PERROR(ERM6,FATAL,NULL); # DATA FILE CONTENT ERROR # 02716 M00S02624.acpd +++| END 02717 M00S02625.acpd +++| 02718 M00S02626.acpd +++| RETURN; 02719 M00S02627.acpd +++| END # DECODE # 02720 M00S02628.acpd +++| 02721 M00S02629.acpd +++| TERM 02722 M00S02630.acpd +++|PROC DETMXM(MXP,MNP,(MXI),(MNI),(DTY)); 02723 M00S02631.acpd +++|# TITLE DETMXM - DETERMINE MAXIMUM AND MINIMUM VALUES. # 02724 M00S02632.acpd +++| 02725 M00S02633.acpd +++| BEGIN # DETMXM # 02726 M00S02634.acpd +++| 02727 M00S02635.acpd +++|# 02728 M00S02636.acpd +++|** DETMXM - DETERMINE MAXIMUM AND MINIMUM VALUES. 02729 M00S02637.acpd +++|* 02730 M00S02638.acpd +++|* DETERMINE THE MINIMUM AND MAXIMUM VALUES OF ONE 02731 M00S02639.acpd +++|* REPORT LINE. THE MAXIMUM VALUE IS INDICATED BY BRACKETS, 02732 M00S02640.acpd +++|* THE MINIMUM VALUE IS INDICATED BY PARENTHESES. 02733 M00S02641.acpd +++|* 02734 M00S02642.acpd +++|* PROC DETMXM(MXP,MNP,(MXI),(MNI),(DTY)) 02735 M00S02643.acpd +++|* 02736 M00S02644.acpd +++|* ENTRY MXP = MAXIMUM VALUE ADDRESS. 02737 M00S02645.acpd +++|* MNP = MINIMUM VALUE ADDRESS. 02738 M00S02646.acpd +++|* MXI = INTERVAL CONTAINING MAXIMUM VALUE. 02739 M00S02647.acpd +++|* MNI = INTERVAL CONTAINING MINIMUM VALUE. 02740 M00S02648.acpd +++|* DTY = DATA TYPE. 02741 M00S02649.acpd +++|* 02742 M00S02650.acpd +++|* EXIT MAXIMUM AND MINIMUM VALUES ARE INDICATED BY 02743 M00S02651.acpd +++|* BRACKETS AND PARENTHESES, RESPECTIVELY. 02744 M00S02652.acpd +++|# 02745 M00S02653.acpd +++| 02746 M00S02654.acpd +++|# 02747 M00S02655.acpd +++|* PARAMETER LIST. 02748 M00S02656.acpd +++|# 02749 M00S02657.acpd +++| 02750 M00S02658.acpd +++| ITEM MXP U; # ADDRESS OF MAXIMUM VALUE # 02751 M00S02659.acpd +++| ITEM MNP U; # ADDRESS OF MINIMUM VALUE # 02752 M00S02660.acpd +++| ITEM MXI I; # COLUMN OF MAXIMUM VALUE # 02753 M00S02661.acpd +++| ITEM MNI I; # COLUMN OF MINIMUM VALUE # 02754 M00S02662.acpd +++| ITEM DTY U; # DATA TYPE # 02755 M00S02663.acpd +++| 02756 M00S02664.acpd +++|# 02757 M00S02665.acpd +++|**** PROC DETMXM - XREF LIST BEGIN. 02758 M00S02666.acpd +++|# 02759 M00S02667.acpd +++| 02760 M00S02668.acpd +++| XREF 02761 M00S02669.acpd +++| BEGIN 02762 M00S02670.acpd +++| FUNC XCDD C(10); # BINARY TO DISPLAY DECIMAL # 02763 M00S02671.acpd +++| FUNC XCED C(10); # BINARY TO *E* FORMAT # 02764 M00S02672.acpd +++| FUNC XCOD C(10); # BINARY TO DISPLAY OCTAL # 02765 M00S02673.acpd +++| FUNC XCFD C(10); # BINARY TO DISPLAY REAL # 02766 M00S02674.acpd +++| PROC WRITEV; # WRITE DATA ELEMENT # 02767 M00S02675.acpd +++| END 02768 M00S02676.acpd +++| 02769 M00S02677.acpd +++|# 02770 M00S02678.acpd +++|**** PROC DETMXM - XREF LIST END. 02771 M00S02679.acpd +++|# 02772 M00S02680.acpd +++| 02773 M00S02681.acpd +++| DEF BLKC #" "#; # BLANK # 02774 M00S02682.acpd +++| DEF LBKC #"["#; # LEFT BRACKET # 02775 M00S02683.acpd +++| DEF LPRC #"("#; # LEFT PARENTHESIS # 02776 M00S02684.acpd +++| DEF MAXF #1.0E4#; # MAXIMUM VALUE OF *F* FORMAT # 02777 M00S02685.acpd +++| DEF RBKC #"]"#; # RIGHT BRACKET # 02778 M00S02686.acpd +++| DEF RPRC #")"#; # RIGHT PARENTHESIS # 02779 M00S02687.acpd +++| 02780 M00S02688.acpd +++| DEF LISTCON #0#; # TURN OFF COMMON DECK LISTING # 02781 M00S02689.acpd +++| 02782 M00S02690.acpd +++|*CALL COMUCPD 02783 M00S02691.acpd +++| 02784 M00S02692.acpd +++|# 02785 M00S02693.acpd +++|* LOCAL VARIABLES. 02786 M00S02694.acpd +++|# 02787 M00S02695.acpd +++| 02788 M00S02696.acpd +++| ITEM I I; # FOR LOOP CONTROL # 02789 M00S02697.acpd +++| ITEM MN I; # TEMPORARY VALUE # 02790 M00S02698.acpd +++| ITEM MNF R; # TEMPORARY VALUE # 02791 M00S02699.acpd +++| ITEM MX I; # TEMPORARY VALUE # 02792 M00S02700.acpd +++| ITEM MXF R; # TEMPORARY VALUE # 02793 M00S02701.acpd +++| 02794 M00S02702.acpd +++| ARRAY OCV [0:0] P(1); # OCTAL VALUE # 02795 M00S02703.acpd +++| BEGIN # ARRAY OCV # 02796 M00S02704.acpd +++| ITEM OC$WD C(00,00,10); # VALUE # 02797 M00S02705.acpd +++| ITEM OC$NP C(00,06,09); # NO POSTFIX # 02798 M00S02706.acpd +++| END # ARRAY OCV # 02799 M00S02707.acpd +++| 02800 M00S02708.acpd +++| ARRAY TM [0:0] P(1); # TEMPORARY BUFFER # 02801 M00S02709.acpd +++| BEGIN # ARRAY TM # 02802 M00S02710.acpd +++| ITEM TM$WD C(00,00,10); # DISPLAY CODE MINIMUM VALUE # 02803 M00S02711.acpd +++| ITEM TM$W1 C(00,00,09); # VALUE WITH NO POSTFIX # 02804 M00S02712.acpd +++| END # ARRAY TM # 02805 M00S02713.acpd +++| 02806 M00S02714.acpd +++| ARRAY TX [0:0] P(1); # TEMPORARY BUFFER # 02807 M00S02715.acpd +++| BEGIN # ARRAY TX # 02808 M00S02716.acpd +++| ITEM TX$WD C(00,00,10); # DISPLAY CODE MAXIMUM VALUE # 02809 M00S02717.acpd +++| ITEM TX$W1 C(00,00,09); # VALUE WITH NO POSTFIX # 02810 M00S02718.acpd +++| END # ARRAY TX # 02811 M00S02719.acpd +++| 02812 M00S02720.acpd +++| BASED 02813 M00S02721.acpd +++| ARRAY VLMN [0:0] P(1); # MINIMUM VALUE # 02814 M00S02722.acpd +++| BEGIN # ARRAY VLMN # 02815 M00S02723.acpd +++| ITEM VLMN$F R(00,00,60); # REAL VALUE # 02816 M00S02724.acpd +++| ITEM VLMN$N I(00,00,60); # INTEGER VALUE # 02817 M00S02725.acpd +++| END # ARRAY VLMN # 02818 M00S02726.acpd +++| 02819 M00S02727.acpd +++| BASED 02820 M00S02728.acpd +++| ARRAY VLMX [0:0] P(1); # MAXIMUM VALUE # 02821 M00S02729.acpd +++| BEGIN # ARRAY VLMX # 02822 M00S02730.acpd +++| ITEM VLMX$F R(00,00,60); # REAL VALUE # 02823 M00S02731.acpd +++| ITEM VLMX$N I(00,00,60); # INTEGER VALUE # 02824 M00S02732.acpd +++| END # ARRAY VLMX # 02825 M00S02733.acpd +++| 02826 M00S02734.acpd +++| 02827 M00S02735.acpd +++| 02828 M00S02736.acpd +++| 02829 M00S02737.acpd +++| 02830 M00S02738.acpd +++|# 02831 M00S02739.acpd +++|* BEGIN DETMXM PROC. 02832 M00S02740.acpd +++|# 02833 M00S02741.acpd +++| 02834 M00S02742.acpd +++| IF (P$L EQ NULL) # NO REPORT FILE # 02835 M00S02743.acpd +++| THEN 02836 M00S02744.acpd +++| BEGIN 02837 M00S02745.acpd +++| RETURN; 02838 M00S02746.acpd +++| END 02839 M00S02747.acpd +++| 02840 M00S02748.acpd +++|# 02841 M00S02749.acpd +++|* CONVERT MAXIMUM AND MINIMUM VALUES TO DISPLAY CODE. 02842 M00S02750.acpd +++|# 02843 M00S02751.acpd +++| 02844 M00S02752.acpd +++| P<VLMX>=LOC(MXP); 02845 M00S02753.acpd +++| P<VLMN>=LOC(MNP); 02846 M00S02754.acpd +++| IF (DTY EQ FLPC) # REAL VALUE # 02847 M00S02755.acpd +++| THEN 02848 M00S02756.acpd +++| BEGIN 02849 M00S02757.acpd +++| IF (VLMX$F[0] GQ MAXF) 02850 M00S02758.acpd +++| THEN 02851 M00S02759.acpd +++| BEGIN # CONVERT TO *E* FORMAT # 02852 M00S02760.acpd +++| MXF=VLMX$F[0]; 02853 M00S02761.acpd +++| TX$WD[0]=XCED(MXF); 02854 M00S02762.acpd +++| END # CONVERT TO *E* FORMAT # 02855 M00S02763.acpd +++| 02856 M00S02764.acpd +++| ELSE 02857 M00S02765.acpd +++| BEGIN # CONVERT TO *F* FORMAT # 02858 M00S02766.acpd +++| MX=VLMX$F[0]*1000.0 + 0.5; 02859 M00S02767.acpd +++| TX$WD[0]=XCFD(MX); 02860 M00S02768.acpd +++| END # CONVERT TO *F* FORMAT # 02861 M00S02769.acpd +++| 02862 M00S02770.acpd +++| IF (VLMN$F[0] GQ MAXF) 02863 M00S02771.acpd +++| THEN 02864 M00S02772.acpd +++| BEGIN # CONVERT TO *E* FORMAT # 02865 M00S02773.acpd +++| MNF=VLMN$F[0]; 02866 M00S02774.acpd +++| TM$WD[0]=XCED(MNF); 02867 M00S02775.acpd +++| END # CONVERT TO *E* FORMAT # 02868 M00S02776.acpd +++| 02869 M00S02777.acpd +++| ELSE 02870 M00S02778.acpd +++| BEGIN # CONVERT TO *F* FORMAT # 02871 M00S02779.acpd +++| MN=VLMN$F[0]*1000.0 + 0.5; 02872 M00S02780.acpd +++| TM$WD[0]=XCFD(MN); 02873 M00S02781.acpd +++| END # CONVERT TO *F* FORMAT # 02874 M00S02782.acpd +++| 02875 M00S02783.acpd +++| END 02876 M00S02784.acpd +++| 02877 M00S02785.acpd +++| ELSE 02878 M00S02786.acpd +++| BEGIN 02879 M00S02787.acpd +++| IF (DTY EQ INTC) # INTEGER VALUE # 02880 M00S02788.acpd +++| THEN 02881 M00S02789.acpd +++| BEGIN 02882 M00S02790.acpd +++| TX$WD[0]=XCDD(VLMX$N[0]); 02883 M00S02791.acpd +++| TM$WD[0]=XCDD(VLMN$N[0]); 02884 M00S02792.acpd +++| END 02885 M00S02793.acpd +++| 02886 M00S02794.acpd +++| ELSE # OCTAL VALUE # 02887 M00S02795.acpd +++| BEGIN 02888 M00S02796.acpd +++| OC$WD[0]=XCOD(VLMX$N[0]); 02889 M00S02797.acpd +++| TX$W1[0]=OC$NP[0]; 02890 M00S02798.acpd +++| OC$WD[0]=XCOD(VLMN$N[0]); 02891 M00S02799.acpd +++| TM$W1[0]=OC$NP[0]; 02892 M00S02800.acpd +++| END 02893 M00S02801.acpd +++| 02894 M00S02802.acpd +++| END 02895 M00S02803.acpd +++| 02896 M00S02804.acpd +++|# 02897 M00S02805.acpd +++|* ENCLOSE THE MAXIMUM AND MINIMUM VALUES BY BRACKETS AND 02898 M00S02806.acpd +++|* PARENTHESES, RESPECTIVELY. 02899 M00S02807.acpd +++|# 02900 M00S02808.acpd +++| 02901 M00S02809.acpd +++| SLOWFOR I=0 STEP 1 WHILE (C<I,1>TX$WD[0] EQ BLKC) DO; 02902 M00S02810.acpd +++| MX=MXI*10 + I + 14; 02903 M00S02811.acpd +++| WRITEV(LBKC,CHRC,MX,1,NLFC); 02904 M00S02812.acpd +++| MX=BCLC + MXI*10; 02905 M00S02813.acpd +++| WRITEV(RBKC,CHRC,MX,1,NLFC); 02906 M00S02814.acpd +++| 02907 M00S02815.acpd +++| SLOWFOR I=0 STEP 1 WHILE (C<I,1>TM$WD[0] EQ BLKC) DO; 02908 M00S02816.acpd +++| MN=MNI*10 + I + 14; 02909 M00S02817.acpd +++| WRITEV(LPRC,CHRC,MN,1,NLFC); 02910 M00S02818.acpd +++| MN=BCLC + MNI*10; 02911 M00S02819.acpd +++| WRITEV(RPRC,CHRC,MN,1,NLFC); 02912 M00S02820.acpd +++| RETURN; 02913 M00S02821.acpd +++| END # DETMXM # 02914 M00S02822.acpd +++| 02915 M00S02823.acpd +++| TERM
Line S02824 Modification History | |
---|---|
M01 (Removed by) | ns2786 |
Seq # *Modification Id* Act ----------------------------+ 02916 M01S02824.ns2786 ---|FUNC DTMNUM((VALUE),(FORM)) I;
Line S00009 Modification History | |
---|---|
M01 (Added by) | ns2786 |
Seq # *Modification Id* Act ----------------------------+ 02917 M01S00009.ns2786 +++|FUNC DTMNUM((VALUE),(FORM),(PDOS)) I; 02918 M00S02825.acpd +++|# TITLE DTMNUM - CONVERT DATE/TIME TO NUMBER. # 02919 M00S02826.acpd +++| 02920 M00S02827.acpd +++| BEGIN # DTMNUM # 02921 M00S02828.acpd +++| 02922 M00S02829.acpd +++|# 02923 M00S02830.acpd +++|** DTMNUM - CONVERT DATE/TIME TO NUMBER. 02924 M00S02831.acpd +++|* 02925 M00S02832.acpd +++|* CONVERT DISPLAY DATE/TIME TO THE PACKED FORMAT. 02926 M00S02833.acpd +++|*
Line S02834 Modification History | |
---|---|
M01 (Removed by) | ns2786 |
Seq # *Modification Id* Act ----------------------------+ 02927 M01S02834.ns2786 ---|* FUNC DTMNUM((VALUE),(FORM))
Line S00010 Modification History | |
---|---|
M01 (Added by) | ns2786 |
Seq # *Modification Id* Act ----------------------------+ 02928 M01S00010.ns2786 +++|* FUNC DTMNUM((VALUE),(FORM),(PDOS)) 02929 M00S02835.acpd +++|* 02930 M00S02836.acpd +++|* ENTRY VALUE = VALUE TO BE CONVERTED. 02931 M00S02837.acpd +++|* FORM = IF TRUE, THE VALUE IS IN FORMAT 02932 M00S02838.acpd +++|* XX.YY.ZZ. 02933 M00S02839.acpd +++|* IF FALSE, THE VALUE IS IN FORMAT 02934 M00S02840.acpd +++|* XXYYZZ.
Line S00011 Modification History | |
---|---|
M01 (Added by) | ns2786 |
Seq # *Modification Id* Act ----------------------------+ 02935 M01S00011.ns2786 +++|* PDOS = IF TRUE, THE PACKED DATE 1970 OFFSET APPLIES. 02936 M01S00012.ns2786 +++|* IF FALSE, NO OFFSET IS APPLIED. 02937 M00S02841.acpd +++|* 02938 M00S02842.acpd +++|* EXIT VALUE IS CONVERTED TO PACKED FORMAT, AS IN 02939 M00S02843.acpd +++|* THE PACKED DATE AND TIME FORMAT. 02940 M00S02844.acpd +++|# 02941 M00S02845.acpd +++| 02942 M00S02846.acpd +++|# 02943 M00S02847.acpd +++|* PARAMETER LIST. 02944 M00S02848.acpd +++|# 02945 M00S02849.acpd +++| 02946 M00S02850.acpd +++| ITEM VALUE C(10); # VALUE TO BE CONVERTED #
Line S02851 Modification History | |
---|---|
M01 (Removed by) | ns2786 |
Seq # *Modification Id* Act ----------------------------+ 02947 M01S02851.ns2786 ---| ITEM FORM B; # FORMAT, DATE OR TIME #
Line S00013 Modification History | |
---|---|
M01 (Added by) | ns2786 |
Seq # *Modification Id* Act ----------------------------+ 02948 M01S00013.ns2786 +++| ITEM FORM B; # FORMAT OF DATE OR TIME # 02949 M01S00014.ns2786 +++| ITEM PDOS B; # APPLY PACKED DATE OFFSET # 02950 M00S02852.acpd +++| 02951 M00S02853.acpd +++|# 02952 M00S02854.acpd +++|**** FUNC DTMNUM - XREF LIST BEGIN. 02953 M00S02855.acpd +++|# 02954 M00S02856.acpd +++| 02955 M00S02857.acpd +++| XREF 02956 M00S02858.acpd +++| BEGIN 02957 M00S02859.acpd +++| PROC PERROR; # PROCESS ERROR # 02958 M00S02860.acpd +++| END 02959 M00S02861.acpd +++| 02960 M00S02862.acpd +++|# 02961 M00S02863.acpd +++|**** FUNC DTMNUM - XREF LIST END. 02962 M00S02864.acpd +++|# 02963 M00S02865.acpd +++| 02964 M00S02866.acpd +++| DEF ZERC #"0"#; # CHARACTER 0 # 02965 M00S02867.acpd +++| 02966 M00S02868.acpd +++| DEF LISTCON #0#; # TURN OFF COMMON DECK LISTING # 02967 M00S02869.acpd +++| 02968 M00S02870.acpd +++|*CALL COMUCPD 02969 M00S02871.acpd +++| 02970 M00S02872.acpd +++|# 02971 M00S02873.acpd +++|* LOCAL VARIABLES. 02972 M00S02874.acpd +++|# 02973 M00S02875.acpd +++| 02974 M00S02876.acpd +++| ITEM E I; # EXPONENTIAL # 02975 M00S02877.acpd +++| ITEM I I; # FOR LOOP CONTROL # 02976 M00S02878.acpd +++| ITEM N I; # TEMPORARY VARIABLE # 02977 M00S02879.acpd +++| ITEM T U; # TIME # 02978 M00S02880.acpd +++| 02979 M00S02881.acpd +++| ARRAY TM [0:0] P(1); # VALUE TO BE CONVERTED # 02980 M00S02882.acpd +++| BEGIN # ARRAY TM # 02981 M00S02883.acpd +++| ITEM TM$WD C(00,00,10); # VALUE # 02982 M00S02884.acpd +++| ITEM TM$XX C(00,00,02); # XX OF XXYYZZ # 02983 M00S02885.acpd +++| ITEM TM$YY C(00,12,02); # YY OF XXYYZZ # 02984 M00S02886.acpd +++| ITEM TM$ZZ C(00,24,02); # ZZ OF XXYYZZ # 02985 M00S02887.acpd +++| 02986 M00S02888.acpd +++| ITEM TM$X1 C(00,06,02); # XX OF XX.YY.ZZ # 02987 M00S02889.acpd +++| ITEM TM$D1 C(00,18,01); # DELIMITER # 02988 M00S02890.acpd +++| ITEM TM$Y1 C(00,24,02); # YY OF XX.YY.ZZ # 02989 M00S02891.acpd +++| ITEM TM$D2 C(00,36,01); # DELIMITER # 02990 M00S02892.acpd +++| ITEM TM$Z1 C(00,42,02); # ZZ OF XX.YY.ZZ # 02991 M00S02893.acpd +++| END # ARRAY TM # 02992 M00S02894.acpd +++| 02993 M00S02895.acpd +++| 02994 M00S02896.acpd +++| 02995 M00S02897.acpd +++| 02996 M00S02898.acpd +++| 02997 M00S02899.acpd +++|# 02998 M00S02900.acpd +++|* BEGIN DTMNUM FUNC. 02999 M00S02901.acpd +++|# 03000 M00S02902.acpd +++| 03001 M00S02903.acpd +++| TM$WD[0]=VALUE; 03002 M00S02904.acpd +++| 03003 M00S02905.acpd +++| IF (FORM) # FORMAT XX.YY.ZZ # 03004 M00S02906.acpd +++| THEN # CONVERT TO FORMAT XXYYZZ # 03005 M00S02907.acpd +++| BEGIN 03006 M00S02908.acpd +++| TM$XX[0]=TM$X1[0]; 03007 M00S02909.acpd +++| TM$YY[0]=TM$Y1[0]; 03008 M00S02910.acpd +++| TM$ZZ[0]=TM$Z1[0]; 03009 M00S02911.acpd +++| END 03010 M00S02912.acpd +++| 03011 M00S02913.acpd +++| IF (TM$WD[0] EQ 0) 03012 M00S02914.acpd +++| THEN 03013 M00S02915.acpd +++| BEGIN 03014 M00S02916.acpd +++| DTMNUM=0; 03015 M00S02917.acpd +++| RETURN; 03016 M00S02918.acpd +++| END 03017 M00S02919.acpd +++| 03018 M00S02920.acpd +++|# 03019 M00S02921.acpd +++|* CONVERT TO THE PACKED FORMAT. 03020 M00S02922.acpd +++|# 03021 M00S02923.acpd +++| 03022 M00S02924.acpd +++| N=0; 03023 M00S02925.acpd +++| E=1; 03024 M00S02926.acpd +++| FASTFOR I=0 STEP 2 UNTIL 5 03025 M00S02927.acpd +++| DO 03026 M00S02928.acpd +++| BEGIN 03027 M00S02929.acpd +++| T=C<5-I,1>TM$WD[0] - ZERC; 03028 M00S02930.acpd +++| T=(C<4-I>TM$WD[0] - ZERC)*10 + T; 03029 M00S02931.acpd +++| N=N+T*E; 03030 M00S02932.acpd +++| E=E*64; 03031 M00S02933.acpd +++| END 03032 M00S02934.acpd +++|
Line S00015 Modification History | |
---|---|
M01 (Added by) | ns2786 |
Seq # *Modification Id* Act ----------------------------+ 03033 M01S00015.ns2786 +++| IF (PDOS) # CONVERTING DATE # 03034 M01S00016.ns2786 +++| THEN # CHECK DATE RANGE # 03035 M01S00017.ns2786 +++| BEGIN 03036 M01S00018.ns2786 +++| IF (N LS Y70C) # DATE IN 21ST CENTURY # 03037 M01S00019.ns2786 +++| THEN 03038 M01S00020.ns2786 +++| BEGIN 03039 M01S00021.ns2786 +++| N=N+Y30C; # BIAS 21ST CENTURY DATES # 03040 M01S00022.ns2786 +++| END 03041 M01S00023.ns2786 +++| ELSE # DATE IN 20TH CENTURY # 03042 M01S00024.ns2786 +++| BEGIN 03043 M01S00025.ns2786 +++| N=N-Y70C; # BIAS 20TH CENTURY DATES # 03044 M01S00026.ns2786 +++| END 03045 M01S00027.ns2786 +++| END 03046 M01S00028.ns2786 +++| 03047 M00S02935.acpd +++| DTMNUM=N; 03048 M00S02936.acpd +++| RETURN; 03049 M00S02937.acpd +++| END # DTMNUM # 03050 M00S02938.acpd +++| 03051 M00S02939.acpd +++| TERM 03052 M00S02940.acpd +++|PROC GETMSG((ENT),MSG); 03053 M00S02941.acpd +++|# TITLE GETMSG - GET REPORT MESSAGE. # 03054 M00S02942.acpd +++| 03055 M00S02943.acpd +++| BEGIN # GETMSG # 03056 M00S02944.acpd +++| 03057 M00S02945.acpd +++|# 03058 M00S02946.acpd +++|** GETMSG - GET REPORT MESSAGE. 03059 M00S02947.acpd +++|* 03060 M00S02948.acpd +++|* GET MESSAGES FROM COMMON BLOCK *DSPTTXT*. 03061 M00S02949.acpd +++|* 03062 M00S02950.acpd +++|* PROC GETMSG((ENT),MSG) 03063 M00S02951.acpd +++|* 03064 M00S02952.acpd +++|* ENTRY ENT = INDEX OF TABLE *DSPT* ENTRY. 03065 M00S02953.acpd +++|* 03066 M00S02954.acpd +++|* EXIT MSG = MESSAGE EXTRACTED FROM COMMON BLOCK *DSPTTXT*. 03067 M00S02955.acpd +++|# 03068 M00S02956.acpd +++| 03069 M00S02957.acpd +++|# 03070 M00S02958.acpd +++|* PARAMETER LIST. 03071 M00S02959.acpd +++|# 03072 M00S02960.acpd +++| 03073 M00S02961.acpd +++| ITEM ENT I; # INDEX OF TABLE *DSPT* # 03074 M00S02962.acpd +++| ITEM MSG C(50); # REPORT TITLES # 03075 M00S02963.acpd +++| 03076 M00S02964.acpd +++| DEF LISTCON #0#; # TURN OFF COMMON DECK LISTING # 03077 M00S02965.acpd +++| 03078 M00S02966.acpd +++|*CALL COMUCPD 03079 M00S02967.acpd +++| 03080 M00S02968.acpd +++|# 03081 M00S02969.acpd +++|* LOCAL VARIABLES. 03082 M00S02970.acpd +++|# 03083 M00S02971.acpd +++| 03084 M00S02972.acpd +++| ITEM BA I; # BYTE ADDRESS # 03085 M00S02973.acpd +++| ITEM BC I; # BEGINNING CHARACTER POSITION # 03086 M00S02974.acpd +++| ITEM LN I; # MESSAGE LENGTH IN CHARACTER # 03087 M00S02975.acpd +++| 03088 M00S02976.acpd +++| BASED 03089 M00S02977.acpd +++| ARRAY TXT [0:0] P(1); # MESSAGE BUFFER # 03090 M00S02978.acpd +++| BEGIN # ARRAY TXT # 03091 M00S02979.acpd +++| ITEM TXT$MS C(00,00,60); # MESSAGE # 03092 M00S02980.acpd +++| END # ARRAY TXT # 03093 M00S02981.acpd +++| 03094 M00S02982.acpd +++| 03095 M00S02983.acpd +++| 03096 M00S02984.acpd +++| 03097 M00S02985.acpd +++| 03098 M00S02986.acpd +++|# 03099 M00S02987.acpd +++|* BEGIN GETMSG PROC. 03100 M00S02988.acpd +++|# 03101 M00S02989.acpd +++| 03102 M00S02990.acpd +++| LN=DSPT$LN[ENT]; # NUMBER OF CHARACTERS # 03103 M00S02991.acpd +++| BC=DSPT$BC[ENT]; # BEGINNING CHARACTER POSITION # 03104 M00S02992.acpd +++| BA=BC - (BC/10)*10; 03105 M00S02993.acpd +++| P<TXT>=LOC(DSTX$TX[BC/10]); 03106 M00S02994.acpd +++| MSG=C<BA,LN>TXT$MS[0]; 03107 M00S02995.acpd +++| RETURN; 03108 M00S02996.acpd +++| END # GETMSG # 03109 M00S02997.acpd +++| 03110 M00S02998.acpd +++| TERM 03111 M00S02999.acpd +++|FUNC GETVAL((BA),(PR)) I; 03112 M00S03000.acpd +++|# TITLE GETVAL - GET VALUE FROM *CIO* BUFFER. # 03113 M00S03001.acpd +++| 03114 M00S03002.acpd +++| BEGIN # GETVAL # 03115 M00S03003.acpd +++| 03116 M00S03004.acpd +++|# 03117 M00S03005.acpd +++|** GETVAL - GET VALUE FROM *CIO* BUFFER. 03118 M00S03006.acpd +++|* 03119 M00S03007.acpd +++|* EXTRACT VALUES FROM THE *CIO* BUFFER OF THE DATA FILE. 03120 M00S03008.acpd +++|* 03121 M00S03009.acpd +++|* FUNC GETVAL((BA),(PR)) I 03122 M00S03010.acpd +++|* 03123 M00S03011.acpd +++|* ENTRY BA = BYTE ADDRESS OF THE VALUE TO BE EXTRACTED. 03124 M00S03012.acpd +++|* PR = NUMBER OF BYTES TO BE EXTRACTED. 03125 M00S03013.acpd +++|* 03126 M00S03014.acpd +++|* EXIT THE VALUE IS EXTRACTED FROM BUFFER *WSAI*. 03127 M00S03015.acpd +++|# 03128 M00S03016.acpd +++| 03129 M00S03017.acpd +++|# 03130 M00S03018.acpd +++|* PARAMETER LIST. 03131 M00S03019.acpd +++|# 03132 M00S03020.acpd +++| 03133 M00S03021.acpd +++| ITEM BA I; # BYTE ADDRESS # 03134 M00S03022.acpd +++| ITEM PR I; # PRECISION # 03135 M00S03023.acpd +++| 03136 M00S03024.acpd +++| DEF LISTCON #0#; # TURN OFF COMMON DECK LISTING # 03137 M00S03025.acpd +++| 03138 M00S03026.acpd +++|*CALL COMUCPD 03139 M00S03027.acpd +++| 03140 M00S03028.acpd +++|# 03141 M00S03029.acpd +++|* LOCAL VARIABLES. 03142 M00S03030.acpd +++|# 03143 M00S03031.acpd +++| 03144 M00S03032.acpd +++| ITEM BC I; # BYTE ADDRESS # 03145 M00S03033.acpd +++| ITEM T I; # TEMPORARY VALUE # 03146 M00S03034.acpd +++| ITEM WA I; # *CIO* BUFFER WORD ADDRESS # 03147 M00S03035.acpd +++| 03148 M00S03036.acpd +++| BASED 03149 M00S03037.acpd +++| ARRAY WSA [0:0] P(1); # WORKING BUFFER # 03150 M00S03038.acpd +++| BEGIN # ARRAY WSA # 03151 M00S03039.acpd +++| ITEM WSA$C C(00,00,20); # BUFFER ENTRY # 03152 M00S03040.acpd +++| END # ARRAY WSA # 03153 M00S03041.acpd +++| 03154 M00S03042.acpd +++| 03155 M00S03043.acpd +++| 03156 M00S03044.acpd +++| 03157 M00S03045.acpd +++| 03158 M00S03046.acpd +++|# 03159 M00S03047.acpd +++|* BEGIN GETVAL FUNC. 03160 M00S03048.acpd +++|# 03161 M00S03049.acpd +++| 03162 M00S03050.acpd +++| WA=BA/5; # ADDRESS TO EXTRACT THE VALUE # 03163 M00S03051.acpd +++| P<WSA>=LOC(WSAI$WD[WA]); 03164 M00S03052.acpd +++| T=BA*2; # NUMBER OF CHARACTERS # 03165 M00S03053.acpd +++| BC=T - (T/10)*10; # BEGIN CHARACTER POSITION # 03166 M00S03054.acpd +++| GETVAL=C<BC,PR*2>WSA$C[0]; 03167 M00S03055.acpd +++| RETURN; 03168 M00S03056.acpd +++| END # GETVAL # 03169 M00S03057.acpd +++| 03170 M00S03058.acpd +++| TERM 03171 M00S03059.acpd +++|PROC HDRELM((ENP),(FCL),(LCL)); 03172 M00S03060.acpd +++|# TITLE HDRELM - PRINT HEADER BLOCK ELEMENT. # 03173 M00S03061.acpd +++| 03174 M00S03062.acpd +++| BEGIN # HDRELM # 03175 M00S03063.acpd +++| 03176 M00S03064.acpd +++|# 03177 M00S03065.acpd +++|** HDRELM - PRINT HEADER BLOCK ELEMENT. 03178 M00S03066.acpd +++|* 03179 M00S03067.acpd +++|* PRINT ONE ELEMENT OF HEADER BLOCK. 03180 M00S03068.acpd +++|* 03181 M00S03069.acpd +++|* PROC HDRELM((ENP),(FCL),(LCL)) 03182 M00S03070.acpd +++|* 03183 M00S03071.acpd +++|* ENTRY ENP = INDEX OF THE *DSPT* ENTRY POINTING TO 03184 M00S03072.acpd +++|* THE HEADER BLOCK ELEMENT BEING PROCESSED. 03185 M00S03073.acpd +++|* FCL = BEGINNING COLUMN TO PRINT THE HEADER BLOCK 03186 M00S03074.acpd +++|* ELEMENT NAME. 03187 M00S03075.acpd +++|* LCL = BEGINNING COLUMN TO PRINT THE HEADER BLOCK 03188 M00S03076.acpd +++|* ELEMENT VALUE. 03189 M00S03077.acpd +++|* 03190 M00S03078.acpd +++|* EXIT THE HEADER BLOCK ELEMENT IS PRINTED TO THE REPORT 03191 M00S03079.acpd +++|* FILE. 03192 M00S03080.acpd +++|# 03193 M00S03081.acpd +++| 03194 M00S03082.acpd +++|# 03195 M00S03083.acpd +++|* PARAMETER LIST. 03196 M00S03084.acpd +++|# 03197 M00S03085.acpd +++| 03198 M00S03086.acpd +++| ITEM ENP I; # INDEX OF DSPT ENTRY # 03199 M00S03087.acpd +++| ITEM FCL I; # BEGIN COLUMN TO PRINT NAME # 03200 M00S03088.acpd +++| ITEM LCL I; # BEGIN COLUMN TO PRINT VALUE # 03201 M00S03089.acpd +++| 03202 M00S03090.acpd +++|# 03203 M00S03091.acpd +++|**** PROC HDRELM - XREF LIST BEGIN. 03204 M00S03092.acpd +++|# 03205 M00S03093.acpd +++| 03206 M00S03094.acpd +++| XREF 03207 M00S03095.acpd +++| BEGIN 03208 M00S03096.acpd +++| PROC GETMSG; # GET TITLE FROM TABLE *DSPTTXT* # 03209 M00S03097.acpd +++| PROC WRITEV; # WRITE DATA ELEMENT # 03210 M00S03098.acpd +++| END 03211 M00S03099.acpd +++| 03212 M00S03100.acpd +++|# 03213 M00S03101.acpd +++|**** PROC HDRELM - XREF LIST END. 03214 M00S03102.acpd +++|# 03215 M00S03103.acpd +++| 03216 M00S03104.acpd +++| DEF LISTCON #0#; # TURN OFF COMMON DECK LISTING # 03217 M00S03105.acpd +++| 03218 M00S03106.acpd +++|*CALL COMUCPD 03219 M00S03107.acpd +++| 03220 M00S03108.acpd +++|# 03221 M00S03109.acpd +++|* LOCAL VARIABLES. 03222 M00S03110.acpd +++|# 03223 M00S03111.acpd +++| 03224 M00S03112.acpd +++| ITEM BL I; # BIT LENGTH # 03225 M00S03113.acpd +++| ITEM BT I; # BIT POSITION # 03226 M00S03114.acpd +++| ITEM D I; # DATA TYPE # 03227 M00S03115.acpd +++| ITEM J I; # POINTER TO *DDHD* TABLE # 03228 M00S03116.acpd +++| ITEM L I; # TITLE LENGTH IN CHARACTERS # 03229 M00S03117.acpd +++| ITEM MSG C(50); # TEMPORARY BUFFER # 03230 M00S03118.acpd +++| ITEM T I; # POINTER TO *DCHD* TABLE # 03231 M00S03119.acpd +++| ITEM VALUE I; # TEMPORARY VALUE # 03232 M00S03120.acpd +++| ITEM WC I; # WORD COUNT # 03233 M00S03121.acpd +++| 03234 M00S03122.acpd +++| 03235 M00S03123.acpd +++| 03236 M00S03124.acpd +++| 03237 M00S03125.acpd +++| 03238 M00S03126.acpd +++|# 03239 M00S03127.acpd +++|* BEGIN HDRELM PROC. 03240 M00S03128.acpd +++|# 03241 M00S03129.acpd +++| 03242 M00S03130.acpd +++| P<DCHD>=LOC(DBUF); 03243 M00S03131.acpd +++| P<DDSC>=LOC(DDHD); 03244 M00S03132.acpd +++| J=DSPT$PT[ENP]; # INDEX OF TABLE *DDSC* # 03245 M00S03133.acpd +++| L=DSPT$LN[ENP]; 03246 M00S03134.acpd +++| T=DDSC$FW[J]; # INDEX OF TABLE *DCHD* # 03247 M00S03135.acpd +++| D=DDSC$TY[J]; # DATA TYPE # 03248 M00S03136.acpd +++| GETMSG(ENP,MSG); 03249 M00S03137.acpd +++| WRITEV(MSG,CHRC,FCL,L,NLFC); 03250 M00S03138.acpd +++| BL=DSPT$BL[ENP]; # GET BIT LENGTH # 03251 M00S03139.acpd +++| WC=DSPT$WC[ENP]; # WORD COUNT # 03252 M00S03140.acpd +++| IF (BL EQ 0) # ACCESS FULL WORD # 03253 M00S03141.acpd +++| THEN 03254 M00S03142.acpd +++| BEGIN 03255 M00S03143.acpd +++| VALUE=DCHD$WD[T+WC]; 03256 M00S03144.acpd +++| END 03257 M00S03145.acpd +++| 03258 M00S03146.acpd +++| ELSE # ACCESS PARTIAL WORD # 03259 M00S03147.acpd +++| BEGIN 03260 M00S03148.acpd +++| BT=DSPT$BT[ENP]; 03261 M00S03149.acpd +++| VALUE=B<BT,BL>DCHD$WD[T+WC]; 03262 M00S03150.acpd +++| END 03263 M00S03151.acpd +++| 03264 M00S03152.acpd +++| WRITEV(VALUE,D,LCL,10,LFDC); 03265 M00S03153.acpd +++| RETURN; 03266 M00S03154.acpd +++| END # HDRELM # 03267 M00S03155.acpd +++| TERM 03268 M00S03156.acpd +++|PROC HEADER(TMED,HDDC,(LSTM)); 03269 M00S03157.acpd +++|# TITLE HEADER - PROCESS HEADER BLOCK. # 03270 M00S03158.acpd +++| 03271 M00S03159.acpd +++| BEGIN # HEADER # 03272 M00S03160.acpd +++| 03273 M00S03161.acpd +++|# 03274 M00S03162.acpd +++|** HEADER - PROCESS HEADER BLOCK. 03275 M00S03163.acpd +++|* 03276 M00S03164.acpd +++|* *HEADER* BUILDS THE REPORT TITLE AND PROCESSES THE HEADER BLOCK 03277 M00S03165.acpd +++|* OF EACH FILE IN THE DATA FILE. 03278 M00S03166.acpd +++|* 03279 M00S03167.acpd +++|* PROC HEADER(TMED,HDDC,(LSTM)) 03280 M00S03168.acpd +++|* 03281 M00S03169.acpd +++|* ENTRY HDDC = TRUE IF HEADER BLOCK HAS BEEN DECODED. 03282 M00S03170.acpd +++|* LSTM = TIME OF LAST RECORD. 03283 M00S03171.acpd +++|* 03284 M00S03172.acpd +++|* EXIT TMED = TRUE IF *N* PARAMETER EXCEEDS NUMBER OF FILES. 03285 M00S03173.acpd +++|* HDDC = FALSE 03286 M00S03174.acpd +++|* ELEMENTS IN HEADER BLOCK ARE PRINTED TO THE 03287 M00S03175.acpd +++|* REPORT FILE. 03288 M00S03176.acpd +++|# 03289 M00S03177.acpd +++| 03290 M00S03178.acpd +++|# 03291 M00S03179.acpd +++|* PARAMETER LIST. 03292 M00S03180.acpd +++|# 03293 M00S03181.acpd +++| 03294 M00S03182.acpd +++| ITEM TMED B; # EOI FLAG # 03295 M00S03183.acpd +++| ITEM HDDC B; # DECODE HEADER BLOCK FLAG # 03296 M00S03184.acpd +++| ITEM LSTM U; # ENDING TIME OF PREVIOUS FILE # 03297 M00S03185.acpd +++| 03298 M00S03186.acpd +++|# 03299 M00S03187.acpd +++|**** PROC HEADER - XREF LIST BEGIN. 03300 M00S03188.acpd +++|# 03301 M00S03189.acpd +++| 03302 M00S03190.acpd +++| XREF 03303 M00S03191.acpd +++| BEGIN 03304 M00S03192.acpd +++| PROC ADJUST; # ADJUST TABLES AND FIELD LENGTH # 03305 M00S03193.acpd +++| PROC BZFILL; # BLANK/ZERO FILL ITEM # 03306 M00S03194.acpd +++| PROC DECODE; # DECODE *CIO* INPUT BUFFER DATA # 03307 M00S03195.acpd +++| FUNC DTMNUM U; # CONVERT DATE/TIME TO BINARY # 03308 M00S03196.acpd +++| PROC PERROR; # PROCESS ERROR # 03309 M00S03197.acpd +++| PROC PUTEST; # PRINT EST # 03310 M00S03198.acpd +++| PROC PUTHDR; # PRINT HEADER ELEMENTS # 03311 M00S03199.acpd +++| PROC PUTSCI; # PRINT JOB CONTROL BLOCK # 03312 M00S03200.acpd +++| PROC READRC; # READ AND SKIP # 03313 M00S03201.acpd +++| PROC RPHEAD; # PRINT *ACPD* TITLE # 03314 M00S03202.acpd +++| PROC WRITER; # *CIO* WRITER # 03315 M00S03203.acpd +++| PROC WRITEW; # *CIO* WRITEW # 03316 M00S03204.acpd +++| END 03317 M00S03205.acpd +++| 03318 M00S03206.acpd +++|# 03319 M00S03207.acpd +++|**** PROC HEADER - XREF LIST END. 03320 M00S03208.acpd +++|# 03321 M00S03209.acpd +++| 03322 M00S03210.acpd +++| DEF LISTCON #0#; # TURN OFF COMMON DECK LISTING # 03323 M00S03211.acpd +++| 03324 M00S03212.acpd +++|*CALL COMUCPD 03325 M00S03213.acpd +++|*CALL COMABZF 03326 M00S03214.acpd +++| 03327 M00S03215.acpd +++|# 03328 M00S03216.acpd +++|* LOCAL VARIABLES. 03329 M00S03217.acpd +++|# 03330 M00S03218.acpd +++| 03331 M00S03219.acpd +++| ITEM D I; # TEMPORARY VARIABLE # 03332 M00S03220.acpd +++| ITEM L I; # TEMPORARY VARIABLE # 03333 M00S03221.acpd +++| ITEM STAT I; # I/O STATUS # 03334 M00S03222.acpd +++| ITEM T I; # TEMPORARY VARIABLE # 03335 M00S03223.acpd +++| 03336 M00S03224.acpd +++| BASED 03337 M00S03225.acpd +++| ARRAY HEAD [0:0] P(1); # HEADER SYSTEM DESIGNATOR # 03338 M00S03226.acpd +++| BEGIN # ARRAY HEAD # 03339 M00S03227.acpd +++| ITEM HEAD$SD C(00,00,70); # SYSTEM DESIGNATOR # 03340 M00S03228.acpd +++| END # ARRAY HEAD # 03341 M00S03229.acpd +++| 03342 M00S03230.acpd +++| ARRAY TEXT [0:0] S(10); # HEADER TEXT # 03343 M00S03231.acpd +++| BEGIN # ARRAY TEXT # 03344 M00S03232.acpd +++| ITEM TXT$H1 C(00,00,16); # *ACPD* VERSION # 03345 M00S03233.acpd +++| ITEM TXT$VR C(01,00,10); # VERSION NUMBER # 03346 M00S03234.acpd +++| ITEM TXT$H2 C(02,00,10)=[" "]; # BLANK FILL # 03347 M00S03235.acpd +++| ITEM TXT$SD C(03,00,70); # SYSTEM DESIGNATOR # 03348 M00S03236.acpd +++| END # ARRAY TEXT # 03349 M00S03237.acpd +++| 03350 M00S03238.acpd +++| 03351 M00S03239.acpd +++| 03352 M00S03240.acpd +++| 03353 M00S03241.acpd +++| 03354 M00S03242.acpd +++|# 03355 M00S03243.acpd +++|* BEGIN HEADER PROC. 03356 M00S03244.acpd +++|# 03357 M00S03245.acpd +++| 03358 M00S03246.acpd +++| P<MPAR>=LOC(HDTR); 03359 M00S03247.acpd +++| P<DDSC>=LOC(DDHD); 03360 M00S03248.acpd +++| P<DCHD>=LOC(DBUF); 03361 M00S03249.acpd +++| 03362 M00S03250.acpd +++|# 03363 M00S03251.acpd +++|* *HDDC* IS NOT TRUE IF *HEADER* IS CALLED TO PROCESS THE NEXT 03364 M00S03252.acpd +++|* DATA FILE. *HDDC* IS TRUE IF THE FIRST FILE IS BEING PROCESSED. 03365 M00S03253.acpd +++|* IF THE LATER IS TRUE, ALL THE ERROR CHECKING HAS BEEN DONE BY 03366 M00S03254.acpd +++|* *INITLZ*. 03367 M00S03255.acpd +++|# 03368 M00S03256.acpd +++| 03369 M00S03257.acpd +++| IF (NOT HDDC) # HEADER BLOCK NOT DECODED # 03370 M00S03258.acpd +++| THEN 03371 M00S03259.acpd +++| BEGIN # READ HEADER BLOCK OF NEXT FILE # 03372 M00S03260.acpd +++| READRC(STAT); # READ HEADER BLOCK # 03373 M00S03261.acpd +++| IF (STAT NQ EORC) # EOF OR EOI ENCOUNTERED # 03374 M00S03262.acpd +++| THEN 03375 M00S03263.acpd +++| BEGIN 03376 M00S03264.acpd +++| IF (IBNW GR 0) # INPUT BUFFER NOT EMPTY # 03377 M00S03265.acpd +++| THEN 03378 M00S03266.acpd +++| BEGIN 03379 M00S03267.acpd +++| PERROR(ERM4,FATAL,NULL); # DATA BLOCKS MISSING # 03380 M00S03268.acpd +++| END 03381 M00S03269.acpd +++|
Line S03270 Modification History | |
---|---|
M01 (Removed by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 03382 M01S03270.v23l617 ---| IF (P$N LS MXFC) # NOT *N* WITH NO EQUIVALENCE #
Line S00070 Modification History | |
---|---|
M01 (Added by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 03383 M01S00070.v23l617 +++| IF (P$N LS 9999999) # EQUIVALENCED *N* PARAMETER # 03384 M00S03271.acpd +++| THEN 03385 M00S03272.acpd +++| BEGIN 03386 M00S03273.acpd +++| PERROR(ERM9,INFOM,NULL); # *N* EXCEEDS NUMBER OF FILES # 03387 M00S03274.acpd +++| END 03388 M00S03275.acpd +++| 03389 M00S03276.acpd +++| TMED=TRUE; 03390 M00S03277.acpd +++| RETURN; 03391 M00S03278.acpd +++| END 03392 M00S03279.acpd +++| 03393 M00S03280.acpd +++| IF (P$VERS NQ WSAI$VS[0]) # *CPD* AND *ACPD* INCOMPATBLE # 03394 M00S03281.acpd +++| THEN 03395 M00S03282.acpd +++| BEGIN 03396 M00S03283.acpd +++| PERROR(ERM13,FATAL,NULL); # CPD/ACPD VERSIONS MISMATCH # 03397 M00S03284.acpd +++| END 03398 M00S03285.acpd +++| 03399 M00S03286.acpd +++| IBWA=0; 03400 M00S03287.acpd +++| DECODE(LOC(HDTR),LOC(DCHD)); # DECODE HEADER BLOCK # 03401 M00S03288.acpd +++| ADJUST; # ADJUST TABLES AND FIELD LENGTH # 03402 M00S03289.acpd +++| 03403 M00S03290.acpd +++|# 03404 M00S03291.acpd +++|* CHECK IF FILES IN CHRONOLOGICAL ORDER. 03405 M00S03292.acpd +++|# 03406 M00S03293.acpd +++|
Line S03294 Modification History | |
---|---|
M01 (Removed by) | ns2786 |
Seq # *Modification Id* Act ----------------------------+ 03407 M01S03294.ns2786 ---| T=DTMNUM(DCHD$WD[DDSC$FW[TIME]],TRUE); 03408 M01S03295.ns2786 ---| D=(DTMNUM(DCHD$WD[DDSC$FW[DATE]],TRUE) - Y70C)*SHFC;
Line S00029 Modification History | |
---|---|
M01 (Added by) | ns2786 |
Seq # *Modification Id* Act ----------------------------+ 03409 M01S00029.ns2786 +++| T=DTMNUM(DCHD$WD[DDSC$FW[TIME]],TRUE,FALSE); 03410 M01S00030.ns2786 +++| D=DTMNUM(DCHD$WD[DDSC$FW[DATE]],TRUE,TRUE)*SHFC; 03411 M00S03296.acpd +++| IF (LSTM GR (D+T)) # DATA FILE NOT IN ORDER # 03412 M00S03297.acpd +++| THEN 03413 M00S03298.acpd +++| BEGIN 03414 M00S03299.acpd +++| PERROR(ERM8,FATAL,NULL); 03415 M00S03300.acpd +++| END 03416 M00S03301.acpd +++| 03417 M00S03302.acpd +++| END # READ HEADER BLOCK OF NEXT FILE # 03418 M00S03303.acpd +++| 03419 M00S03304.acpd +++| ELSE # HEADER BLOCK HAS BEEN DECODED # 03420 M00S03305.acpd +++| BEGIN 03421 M00S03306.acpd +++| HDDC=FALSE; 03422 M00S03307.acpd +++| END 03423 M00S03308.acpd +++| 03424 M00S03309.acpd +++|# 03425 M00S03310.acpd +++|* BUILD THE REPORT TITLE. 03426 M00S03311.acpd +++|# 03427 M00S03312.acpd +++| 03428 M00S03313.acpd +++| T=DDSC$FW[CPDV]; # *ACPD* VERSION POINTER # 03429 M00S03314.acpd +++| TXT$VR[0]=DCHD$CW[T]; 03430 M00S03315.acpd +++| TXT$H1[0]=" A C P D - VER "; 03431 M00S03316.acpd +++| 03432 M00S03317.acpd +++| T=DDSC$FW[SYSV]; # SYSTEM DESIGNATOR POINTER # 03433 M00S03318.acpd +++| P<HEAD>=LOC(DCHD$CW[T]); 03434 M00S03319.acpd +++| T=MPAR$PR[SYSV]*2; 03435 M00S03320.acpd +++| BZFILL(HEAD,TYPFILL"BFILL",T); 03436 M00S03321.acpd +++| TXT$SD[0]=HEAD$SD[0]; 03437 M00S03322.acpd +++| 03438 M00S03323.acpd +++| IF (P$L NQ NULL) # REPORT FILE SPECIFIED # 03439 M00S03324.acpd +++| THEN 03440 M00S03325.acpd +++| BEGIN 03441 M00S03326.acpd +++| L=30 + T; # LENGTH OF HEADER TEXT # 03442 M00S03327.acpd +++| RPHEAD(OFFA,TEXT,2,L); # SET UP *ACPD* TITLE # 03443 M00S03328.acpd +++| PUTHDR; # PRINT HEADER BLOCK ELEMENTS # 03444 M00S03329.acpd +++| PUTEST; # PRINT EST # 03445 M00S03330.acpd +++| PUTSCI; # PRINT JOB CONTROL BLOCK # 03446 M00S03331.acpd +++| END 03447 M00S03332.acpd +++| 03448 M00S03333.acpd +++| IF (P$S NQ NULL) # SUMMARY FILE SPECIFIED # 03449 M00S03334.acpd +++| THEN # WRITE SUMMARY FILE # 03450 M00S03335.acpd +++| BEGIN 03451 M00S03336.acpd +++| WRITEW(FETS,DCHD,DCHL,0); 03452 M00S03337.acpd +++| WRITER(FETS,1); 03453 M00S03338.acpd +++| END 03454 M00S03339.acpd +++| 03455 M00S03340.acpd +++| RETURN; 03456 M00S03341.acpd +++| END # HEADER # 03457 M00S03342.acpd +++| 03458 M00S03343.acpd +++| TERM 03459 M00S03344.acpd +++|PROC INITLZ(HDDC,DTDC,EDTM); 03460 M00S03345.acpd +++|# TITLE INITLZ - INITIALIZE PARAMETERS AND OPEN FILES. # 03461 M00S03346.acpd +++| 03462 M00S03347.acpd +++| BEGIN # INITLZ # 03463 M00S03348.acpd +++| 03464 M00S03349.acpd +++|# 03465 M00S03350.acpd +++|** INITLZ - INITIALIZE PARAMETERS AND OPEN FILES. 03466 M00S03351.acpd +++|*
Line S03352 Modification History | |
---|---|
M01 (Removed by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 03467 M01S03352.v23l617 ---|* PROCESS *ACPD* CONTROL STATEMENT PARAMETERS, INITIALIZE *ACPD*,
Line S00071 Modification History | |
---|---|
M01 (Added by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 03468 M01S00071.v23l617 +++|* PROCESS *ACPD* COMMAND PARAMETERS, INITIALIZE *ACPD*, 03469 M00S03353.acpd +++|* AND OPEN FILES. 03470 M00S03354.acpd +++|* 03471 M00S03355.acpd +++|* PROC INITLZ(HDDC,DTDC,EDTM) 03472 M00S03356.acpd +++|* 03473 M00S03357.acpd +++|* ENTRY NONE. 03474 M00S03358.acpd +++|* 03475 M00S03359.acpd +++|* EXIT HDDC = INDICATE IF HEADER BLOCK HAS BEEN DECODED. 03476 M00S03360.acpd +++|* DTDC = INDICATE IF DATA BLOCK HAS BEEN DECODED. 03477 M00S03361.acpd +++|* TIME = TRUE IF BEGINNING TIME GREATER THAN 03478 M00S03362.acpd +++|* ENDING TIME. 03479 M00S03363.acpd +++|# 03480 M00S03364.acpd +++| 03481 M00S03365.acpd +++|# 03482 M00S03366.acpd +++|* PARAMETER LIST. 03483 M00S03367.acpd +++|# 03484 M00S03368.acpd +++| 03485 M00S03369.acpd +++| ITEM HDDC B; # DECODED HEADER BLOCK FLAG # 03486 M00S03370.acpd +++| ITEM DTDC B; # DECODED DATA BLOCK FLAG # 03487 M00S03371.acpd +++| ITEM EDTM B; # ENDING TIME FLAG # 03488 M00S03372.acpd +++| 03489 M00S03373.acpd +++|# 03490 M00S03374.acpd +++|**** PROC INITLZ - XREF LIST BEGIN. 03491 M00S03375.acpd +++|# 03492 M00S03376.acpd +++| 03493 M00S03377.acpd +++| XREF 03494 M00S03378.acpd +++| BEGIN 03495 M00S03379.acpd +++| PROC ADJUST; # ADJUST TABLES AND FIELD LENGTH # 03496 M00S03380.acpd +++| PROC DECODE; # DECODE *CIO* INPUT BUFFER DATA # 03497 M00S03381.acpd +++| FUNC DTMNUM I; # CONVERT TIME/DATE TO BINARY # 03498 M00S03382.acpd +++| PROC FILINFO; # GET FILE INFORMATION # 03499 M00S03383.acpd +++| PROC MEMORY; # REQUEST MEMORY # 03500 M00S03384.acpd +++| PROC PAP; # PROCESS *ACPD* PARAMETER # 03501 M00S03385.acpd +++| PROC PERROR; # PROCESS ERROR # 03502 M00S03386.acpd +++| PROC READRC; # READ ONE RECORD FROM DATA FILE # 03503 M00S03387.acpd +++| PROC REPTLE; # PRINT REPORT SUBTITLE # 03504 M00S03388.acpd +++| PROC RPOPEN; # OPEN FILES # 03505 M00S03389.acpd +++| PROC ZSETFET; # INITIALIZE *CIO* FET # 03506 M00S03390.acpd +++| END 03507 M00S03391.acpd +++| 03508 M00S03392.acpd +++|# 03509 M00S03393.acpd +++|**** PROC INITLZ - XREF LIST END. 03510 M00S03394.acpd +++|# 03511 M00S03395.acpd +++| 03512 M00S03396.acpd +++| DEF CNIC #"CNIL"#; # FAST LOOP SAMPLE # 03513 M00S03397.acpd +++| DEF CTMC #"CTML"#; # MEDIUM LOOP SAMPLE # 03514 M00S03398.acpd +++| DEF CTOC #"CTOL"#; # SLOW LOOP SAMPLE # 03515 M00S03399.acpd +++| DEF MXVC #1.0E20#; # MAXIMUM VALUE # 03516 M00S03400.acpd +++| DEF NA #"NA"#; # NO ABORT FLAG # 03517 M00S03401.acpd +++| DEF RECALL #1#; # RECALL FLAG # 03518 M00S03402.acpd +++| 03519 M00S03403.acpd +++| DEF LISTCON #0#; # TURN OFF COMMON DECK LISTING # 03520 M00S03404.acpd +++| 03521 M00S03405.acpd +++|*CALL COMUCPD 03522 M00S03406.acpd +++| 03523 M00S03407.acpd +++|# 03524 M00S03408.acpd +++|* LOCAL VARIABLES. 03525 M00S03409.acpd +++|# 03526 M00S03410.acpd +++| 03527 M00S03411.acpd +++| ITEM BA I; # BYTE ADDRESS # 03528 M00S03412.acpd +++| ITEM CM C(10)="CM"; # REQUEST CM FLAG # 03529 M00S03413.acpd +++| ITEM D I; # TEMPORARY VARIABLE # 03530 M00S03414.acpd +++| ITEM DM I; # TEMPORARY VARIABLE # 03531 M00S03415.acpd +++| ITEM I I; # FOR LOOP CONTROL # 03532 M00S03416.acpd +++| ITEM J I; # FOR LOOP CONTROL # 03533 M00S03417.acpd +++| ITEM STAT I; # I/O STATUS # 03534 M00S03418.acpd +++| ITEM T I; # TEMPORARY VARIABLE # 03535 M00S03419.acpd +++| ITEM TM I; # TIME # 03536 M00S03420.acpd +++| 03537 M00S03421.acpd +++| ARRAY FINFO [0:0] P(5); # *FILINFO* PARAMETER BLOCK # 03538 M00S03422.acpd +++| BEGIN # ARRAY FINFO # 03539 M00S03423.acpd +++| ITEM FIN$FN C(00,00,07); # FILE NAME # 03540 M00S03424.acpd +++| ITEM FIN$LN U(00,42,06)=[5]; # PARAMETER BLOCK LENGTH # 03541 M00S03425.acpd +++| ITEM FIN$US U(00,48,12)=[1]; # COMPLETION STATUS # 03542 M00S03426.acpd +++| ITEM FIN$WD U(01,00,60); # PARAMETER BLOCK WORD # 03543 M00S03427.acpd +++| ITEM FIN$EI B(01,36,01); # EOI STATUS # 03544 M00S03428.acpd +++| ITEM FIN$EF B(01,37,01); # EOF STATUS # 03545 M00S03429.acpd +++| ITEM FIN$BI B(01,38,01); # BOI STATUS # 03546 M00S03430.acpd +++| END # ARRAY FINFO # 03547 M00S03431.acpd +++| 03548 M00S03432.acpd +++| ARRAY STT [0:0] P(1); # MEMORY ARGUMENT # 03549 M00S03433.acpd +++| BEGIN # ARRAY STT # 03550 M00S03434.acpd +++| ITEM STT$RFL U(00,00,30); # REQUEST FIELD LENGTH # 03551 M00S03435.acpd +++| END # ARRARY STT # 03552 M00S03436.acpd +++| 03553 M00S03437.acpd +++| 03554 M00S03438.acpd +++| 03555 M00S03439.acpd +++| 03556 M00S03440.acpd +++| 03557 M00S03441.acpd +++| 03558 M00S03442.acpd +++| 03559 M00S03443.acpd +++|# 03560 M00S03444.acpd +++|* BEGIN INITLZ PROC. 03561 M00S03445.acpd +++|# 03562 M00S03446.acpd +++| 03563 M00S03447.acpd +++| PAP; # PROCESS *ACPD* PARAMETERS # 03564 M00S03448.acpd +++| 03565 M00S03449.acpd +++|# 03566 M00S03450.acpd +++|* OPEN FILES. 03567 M00S03451.acpd +++|# 03568 M00S03452.acpd +++| 03569 M00S03453.acpd +++| ZSETFET(LOC(FETI),P$FN,LOC(WSAI),WSAL+1,FENL+1); 03570 M00S03454.acpd +++| FIN$FN[0]=P$FN; 03571 M00S03455.acpd +++| FILINFO(FINFO); # CHECK STATUS OF INPUT FILE # 03572 M00S03456.acpd +++| IF (FIN$WD[0] EQ NULL) # NO STATUS # 03573 M00S03457.acpd +++| THEN 03574 M00S03458.acpd +++| BEGIN 03575 M00S03459.acpd +++| PERROR(ERM11,FATAL,P$FN); # DATA FILE NOT FOUND # 03576 M00S03460.acpd +++| END 03577 M00S03461.acpd +++| 03578 M00S03462.acpd +++| IF (FIN$EI[0]) # EOI # 03579 M00S03463.acpd +++| THEN 03580 M00S03464.acpd +++| BEGIN 03581 M00S03465.acpd +++| PERROR(ERM12,FATAL,NULL); # DATA FILE POSITIONED AT EOI # 03582 M00S03466.acpd +++| END 03583 M00S03467.acpd +++| 03584 M00S03468.acpd +++| IF (NOT (FIN$EF[0] OR FIN$BI[0])) # NOT AT EOF NOR BOI # 03585 M00S03469.acpd +++| THEN 03586 M00S03470.acpd +++| BEGIN 03587 M00S03471.acpd +++| PERROR(ERM7,FATAL,NULL); 03588 M00S03472.acpd +++| END 03589 M00S03473.acpd +++| 03590 M00S03474.acpd +++| OFFA=LOC(FETO); 03591 M00S03475.acpd +++| IF (P$L NQ NULL) # REPORT FILE SPECIFIED # 03592 M00S03476.acpd +++| THEN # OPEN REPORT FILE # 03593 M00S03477.acpd +++| BEGIN 03594 M00S03478.acpd +++| RPOPEN(P$L,OFFA,REPTLE); 03595 M00S03479.acpd +++| END 03596 M00S03480.acpd +++| 03597 M00S03481.acpd +++| IF (P$S NQ NULL) # SUMMARY FILE SPECIFIED # 03598 M00S03482.acpd +++| THEN # OPEN SUMMARY FILE # 03599 M00S03483.acpd +++| BEGIN 03600 M00S03484.acpd +++| ZSETFET(LOC(FETS),P$S,LOC(WSAS),WSAL+1,FENL+1); 03601 M00S03485.acpd +++| END 03602 M00S03486.acpd +++| 03603 M00S03487.acpd +++|# 03604 M00S03488.acpd +++|* REQUEST CURRENT FIELD LENGTH. 03605 M00S03489.acpd +++|# 03606 M00S03490.acpd +++| 03607 M00S03491.acpd +++| MEMORY(CM,STT,RECALL,NA); 03608 M00S03492.acpd +++| CRFL=STT$RFL[0]; # CURRENT FIELD LENGTH # 03609 M00S03493.acpd +++| HGAD=CRFL; # HIGHEST ADDRESS # 03610 M00S03494.acpd +++| 03611 M00S03495.acpd +++|# 03612 M00S03496.acpd +++|* CHECK IF *CPD* AND *ACPD* VERSIONS ARE THE SAME. 03613 M00S03497.acpd +++|# 03614 M00S03498.acpd +++| 03615 M00S03499.acpd +++| READRC(STAT); # READ HEADER BLOCK # 03616 M00S03500.acpd +++| IF (STAT NQ EORC) # EOF OR EOI ENCOUNTERED # 03617 M00S03501.acpd +++| THEN 03618 M00S03502.acpd +++| BEGIN 03619 M00S03503.acpd +++| PERROR(ERM5,FATAL,NULL); # DATA FILE EMPTY # 03620 M00S03504.acpd +++| END 03621 M00S03505.acpd +++| 03622 M00S03506.acpd +++| IF (P$VERS NQ WSAI$VS[0]) # *CPD* AND *ACPD* INCOMPATBLE # 03623 M00S03507.acpd +++| THEN 03624 M00S03508.acpd +++| BEGIN 03625 M00S03509.acpd +++| PERROR(ERM13,FATAL,NULL); # CPD/ACPD VERSIONS MISMATCH # 03626 M00S03510.acpd +++| END 03627 M00S03511.acpd +++| 03628 M00S03512.acpd +++|# 03629 M00S03513.acpd +++|* VALIDATE BEGIN AND END TIMES. 03630 M00S03514.acpd +++|* IF NO *BD* SPECIFIED, BEGIN DATE IS THE DATE OF THE 03631 M00S03515.acpd +++|* HEADER RECORD OF THE CURRENT FILE. 03632 M00S03516.acpd +++|* IF NO *ED* SPECIFIED, END DATE IS THE SAME AS BEGIN DATE. 03633 M00S03517.acpd +++|* IF NO *ET*/*ED* SPECIFIED, END DATE IS SET TO MAXIMUM. 03634 M00S03518.acpd +++|# 03635 M00S03519.acpd +++| 03636 M00S03520.acpd +++| P<DCHD>=LOC(DBUF); 03637 M00S03521.acpd +++| P<DDSC>=LOC(DDHD); 03638 M00S03522.acpd +++| 03639 M00S03523.acpd +++| IBWA=0; 03640 M00S03524.acpd +++| DECODE(LOC(HDTR),LOC(DCHD)); # DECODE HEADER BLOCK # 03641 M00S03525.acpd +++| ADJUST; # ADJUST TABLES AND FIELD LENGTH # 03642 M00S03526.acpd +++| HDDC=TRUE; # HEADER BLOCK HAS BEEN DECODED # 03643 M00S03527.acpd +++| 03644 M00S03528.acpd +++| IF (P$BD EQ NULL) # NO BEGINNING DATE # 03645 M00S03529.acpd +++| THEN 03646 M00S03530.acpd +++| BEGIN
Line S03531 Modification History | |
---|---|
M01 (Removed by) | ns2786 |
Seq # *Modification Id* Act ----------------------------+ 03647 M01S03531.ns2786 ---| DM=(DTMNUM(DCHD$WD[DDSC$FW[DATE]],TRUE) - Y70C)*SHFC;
Line S00031 Modification History | |
---|---|
M01 (Added by) | ns2786 |
Seq # *Modification Id* Act ----------------------------+ 03648 M01S00031.ns2786 +++| DM=DTMNUM(DCHD$WD[DDSC$FW[DATE]],TRUE,TRUE)*SHFC; 03649 M00S03532.acpd +++| END 03650 M00S03533.acpd +++| 03651 M00S03534.acpd +++| ELSE # *BD* SPECIFIED # 03652 M00S03535.acpd +++| BEGIN
Line S03536 Modification History | |
---|---|
M01 (Removed by) | ns2786 |
Seq # *Modification Id* Act ----------------------------+ 03653 M01S03536.ns2786 ---| DM=(DTMNUM(P$BD,FALSE) - Y70C)*SHFC;
Line S00032 Modification History | |
---|---|
M01 (Added by) | ns2786 |
Seq # *Modification Id* Act ----------------------------+ 03654 M01S00032.ns2786 +++| DM=DTMNUM(P$BD,FALSE,TRUE)*SHFC; 03655 M00S03537.acpd +++| END 03656 M00S03538.acpd +++|
Line S03539 Modification History | |
---|---|
M01 (Removed by) | ns2786 |
Seq # *Modification Id* Act ----------------------------+ 03657 M01S03539.ns2786 ---| P$BT=DM + DTMNUM(P$BT,FALSE);
Line S00033 Modification History | |
---|---|
M01 (Added by) | ns2786 |
Seq # *Modification Id* Act ----------------------------+ 03658 M01S00033.ns2786 +++| P$BT=DM + DTMNUM(P$BT,FALSE,FALSE); 03659 M00S03540.acpd +++| 03660 M00S03541.acpd +++| IF (P$ED NQ NULL) # END DATE SPECIFIED # 03661 M00S03542.acpd +++| THEN 03662 M00S03543.acpd +++| BEGIN
Line S03544 Modification History | |
---|---|
M01 (Removed by) | ns2786 |
Seq # *Modification Id* Act ----------------------------+ 03663 M01S03544.ns2786 ---| P$ET=((DTMNUM(P$ED,FALSE) - Y70C)*SHFC) + DTMNUM(P$ET,FALSE);
Line S00034 Modification History | |
---|---|
M01 (Added by) | ns2786 |
Seq # *Modification Id* Act ----------------------------+ 03664 M01S00034.ns2786 +++| P$ET=(DTMNUM(P$ED,FALSE,TRUE)*SHFC) + DTMNUM(P$ET,FALSE,FALSE); 03665 M00S03545.acpd +++| END 03666 M00S03546.acpd +++| 03667 M00S03547.acpd +++| ELSE # NO END DATE # 03668 M00S03548.acpd +++| BEGIN 03669 M00S03549.acpd +++| IF (P$ET NQ NULL) # END TIME SPECIFIED # 03670 M00S03550.acpd +++| THEN 03671 M00S03551.acpd +++| BEGIN
Line S03552 Modification History | |
---|---|
M01 (Removed by) | ns2786 |
Seq # *Modification Id* Act ----------------------------+ 03672 M01S03552.ns2786 ---| P$ET=DM + DTMNUM(P$ET,FALSE);
Line S00035 Modification History | |
---|---|
M01 (Added by) | ns2786 |
Seq # *Modification Id* Act ----------------------------+ 03673 M01S00035.ns2786 +++| P$ET=DM + DTMNUM(P$ET,FALSE,FALSE); 03674 M00S03553.acpd +++| END 03675 M00S03554.acpd +++| 03676 M00S03555.acpd +++| ELSE # *ET*/*ED* ARE NOT SPECIFIED # 03677 M00S03556.acpd +++| BEGIN
Line S03557 Modification History | |
---|---|
M01 (Removed by) | ns2786 |
Seq # *Modification Id* Act ----------------------------+ 03678 M01S03557.ns2786 ---| P$ET=MXDC*SHFC + MXTC; # 99/12/31 23.59.59 #
Line S00036 Modification History | |
---|---|
M01 (Added by) | ns2786 |
Seq # *Modification Id* Act ----------------------------+ 03679 M01S00036.ns2786 +++| P$ET=MXDC*SHFC + MXTC; # 33/12/31 23.59.59 # 03680 M00S03558.acpd +++| END 03681 M00S03559.acpd +++| 03682 M00S03560.acpd +++| END 03683 M00S03561.acpd +++| 03684 M00S03562.acpd +++| IF (P$BT GQ P$ET) # BEGIN TIME .GE. END TIME # 03685 M00S03563.acpd +++| THEN 03686 M00S03564.acpd +++| BEGIN 03687 M00S03565.acpd +++| EDTM=TRUE; # ENDING TIME REACHED # 03688 M00S03566.acpd +++| RETURN; 03689 M00S03567.acpd +++| END 03690 M00S03568.acpd +++|
Line S03569 Modification History | |
---|---|
M01 (Removed by) | ns2786 |
Seq # *Modification Id* Act ----------------------------+ 03691 M01S03569.ns2786 ---| TM=(DTMNUM(DCHD$WD[DDSC$FW[DATE]],TRUE) - Y70C)*SHFC; 03692 M01S03570.ns2786 ---| TM=TM + DTMNUM(DCHD$WD[DDSC$FW[TIME]],TRUE);
Line S00037 Modification History | |
---|---|
M01 (Added by) | ns2786 |
Seq # *Modification Id* Act ----------------------------+ 03693 M01S00037.ns2786 +++| TM=DTMNUM(DCHD$WD[DDSC$FW[DATE]],TRUE,TRUE)*SHFC; 03694 M01S00038.ns2786 +++| TM=TM + DTMNUM(DCHD$WD[DDSC$FW[TIME]],TRUE,FALSE); 03695 M00S03571.acpd +++| IF (P$BT GR TM) # *BT* .GT. TIME OF FIRST 03696 M00S03572.acpd +++| DATA RECORD # 03697 M00S03573.acpd +++| THEN 03698 M00S03574.acpd +++| BEGIN 03699 M00S03575.acpd +++| DTDC=TRUE; # DECODE DATA BLOCK # 03700 M00S03576.acpd +++| END 03701 M00S03577.acpd +++| 03702 M00S03578.acpd +++| ELSE 03703 M00S03579.acpd +++| BEGIN 03704 M00S03580.acpd +++| DTDC=FALSE; # NOT DECODE DATA BLOCK # 03705 M00S03581.acpd +++| END 03706 M00S03582.acpd +++| 03707 M00S03583.acpd +++|# 03708 M00S03584.acpd +++|* COMPUTE BYTE ADDRESSES OF SAMPLE TIMES IN 03709 M00S03585.acpd +++|* INPUT FILE-S WORKING STORAGE AREA. 03710 M00S03586.acpd +++|# 03711 M00S03587.acpd +++| 03712 M00S03588.acpd +++| BA=0; 03713 M00S03589.acpd +++| P<MPAR>=LOC(DATT); 03714 M00S03590.acpd +++| SLOWFOR I=0 STEP 1 WHILE (MPAR$NM[I] NQ CTOC) 03715 M00S03591.acpd +++| DO 03716 M00S03592.acpd +++| BEGIN # COMPUTE SAMPLE TIME BYTE ADDRESS # 03717 M00S03593.acpd +++| IF (MPAR$NM[I] EQ CNIC) # FAST LOOP SAMPLE # 03718 M00S03594.acpd +++| THEN 03719 M00S03595.acpd +++| BEGIN 03720 M00S03596.acpd +++| SPLA$WD[MPAR$TP[I]]=BA; 03721 M00S03597.acpd +++| END 03722 M00S03598.acpd +++| 03723 M00S03599.acpd +++| ELSE 03724 M00S03600.acpd +++| BEGIN 03725 M00S03601.acpd +++| IF (MPAR$NM[I] EQ CTMC) # MEDIUM LOOP SAMPLE # 03726 M00S03602.acpd +++| THEN 03727 M00S03603.acpd +++| BEGIN 03728 M00S03604.acpd +++| SPLA$WD[MPAR$TP[I]]=BA; 03729 M00S03605.acpd +++| END 03730 M00S03606.acpd +++| 03731 M00S03607.acpd +++| END 03732 M00S03608.acpd +++| 03733 M00S03609.acpd +++| BA=MPAR$LN[I]*MPAR$PR[I] + BA; 03734 M00S03610.acpd +++| END # COMPUTE SAMPLE TIME BYTE ADDRESS # 03735 M00S03611.acpd +++| 03736 M00S03612.acpd +++| SPLA$WD[MPAR$TP[I]]=BA; # SLOW LOOP SAMPLE # 03737 M00S03613.acpd +++| 03738 M00S03614.acpd +++| READRC(STAT); # READ FIRST DATA BLOCK # 03739 M00S03615.acpd +++| IF (STAT NQ EORC) # NO DATA BLOCKS # 03740 M00S03616.acpd +++| THEN 03741 M00S03617.acpd +++| BEGIN 03742 M00S03618.acpd +++| PERROR(ERM4,FATAL,NULL); # DATA BLOCKS MISSING # 03743 M00S03619.acpd +++| END 03744 M00S03620.acpd +++| 03745 M00S03621.acpd +++| P<DCDT>=LOC(DBUF[DCHL]); 03746 M00S03622.acpd +++| P<DDSM>=LOC(DBUF[DCHL + DCDC*DCDL*2]); 03747 M00S03623.acpd +++| 03748 M00S03624.acpd +++|# 03749 M00S03625.acpd +++|* POSITION FILE AT CORRECT RECORD. 03750 M00S03626.acpd +++|# 03751 M00S03627.acpd +++| 03752 M00S03628.acpd +++| STAT=0; 03753 M00S03629.acpd +++| IBWA=0; 03754 M00S03630.acpd +++| 03755 M00S03631.acpd +++| SLOWFOR J=0 WHILE (P$BT GR TM) AND (STAT NQ EOIC) 03756 M00S03632.acpd +++| DO 03757 M00S03633.acpd +++| BEGIN # READ FILE # 03758 M00S03634.acpd +++| IF (IBWA GQ IBNW) # INPUT BUFFER EXHAUSTED # 03759 M00S03635.acpd +++| THEN 03760 M00S03636.acpd +++| BEGIN # GET NEXT BUFFER # 03761 M00S03637.acpd +++| READRC(STAT); # READ NEXT RECORD # 03762 M00S03638.acpd +++| IBWA=0; 03763 M00S03639.acpd +++| IF (STAT NQ EORC) # END OF CURRENT FILE # 03764 M00S03640.acpd +++| THEN 03765 M00S03641.acpd +++| BEGIN # CHECK IF EOF OR EOI # 03766 M00S03642.acpd +++| IF (STAT EQ EOFC) # PREVIOUS READ ENCOUNTERED EOF # 03767 M00S03643.acpd +++| THEN 03768 M00S03644.acpd +++| BEGIN # GET NEXT FILE # 03769 M00S03645.acpd +++| READRC(STAT); # READ HEADER BLOCK OF NEXT FILE # 03770 M00S03646.acpd +++| IF (STAT NQ EORC) # NO DATA BLOCKS FOLLOW # 03771 M00S03647.acpd +++| THEN 03772 M00S03648.acpd +++| BEGIN 03773 M00S03649.acpd +++| PERROR(ERM4,FATAL,NULL); # DATA BLOCKS MISSING # 03774 M00S03650.acpd +++| END 03775 M00S03651.acpd +++| 03776 M00S03652.acpd +++| DECODE(LOC(HDTR),LOC(DCHD)); # DECODE HEADER BLOCK # 03777 M00S03653.acpd +++| ADJUST; # ADJUST TABLES AND FIELD LENGTH # 03778 M00S03654.acpd +++| P<DCDT>=LOC(DBUF[DCHL]); 03779 M00S03655.acpd +++| P<DDSM>=LOC(DBUF[DCHL + DCDC*DCDL*2]); 03780 M00S03656.acpd +++| P<DDSC>=LOC(DDHD); 03781 M00S03657.acpd +++|
Line S03658 Modification History | |
---|---|
M01 (Removed by) | ns2786 |
Seq # *Modification Id* Act ----------------------------+ 03782 M01S03658.ns2786 ---| D=(DTMNUM(DCHD$WD[DDSC$FW[DATE]],TRUE) - Y70C)*SHFC;
Line S00039 Modification History | |
---|---|
M01 (Added by) | ns2786 |
Seq # *Modification Id* Act ----------------------------+ 03783 M01S00039.ns2786 +++| D=DTMNUM(DCHD$WD[DDSC$FW[DATE]],TRUE,TRUE)*SHFC; 03784 M00S03659.acpd +++| # GET DATE ON RECORD #
Line S03660 Modification History | |
---|---|
M01 (Removed by) | ns2786 |
Seq # *Modification Id* Act ----------------------------+ 03785 M01S03660.ns2786 ---| T=DTMNUM(DCHD$WD[DDSC$FW[TIME]],TRUE);
Line S00040 Modification History | |
---|---|
M01 (Added by) | ns2786 |
Seq # *Modification Id* Act ----------------------------+ 03786 M01S00040.ns2786 +++| T=DTMNUM(DCHD$WD[DDSC$FW[TIME]],TRUE,FALSE); 03787 M00S03661.acpd +++| # GET TIME ON RECORD # 03788 M00S03662.acpd +++| IF (TM GR (D+T)) # PREVIOUS TIME .GT. 03789 M00S03663.acpd +++| CURRENT TIME # 03790 M00S03664.acpd +++| THEN 03791 M00S03665.acpd +++| BEGIN 03792 M00S03666.acpd +++| PERROR(ERM8,FATAL,NULL); 03793 M00S03667.acpd +++| END 03794 M00S03668.acpd +++| 03795 M00S03669.acpd +++| TM=D + T; # SET TO CURRENT TIME # 03796 M00S03670.acpd +++| TEST J; # GO PROCESS DATA BLOCKS # 03797 M00S03671.acpd +++| END # GET NEXT FILE # 03798 M00S03672.acpd +++| 03799 M00S03673.acpd +++| ELSE # PREVIOUS READ ENCOUNTERD *EOI* # 03800 M00S03674.acpd +++| BEGIN 03801 M00S03675.acpd +++| PERROR(ERM3,FATAL,NULL); # BT/BD NOT FOUND # 03802 M00S03676.acpd +++| END 03803 M00S03677.acpd +++| 03804 M00S03678.acpd +++| END # CHECK IF EOF OR EOI # 03805 M00S03679.acpd +++| 03806 M00S03680.acpd +++| END # GET NEXT BUFFER # 03807 M00S03681.acpd +++| 03808 M00S03682.acpd +++| DECODE(LOC(DATT),LOC(DCDT)); 03809 M00S03683.acpd +++| P<DDSC>=LOC(DDDT); 03810 M00S03684.acpd +++| TM=DCDT$WD[DDSC$FW[PDTM]]; # GET TIME # 03811 M00S03685.acpd +++| 03812 M00S03686.acpd +++|# 03813 M00S03687.acpd +++|* REINITIALIZE BUFFER OF FIRST COLUMN. 03814 M00S03688.acpd +++|# 03815 M00S03689.acpd +++| 03816 M00S03690.acpd +++| FASTFOR I=0 STEP 1 UNTIL DCDL - 1 03817 M00S03691.acpd +++| DO 03818 M00S03692.acpd +++| BEGIN 03819 M00S03693.acpd +++| DCDT$WD[I]=0; 03820 M00S03694.acpd +++| DCDT$WD[I + DCDL*DCDC]=0; 03821 M00S03695.acpd +++| DDSM$IM[I]=0; 03822 M00S03696.acpd +++| DDSM$IQ[I]=0; 03823 M00S03697.acpd +++| END 03824 M00S03698.acpd +++| 03825 M00S03699.acpd +++| END # READ FILE # 03826 M00S03700.acpd +++| 03827 M00S03701.acpd +++| IF (P$ET LQ TM) # READ PAST ENDING TIME # 03828 M00S03702.acpd +++| THEN 03829 M00S03703.acpd +++| BEGIN 03830 M00S03704.acpd +++| EDTM=TRUE; 03831 M00S03705.acpd +++| END 03832 M00S03706.acpd +++| 03833 M00S03707.acpd +++| RETURN; 03834 M00S03708.acpd +++| END # INITLZ # 03835 M00S03709.acpd +++| 03836 M00S03710.acpd +++| TERM 03837 M00S03711.acpd +++|PROC PERROR((ERCD),(EROR),(ERNM)); 03838 M00S03712.acpd +++|# TITLE PERROR - ISSUE ERROR MESSAGE. # 03839 M00S03713.acpd +++| 03840 M00S03714.acpd +++| BEGIN # PERROR # 03841 M00S03715.acpd +++| 03842 M00S03716.acpd +++|# 03843 M00S03717.acpd +++|** PERROR - ISSUE ERROR MESSAGE. 03844 M00S03718.acpd +++|* 03845 M00S03719.acpd +++|* ISSUE ERROR MESSAGE TO THE USER DAYFILE AND ABORT 03846 M00S03720.acpd +++|* THE JOB IF THE ERROR IS FATAL. 03847 M00S03721.acpd +++|* 03848 M00S03722.acpd +++|* PROC PERROR(ERCD,EROR,ERNM) 03849 M00S03723.acpd +++|* 03850 M00S03724.acpd +++|* ENTRY ERCD = ERROR CODE. 03851 M00S03725.acpd +++|* EROR = ERROR LEVEL. 03852 M00S03726.acpd +++|* ERNM = ERROR NAME. 03853 M00S03727.acpd +++|* 03854 M00S03728.acpd +++|* EXIT JOB ABORTED IF *EROR*=FATAL. 03855 M00S03729.acpd +++|* OTHERWISE, RETURN TO CALLING PROGRAM. 03856 M00S03730.acpd +++|* 03857 M00S03731.acpd +++|* MESSAGES 03858 M00S03732.acpd +++|* 03859 M00S03733.acpd +++|* 1. ACPD ARGUMENT ERROR - XX. 03860 M00S03734.acpd +++|* 2. ACPD/CPD VERSIONS MISMATCH. 03861 M00S03735.acpd +++|* 3. BT/BD NOT FOUND. 03862 M00S03736.acpd +++|* 4. DATA BLOCKS MISSING. 03863 M00S03737.acpd +++|* 5. DATA ELEMENT NAME UNDEFINED - XXXX. 03864 M00S03738.acpd +++|* 6. DATA FILE CONTENT ERROR. 03865 M00S03739.acpd +++|* 7. DATA FILE EMPTY. 03866 M00S03740.acpd +++|* 8. DATA FILE NOT AT BEGINNING OF FILE. 03867 M00S03741.acpd +++|* 9. DATA FILE NOT FOUND - XXXXXXX. 03868 M00S03742.acpd +++|* 10. DATA FILE NOT IN CHRONOLOGICAL ORDER. 03869 M00S03743.acpd +++|* 11. DATA FILE POSITIONED AT EOI.
Line S03744 Modification History | |
---|---|
M01 (Removed by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 03870 M01S03744.v23l617 ---|* 12. IN LESS THAN FILE WRITE TIME. 03871 M01S03745.v23l617 ---|* 13. N EXCEEDS NUMBER OF FILES.
Line S00072 Modification History | |
---|---|
M01 (Added by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 03872 M01S00072.v23l617 +++|* 12. IN AND IC PARAMETER CONFLICT. 03873 M01S00073.v23l617 +++|* 13. IN LESS THAN FILE WRITE TIME. 03874 M01S00074.v23l617 +++|* 14. N EXCEEDS NUMBER OF FILES. 03875 M00S03746.acpd +++|# 03876 M00S03747.acpd +++| 03877 M00S03748.acpd +++|# 03878 M00S03749.acpd +++|* PARAMETER LIST. 03879 M00S03750.acpd +++|# 03880 M00S03751.acpd +++| 03881 M00S03752.acpd +++| ITEM ERCD I; # ERROR CODE # 03882 M00S03753.acpd +++| ITEM EROR I; # ERROR LEVEL # 03883 M00S03754.acpd +++| ITEM ERNM C(10); # ERROR NAME # 03884 M00S03755.acpd +++| 03885 M00S03756.acpd +++|# 03886 M00S03757.acpd +++|**** PROC PERROR - XREF LIST BEGIN. 03887 M00S03758.acpd +++|# 03888 M00S03759.acpd +++| 03889 M00S03760.acpd +++| XREF 03890 M00S03761.acpd +++| BEGIN 03891 M00S03762.acpd +++| PROC ABORT; # ABORT JOB # 03892 M00S03763.acpd +++| PROC MESSAGE; # ISSUE DAYFILE MESSAGES # 03893 M00S03764.acpd +++| END 03894 M00S03765.acpd +++| 03895 M00S03766.acpd +++|# 03896 M00S03767.acpd +++|**** PROC PERROR - XREF LIST END. 03897 M00S03768.acpd +++|# 03898 M00S03769.acpd +++| 03899 M00S03770.acpd +++| DEF BLKC #" "#; # BLANK # 03900 M00S03771.acpd +++| DEF DOLC #"$"#; # DOLLAR SIGN # 03901 M00S03772.acpd +++| DEF PRDC #"."#; # PERIOD # 03902 M00S03773.acpd +++| 03903 M00S03774.acpd +++| DEF LISTCON #0#; # TURN OFF COMMON DECK LISTING # 03904 M00S03775.acpd +++| 03905 M00S03776.acpd +++|*CALL COMUCPD 03906 M00S03777.acpd +++| 03907 M00S03778.acpd +++|# 03908 M00S03779.acpd +++|* LOCAL VARIABLES. 03909 M00S03780.acpd +++|# 03910 M00S03781.acpd +++| 03911 M00S03782.acpd +++| ITEM J I; # FOR LOOP CONTROL # 03912 M00S03783.acpd +++| ITEM L I; # FOR LOOP CONTROL # 03913 M00S03784.acpd +++| 03914 M00S03785.acpd +++| ARRAY ERMS [1:ERMSC] S(4); # ERROR MESSSAGES # 03915 M00S03786.acpd +++| BEGIN # ARRAY ERMS # 03916 M00S03787.acpd +++| ITEM ER$MS C(00,00,38) = # ERROR MESSAGES # 03917 M00S03788.acpd +++| 03918 M00S03789.acpd +++| [" ACPD ARGUMENT ERROR - $.", 03919 M00S03790.acpd +++| " DATA ELEMENT NAME UNDEFINED - $.", 03920 M00S03791.acpd +++| " BT/BD NOT FOUND.", 03921 M00S03792.acpd +++| " DATA BLOCKS MISSING.", 03922 M00S03793.acpd +++| " DATA FILE EMPTY.", 03923 M00S03794.acpd +++| " DATA FILE CONTENT ERROR.", 03924 M00S03795.acpd +++| " DATA FILE NOT AT BEGINNING OF FILE.", 03925 M00S03796.acpd +++| " DATA FILE NOT IN CHRONOLOGICAL ORDER.", 03926 M00S03797.acpd +++| " N EXCEEDS NUMBER OF FILES.", 03927 M00S03798.acpd +++| " IN LESS THAN FILE WRITE TIME.", 03928 M00S03799.acpd +++| " DATA FILE NOT FOUND - $.", 03929 M00S03800.acpd +++| " DATA FILE POSITIONED AT EOI.",
Line S03801 Modification History | |
---|---|
M01 (Removed by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 03930 M01S03801.v23l617 ---| " ACPD/CPD VERSIONS MISMATCH."];
Line S00075 Modification History | |
---|---|
M01 (Added by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 03931 M01S00075.v23l617 +++| " ACPD/CPD VERSIONS MISMATCH.", 03932 M01S00076.v23l617 +++| " IN AND IC PARAMETER CONFLICT."]; 03933 M00S03802.acpd +++|
Line S03803 Modification History | |
---|---|
M01 (Removed by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 03934 M01S03803.v23l617 ---| ITEM ER$ZR C(03,48,02) = [0,0,0,0,0,0,0,0,0,0,0,0,0];
Line S00077 Modification History | |
---|---|
M01 (Added by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 03935 M01S00077.v23l617 +++| ITEM ER$ZR C(03,48,02) = [0,0,0,0,0,0,0,0,0,0,0,0,0,0]; 03936 M00S03804.acpd +++| # ZERO FILLED LAST BYTE # 03937 M00S03805.acpd +++| END # ARRAY ERMS # 03938 M00S03806.acpd +++| 03939 M00S03807.acpd +++| 03940 M00S03808.acpd +++| 03941 M00S03809.acpd +++| 03942 M00S03810.acpd +++| 03943 M00S03811.acpd +++|# 03944 M00S03812.acpd +++|* BEGIN PERROR PROC. 03945 M00S03813.acpd +++|# 03946 M00S03814.acpd +++| 03947 M00S03815.acpd +++| IF (ERNM NQ 0) # NAME SPECIFIED # 03948 M00S03816.acpd +++| THEN 03949 M00S03817.acpd +++| BEGIN # FILL IN ERROR NAME # 03950 M00S03818.acpd +++| SLOWFOR J=2 STEP 1 WHILE (C<J,1>ER$MS[ERCD] NQ DOLC) 03951 M00S03819.acpd +++| DO; # LOOK FOR DOLLAR SIGN # 03952 M00S03820.acpd +++| 03953 M00S03821.acpd +++| SLOWFOR L=0 STEP 1 WHILE (C<L,1>ERNM NQ 0) 03954 M00S03822.acpd +++| AND (C<L,1>ERNM NQ BLKC) 03955 M00S03823.acpd +++| DO 03956 M00S03824.acpd +++| BEGIN 03957 M00S03825.acpd +++| C<J,1>ER$MS[ERCD]=C<L,1>ERNM; 03958 M00S03826.acpd +++| J=J+1; 03959 M00S03827.acpd +++| END 03960 M00S03828.acpd +++| 03961 M00S03829.acpd +++| C<J,1>ER$MS[ERCD]=PRDC; 03962 M00S03830.acpd +++| END # FILL IN ERROR NAME # 03963 M00S03831.acpd +++| 03964 M00S03832.acpd +++| MESSAGE(ER$MS[ERCD],3); # ISSUE ERROR MESSAGE # 03965 M00S03833.acpd +++| IF (EROR NQ FATAL) 03966 M00S03834.acpd +++| THEN 03967 M00S03835.acpd +++| BEGIN 03968 M00S03836.acpd +++| RETURN; # TO CALLING PROGRAM # 03969 M00S03837.acpd +++| END 03970 M00S03838.acpd +++| 03971 M00S03839.acpd +++| ABORT; 03972 M00S03840.acpd +++| END # PERROR # 03973 M00S03841.acpd +++| 03974 M00S03842.acpd +++| TERM 03975 M00S03843.acpd +++|PROC PRDTEL((PVL),(DTY),(TMX)); 03976 M00S03844.acpd +++|# TITLE PRDTEL - PRINT ONE LINE OF DATA ELEMENT. # 03977 M00S03845.acpd +++| 03978 M00S03846.acpd +++| BEGIN # PRDTEL # 03979 M00S03847.acpd +++| 03980 M00S03848.acpd +++|# 03981 M00S03849.acpd +++|** PRDTEL - PRINT ONE LINE OF DATA ELEMENT. 03982 M00S03850.acpd +++|* 03983 M00S03851.acpd +++|* PRINT VALUES IN ONE LINE OF ONE DATA ELEMENT. 03984 M00S03852.acpd +++|* 03985 M00S03853.acpd +++|* PROC PRDTEL((PVL),(DTY),(TMX)) 03986 M00S03854.acpd +++|* 03987 M00S03855.acpd +++|* ENTRY PVL = POINTER TO VALUES. 03988 M00S03856.acpd +++|* DTY = DATA TYPE. 03989 M00S03857.acpd +++|* TMX = POINTER TO CURRENT TOTAL MAXIMUM AND 03990 M00S03858.acpd +++|* MINIMUM VALUES. 03991 M00S03859.acpd +++|* 03992 M00S03860.acpd +++|* EXIT ONE ROW OF THE DATA ELEMENT-S VALUES ARE PRINTED. 03993 M00S03861.acpd +++|* THE SUBTOTAL IS ALSO PRINTED, ALONG WITH THE 03994 M00S03862.acpd +++|* MAXIMUM AND MIN VALUES OF THAT ROW. 03995 M00S03863.acpd +++|# 03996 M00S03864.acpd +++| 03997 M00S03865.acpd +++|# 03998 M00S03866.acpd +++|* PARAMETER LIST. 03999 M00S03867.acpd +++|# 04000 M00S03868.acpd +++| 04001 M00S03869.acpd +++| ITEM PVL U; # POINTER TO VALUES # 04002 M00S03870.acpd +++| ITEM DTY I; # DATA TYPE # 04003 M00S03871.acpd +++| ITEM TMX U; # POINTER TO TOTAL MAXIMUM VALUE # 04004 M00S03872.acpd +++| 04005 M00S03873.acpd +++|# 04006 M00S03874.acpd +++|**** PROC PRDTEL - XREF LIST BEGIN. 04007 M00S03875.acpd +++|# 04008 M00S03876.acpd +++| 04009 M00S03877.acpd +++| XREF 04010 M00S03878.acpd +++| BEGIN 04011 M00S03879.acpd +++| PROC DETMXM; # DETERMINE MAXIMUM AND MINIMUM # 04012 M00S03880.acpd +++| PROC WRITEV; # WRITE VALUE # 04013 M00S03881.acpd +++| END 04014 M00S03882.acpd +++| 04015 M00S03883.acpd +++|# 04016 M00S03884.acpd +++|**** PROC PRDTEL - XREF LIST END. 04017 M00S03885.acpd +++|# 04018 M00S03886.acpd +++| 04019 M00S03887.acpd +++| DEF LISTCON #0#; # TURN OFF COMMON DECK LISTING # 04020 M00S03888.acpd +++| 04021 M00S03889.acpd +++|*CALL COMUCPD 04022 M00S03890.acpd +++| 04023 M00S03891.acpd +++|# 04024 M00S03892.acpd +++|* LOCAL VARIABLES. 04025 M00S03893.acpd +++|# 04026 M00S03894.acpd +++| 04027 M00S03895.acpd +++| ITEM CL I; # COLUMN # 04028 M00S03896.acpd +++| ITEM CR I; # CARRIAGE CONTROL # 04029 M00S03897.acpd +++| ITEM I I; # FOR LOOP CONTROL # 04030 M00S03898.acpd +++| ITEM IC I; # INCREMENTOR # 04031 M00S03899.acpd +++| ITEM MN I; # MINIMUM INTERVAL # 04032 M00S03900.acpd +++| ITEM MX I; # MAXIMUM INTERVAL # 04033 M00S03901.acpd +++| ITEM X R; # TEMPORARY VARIABLE # 04034 M00S03902.acpd +++| 04035 M00S03903.acpd +++| BASED 04036 M00S03904.acpd +++| ARRAY MXN [0:0] S(2); # TOTAL MAXIMUM/MINIMUM VALUES # 04037 M00S03905.acpd +++| BEGIN # ARRAY MXN # 04038 M00S03906.acpd +++| ITEM MXN$MX R(00,00,60); # TOTAL MAXIMUM VALUE # 04039 M00S03907.acpd +++| ITEM MXN$MN R(01,00,60); # TOTAL MINIMUM VALUE # 04040 M00S03908.acpd +++| END # ARRAY MXN # 04041 M00S03909.acpd +++| 04042 M00S03910.acpd +++| BASED 04043 M00S03911.acpd +++| ARRAY VAL [1:11] P(1); # VALUES TO BE PRINTED # 04044 M00S03912.acpd +++| BEGIN # ARRAY VAL # 04045 M00S03913.acpd +++| ITEM VL$F R(00,00,60); # REAL VALUE # 04046 M00S03914.acpd +++| ITEM VL$N I(00,00,60); # INTEGER VALUE # 04047 M00S03915.acpd +++| END # ARRAY VAL # 04048 M00S03916.acpd +++| 04049 M00S03917.acpd +++| 04050 M00S03918.acpd +++| 04051 M00S03919.acpd +++| 04052 M00S03920.acpd +++| 04053 M00S03921.acpd +++|# 04054 M00S03922.acpd +++|* BEGIN PRDTEL PROC. 04055 M00S03923.acpd +++|# 04056 M00S03924.acpd +++| 04057 M00S03925.acpd +++| IF (NIPP LQ (DCDC-3)) # PRINT TOTAL ON SAME LINE # 04058 M00S03926.acpd +++| THEN # DO NOT LINE FEED # 04059 M00S03927.acpd +++| BEGIN 04060 M00S03928.acpd +++| CR=NLFC; 04061 M00S03929.acpd +++| END 04062 M00S03930.acpd +++| 04063 M00S03931.acpd +++| ELSE 04064 M00S03932.acpd +++| BEGIN 04065 M00S03933.acpd +++| CR=LFDC; # LINE FEED # 04066 M00S03934.acpd +++| END 04067 M00S03935.acpd +++| 04068 M00S03936.acpd +++|# 04069 M00S03937.acpd +++|* DETERMINE MINIMUM AND MAXIMUM INTERVALS. 04070 M00S03938.acpd +++|# 04071 M00S03939.acpd +++| 04072 M00S03940.acpd +++| P<VAL>=PVL; 04073 M00S03941.acpd +++| P<MXN>=TMX; 04074 M00S03942.acpd +++| MX=1; 04075 M00S03943.acpd +++| MN=1; 04076 M00S03944.acpd +++| FASTFOR I=1 STEP 1 UNTIL NIPP 04077 M00S03945.acpd +++| DO 04078 M00S03946.acpd +++| BEGIN # FIND MAXIMUM AND MINIMUM COLUMNS # 04079 M00S03947.acpd +++| IF (VL$F[I] GR VL$F[MX]) 04080 M00S03948.acpd +++| THEN 04081 M00S03949.acpd +++| BEGIN 04082 M00S03950.acpd +++| MX=I; # CURRENT MAXIMUM POSITION # 04083 M00S03951.acpd +++| END 04084 M00S03952.acpd +++| 04085 M00S03953.acpd +++| IF (VL$F[I] LS VL$F[MN]) 04086 M00S03954.acpd +++| THEN 04087 M00S03955.acpd +++| BEGIN 04088 M00S03956.acpd +++| MN=I; # CURRENT MINIMUM POSITION # 04089 M00S03957.acpd +++| END 04090 M00S03958.acpd +++| 04091 M00S03959.acpd +++| END # FIND MAXIMUM AND MINIMUM COLUMNS # 04092 M00S03960.acpd +++| 04093 M00S03961.acpd +++|# 04094 M00S03962.acpd +++|* UPDATE CURRENT VALUES OF TOTAL MAXIMUM AND MINIMUM. 04095 M00S03963.acpd +++|# 04096 M00S03964.acpd +++| 04097 M00S03965.acpd +++| IF (VL$F[MX] GR MXN$MX[0]) # INTERVAL MAXIMUM .GT. 04098 M00S03966.acpd +++| TOTAL MAXIMUM # 04099 M00S03967.acpd +++| THEN 04100 M00S03968.acpd +++| BEGIN 04101 M00S03969.acpd +++| MXN$MX[0]=VL$F[MX]; # UPDATE TOTAL MAXIMUM # 04102 M00S03970.acpd +++| END 04103 M00S03971.acpd +++| 04104 M00S03972.acpd +++| IF (VL$F[MN] LS MXN$MN[0]) # INTERVAL MINIMUM .LT. 04105 M00S03973.acpd +++| TOTAL MINIMUM # 04106 M00S03974.acpd +++| THEN 04107 M00S03975.acpd +++| BEGIN 04108 M00S03976.acpd +++| MXN$MN[0]=VL$F[MN]; # UPDATE TOTAL MINIMUM # 04109 M00S03977.acpd +++| END 04110 M00S03978.acpd +++| 04111 M00S03979.acpd +++| IF (DTY NQ FLPC) # NOT FLOATING POINT # 04112 M00S03980.acpd +++| THEN # CONVERT VALUES TO INTEGER # 04113 M00S03981.acpd +++| BEGIN 04114 M00S03982.acpd +++| FASTFOR I=1 STEP 1 UNTIL NIPP+1 04115 M00S03983.acpd +++| DO 04116 M00S03984.acpd +++| BEGIN 04117 M00S03985.acpd +++| X=VL$F[I]; 04118 M00S03986.acpd +++| VL$N[I]=X; 04119 M00S03987.acpd +++| END 04120 M00S03988.acpd +++| 04121 M00S03989.acpd +++| END 04122 M00S03990.acpd +++| 04123 M00S03991.acpd +++|# 04124 M00S03992.acpd +++|* NOW PRINT THE VALUES IN ONE LINE STARTING FROM 04125 M00S03993.acpd +++|* COLUMN *BCLC*. 04126 M00S03994.acpd +++|# 04127 M00S03995.acpd +++| 04128 M00S03996.acpd +++| CL=BCLC; 04129 M00S03997.acpd +++| FASTFOR I=1 STEP 1 UNTIL NIPP 04130 M00S03998.acpd +++| DO 04131 M00S03999.acpd +++| BEGIN 04132 M00S04000.acpd +++| WRITEV(VL$F[I],DTY,CL,10,NLFC); 04133 M00S04001.acpd +++| CL=CL+10; 04134 M00S04002.acpd +++| END 04135 M00S04003.acpd +++| 04136 M00S04004.acpd +++|# 04137 M00S04005.acpd +++|* INDICATE MINIMUM AND MAXIMUM INTERVAL VALUES BY ENCLOSING 04138 M00S04006.acpd +++|* THEM IN PARENTHESES AND BRACKETS, RESPECTIVELY. 04139 M00S04007.acpd +++|# 04140 M00S04008.acpd +++| 04141 M00S04009.acpd +++| IF (MX NQ MN) 04142 M00S04010.acpd +++| THEN 04143 M00S04011.acpd +++| BEGIN 04144 M00S04012.acpd +++| DETMXM(VL$F[MX],VL$F[MN],MX,MN,DTY); 04145 M00S04013.acpd +++| END 04146 M00S04014.acpd +++| 04147 M00S04015.acpd +++| IF (TCOL GR (DCDC-3)) 04148 M00S04016.acpd +++| THEN 04149 M00S04017.acpd +++| BEGIN 04150 M00S04018.acpd +++| WRITEV(VL$F[NIPP+1],DTY,CL+1,9,CR); # WRITE SUBTOTAL # 04151 M00S04019.acpd +++| END 04152 M00S04020.acpd +++| 04153 M00S04021.acpd +++| RETURN; 04154 M00S04022.acpd +++| END # PRDTEL # 04155 M00S04023.acpd +++| 04156 M00S04024.acpd +++| TERM 04157 M00S04025.acpd +++|PROC PUTBLK((NSF),(FWA),(LWA)); 04158 M00S04026.acpd +++|# TITLE PUTBLK - PRINT ELEMENTS OF ONE LOOP OF DATA BLOCK. # 04159 M00S04027.acpd +++| 04160 M00S04028.acpd +++| BEGIN # PUTBLK # 04161 M00S04029.acpd +++| 04162 M00S04030.acpd +++|# 04163 M00S04031.acpd +++|** PUTBLK - PRINT ELEMENTS OF ONE LOOP OF DATA BLOCK. 04164 M00S04032.acpd +++|* 04165 M00S04033.acpd +++|* PUTBLK IS THE DRIVER IN PRINTING THE DATA BLOCK ELMENTS 04166 M00S04034.acpd +++|* (FAST LOOP, MEDIUM LOOP, SLOW LOOP). 04167 M00S04035.acpd +++|* 04168 M00S04036.acpd +++|* PROC PUTBLK((NSF),(FWA),(LWA)) 04169 M00S04037.acpd +++|* 04170 M00S04038.acpd +++|* ENTRY NSF = NUMBER OF RECORDS PER INTERVAL. 04171 M00S04039.acpd +++|* FWA = FIRST WORD ADDRESS OF LOOP IN TABLE *DSPT*. 04172 M00S04040.acpd +++|* LWA = LAST WORD ADDRESS OF LOOP IN TABLE *DSPT*. 04173 M00S04041.acpd +++|* 04174 M00S04042.acpd +++|* EXIT DATA ELEMENTS OF ONE LOOP ARE PRINTED BY THE 04175 M00S04043.acpd +++|* ORDER SPECIFIED IN TABLE *DSPT*. 04176 M00S04044.acpd +++|# 04177 M00S04045.acpd +++| 04178 M00S04046.acpd +++|# 04179 M00S04047.acpd +++|* PARAMETER LIST. 04180 M00S04048.acpd +++|# 04181 M00S04049.acpd +++| 04182 M00S04050.acpd +++| ITEM NSF I; # NUMBER OF RECORDS PER INTERVAL # 04183 M00S04051.acpd +++| ITEM FWA I; # *FWA* OF BLOCK IN *DSPT* TABLE # 04184 M00S04052.acpd +++| ITEM LWA I; # *LWA* OF BLOCK IN *DSPT* TABLE # 04185 M00S04053.acpd +++| 04186 M00S04054.acpd +++|# 04187 M00S04055.acpd +++|**** PROC PUTBLK - XREF LIST BEGIN.
Proceed to Part 2
cdc/nos2.source/opl.opl871/deck/acpd.001.txt ยท Last modified: (external edit)