cdc:nos2.source:opl.opl871:deck:ssval.001
Deck SSVAL Part 001
4 Modifications
Listing Sections
- Deck SSVAL Start
- Deck SSVAL Part 1 (Line 2201)
- Deck SSVAL Part 2 (Line 4460)
- Deck SSVAL Part 3 (Line 6654)
Source
Seq # *Modification Id* Act ----------------------------+ 02201 M00S02199.ssval +++| BEGIN 02202 M00S02200.ssval +++| B<Y,1>VLCM$Z[Z] = 1; 02203 M00S02201.ssval +++| END 02204 M00S02202.ssval +++| 02205 M00S02203.ssval +++| 02206 M00S02204.ssval +++| END # VLCMAP # 02207 M00S02205.ssval +++| 02208 M00S02206.ssval +++| TERM 02209 M00S02207.ssval +++|PROC VLSMSC; 02210 M00S02208.ssval +++|# TITLE VLSMSC - *SM* MAP SCAN. # 02211 M00S02209.ssval +++| 02212 M00S02210.ssval +++| 02213 M00S02211.ssval +++| BEGIN # VLSMSC # 02214 M00S02212.ssval +++| 02215 M00S02213.ssval +++|# 02216 M00S02214.ssval +++|** VLSMSC - SMMAP SCAN. 02217 M00S02215.ssval +++|* 02218 M00S02216.ssval +++|* *VLSMSC* READS THE SMMAP FILE TO FIND ALL ENTRIES ASSIGNED 02219 M00S02217.ssval +++|* TO THE SPECIFIED SUBFAMILY WHICH HAVE NO CORRESPONDING 02220 M00S02218.ssval +++|* *FCT* ENTRY (THE BIT IN THE *VLCMAP* ARRAY IS OFF). 02221 M00S02219.ssval +++|* 02222 M00S02220.ssval +++|* PROC VLSMSC 02223 M00S02221.ssval +++|* 02224 M00S02222.ssval +++|* ENTRY (SMINDX) - *SM* INDEX. 02225 M00S02223.ssval +++|* (PAR$FM) - FAMILY. 02226 M00S02224.ssval +++|* (SBINDX) - SUBFAMILY INDEX. 02227 M00S02225.ssval +++|* (ARRAY VLCMAP) - BIT MAP FOR SMMAP ENTRIES THAT 02228 M00S02226.ssval +++|* HAVE VALID *FCT* ENTRIES. 02229 M00S02227.ssval +++|* 02230 M00S02228.ssval +++|* EXIT IF AN ERROR IS DETECTED, THEN A PROBLEM FILE 02231 M00S02229.ssval +++|* RECORD (RT"SM") IS WRITTEN. 02232 M00S02230.ssval +++|* 02233 M00S02231.ssval +++|* MESSAGES * SMMAP READ ERROR.* 02234 M00S02232.ssval +++|# 02235 M00S02233.ssval +++| 02236 M00S02234.ssval +++|# 02237 M00S02235.ssval +++|**** PROC VLSMSC - XREF LIST BEGIN. 02238 M00S02236.ssval +++|# 02239 M00S02237.ssval +++| 02240 M00S02238.ssval +++| XREF 02241 M00S02239.ssval +++| BEGIN 02242 M00S02240.ssval +++| PROC MGETENT; # RETURN THE MAP ENTRY TO THE 02243 M00S02241.ssval +++| CALLER # 02244 M00S02242.ssval +++| PROC VLERROR; # ISSUE ERROR MESSAGE # 02245 M00S02243.ssval +++| PROC VLWPROB; # WRITE PROBLEM FILE RECORD # 02246 M00S02244.ssval +++| END 02247 M00S02245.ssval +++| 02248 M00S02246.ssval +++|# 02249 M00S02247.ssval +++|**** PROC VLSMSC - XREF LIST END. 02250 M00S02248.ssval +++|# 02251 M00S02249.ssval +++| 02252 M00S02250.ssval +++| DEF LISTCON #0#; # TURN OFF COMMON DECK LISTING # 02253 M00S02251.ssval +++| 02254 M00S02252.ssval +++|*CALL COMBFAS 02255 M00S02253.ssval +++|*CALL COMBCMD 02256 M00S02254.ssval +++|*CALL COMBCMS 02257 M00S02255.ssval +++|*CALL COMBMAP 02258 M00S02256.ssval +++|*CALL COMBMCT 02259 M00S02257.ssval +++|*CALL COMTVLD 02260 M00S02258.ssval +++|*CALL COMTVLF 02261 M00S02259.ssval +++|*CALL COMTVLM 02262 M00S02260.ssval +++| 02263 M00S02261.ssval +++| 02264 M00S02262.ssval +++| ITEM ORD I; # ORDINAL # 02265 M00S02263.ssval +++| 02266 M00S02264.ssval +++| CONTROL EJECT; 02267 M00S02265.ssval +++| 02268 M00S02266.ssval +++|# 02269 M00S02267.ssval +++|* READ THE ENTIRE SMMAP FILE. 02270 M00S02268.ssval +++|# 02271 M00S02269.ssval +++| 02272 M00S02270.ssval +++| SLOWFOR Z = 0 STEP 1 UNTIL MAX$Z 02273 M00S02271.ssval +++| DO 02274 M00S02272.ssval +++| BEGIN # Z COORDINATE SCAN # 02275 M00S02273.ssval +++| SLOWFOR Y = 0 STEP 1 UNTIL MAX$Y 02276 M00S02274.ssval +++| DO 02277 M00S02275.ssval +++| BEGIN # Y COORDINATE SCAN # 02278 M00S02276.ssval +++| ORD = MAXORD - Z - (Y * (MAX$Z+1)); 02279 M00S02277.ssval +++| MGETENT(SMINDX,ORD,LOC(VLMAPAREA),STAT); # READ ENTRY # 02280 M00S02278.ssval +++| IF STAT NQ CMASTAT"NOERR" 02281 M00S02279.ssval +++| THEN 02282 M00S02280.ssval +++| BEGIN 02283 M00S02281.ssval +++| VLERROR(VE"MAPR",ABRT); # ABORT WITH MESSAGE # 02284 M00S02282.ssval +++| END 02285 M00S02283.ssval +++| 02286 M00S02284.ssval +++| P<SMUMAP> = LOC(VLMAPAREA); 02287 M00S02285.ssval +++| 02288 M00S02286.ssval +++|# 02289 M00S02287.ssval +++|* IF THE SMMAP ENTRY IS ASSIGNED TO THE SUBFAMILY BUT THERE 02290 M00S02288.ssval +++|* WAS NO CORRESPONDING *FCT* ENTRY, WRITE AN ENTRY TO THE PROBLEM 02291 M00S02289.ssval +++|* FILE. 02292 M00S02290.ssval +++|# 02293 M00S02291.ssval +++| 02294 M00S02292.ssval +++| IF (CM$CODE[0] EQ CUBSTAT"SUBFAM") 02295 M00S02293.ssval +++| AND (CM$FMLYNM[0] EQ PAR$FM) AND (CM$SUB[0] EQ SBINDX) 02296 M00S02294.ssval +++| AND (B<Y,1>VLCM$Z[Z] EQ 0) 02297 M00S02295.ssval +++| AND CM$FCTORD[0] NQ 0 02298 M00S02296.ssval +++| AND CM$CSND[0] NQ " " 02299 M00S02297.ssval +++| THEN 02300 M00S02298.ssval +++| BEGIN 02301 M00S02299.ssval +++| CSN = CM$CSND[0]; # FIELDS FOR VLWPROB # 02302 M00S02300.ssval +++| FCTORD = CM$FCTORD[0]; 02303 M00S02301.ssval +++| VLWPROB(REC"SM"); # WRITE PROBLEM FILE ENTRY # 02304 M00S02302.ssval +++| END 02305 M00S02303.ssval +++| 02306 M00S02304.ssval +++| END # Y COORDINATE SCAN # 02307 M00S02305.ssval +++| 02308 M00S02306.ssval +++| END # Z COORDINATE SCAN # 02309 M00S02307.ssval +++| 02310 M00S02308.ssval +++| END # VLSMSC # 02311 M00S02309.ssval +++| 02312 M00S02310.ssval +++| TERM 02313 M00S02311.ssval +++|PROC VLERROR((ERNUM),(ABTFLG)); 02314 M00S02312.ssval +++|# TITLE VLERROR - ISSUE ERROR MESSAGE. # 02315 M00S02313.ssval +++| 02316 M00S02314.ssval +++| 02317 M00S02315.ssval +++| BEGIN # VLERROR # 02318 M00S02316.ssval +++| 02319 M00S02317.ssval +++|# 02320 M00S02318.ssval +++|** VLERROR - ISSUE ERROR MESSAGE. 02321 M00S02319.ssval +++|* 02322 M00S02320.ssval +++|* THE ERROR MESSAGE SPECIFIED BY *ERNUM* IS ISSUED TO THE 02323 M00S02321.ssval +++|* DAYFILE AND REPORT FILE (IF OPENED). IF SELECTED, PARAMETERS 02324 M00S02322.ssval +++|* FROM THE *MPARAM* ARRAY MAY BE INSERTED INTO THE MESSAGE TEXT 02325 M00S02323.ssval +++|* FIRST. ALSO, A DETAIL STATUS FROM *STAT* WILL BE ISSUED IF 02326 M00S02324.ssval +++|* SPECIFIED. THE OPTIONS FOR A SPECIFIC ERROR ARE DEFINED 02327 M00S02325.ssval +++|* WITH THE ERROR MESSAGE TEXT (IN COMTVLD) AND RESIDE IN A 02328 M00S02326.ssval +++|* LOCAL ARRAY. 02329 M00S02327.ssval +++|* 02330 M00S02328.ssval +++|* PROC VLERROR(ERNUM,ABTFLG) 02331 M00S02329.ssval +++|* 02332 M00S02330.ssval +++|* ENTRY (ABTFLG) - ABORT FLAG (PROGRAM ABORTED IF TRUE) 02333 M00S02331.ssval +++|* (ERNUM) - ERROR NUMBER (FROM STATUS LIST *VE* 02334 M00S02332.ssval +++|* IN COMTVLD). 02335 M00S02333.ssval +++|* (RPTFADR) - REPORT FILE *FET* ADDRESS (ZERO IF 02336 M00S02334.ssval +++|* NOT OPENED). 02337 M00S02335.ssval +++|* (STAT) - DETAIL STATUS VALUE (OPTIONAL). 02338 M00S02336.ssval +++|* (ARRAY MPARAM) - CONTAINS PARAMETERS FOR ERROR MESSAGE 02339 M00S02337.ssval +++|* TEXT (OPTIONAL). 02340 M00S02338.ssval +++|* 02341 M00S02339.ssval +++|* EXIT (CNTPROGERR) - COUNT OF ERRORS. 02342 M00S02340.ssval +++|* 02343 M00S02341.ssval +++|* THE ERROR MESSAGE IS ISSUED TO THE REPORT FILE IF THE 02344 M00S02342.ssval +++|* FILE IS OPENED. 02345 M00S02343.ssval +++|* 02346 M00S02344.ssval +++|* MESSAGES * ** ERROR MESSAGE TEXT * 02347 M00S02345.ssval +++|* * DETAIL STATUS = NNN * (OPTIONAL) 02348 M00S02346.ssval +++|* 02349 M00S02347.ssval +++|# 02350 M00S02348.ssval +++| 02351 M00S02349.ssval +++| ITEM ERNUM I; # ERROR NUMBER # 02352 M00S02350.ssval +++| ITEM ABTFLG I; # ABORT RUN FLAG # 02353 M00S02351.ssval +++| 02354 M00S02352.ssval +++|# 02355 M00S02353.ssval +++|**** PROC VLERROR - XREF LIST BEGIN. 02356 M00S02354.ssval +++|# 02357 M00S02355.ssval +++| 02358 M00S02356.ssval +++| XREF 02359 M00S02357.ssval +++| BEGIN 02360 M00S02358.ssval +++| PROC MESSAGE; # INTERFACE TO *MESSAGE* MACRO # 02361 M00S02359.ssval +++| PROC RESTPFP; # RESTORE USER-S *PFP* AND ABORT 02362 M00S02360.ssval +++| OR RETURN # 02363 M00S02361.ssval +++| PROC RPCLOSE; # CLOSES A PRINT FILE # 02364 M00S02362.ssval +++| PROC RPLINE; # CALLS *RPLINEX* TO PRINT A 02365 M00S02363.ssval +++| LINE # 02366 M00S02364.ssval +++| PROC VLMSG; # ISSUE INFORMATIONAL MESSAGE # 02367 M00S02365.ssval +++| FUNC VLNTC C(10); # NUMERIC TO CHARACTER 02368 M00S02366.ssval +++| CONVERSION # 02369 M00S02367.ssval +++| PROC VLPFILL; # FILL PARAMETER IN MESSAGE 02370 M00S02368.ssval +++| TEXT # 02371 M00S02369.ssval +++| END 02372 M00S02370.ssval +++| 02373 M00S02371.ssval +++|# 02374 M00S02372.ssval +++|**** PROC VLERROR - XREF LIST END. 02375 M00S02373.ssval +++|# 02376 M00S02374.ssval +++| 02377 M00S02375.ssval +++| DEF LISTCON #0#; 02378 M00S02376.ssval +++| 02379 M00S02377.ssval +++|*CALL COMBFAS 02380 M00S02378.ssval +++|*CALL COMTVLD 02381 M00S02379.ssval +++|*CALL COMTVLF 02382 M00S02380.ssval +++| 02383 M00S02381.ssval +++| ITEM N I; # TEMPORARY VARIABLE # 02384 M00S02382.ssval +++| ITEM NP I; # TEMPORARY VARIABLE # 02385 M00S02383.ssval +++| 02386 M00S02384.ssval +++| ARRAY TEXT [0:0] S(5); # TO FORMAT ERROR MESSAGE # 02387 M00S02385.ssval +++| BEGIN 02388 M00S02386.ssval +++| ITEM TEX$MSG C(00,00,40); # MESSAGE TEXT # 02389 M00S02387.ssval +++| ITEM TEX$LEAD C(00,00,03); # LEADING CODES # 02390 M00S02388.ssval +++| ITEM TEX$ZERO U(04,00,60) = [ 0 ]; # ZERO BYTE # 02391 M00S02389.ssval +++| END 02392 M00S02390.ssval +++| 02393 M00S02391.ssval +++| ARRAY ERRCODES [0:0] S(1); # ERROR OPTION CODES # 02394 M00S02392.ssval +++| BEGIN 02395 M00S02393.ssval +++| ITEM ERR$CODES C(00,00,03); 02396 M00S02394.ssval +++| ITEM ERR$STAT C(00,00,01); # DETAIL STATUS FLAG # 02397 M00S02395.ssval +++| ITEM ERR$PARN U(00,06,06); # NUMBER OF PARAMETERS # 02398 M00S02396.ssval +++| END 02399 M00S02397.ssval +++| 02400 M00S02398.ssval +++| 02401 M00S02399.ssval +++| ARRAY DTLSTAT [0:0] S(5); # DETAIL STATUS MESSAGE # 02402 M00S02400.ssval +++| BEGIN 02403 M00S02401.ssval +++| ITEM DTL$MSG C(00,00,40) = [" DETAIL STATUS = "]; 02404 M00S02402.ssval +++| ITEM DTL$NUM C(02,00,04); # STATUS VALUE # 02405 M00S02403.ssval +++| ITEM DTL$ZERO U(04,00,60) = [ 0 ]; 02406 M00S02404.ssval +++| END 02407 M00S02405.ssval +++| 02408 M00S02406.ssval +++|# 02409 M00S02407.ssval +++|* ARRAY OF DEFINED ERROR MESSAGE TEXTS. WARNING - THE ORDER 02410 M00S02408.ssval +++|* OF THIS LIST IS DEPENDENT ON THE STATUS LIST "VE". 02411 M00S02409.ssval +++|* THE TEXTS ARE DEFINED IN *COMTVLD*. 02412 M00S02410.ssval +++|# 02413 M00S02411.ssval +++| 02414 M00S02412.ssval +++| ARRAY ERRTEXT [0:VE"EREND"] S(4); # ERROR MESSAGES ARRAY # 02415 M00S02413.ssval +++| BEGIN 02416 M00S02414.ssval +++| ITEM ERRMSG C(00,00,40) = [ " NO ERROR ", 02417 M00S02415.ssval +++| MSYNTAX, 02418 M00S02416.ssval +++| MSMPAR, 02419 M00S02417.ssval +++| MFXPAR, 02420 M00S02418.ssval +++| MSBPAR, 02421 M00S02419.ssval +++| MSTPAR, 02422 M00S02420.ssval +++| MLFRF, 02423 M00S02421.ssval +++| MRLNRF, 02424 M00S02422.ssval +++| MRFFM, 02425 M00S02423.ssval +++| MRFAM, 02426 M00S02424.ssval +++| MRDFH, 02427 M00S02425.ssval +++| MRDFL, 02428 M00S02426.ssval +++| MRDFU, 02429 M00S02427.ssval +++| MCATO, 02430 M00S02428.ssval +++| MCATR, 02431 M00S02429.ssval +++| MMAPO, 02432 M00S02430.ssval +++| MMAPR, 02433 M00S02431.ssval +++| MNOFL, 02434 M00S02432.ssval +++| MNCONN, 02435 M00S02433.ssval +++| MUCPERR, 02436 M00S02434.ssval +++| MNOFAM, 02437 M00S02435.ssval +++| MPFCER, 02438 M00S02436.ssval +++| MDUPSM, 02439 M00S02437.ssval +++| MDUPSB, 02440 M00S02438.ssval +++| MSYSERR, 02441 M00S02439.ssval +++| MABORT, 02442 M00S02440.ssval +++| " " ]; 02443 M00S02441.ssval +++| END 02444 M00S02442.ssval +++| 02445 M00S02443.ssval +++| CONTROL EJECT; 02446 M00S02444.ssval +++| CNTPROGERR = CNTPROGERR + 1; 02447 M00S02445.ssval +++| 02448 M00S02446.ssval +++|# 02449 M00S02447.ssval +++|* SET UP THE MESSAGE TEXT BASED ON THE ERROR NUMBER. 02450 M00S02448.ssval +++|# 02451 M00S02449.ssval +++| 02452 M00S02450.ssval +++| TEX$MSG[0] = ERRMSG[ERNUM]; 02453 M00S02451.ssval +++| ERR$CODES[0] = TEX$LEAD[0]; 02454 M00S02452.ssval +++| 02455 M00S02453.ssval +++|# 02456 M00S02454.ssval +++|* INSERT PARAMETERS INTO TEXT IF SPECIFIED. 02457 M00S02455.ssval +++|# 02458 M00S02456.ssval +++| 02459 M00S02457.ssval +++| IF ERR$PARN[0] NQ " " 02460 M00S02458.ssval +++| THEN # PARAMETERS SPECIFIED # 02461 M00S02459.ssval +++| BEGIN 02462 M00S02460.ssval +++| NP = ERR$PARN[0] - "0"; # CALCULATE THE NUMBER OF 02463 M00S02461.ssval +++| PARAMETERS # 02464 M00S02462.ssval +++| SLOWFOR N = 1 STEP 1 UNTIL NP 02465 M00S02463.ssval +++| DO 02466 M00S02464.ssval +++| BEGIN # N # 02467 M00S02465.ssval +++| VLPFILL(TEXT,MPARAM[N]); # MOVE PARAMETER TO TEXT # 02468 M00S02466.ssval +++| END # N # 02469 M00S02467.ssval +++| 02470 M00S02468.ssval +++| END 02471 M00S02469.ssval +++| 02472 M00S02470.ssval +++|# 02473 M00S02471.ssval +++|* ISSUE ERROR TEXT TO DAYFILE. 02474 M00S02472.ssval +++|# 02475 M00S02473.ssval +++| 02476 M00S02474.ssval +++| TEX$LEAD[0] = " **"; # DAYFILE MSG MUST HAVE 1 BLANK # 02477 M00S02475.ssval +++| MESSAGE(TEXT,SYSUDF1); 02478 M00S02476.ssval +++| 02479 M00S02477.ssval +++|# 02480 M00S02478.ssval +++|* ISSUE ERROR TEXT TO REPORT FILE, IF IT IS OPEN. 02481 M00S02479.ssval +++|# 02482 M00S02480.ssval +++| 02483 M00S02481.ssval +++| IF RPTFADR NQ 0 02484 M00S02482.ssval +++| THEN 02485 M00S02483.ssval +++| BEGIN 02486 M00S02484.ssval +++| RPLINE(RPTFADR," ",0,1,EOPL); # BLANK LINE # 02487 M00S02485.ssval +++| TEX$LEAD[0] = "***"; # ERROR FLAG # 02488 M00S02486.ssval +++| RPLINE(RPTFADR,TEXT,4,40,EOPL); # ISSUE ERROR MESSAGE # 02489 M00S02487.ssval +++| END 02490 M00S02488.ssval +++| 02491 M00S02489.ssval +++|# 02492 M00S02490.ssval +++|* ISSUE DETAIL STATUS, IF SPECIFIED. 02493 M00S02491.ssval +++|# 02494 M00S02492.ssval +++| 02495 M00S02493.ssval +++| IF ERR$STAT[0] EQ "S" 02496 M00S02494.ssval +++| THEN 02497 M00S02495.ssval +++| BEGIN 02498 M00S02496.ssval +++| DTL$NUM[0] = VLNTC(STAT,"XCOD",4); # SET NUMBER FROM *STAT* # 02499 M00S02497.ssval +++| MESSAGE(DTLSTAT,SYSUDF1); # ISSUE DETAIL MESSAGE # 02500 M00S02498.ssval +++| IF RPTFADR NQ 0 02501 M00S02499.ssval +++| THEN 02502 M00S02500.ssval +++| BEGIN 02503 M00S02501.ssval +++| RPLINE(RPTFADR,DTLSTAT,4,40,EOPL); # ISSUE TO REPORT FILE # 02504 M00S02502.ssval +++| END 02505 M00S02503.ssval +++| 02506 M00S02504.ssval +++| END 02507 M00S02505.ssval +++| 02508 M00S02506.ssval +++|# 02509 M00S02507.ssval +++|* IF ABORT FLAG IS SET, ABORT. 02510 M00S02508.ssval +++|# 02511 M00S02509.ssval +++| 02512 M00S02510.ssval +++| IF (ABTFLG EQ ABRT) 02513 M00S02511.ssval +++| THEN 02514 M00S02512.ssval +++| BEGIN 02515 M00S02513.ssval +++| IF (RPTFADR NQ 0) # CLOSE REPORT FILE IF IT IS 02516 M00S02514.ssval +++| OPENED # 02517 M00S02515.ssval +++| THEN 02518 M00S02516.ssval +++| BEGIN 02519 M00S02517.ssval +++| RPCLOSE(RPTFADR); 02520 M00S02518.ssval +++| END 02521 M00S02519.ssval +++| 02522 M00S02520.ssval +++| VLMSG(VM"VLABT"); # ISSUE SSVAL ABORTED MESSAGE # 02523 M00S02521.ssval +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 02524 M00S02522.ssval +++| END 02525 M00S02523.ssval +++| 02526 M00S02524.ssval +++| RETURN; 02527 M00S02525.ssval +++| 02528 M00S02526.ssval +++| END # VLERROR # 02529 M00S02527.ssval +++| 02530 M00S02528.ssval +++| TERM 02531 M00S02529.ssval +++|PROC VLFIX; 02532 M00S02530.ssval +++|# TITLE VLFIX - FIX CATALOGS. # 02533 M00S02531.ssval +++| 02534 M00S02532.ssval +++| 02535 M00S02533.ssval +++| BEGIN # VLFIX # 02536 M00S02534.ssval +++| 02537 M00S02535.ssval +++|# 02538 M00S02536.ssval +++|** VLFIX - FIX CATALOGS. 02539 M00S02537.ssval +++|* 02540 M00S02538.ssval +++|* *VLFIX* READS THE FIXIT FILE AND MODIFIES THE CORRESPONDING 02541 M00S02539.ssval +++|* CATALOG ENTRIES DEPENDING UPON THE MODE SPECIFIED BY THE 02542 M00S02540.ssval +++|* CONTROL CARD PARAMETERS. 02543 M00S02541.ssval +++|* 02544 M00S02542.ssval +++|* PROC VLFIX 02545 M00S02543.ssval +++|* 02546 M00S02544.ssval +++|* ENTRY (CNTORPHANS) - COUNT OF TROUBLE-FREE ORPHANS. 02547 M00S02545.ssval +++|* (CONNECTED) - CONNECTED TO *EXEC* FLAG. 02548 M00S02546.ssval +++|* (PAR$FX) - FX CONTROL CARD PARAMETER. 02549 M00S02547.ssval +++|* (PAR$RF) - RF CONTROL CARD PARAMETER. 02550 M00S02548.ssval +++|* (PAR$RL) - RL CONTROL CARD PARAMETER. 02551 M00S02549.ssval +++|* (RDFDT) - *RDF* FILE PACKED DATE AND TIME. 02552 M00S02550.ssval +++|* (RELEASABLE) - COUNT OF RELEASABLE AU-S. 02553 M00S02551.ssval +++|* (TOTALERRS) - TOTAL VALIDATION ERRORS. 02554 M00S02552.ssval +++|* (ARRAY FIXFILE) - FIXIT FILE *FET*. 02555 M00S02553.ssval +++|* 02556 M00S02554.ssval +++|* EXIT RELEASE PROCESSING OCCURRED IF MODE IS EQUAL TO 02557 M00S02555.ssval +++|* RELEASE. 02558 M00S02556.ssval +++|* REPAIR PROCESSING OCCURRED IF MODE IS EQUAL TO FIX. 02559 M00S02557.ssval +++|* INFORMATIONAL LINES WERE WRITTEN TO THE REPORT FILE. 02560 M00S02558.ssval +++|* 02561 M00S02559.ssval +++|* MESSAGES * TOTAL VALIDATION ERRORS = NNN * 02562 M00S02560.ssval +++|* * RELEASABLE M860 FILE = NNNN * 02563 M00S02561.ssval +++|* * RELEASABLE M860 AU-S = NNNN * 02564 M00S02562.ssval +++|* * CATALOGS NOT MODIFIED * 02565 M00S02563.ssval +++|* * CATALOGS MODIFIED * 02566 M00S02564.ssval +++|* * FREE FILES NOT RELEASED * 02567 M00S02565.ssval +++|* * FREE FILES RELEASED * 02568 M00S02566.ssval +++|* 02569 M00S02567.ssval +++|* NOTES THE MODES OF PROCESSING ARE - 02570 M00S02568.ssval +++|* 02571 M00S02569.ssval +++|* . RELEASE - RELEASE ORPHANS IN THE SFM CATALOG. 02572 M00S02570.ssval +++|* THIS MODE IS SET IF - 02573 M00S02571.ssval +++|* THE *RF* AND *RL* PARAMETERS WERE SPECIFIED AND 02574 M00S02572.ssval +++|* THE *TOTALERRS* IS LESS THAN THE *FX* PARAMETER. 02575 M00S02573.ssval +++|* 02576 M00S02574.ssval +++|* . FIX - SET APPROPRIATE FLAGS IN THE CATALOGS FOR 02577 M00S02575.ssval +++|* ERRORS DETECTED. 02578 M00S02576.ssval +++|* THIS MODE IS SET IF - 02579 M00S02577.ssval +++|* THE *FM* PARAMETER IS SET AND THE *TOTALERRS* 02580 M00S02578.ssval +++|* IS LESS THAN THE *FX* PARAMETER. 02581 M00S02579.ssval +++|* 02582 M00S02580.ssval +++|* . NONE - NO CATALOG MODIFICATIONS. 02583 M00S02581.ssval +++|* THIS MODE IS SET IF *SSVAL* IS NOT CONNECTED 02584 M00S02582.ssval +++|* TO *EXEC* OR NOT IN FIX OR RELEASE MODE. 02585 M00S02583.ssval +++|* 02586 M00S02584.ssval +++|* RELEASE OF FREE AU-S IN A SPECIFIC SUBCATALOG 02587 M00S02585.ssval +++|* OCCURS ONLY IF THE DATE AND TIME IN THE *RDF* FILE IS 02588 M00S02586.ssval +++|* MORE RECENT THAN THE LAST PURGE DATE AND TIME FOR THE 02589 M00S02587.ssval +++|* SUBCATALOG. 02590 M00S02588.ssval +++|* 02591 M00S02589.ssval +++|* THE REPAIRS THAT *SSVAL* CAN PERFORM ARE DEFINED IN 02592 M00S02590.ssval +++|* THE ARRAY *FIXARRAY*. THE REPAIRS TO BE TAKEN FOR 02593 M00S02591.ssval +++|* A SPECIFIC FIXIT FILE RECORD ARE DETERMINED BY THE 02594 M00S02592.ssval +++|* RECORD TYPE WHICH REFLECTS THE TYPE OF ERROR THAT 02595 M00S02593.ssval +++|* OCCURRED DURING VALIDATION. 02596 M00S02594.ssval +++|* 02597 M00S02595.ssval +++|# 02598 M00S02596.ssval +++| 02599 M00S02597.ssval +++|# 02600 M00S02598.ssval +++|**** PROC VLFIX - XREF LIST BEGIN. 02601 M00S02599.ssval +++|# 02602 M00S02600.ssval +++| 02603 M00S02601.ssval +++| XREF 02604 M00S02602.ssval +++| BEGIN 02605 M00S02603.ssval +++| PROC READ; # INTERFACE TO *READ* MACRO # 02606 M00S02604.ssval +++| PROC READW; # INTERFACE TO *READW* MACRO #
Line S00001 Modification History | |
---|---|
M01 (Added by) | ssval3 |
Seq # *Modification Id* Act ----------------------------+ 02607 M01S00001.ssval3 +++| PROC RETERN; # RETURN LOCAL FILE # 02608 M00S02605.ssval +++| PROC REWIND; # INTERFACE TO *REWIND* MACRO # 02609 M00S02606.ssval +++| PROC RPEJECT; # STARTS A NEW REPORT PAGE # 02610 M00S02607.ssval +++| PROC VLFIXP; # CONNECTS *PF* AND SETS *ASA* # 02611 M00S02608.ssval +++| PROC VLERROR; # ISSUE ERROR MESSAGE # 02612 M00S02609.ssval +++| PROC VLLPDT; # GET LAST PURGE DATE AND TIME # 02613 M00S02610.ssval +++| PROC VLMSG; # ISSUE INFORMATIONAL MESSAGE # 02614 M00S02611.ssval +++| FUNC VLNTC C(10); # NUMERIC TO CHARACTER 02615 M00S02612.ssval +++| CONVERSION # 02616 M00S02613.ssval +++| PROC VLREQEX; # REQUEST TO EXEC #
Line S00002 Modification History | |
---|---|
M01 (Added by) | ssval3 |
Seq # *Modification Id* Act ----------------------------+ 02617 M01S00002.ssval3 +++| PROC WRITEW; # WRITE TO WORKING BUFFER # 02618 M00S02614.ssval +++| PROC WRITEF; # INTERFACE TO *WRITEF* MACRO # 02619 M00S02615.ssval +++| END 02620 M00S02616.ssval +++| 02621 M00S02617.ssval +++|# 02622 M00S02618.ssval +++|**** PROC VLFIX - XREF LIST END. 02623 M00S02619.ssval +++|# 02624 M00S02620.ssval +++| 02625 M00S02621.ssval +++| DEF LISTCON #0#; # TURN OFF COMMON DECK LISTING # 02626 M00S02622.ssval +++| 02627 M00S02623.ssval +++|*CALL COMBFAS 02628 M00S02624.ssval +++|*CALL COMBCPR 02629 M00S02625.ssval +++|*CALL COMTVLD 02630 M00S02626.ssval +++|*CALL COMTVLF 02631 M00S02627.ssval +++|*CALL COMTVLV 02632 M00S02628.ssval +++| 02633 M00S02629.ssval +++| STATUS PROCTYP # PROCESSING TYPE # 02634 M00S02630.ssval +++| NONE, 02635 M00S02631.ssval +++| FIX, # FIX CATALOGS # 02636 M00S02632.ssval +++| RELEASE, # RELEASE FILE SPACE # 02637 M00S02633.ssval +++| PTEND; 02638 M00S02634.ssval +++| 02639 M00S02635.ssval +++| DEF FREE #0#; # SET FREE FLAG IN PFC # 02640 M00S02636.ssval +++| DEF ZERO #1#; # ZERO *PFC* ASA # 02641 M00S02637.ssval +++| 02642 M00S02638.ssval +++| ITEM FREFL B; # FREE CARTRIDGE FLAG SET # 02643 M00S02639.ssval +++| ITEM MODE S : PROCTYP = S"NONE"; # MODE FOR FIX PROCESS # 02644 M00S02640.ssval +++| ITEM LPDT U; # LAST PURGE DATE-TIME # 02645 M00S02641.ssval +++| ITEM FIXACTION I; # FIX ACTIONS FOR FIXIT RECORD # 02646 M00S02642.ssval +++| ITEM RDF$BEFORE B; # RDF BEFORE PURGE DATE # 02647 M00S02643.ssval +++| ITEM RELEASED B; # FREE FILES RELEASED FLAG # 02648 M00S02644.ssval +++| 02649 M00S02645.ssval +++|# 02650 M00S02646.ssval +++|* ACTION FLAGS TO DEFINE THE CATALOG REPAIRS THAT *SSVAL* CAN 02651 M00S02647.ssval +++|* PERFORM. 02652 M00S02648.ssval +++|# 02653 M00S02649.ssval +++| 02654 M00S02650.ssval +++| DEF ACT$NONE #O"000000"#; # NO ACTION # 02655 M00S02651.ssval +++| DEF ACT$UMAP #O"000001"#; # UPDATE SMMAP # 02656 M00S02652.ssval +++| DEF ACT$UPFC #O"000010"#; # UPDATE *PFC* ENTRY # 02657 M00S02653.ssval +++| DEF ACT$USM #O"000100"#; # UPDATE *SM* FLAG IN SFM 02658 M00S02654.ssval +++| CATALOG # 02659 M00S02655.ssval +++| DEF ACT$UFROZ #O"001000"#; # UPDATE FROZEN AU FLAG # 02660 M00S02656.ssval +++| DEF ACT$USOF #O"010000"#; # UPDATE *SOF* AU FLAG # 02661 M00S02657.ssval +++| DEF ACT$INHIB #O"100000"#; # SET INHIBIT FLAG IN *FCT* # 02662 M00S02658.ssval +++| DEF ACT$P$F$S #O"011010"#; 02663 M00S02659.ssval +++| DEF ACT$F$S #O"011000"#; # MULTIPLE ACTIONS # 02664 M00S02660.ssval +++| DEF ACT$UC$INH #O"100100"#; # MULTIPLE ACTIONS # 02665 M00S02661.ssval +++| DEF ACT$UF$UI #O"101000"#; # MULTIPLE ACTIONS #
Line S00003 Modification History | |
---|---|
M01 (Added by) | ssval3 |
Seq # *Modification Id* Act ----------------------------+ 02666 M01S00003.ssval3 +++| 02667 M01S00004.ssval3 +++|# 02668 M01S00005.ssval3 +++|* *CPR* WORKING BUFFER. 02669 M01S00006.ssval3 +++|# 02670 M01S00007.ssval3 +++| 02671 M01S00008.ssval3 +++| ARRAY CPRARRAY [0:0] S(CPRLEN);; 02672 M01S00009.ssval3 +++| 02673 M00S02662.ssval +++| 02674 M00S02663.ssval +++|# 02675 M00S02664.ssval +++|* DEFINE ACTIONS TO TAKE FOR THE VARIOUS FIXIT FILE RECORD TYPES. 02676 M00S02665.ssval +++|* DURING THE VALIDATION PROCESS, RECORDS WERE WRITTEN TO THE FIXIT 02677 M00S02666.ssval +++|* FILE FOR PROBLEMS DETECTED. THE RECORD TYPE REFLECTS THE TYPE OF 02678 M00S02667.ssval +++|* REPAIR PROCESSING TO BE DONE. 02679 M00S02668.ssval +++|# 02680 M00S02669.ssval +++| 02681 M00S02670.ssval +++| ARRAY FIXARRAY [0:REC"REND"] S(1); # FIX ACTIONS FOR FIX 02682 M00S02671.ssval +++| RECORDS # 02683 M00S02672.ssval +++| BEGIN 02684 M00S02673.ssval +++| ITEM FIXA$WD U(00,00,60); 02685 M00S02674.ssval +++| ITEM FIXA$TFO U(REC"TFORPH",0,60) = [ACT$NONE]; 02686 M00S02675.ssval +++| ITEM FIXA$FCT U(REC"FCT",0,60) = [ACT$UC$INH]; 02687 M00S02676.ssval +++| ITEM FIXA$SM U(REC"SM",0,60) = [ACT$UMAP]; 02688 M00S02677.ssval +++| ITEM FIXA$ASA U(REC"ASA",0,60) = [ACT$UPFC]; 02689 M00S02678.ssval +++| ITEM FIXA$PFC U(REC"OTHR",0,60) = [ACT$P$F$S]; 02690 M00S02679.ssval +++| ITEM FIXA$ORPH U(REC"BADORPH",0,60) = [ACT$UFROZ]; 02691 M00S02680.ssval +++| ITEM FIXA$FRAG U(REC"FRAG",0,60) = [ACT$F$S]; 02692 M00S02681.ssval +++| ITEM FIXA$HOLE U(REC"BADHOLE",0,60) = [ACT$UF$UI]; 02693 M00S02682.ssval +++| END 02694 M00S02683.ssval +++| 02695 M00S02684.ssval +++| CONTROL EJECT; 02696 M00S02685.ssval +++| 02697 M00S02686.ssval +++|# 02698 M00S02687.ssval +++|* CLOSE THE FIXIT FILE. 02699 M00S02688.ssval +++|# 02700 M00S02689.ssval +++| 02701 M00S02690.ssval +++| FREFL = FALSE; 02702 M00S02691.ssval +++| WRITEF(FIXITFILE,RCL); 02703 M00S02692.ssval +++| REWIND(FIXITFILE,RCL); 02704 M00S02693.ssval +++| 02705 M00S02694.ssval +++|# 02706 M00S02695.ssval +++|* ISSUE COUNT OF ORPHANS. 02707 M00S02696.ssval +++|# 02708 M00S02697.ssval +++| 02709 M00S02698.ssval +++| MP$WD[1] = VLNTC(CNTORPHANS,"XCDD",5); 02710 M00S02699.ssval +++| VLMSG(VM"NTFO"); 02711 M00S02700.ssval +++| 02712 M00S02701.ssval +++|# 02713 M00S02702.ssval +++|* ISSUE COUNT OF RELEASABLE AU-S. 02714 M00S02703.ssval +++|# 02715 M00S02704.ssval +++| 02716 M00S02705.ssval +++| MP$WD[1] = VLNTC(RELEASABLE,"XCDD",6); 02717 M00S02706.ssval +++| VLMSG(VM"RSPACE");
Line S00003 Modification History | |
---|---|
M01 (Added by) | msea011 |
Seq # *Modification Id* Act ----------------------------+ 02718 M01S00003.msea011 +++| 02719 M01S00004.msea011 +++|# 02720 M01S00005.msea011 +++|* ISSUE NUMBER OF PFC SYSTEM AND DATA ERRORS. 02721 M01S00006.msea011 +++|# 02722 M01S00007.msea011 +++| 02723 M01S00008.msea011 +++| IF TPFCERRS NQ 0 02724 M01S00009.msea011 +++| THEN 02725 M01S00010.msea011 +++| BEGIN 02726 M01S00011.msea011 +++| MP$WD[1] = VLNTC(TPFCERRS,"XCDD",4); 02727 M01S00012.msea011 +++| VLMSG(VM"TPFCER"); 02728 M01S00013.msea011 +++| END 02729 M00S02707.ssval +++| 02730 M00S02708.ssval +++|# 02731 M00S02709.ssval +++|* ISSUE NUMBER OF VALIDATION ERRORS. 02732 M00S02710.ssval +++|# 02733 M00S02711.ssval +++| 02734 M00S02712.ssval +++| MP$WD[1] = VLNTC(TOTALERRS,"XCDD",4); 02735 M00S02713.ssval +++| VLMSG(VM"TOTERR"); 02736 M00S02714.ssval +++| 02737 M00S02715.ssval +++|# 02738 M00S02716.ssval +++|* IF NOT CONNECTED TO EXEC, NO FIX/RELEASE PROCESSING CAN BE DONE. 02739 M00S02717.ssval +++|# 02740 M00S02718.ssval +++| 02741 M00S02719.ssval +++| IF NOT CONNECTED 02742 M00S02720.ssval +++| THEN 02743 M00S02721.ssval +++| BEGIN 02744 M00S02722.ssval +++| VLMSG(VM"NOFIX"); # ISSUE MESSAGE # 02745 M00S02723.ssval +++| RETURN; 02746 M00S02724.ssval +++| END 02747 M00S02725.ssval +++| 02748 M00S02726.ssval +++|# 02749 M00S02727.ssval +++|* DETERMINE MODE OF FIX PROCESSING BASED ON CONTROL CARD 02750 M00S02728.ssval +++|* PARAMETERS AND VALIDATION TOTAL ERRORS. 02751 M00S02729.ssval +++|# 02752 M00S02730.ssval +++| 02753 M00S02731.ssval +++| IF (PAR$RF EQ 0) AND (TOTALERRS LQ PAR$FX) 02754 M00S02732.ssval +++| AND (TOTALERRS NQ 0) 02755 M00S02733.ssval +++| THEN 02756 M00S02734.ssval +++| BEGIN 02757 M00S02735.ssval +++| VLMSG(VM"UPDED"); # ISSUE MESSAGE # 02758 M00S02736.ssval +++| MODE = S"FIX"; # FIX CATALOG MODE # 02759 M00S02737.ssval +++| END 02760 M00S02738.ssval +++| 02761 M00S02739.ssval +++| IF (PAR$RF NQ 0) AND (PAR$RL NQ 0) AND (TOTALERRS LQ PAR$FX) 02762 M00S02740.ssval +++| THEN 02763 M00S02741.ssval +++| BEGIN 02764 M00S02742.ssval +++| RELEASED = FALSE; # INITIALIZE FILES RELEASED FLAG # 02765 M00S02743.ssval +++| RDF$BEFORE = FALSE; # INITIALIZE RDF FLAG # 02766 M00S02744.ssval +++| MODE = S"RELEASE"; # RELEASE ORPHANS MODE # 02767 M00S02745.ssval +++| END 02768 M00S02746.ssval +++| 02769 M00S02747.ssval +++| IF MODE EQ S"NONE" 02770 M00S02748.ssval +++| THEN 02771 M00S02749.ssval +++| BEGIN 02772 M00S02750.ssval +++| VLMSG(VM"NOFIX"); # ISSUE MESSAGE # 02773 M00S02751.ssval +++| END 02774 M00S02752.ssval +++| 02775 M00S02753.ssval +++| 02776 M00S02754.ssval +++|# 02777 M00S02755.ssval +++|* READ THE FIXIT FILE AND PERFORM FIX/RELEASE ACTIONS BASED ON 02778 M00S02756.ssval +++|* RECORD TYPE. 02779 M00S02757.ssval +++|# 02780 M00S02758.ssval +++| 02781 M00S02759.ssval +++| READ(FIXITFILE,NRCL); 02782 M00S02760.ssval +++| STAT = OK; 02783 M00S02761.ssval +++| REPEAT WHILE STAT EQ OK 02784 M00S02762.ssval +++| DO 02785 M00S02763.ssval +++| BEGIN # PROCESS FIXIT FILE # 02786 M00S02764.ssval +++| READW(FIXITFILE,EXTRECORD,RLFIX,STAT); 02787 M00S02765.ssval +++| IF STAT NQ 0 02788 M00S02766.ssval +++| THEN 02789 M00S02767.ssval +++| BEGIN 02790 M00S02768.ssval +++| TEST DUMMY; # EXIT, NO RECORD TO PROCESS # 02791 M00S02769.ssval +++| END 02792 M00S02770.ssval +++| 02793 M00S02771.ssval +++| SMINDX = EXTR$SM[0]; 02794 M00S02772.ssval +++| SBINDX = EXTR$SB[0]; 02795 M00S02773.ssval +++| 02796 M00S02774.ssval +++|# 02797 M00S02775.ssval +++|* FOR RELEASE MODE, PURGE TROUBLE-FREE ORPHANS. 02798 M00S02776.ssval +++|# 02799 M00S02777.ssval +++| 02800 M00S02778.ssval +++| IF (MODE EQ S"RELEASE") AND (FIX$RT[0] EQ REC"TFORPH") 02801 M00S02779.ssval +++| THEN 02802 M00S02780.ssval +++| BEGIN # RELEASE ORPHANS # 02803 M00S02781.ssval +++| VLLPDT(EXTR$SB[0],EXTR$SM[0],LPDT); # RETURNS LAST PURGE 02804 M00S02782.ssval +++| DATE/TIME # 02805 M00S02783.ssval +++| 02806 M00S02784.ssval +++|# 02807 M00S02785.ssval +++|* RELEASE ONLY IF THE SUBCATALOG LAST PURGE DATE/TIME IS LESS THAN 02808 M00S02786.ssval +++|* THE RDF FILE DATE/TIME. 02809 M00S02787.ssval +++|# 02810 M00S02788.ssval +++| 02811 M00S02789.ssval +++| IF LPDT LS RDFDT 02812 M00S02790.ssval +++| THEN 02813 M00S02791.ssval +++| BEGIN
Line S02792 Modification History | |
---|---|
M01 (Removed by) | ssval3 |
Seq # *Modification Id* Act ----------------------------+ 02814 M01S02792.ssval3 ---| VLREQEX(TYP"TYP3",REQTYP3"PURG$ORPH");
Line S00010 Modification History | |
---|---|
M01 (Added by) | ssval3 |
Seq # *Modification Id* Act ----------------------------+ 02815 M01S00010.ssval3 +++|# 02816 M01S00011.ssval3 +++|* CONVERT TO *CPR* FORMAT. 02817 M01S00012.ssval3 +++|# 02818 M01S00013.ssval3 +++| 02819 M01S00014.ssval3 +++| P<CPR> = LOC(CPRARRAY); 02820 M01S00015.ssval3 +++| CPR$C[0] = FALSE; 02821 M01S00016.ssval3 +++| CPR$CSU[0] = EXTR$SM[0]; 02822 M01S00017.ssval3 +++| CPR$SUB[0] = EXTR$SB[0]; 02823 M01S00018.ssval3 +++| CPR$FAM[0] = PAR$FM; 02824 M01S00019.ssval3 +++| CPR$FCT[0] = EXTR$FCT[0]; 02825 M01S00020.ssval3 +++| CPR$AU[0] = EXTR$AU[0]; 02826 M01S00021.ssval3 +++| CPR$RQT[0] = TYP"TYP3"; 02827 M01S00022.ssval3 +++| CPR$RQC[0] = REQTYP3"REL$SETUP"; 02828 M01S00023.ssval3 +++| WRITEW(RELCFILE,CPRARRAY,CPRLEN,STAT); 02829 M00S02793.ssval +++| RELEASED = TRUE; # FREE FILES RELEASED # 02830 M00S02794.ssval +++| TEST DUMMY; 02831 M00S02795.ssval +++| END 02832 M00S02796.ssval +++| 02833 M00S02797.ssval +++| ELSE 02834 M00S02798.ssval +++| BEGIN 02835 M00S02799.ssval +++| RDF$BEFORE = TRUE; 02836 M00S02800.ssval +++| END 02837 M00S02801.ssval +++| 02838 M00S02802.ssval +++| END # RELEASE ORPHANS # 02839 M00S02803.ssval +++| 02840 M00S02804.ssval +++|# 02841 M00S02805.ssval +++|* UPDATE *PFC* IF FILE IS TO BE REMOVED FROM CARTRIDGE. 02842 M00S02806.ssval +++|# 02843 M00S02807.ssval +++| 02844 M00S02808.ssval +++| IF FIX$RT[0] EQ REC"FCF" 02845 M00S02809.ssval +++| AND PAR$RF EQ 0 02846 M00S02810.ssval +++| THEN # SET FREE CARTRIDGE FLAGS # 02847 M00S02811.ssval +++| BEGIN 02848 M00S02812.ssval +++| VLFIXP(FREE); 02849 M00S02813.ssval +++| IF STAT EQ 0 02850 M00S02814.ssval +++| THEN 02851 M00S02815.ssval +++| BEGIN 02852 M00S02816.ssval +++| FREFL = TRUE; 02853 M00S02817.ssval +++| END 02854 M00S02818.ssval +++| 02855 M00S02819.ssval +++| END 02856 M00S02820.ssval +++| 02857 M00S02821.ssval +++| 02858 M00S02822.ssval +++|# 02859 M00S02823.ssval +++|* FOR FIX MODE, GET ACTIONS BASED ON THE FIXIT RECORD TYPE. 02860 M00S02824.ssval +++|# 02861 M00S02825.ssval +++| 02862 M00S02826.ssval +++| IF MODE NQ S"FIX" 02863 M00S02827.ssval +++| THEN 02864 M00S02828.ssval +++| BEGIN 02865 M00S02829.ssval +++| TEST DUMMY; # SKIP IF NOT FIX MODE # 02866 M00S02830.ssval +++| END 02867 M00S02831.ssval +++| 02868 M00S02832.ssval +++| FIXACTION = FIXA$WD[FIX$RT[0]]; # ACTIONS FOR THIS RECORD # 02869 M00S02833.ssval +++| 02870 M00S02834.ssval +++|# 02871 M00S02835.ssval +++|* UPDATE THE SMMAP ENTRY. 02872 M00S02836.ssval +++|# 02873 M00S02837.ssval +++| 02874 M00S02838.ssval +++| IF FIXACTION LAN ACT$UMAP NQ 0 02875 M00S02839.ssval +++| THEN 02876 M00S02840.ssval +++| BEGIN 02877 M00S02841.ssval +++| VLREQEX(TYP"TYP3",REQTYP3"UPD$MAP"); 02878 M00S02842.ssval +++| END 02879 M00S02843.ssval +++| 02880 M00S02844.ssval +++|# 02881 M00S02845.ssval +++|* UPDATE *PFC* ENTRY IF THE FILE HAS A DISK IMAGE. 02882 M00S02846.ssval +++|# 02883 M00S02847.ssval +++| 02884 M00S02848.ssval +++| IF FIXACTION LAN ACT$UPFC NQ 0 AND EXTR$D[0] NQ 0 02885 M00S02849.ssval +++| THEN 02886 M00S02850.ssval +++| BEGIN 02887 M00S02851.ssval +++| VLFIXP(ZERO); 02888 M00S02852.ssval +++| END 02889 M00S02853.ssval +++| 02890 M00S02854.ssval +++|# 02891 M00S02855.ssval +++|* UPDATE THE SFM CATALOG SMERR FLAG. 02892 M00S02856.ssval +++|# 02893 M00S02857.ssval +++| 02894 M00S02858.ssval +++| IF FIXACTION LAN ACT$USM NQ 0 02895 M00S02859.ssval +++| THEN 02896 M00S02860.ssval +++| BEGIN 02897 M00S02861.ssval +++| CFIELD = UCF"CMAP"; # CHANGE SMERR FLAG # 02898 M00S02862.ssval +++| VLREQEX(TYP"TYP3",REQTYP3"UPD$CAT"); 02899 M00S02863.ssval +++| END 02900 M00S02864.ssval +++| 02901 M00S02865.ssval +++|# 02902 M00S02866.ssval +++|* UPDATE INHIBIT FLAG IN FCT. 02903 M00S02867.ssval +++|# 02904 M00S02868.ssval +++| 02905 M00S02869.ssval +++| IF FIXACTION LAN ACT$INHIB NQ 0 02906 M00S02870.ssval +++| OR (FIXACTION LAN ACT$UFROZ NQ 0 02907 M00S02871.ssval +++| AND NOT VTEN$ALOC[0]) 02908 M00S02872.ssval +++| THEN 02909 M00S02873.ssval +++| BEGIN 02910 M00S02874.ssval +++| CFIELD = UCF"INHIB"; # CHANGE INHIBIT FLAG # 02911 M00S02875.ssval +++| VLREQEX(TYP"TYP3",REQTYP3"UPD$CAT"); 02912 M00S02876.ssval +++| END 02913 M00S02877.ssval +++| 02914 M00S02878.ssval +++|# 02915 M00S02879.ssval +++|* UPDATE SFM CATALOG *FCT* AU FROZ FLAG. 02916 M00S02880.ssval +++|# 02917 M00S02881.ssval +++| 02918 M00S02882.ssval +++| IF FIXACTION LAN ACT$UFROZ NQ 0 02919 M00S02883.ssval +++| THEN 02920 M00S02884.ssval +++| BEGIN 02921 M00S02885.ssval +++| CFIELD = UCF"FROZ"; # CHANGE FROZ FLAG # 02922 M00S02886.ssval +++| VLREQEX(TYP"TYP3",REQTYP3"UPD$CAT"); 02923 M00S02887.ssval +++| END 02924 M00S02888.ssval +++| 02925 M00S02889.ssval +++|# 02926 M00S02890.ssval +++|* UPDATE SFM CATALOG *FCT* AU *SOF* FLAG IF THE ENTRY IS 02927 M00S02891.ssval +++|* A START OF FRAGMENT. 02928 M00S02892.ssval +++|# 02929 M00S02893.ssval +++| 02930 M00S02894.ssval +++| VTEN$WORD[0] = FIX$VT[0]; # GET *VT* ENTRY FROM RECORD # 02931 M00S02895.ssval +++| IF FIXACTION LAN ACT$USOF NQ 0 AND VTEN$SOF[0] 02932 M00S02896.ssval +++| THEN 02933 M00S02897.ssval +++| BEGIN 02934 M00S02898.ssval +++| CFIELD = UCF"SOF"; # CHANGE *SOF* FLAG # 02935 M00S02899.ssval +++| VLREQEX(TYP"TYP3",REQTYP3"UPD$CAT"); 02936 M00S02900.ssval +++| END 02937 M00S02901.ssval +++| 02938 M00S02902.ssval +++| END # PROCESS FIXIT FILE # 02939 M00S02903.ssval +++| 02940 M00S02904.ssval +++| IF RELEASED AND MODE EQ S"RELEASE" 02941 M00S02905.ssval +++| THEN 02942 M00S02906.ssval +++| BEGIN
Line S02907 Modification History | |
---|---|
M01 (Removed by) | ssval3 |
Seq # *Modification Id* Act ----------------------------+ 02943 M01S02907.ssval3 ---| VLMSG(VM"FSREL"); # FREE FILES RELEASED MESSAGE #
Line S00024 Modification History | |
---|---|
M01 (Added by) | ssval3 |
Seq # *Modification Id* Act ----------------------------+ 02944 M01S00024.ssval3 +++| WRITEF(RELCFILE,RCL); 02945 M01S00025.ssval3 +++| RETERN(RELCFILE,RCL); 02946 M01S00026.ssval3 +++| VLMSG(VM"REL"); 02947 M01S00027.ssval3 +++| VLREQEX(TYP"TYP3",REQTYP3"REL$SETUP"); 02948 M01S00028.ssval3 +++| MP$WD[1] = VLNTC(NFILER,"XCDD",5); 02949 M01S00029.ssval3 +++| VLMSG(VM"FCREL"); 02950 M00S02908.ssval +++| END 02951 M00S02909.ssval +++| 02952 M00S02910.ssval +++| IF NOT RELEASED AND MODE EQ S"RELEASE" 02953 M00S02911.ssval +++| THEN 02954 M00S02912.ssval +++| BEGIN 02955 M00S02913.ssval +++| VLMSG(VM"FSNREL"); 02956 M00S02914.ssval +++| IF RDF$BEFORE 02957 M00S02915.ssval +++| THEN 02958 M00S02916.ssval +++| BEGIN 02959 M00S02917.ssval +++| VLMSG(VM"RDFBF"); 02960 M00S02918.ssval +++| END 02961 M00S02919.ssval +++| 02962 M00S02920.ssval +++| END 02963 M00S02921.ssval +++| 02964 M00S02922.ssval +++| IF FREFL 02965 M00S02923.ssval +++| THEN # FREE CARTRIDGE FLAG SET # 02966 M00S02924.ssval +++| BEGIN 02967 M00S02925.ssval +++| VLMSG(VM"FFSET"); 02968 M00S02926.ssval +++| END 02969 M00S02927.ssval +++| 02970 M00S02928.ssval +++| 02971 M00S02929.ssval +++| END # VLFIX # 02972 M00S02930.ssval +++| 02973 M00S02931.ssval +++| TERM 02974 M00S02932.ssval +++|PROC VLFIXP(ACTION); 02975 M00S02933.ssval +++|# TITLE VLFIXP - ATTACHES PERMANENT FILE AND RESETS THE ASA. # 02976 M00S02934.ssval +++| 02977 M00S02935.ssval +++| BEGIN # VLFIXP # 02978 M00S02936.ssval +++| 02979 M00S02937.ssval +++|# 02980 M00S02938.ssval +++|** VLFIXP - RESETS THE *ASA*. 02981 M00S02939.ssval +++|* 02982 M00S02940.ssval +++|* *VLFIXP* ATTACHES THE USER FILE SPECIFIED IN THE FIXIT 02983 M00S02941.ssval +++|* FILE ENTRY, VERIFIES THE *ASA* IS CORRECT, RESETS THE 02984 M00S02942.ssval +++|* *ASA*, THEN RETURNS THE FILE. 02985 M00S02943.ssval +++|* 02986 M00S02944.ssval +++|* PROC VLFIXP 02987 M00S02945.ssval +++|* 02988 M00S02946.ssval +++|* ENTRY (PAR$FM) - FAMILY. 02989 M00S02947.ssval +++|* (ACTION) IF ZERO THEN SET FREE FLAG IN *PFC*, ELSE 02990 M00S02948.ssval +++|* ZERO *ASA* IN *PFC*. 02991 M00S02949.ssval +++|* ARRAY EXTRECORD - FIXIT FILE RECORD. 02992 M00S02950.ssval +++|* 02993 M00S02951.ssval +++|* EXIT THE *ASA* FOR THE FIXIT FILE ENTRY IS SET TO ZERO. 02994 M00S02952.ssval +++|* THE USER FILE IS RETURNED. 02995 M00S02953.ssval +++|# 02996 M00S02954.ssval +++| 02997 M00S02955.ssval +++|# 02998 M00S02956.ssval +++|**** PROC VLFIXP - XREF LIST BEGIN. 02999 M00S02957.ssval +++|# 03000 M00S02958.ssval +++| 03001 M00S02959.ssval +++| XREF 03002 M00S02960.ssval +++| BEGIN 03003 M00S02961.ssval +++| PROC BZFILL; # ZERO FILL STORAGE # 03004 M00S02962.ssval +++| PROC MESSAGE; # SEND MESSAGE TO DAYFILE # 03005 M00S02963.ssval +++| PROC SETAF; # SET FLAG IN *PFC* # 03006 M00S02964.ssval +++| PROC RECALL; # INTERFACE TO RECALL # 03007 M00S02965.ssval +++| PROC RETERN; # RETURNS SPECIFIED FILE # 03008 M00S02966.ssval +++| PROC SETASA; # INTERFACE TO *SETASA* ROUTINE # 03009 M00S02967.ssval +++| PROC UATTACH; # INTERFACE TO *UATTACH* MACRO # 03010 M00S02968.ssval +++| PROC UGET; # UTILITY GET # 03011 M00S02969.ssval +++| END 03012 M00S02970.ssval +++| 03013 M00S02971.ssval +++|# 03014 M00S02972.ssval +++|**** PROC VLFIXP - XREF LIST END. 03015 M00S02973.ssval +++|# 03016 M00S02974.ssval +++| 03017 M00S02975.ssval +++| DEF LISTCON #0#; # TURN OFF COMMON DECK LISTING # 03018 M00S02976.ssval +++| 03019 M00S02977.ssval +++|*CALL COMBFAS 03020 M00S02978.ssval +++|*CALL COMBBZF; 03021 M00S02979.ssval +++|*CALL COMSPFM 03022 M00S02980.ssval +++|*CALL COMTVLD 03023 M00S02981.ssval +++|*CALL COMTVLF 03024 M00S02982.ssval +++| 03025 M00S02983.ssval +++| DEF ACCMD #1#; # READ MODE # 03026 M00S02984.ssval +++| DEF RP #4#; # FULL ERROR PROCESSING # 03027 M00S02985.ssval +++| DEF ZEROASA #0#; # ZERO THE *ASA* # 03028 M00S02986.ssval +++| 03029 M00S02987.ssval +++| ITEM ACTION U; # ZERO OR SET FLAG # 03030 M00S02988.ssval +++| ITEM FAMILY C(10); # FAMILY NAME # 03031 M00S02989.ssval +++| ITEM I U; # INDUCTION VARIABLE # 03032 M00S02990.ssval +++| ITEM J U; # INDUCTION # 03033 M00S02991.ssval +++| ITEM LFN C(10); # LOCAL FILE NAME # 03034 M00S02992.ssval +++| ITEM PFNM C(10); # PERMANENT FILE NAME # 03035 M00S02993.ssval +++| ITEM UFLAG U; # STATUS FLAG # 03036 M00S02994.ssval +++| 03037 M00S02995.ssval +++| ARRAY PFCCAT [0:0] S(16); # TEMPORARY ARRAY FOR *PFC* # 03038 M00S02996.ssval +++| BEGIN 03039 M00S02997.ssval +++| ITEM NOITEM U(00,00,60); # DUMMY ITEM # 03040 M00S02998.ssval +++| END 03041 M00S02999.ssval +++| 03042 M00S03000.ssval +++| ARRAY MSSGE[0:2];; # ARRAY FOR MESSAGE # 03043 M00S03001.ssval +++| 03044 M00S03002.ssval +++| ARRAY MSSG [0:0] P(2); 03045 M00S03003.ssval +++| BEGIN 03046 M00S03004.ssval +++| ITEM MSSG1 C(00,00,13); # ARRAY FOR MESSAGE # 03047 M00S03005.ssval +++| END 03048 M00S03006.ssval +++| 03049 M00S03007.ssval +++| CONTROL EJECT; 03050 M00S03008.ssval +++| 03051 M00S03009.ssval +++|# 03052 M00S03010.ssval +++|* SET ADDRESS FOR BASED ARRAY, *PFC*. 03053 M00S03011.ssval +++|# 03054 M00S03012.ssval +++| 03055 M00S03013.ssval +++| P<PFC> = LOC(PFCCAT); 03056 M00S03014.ssval +++| 03057 M00S03015.ssval +++| 03058 M00S03016.ssval +++|# 03059 M00S03017.ssval +++|* ATTACH THE PERMANENT FILE. 03060 M00S03018.ssval +++|# 03061 M00S03019.ssval +++| 03062 M00S03020.ssval +++| LFN = UTTLFN; 03063 M00S03021.ssval +++| BZFILL(LFN,TYPFILL"ZFILL",10); 03064 M00S03022.ssval +++| PFNM= EXTR$PFNC[0]; 03065 M00S03023.ssval +++| BZFILL(PFNM,TYPFILL"ZFILL",10); 03066 M00S03024.ssval +++| FAMILY = PAR$FM; 03067 M00S03025.ssval +++| BZFILL(FAMILY,TYPFILL"ZFILL",10); 03068 M00S03026.ssval +++| 03069 M00S03027.ssval +++|# 03070 M00S03028.ssval +++|* SET THE FREE FLAG IF ACTION = 0. 03071 M00S03029.ssval +++|# 03072 M00S03030.ssval +++| 03073 M00S03031.ssval +++| IF ACTION EQ 0 03074 M00S03032.ssval +++| THEN # SET *AFFRE* FLAG IN *PFC* # 03075 M00S03033.ssval +++| BEGIN 03076 M00S03034.ssval +++| SETAF(LFN,STAT,RP,EXTR$UI[0],FAMILY,EXTR$PFID[0], ## 03077 M00S03035.ssval +++| EXTR$ATASA[0],EXTR$CREA[0],AFFRE,MSSGE[0]); 03078 M00S03036.ssval +++| RETURN; 03079 M00S03037.ssval +++| END 03080 M00S03038.ssval +++| 03081 M00S03039.ssval +++|# 03082 M00S03040.ssval +++|* MAKE FILE LOCAL BEFORE SETASA. 03083 M00S03041.ssval +++|# 03084 M00S03042.ssval +++| 03085 M00S03043.ssval +++| IF EXTR$DA[0] 03086 M00S03044.ssval +++| THEN # DIRECT ACCESS FILE # 03087 M00S03045.ssval +++| BEGIN 03088 M00S03046.ssval +++| UATTACH(LFN,STAT,RP,PFNM,ACCMD,EXTR$UI[0],FAMILY, ## 03089 M00S03047.ssval +++| EXTR$PFID[0],PFCCAT[0],EXTR$CREA[0],MSSGE[0]); 03090 M00S03048.ssval +++| END 03091 M00S03049.ssval +++| 03092 M00S03050.ssval +++| ELSE # INDIRECT ACCESS FILE # 03093 M00S03051.ssval +++| BEGIN 03094 M00S03052.ssval +++| UFLAG = -1; 03095 M00S03053.ssval +++| SLOWFOR I = 0 WHILE UFLAG NQ 0 03096 M00S03054.ssval +++| DO 03097 M00S03055.ssval +++| BEGIN # WAIT FOR UGET RESPONSE # 03098 M00S03056.ssval +++| UFLAG = -1; 03099 M00S03057.ssval +++| UGET(LFN,UFLAG,6,PFNM,EXTR$UI[0],FAMILY,EXTR$PFID[0], ## 03100 M00S03058.ssval +++| PFCCAT[0],EXTR$CREA[0],MSSGE[0]); 03101 M00S03059.ssval +++| 03102 M00S03060.ssval +++| IF UFLAG EQ PEA # EXCESS ACTIVITY # 03103 M00S03061.ssval +++| OR UFLAG EQ INA # NO INTERLOCK # 03104 M00S03062.ssval +++| THEN 03105 M00S03063.ssval +++| BEGIN 03106 M00S03064.ssval +++| TEST I; 03107 M00S03065.ssval +++| END 03108 M00S03066.ssval +++| 03109 M00S03067.ssval +++| IF UFLAG NQ 0 03110 M00S03068.ssval +++| THEN 03111 M00S03069.ssval +++| BEGIN 03112 M00S03070.ssval +++| MSSG1 = " UGET FAILED."; 03113 M00S03071.ssval +++| MESSAGE(MSSG,UDFL1); 03114 M00S03072.ssval +++| UFLAG = 0; 03115 M00S03073.ssval +++| END 03116 M00S03074.ssval +++| 03117 M00S03075.ssval +++| END # WAIT FOR UGET REQUEST # 03118 M00S03076.ssval +++| 03119 M00S03077.ssval +++| END 03120 M00S03078.ssval +++| 03121 M00S03079.ssval +++| 03122 M00S03080.ssval +++|# 03123 M00S03081.ssval +++|* IF THERE WAS NO ERROR, AND IF THE CATALOG MAP *ASA* 03124 M00S03082.ssval +++|* MATCHES THE EXTRACT FILE *ASA*, 03125 M00S03083.ssval +++|* THEN - 03126 M00S03084.ssval +++|* RESET THE *ASA* TO ZERO USING THE *SETASA* MACRO. 03127 M00S03085.ssval +++|# 03128 M00S03086.ssval +++| 03129 M00S03087.ssval +++| IF (STAT EQ 0) AND (PFC$AA[0] EQ EXTR$ASA[0]) 03130 M00S03088.ssval +++| AND UFLAG EQ 0 03131 M00S03089.ssval +++| AND ACTION EQ 1 03132 M00S03090.ssval +++| THEN 03133 M00S03091.ssval +++| BEGIN 03134 M00S03092.ssval +++| SETASA(LFN,STAT,RP,EXTR$UI[0],FAMILY,EXTR$PFID[0] ## 03135 M00S03093.ssval +++| ,ZEROASA,EXTR$CREA[0],MSSGE[0]); 03136 M00S03094.ssval +++| END 03137 M00S03095.ssval +++| 03138 M00S03096.ssval +++| RETERN(UTTLFN,RCL); 03139 M00S03097.ssval +++| END # VLFIXP # 03140 M00S03098.ssval +++| 03141 M00S03099.ssval +++| TERM 03142 M00S03100.ssval +++|PROC VLLPDT(SUBPAR,SMPAR,LPDT); 03143 M00S03101.ssval +++|# TITLE VLLPDT - GET LAST PURGE DATE AND TIME. # 03144 M00S03102.ssval +++| 03145 M00S03103.ssval +++| 03146 M00S03104.ssval +++| BEGIN # VLLPDT # 03147 M00S03105.ssval +++| 03148 M00S03106.ssval +++|# 03149 M00S03107.ssval +++|** VLLPDT - GET LAST PURGE DATE AND TIME. 03150 M00S03108.ssval +++|* 03151 M00S03109.ssval +++|* *VLLPDT* ISSUES A REQUEST TO *EXEC* TO GET THE "LAST 03152 M00S03110.ssval +++|* PURGE DATE AND TIME" FOR THE SUBCATALOG FROM THE 03153 M00S03111.ssval +++|* PREAMBLE IN THE SFM CATALOG FOR THE SPECIFIED SUBFAMILY. 03154 M00S03112.ssval +++|* 03155 M00S03113.ssval +++|* PROC VLLPDT(SUBPAR,SMPAR,LPDT) 03156 M00S03114.ssval +++|* 03157 M00S03115.ssval +++|* ENTRY (SUBPAR) - SUBFAMILY. 03158 M00S03116.ssval +++|* (SMPAR) - *SM* DESIGNATOR. 03159 M00S03117.ssval +++|* 03160 M00S03118.ssval +++|* EXIT (LPDT) - PACKED DATE AND TIME RETURNED FROM *EXEC*. 03161 M00S03119.ssval +++|# 03162 M00S03120.ssval +++| 03163 M00S03121.ssval +++| ITEM SUBPAR I; # SUBFAMILY # 03164 M00S03122.ssval +++| ITEM SMPAR I; # *SM* ID # 03165 M00S03123.ssval +++| ITEM LPDT I; # LAST PURGE DATE-TIME # 03166 M00S03124.ssval +++| 03167 M00S03125.ssval +++|# 03168 M00S03126.ssval +++|**** PROC VLLPDT - XREF LIST BEGIN. 03169 M00S03127.ssval +++|# 03170 M00S03128.ssval +++| 03171 M00S03129.ssval +++| XREF 03172 M00S03130.ssval +++| BEGIN 03173 M00S03131.ssval +++| PROC VLREQEX; # REQUEST TO EXEC # 03174 M00S03132.ssval +++| END 03175 M00S03133.ssval +++| 03176 M00S03134.ssval +++|# 03177 M00S03135.ssval +++|**** PROC VLLPDT - XREF LIST END. 03178 M00S03136.ssval +++|# 03179 M00S03137.ssval +++| 03180 M00S03138.ssval +++| DEF LISTCON #0#; # TURN OFF LISTING # 03181 M00S03139.ssval +++| 03182 M00S03140.ssval +++|*CALL COMBFAS 03183 M00S03141.ssval +++|*CALL COMBCPR 03184 M00S03142.ssval +++|*CALL COMTVLD 03185 M00S03143.ssval +++|*CALL COMTVLF 03186 M00S03144.ssval +++| 03187 M00S03145.ssval +++| ITEM CURRSB I = 0; # CURRENT SUBFAMILY # 03188 M00S03146.ssval +++| ITEM CURRSM I; # CURRENT *SM* # 03189 M00S03147.ssval +++| ITEM CURRLPDT I; # CURRENT LPDT # 03190 M00S03148.ssval +++| CONTROL EJECT; 03191 M00S03149.ssval +++| 03192 M00S03150.ssval +++|# 03193 M00S03151.ssval +++|* CALL *EXEC* TO GET THE LAST PURGE DATE/TIME FOR THE SUBCATALOG, 03194 M00S03152.ssval +++|* IF IT IS NOT CURRENT. 03195 M00S03153.ssval +++|# 03196 M00S03154.ssval +++| 03197 M00S03155.ssval +++| IF (CURRSB NQ SUBPAR) OR (CURRSM NQ SMPAR) 03198 M00S03156.ssval +++| THEN 03199 M00S03157.ssval +++| BEGIN 03200 M00S03158.ssval +++| CURRSB = SUBPAR; # SAVE CURRENT SUBFAMILY # 03201 M00S03159.ssval +++| CURRSM = SMPAR; # SAVE CURRENT *SM* # 03202 M00S03160.ssval +++| VLREQEX(TYP"TYP3",REQTYP3"GT$PRGDATE"); 03203 M00S03161.ssval +++| CURRLPDT = CPR$DATE[0]; # SAVE LAST PURGE DATE/TIME # 03204 M00S03162.ssval +++| END 03205 M00S03163.ssval +++| 03206 M00S03164.ssval +++|# 03207 M00S03165.ssval +++|* RETURN THE LAST PURGE DATE/TIME FOR THE SUBCATALOG. 03208 M00S03166.ssval +++|# 03209 M00S03167.ssval +++| 03210 M00S03168.ssval +++| LPDT = CURRLPDT; 03211 M00S03169.ssval +++| 03212 M00S03170.ssval +++| END # VLLPDT # 03213 M00S03171.ssval +++| 03214 M00S03172.ssval +++| TERM 03215 M00S03173.ssval +++|PROC VLMSG(MNUM); 03216 M00S03174.ssval +++|# TITLE VLMSG - ISSUE INFORMATIONAL MESSAGE. # 03217 M00S03175.ssval +++| 03218 M00S03176.ssval +++| BEGIN # VLMSG # 03219 M00S03177.ssval +++| 03220 M00S03178.ssval +++|# 03221 M00S03179.ssval +++|** VLMSG - ISSUE INFORMATIONAL MESSAGE. 03222 M00S03180.ssval +++|* 03223 M00S03181.ssval +++|* *VLMSG* ISSUES A SPECIFIED MESSAGE TO THE DAYFILE AND/OR 03224 M00S03182.ssval +++|* TO THE REPORT FILE. 03225 M00S03183.ssval +++|* 03226 M00S03184.ssval +++|* PROC VLMSG(MNUM) 03227 M00S03185.ssval +++|* 03228 M00S03186.ssval +++|* ENTRY (MNUM) - MESSAGE NUMBER FROM STATUS LIST *VM*. 03229 M00S03187.ssval +++|* (ARRAY MPARAM) - CONTAINS PARAMETER(S) TO INSERT IN 03230 M00S03188.ssval +++|* THE MESSAGE TEXT. 03231 M00S03189.ssval +++|* 03232 M00S03190.ssval +++|* EXIT THE MESSAGE IS ISSUED. 03233 M00S03191.ssval +++|* 03234 M00S03192.ssval +++|* NOTES OPTIONS ARE SELECTED BY THE FIRST THREE 03235 M00S03193.ssval +++|* CHARACTERS OF THE MESSAGE TEXT. OPTIONS ARE - 03236 M00S03194.ssval +++|* . MSG$SYS (B) - ISSUES TO THE DAYFILE OR TO THE *B* 03237 M00S03195.ssval +++|* DISPLAY LINE 2. 03238 M00S03196.ssval +++|* . MSG$RPT (Y) - ISSUES TO THE REPORT FILE. 03239 M00S03197.ssval +++|* . NUMBER OF PARAMETERS TO FILL IN THE MESSAGE TEXT 03240 M00S03198.ssval +++|* FROM THE *MPARAM* ARRAY (NUMERIC, NOT A CHARACTER). 03241 M00S03199.ssval +++|# 03242 M00S03200.ssval +++| 03243 M00S03201.ssval +++| ITEM MNUM I; 03244 M00S03202.ssval +++| 03245 M00S03203.ssval +++|# 03246 M00S03204.ssval +++|**** PROC VLMSG - XREF LIST BEGIN. 03247 M00S03205.ssval +++|# 03248 M00S03206.ssval +++| 03249 M00S03207.ssval +++| XREF 03250 M00S03208.ssval +++| BEGIN 03251 M00S03209.ssval +++| PROC MESSAGE; # INTERFACE TO *MESSAGE* MACRO # 03252 M00S03210.ssval +++| PROC RPLINE; # CALLS *RPLINEX* TO PRINT A 03253 M00S03211.ssval +++| LINE # 03254 M00S03212.ssval +++| PROC VLPFILL; # FILL PARAMETER IN MESSAGE 03255 M00S03213.ssval +++| TEXT # 03256 M00S03214.ssval +++| END 03257 M00S03215.ssval +++| 03258 M00S03216.ssval +++|# 03259 M00S03217.ssval +++|**** PROC VLMSG - XREF LIST END. 03260 M00S03218.ssval +++|# 03261 M00S03219.ssval +++| 03262 M00S03220.ssval +++| DEF LISTCON #0#; 03263 M00S03221.ssval +++| 03264 M00S03222.ssval +++|*CALL COMBFAS 03265 M00S03223.ssval +++|*CALL COMTVLD 03266 M00S03224.ssval +++|*CALL COMTVLF 03267 M00S03225.ssval +++| 03268 M00S03226.ssval +++| ITEM NP I; # NUMBER OF PARAMETERS # 03269 M00S03227.ssval +++| ITEM N I; # TEMPORARY VARIABLE # 03270 M00S03228.ssval +++| 03271 M00S03229.ssval +++|# 03272 M00S03230.ssval +++|* ARRAY TO FORMAT THE MESSAGE TO ISSUE. 03273 M00S03231.ssval +++|# 03274 M00S03232.ssval +++| 03275 M00S03233.ssval +++| ARRAY VMTEXT [0:0] S(5); 03276 M00S03234.ssval +++| BEGIN 03277 M00S03235.ssval +++| ITEM VMT$LINE C(00,00,40); 03278 M00S03236.ssval +++| ITEM VMT$LEAD C(00,00,03); # LEADING CODE CHARACTERS # 03279 M00S03237.ssval +++| ITEM VMT$TEXT C(00,18,37); # MESSAGE TEXT # 03280 M00S03238.ssval +++| ITEM VMT$ZERO U(04,00,60); # ZERO BYTE # 03281 M00S03239.ssval +++| END 03282 M00S03240.ssval +++| 03283 M00S03241.ssval +++|# 03284 M00S03242.ssval +++|* ANALYZES ACTIONS TO DO BASED ON THE MESSAGE. 03285 M00S03243.ssval +++|# 03286 M00S03244.ssval +++| 03287 M00S03245.ssval +++| ARRAY MSGCODES [0:0] S(1); # MESSAGE CODES # 03288 M00S03246.ssval +++| BEGIN 03289 M00S03247.ssval +++| ITEM MSG$CODES C(00,00,03); 03290 M00S03248.ssval +++| ITEM MSG$SYS C(00,00,01); # ISSUE TO SYSTEM MACRO # 03291 M00S03249.ssval +++| ITEM MSG$RPT C(00,06,01); # ISSUE TO REPORT FILE # 03292 M00S03250.ssval +++| ITEM MSG$PARN U(00,12,06); # NUMBER OF PARAMETERS TO INSERT 03293 M00S03251.ssval +++| # 03294 M00S03252.ssval +++| END 03295 M00S03253.ssval +++| 03296 M00S03254.ssval +++| CONTROL EJECT; 03297 M00S03255.ssval +++| 03298 M00S03256.ssval +++|# 03299 M00S03257.ssval +++|* GET CODES FROM MESSAGE TEXT. 03300 M00S03258.ssval +++|# 03301 M00S03259.ssval +++| 03302 M00S03260.ssval +++| VMT$LINE[0] = VMESS$LINE[MNUM]; # GET MESSAGE TEXT REQUESTED # 03303 M00S03261.ssval +++| MSG$CODES[0] = VMT$LEAD[0]; # EXTRACT CODES FROM TEXT # 03304 M00S03262.ssval +++| VMT$LEAD[0] = " "; # CLEAR CODES FIELD IN TEXT # 03305 M00S03263.ssval +++| 03306 M00S03264.ssval +++|# 03307 M00S03265.ssval +++|* PUT PARAMETER(S) INTO MESSAGE IF THE NUMBER OF PARAMETERS IS 03308 M00S03266.ssval +++|* SPECIFIED IN CODES. 03309 M00S03267.ssval +++|# 03310 M00S03268.ssval +++| 03311 M00S03269.ssval +++| IF MSG$PARN[0] NQ " " 03312 M00S03270.ssval +++| THEN 03313 M00S03271.ssval +++| BEGIN 03314 M00S03272.ssval +++| NP = MSG$PARN[0] - "0"; # NUMBER CONVERTED TO BINARY # 03315 M00S03273.ssval +++| SLOWFOR N = 1 STEP 1 UNTIL NP 03316 M00S03274.ssval +++| DO 03317 M00S03275.ssval +++| BEGIN 03318 M00S03276.ssval +++| VLPFILL(VMTEXT,MPARAM[N]); # MOVE PARAMETER INTO TEXT # 03319 M00S03277.ssval +++| END 03320 M00S03278.ssval +++| 03321 M00S03279.ssval +++| END 03322 M00S03280.ssval +++| 03323 M00S03281.ssval +++|# 03324 M00S03282.ssval +++|* ISSUE MESSAGE REQUEST TO THE SYSTEM IF SPECIFIED. 03325 M00S03283.ssval +++|# 03326 M00S03284.ssval +++| 03327 M00S03285.ssval +++| IF MSG$SYS[0] NQ "N" 03328 M00S03286.ssval +++| THEN 03329 M00S03287.ssval +++| BEGIN # ISSUE TO SYSTEM # 03330 M00S03288.ssval +++| IF MSG$SYS[0] EQ "B" 03331 M00S03289.ssval +++| THEN 03332 M00S03290.ssval +++| BEGIN 03333 M00S03291.ssval +++| MESSAGE(VMT$TEXT[0],LINE2); # B ONLY # 03334 M00S03292.ssval +++| END 03335 M00S03293.ssval +++| 03336 M00S03294.ssval +++| ELSE 03337 M00S03295.ssval +++| BEGIN 03338 M00S03296.ssval +++| IF MSG$SYS[0] EQ "S" 03339 M00S03297.ssval +++| THEN 03340 M00S03298.ssval +++| BEGIN 03341 M00S03299.ssval +++| MESSAGE(VMT$TEXT[0],SYSUDF1); 03342 M00S03300.ssval +++| END 03343 M00S03301.ssval +++| 03344 M00S03302.ssval +++| ELSE 03345 M00S03303.ssval +++| BEGIN 03346 M00S03304.ssval +++| MESSAGE(VMT$TEXT[0],UDFL1); 03347 M00S03305.ssval +++| END 03348 M00S03306.ssval +++| 03349 M00S03307.ssval +++| END 03350 M00S03308.ssval +++| 03351 M00S03309.ssval +++| END # ISSUE TO SYSTEM # 03352 M00S03310.ssval +++| 03353 M00S03311.ssval +++|# 03354 M00S03312.ssval +++|* ISSUE MESSAGE TO THE REPORT FILE IF REQUESTED. 03355 M00S03313.ssval +++|# 03356 M00S03314.ssval +++| 03357 M00S03315.ssval +++| IF MSG$RPT[0] NQ "N" 03358 M00S03316.ssval +++| THEN 03359 M00S03317.ssval +++| BEGIN 03360 M00S03318.ssval +++| RPLINE(RPTFADR," ",0,1,EOPL); # BLANK LINE # 03361 M00S03319.ssval +++| RPLINE(RPTFADR,VMT$TEXT[0],3,37,EOPL); # ISSUE TO REPORT # 03362 M00S03320.ssval +++| END 03363 M00S03321.ssval +++| 03364 M00S03322.ssval +++| END # VLMSG # 03365 M00S03323.ssval +++| 03366 M00S03324.ssval +++| TERM 03367 M00S03325.ssval +++|PROC VLNCS; 03368 M00S03326.ssval +++|# TITLE VLNCS - NORMAL CHAIN SCAN. # 03369 M00S03327.ssval +++| 03370 M00S03328.ssval +++| 03371 M00S03329.ssval +++| BEGIN # VLNCS # 03372 M00S03330.ssval +++| 03373 M00S03331.ssval +++|# 03374 M00S03332.ssval +++|** VLNCS - NORMAL CHAIN SCAN. 03375 M00S03333.ssval +++|* 03376 M00S03334.ssval +++|* *VLNCS* SCANS ALL ENTRIES IN THE *VT* TABLE LOCATING 03377 M00S03335.ssval +++|* AND MARKING NORMAL CHAINS. THE CHAIN IS SEARCHED 03378 M00S03336.ssval +++|* BEGINNING WITH THE HEAD OF CHAIN ENTRY AND PROCEEDING 03379 M00S03337.ssval +++|* THROUGH THE LINKAGE UNTIL *EOC* OR AN ERROR IS DETECTED. 03380 M00S03338.ssval +++|* ALL ENTRIES ON A CHAIN ARE MARKED BY SETTING THE POINTER 03381 M00S03339.ssval +++|* FIELD TO THE INDEX OF THE HEAD OF CHAIN (*HOC*) ENTRY. 03382 M00S03340.ssval +++|* FLAGS ARE SET IN THE *VT* ENTRIES FOR ERRORS DETECTED. 03383 M00S03341.ssval +++|* 03384 M00S03342.ssval +++|* PROC VLNCS 03385 M00S03343.ssval +++|* 03386 M00S03344.ssval +++|* ENTRY (PAR$ST) - SCATTER FILE PARAMETER. 03387 M00S03345.ssval +++|* (VTFIRST) - INDEX OF FIRST ENTRY IN *VT*. 03388 M00S03346.ssval +++|* (VTLAST) - INDEX OF LAST ENTRY IN *VT*. 03389 M00S03347.ssval +++|* (ARRAY VTTAB) - VALIDATION TABLE. 03390 M00S03348.ssval +++|* 03391 M00S03349.ssval +++|* EXIT THE FOLLOWING FIELDS IN THE *VT* ENTRY MAY BE UPDATED. 03392 M00S03350.ssval +++|* (VTEN$POINT) - INDEX OF THE *HOC* ENTRY. 03393 M00S03351.ssval +++|* (VTEN$ILL) - ILL-FORMED CHAIN. 03394 M00S03352.ssval +++|* (VTEN$INTC) - INTERSECTING CHAIN. 03395 M00S03353.ssval +++|* (VTEN$INTS) - INTERSECTING AU. 03396 M00S03354.ssval +++|* (VTEN$SCAT) - SCATTERED FILE. 03397 M00S03355.ssval +++|* 03398 M00S03356.ssval +++|* INTERSECTING CHAIN DETAIL LINES ARE ISSUED TO THE 03399 M00S03357.ssval +++|* REPORT FILE IF INTERSECTIONS ARE DETECTED. 03400 M00S03358.ssval +++|* 03401 M00S03359.ssval +++|* NOTES CHAINS ARE FOLLOWED UNTIL - 03402 M00S03360.ssval +++|* . AN END OF CHAIN ENTRY IS DETECTED. 03403 M00S03361.ssval +++|* . AN ILL-FORMED CHAIN IS DETECTED. 03404 M00S03362.ssval +++|* . AN INTERSECTING CHAIN IS DETECTED. 03405 M00S03363.ssval +++|* 03406 M00S03364.ssval +++|* ILL-FORMED CHAINS ARE THOSE WHICH HAVE A MEMBER 03407 M00S03365.ssval +++|* THAT LINKS TO AN ENTRY ON THIS CHAIN (LOOPING) 03408 M00S03366.ssval +++|* OR THAT LINKS TO AN UNALLOCATED ENTRY OR HAS A 03409 M00S03367.ssval +++|* LINK THAT IS NOT ZERO WHEN THE *EOC* FLAG IS SET. 03410 M00S03368.ssval +++|* 03411 M00S03369.ssval +++|* INTERSECTING CHAINS ARE THOSE THAT HAVE A MEMBER 03412 M00S03370.ssval +++|* THAT LINKS TO AN ENTRY ON A DIFFERENT CHAIN. 03413 M00S03371.ssval +++|* 03414 M00S03372.ssval +++|* A SCATTERED FILE CHECK IS PERFORMED. THE SCATTERED 03415 M00S03373.ssval +++|* FLAG IS SET IF THE NUMBER OF CARTRIDGES FOR THE 03416 M00S03374.ssval +++|* CHAIN IS GREATER THAN THE *ST* PARAMETER. 03417 M00S03375.ssval +++|* 03418 M00S03376.ssval +++|# 03419 M00S03377.ssval +++| 03420 M00S03378.ssval +++|# 03421 M00S03379.ssval +++|**** PROC VLNCS - XREF LIST BEGIN. 03422 M00S03380.ssval +++|# 03423 M00S03381.ssval +++| 03424 M00S03382.ssval +++| XREF 03425 M00S03383.ssval +++| BEGIN 03426 M00S03384.ssval +++| PROC VLBICT; # INTERSECTING CHAIN REPORT # 03427 M00S03385.ssval +++| END 03428 M00S03386.ssval +++| 03429 M00S03387.ssval +++|# 03430 M00S03388.ssval +++|**** PROC VLNCS - XREF LIST END. 03431 M00S03389.ssval +++|# 03432 M00S03390.ssval +++| 03433 M00S03391.ssval +++| DEF LISTCON #0#; # TURN OFF COMMON DECK LISTING # 03434 M00S03392.ssval +++| 03435 M00S03393.ssval +++|*CALL COMBFAS 03436 M00S03394.ssval +++|*CALL COMTVLD 03437 M00S03395.ssval +++|*CALL COMTVLV 03438 M00S03396.ssval +++| 03439 M00S03397.ssval +++| 03440 M00S03398.ssval +++| STATUS CHAIN # CHAIN STATUS # 03441 M00S03399.ssval +++| OK, # GOOD CHAIN # 03442 M00S03400.ssval +++| ILL, # ILL-FORMED CHAIN # 03443 M00S03401.ssval +++| INTC; # INTERSECTING CHAIN # 03444 M00S03402.ssval +++| 03445 M00S03403.ssval +++| ITEM ENDCHAIN B; # END OF CHAIN FLAG # 03446 M00S03404.ssval +++| ITEM FREESTAT B; # FREE FLAG STATUS # 03447 M00S03405.ssval +++| ITEM HOCSTAT S : CHAIN; # HEAD-OF-CHAIN STATUS # 03448 M00S03406.ssval +++| ITEM I I; # TEMPORARY VARIABLE # 03449 M00S03407.ssval +++| ITEM AUCNT I; # COUNT OF AU-S IN CHAIN # 03450 M00S03408.ssval +++| ITEM CARTCNT I; # COUNT OF CARTRIDGES IN CHAIN # 03451 M00S03409.ssval +++| 03452 M00S03410.ssval +++| CONTROL EJECT; 03453 M00S03411.ssval +++| 03454 M00S03412.ssval +++|# 03455 M00S03413.ssval +++|* SCAN *VT* FOR *HOC* ENTRIES. 03456 M00S03414.ssval +++|# 03457 M00S03415.ssval +++| 03458 M00S03416.ssval +++| SLOWFOR I = VTFIRST STEP 1 UNTIL VTLAST 03459 M00S03417.ssval +++| DO 03460 M00S03418.ssval +++| BEGIN # *VT* SCAN # 03461 M00S03419.ssval +++| VTEN$WORD[0] = VT$ITEM[I]; # GET ENTRY # 03462 M00S03420.ssval +++| 03463 M00S03421.ssval +++| IF NOT VTEN$HOC[0] # SKIP IF NOT HEAD OF CHAIN # 03464 M00S03422.ssval +++| THEN 03465 M00S03423.ssval +++| BEGIN 03466 M00S03424.ssval +++| TEST I; 03467 M00S03425.ssval +++| END 03468 M00S03426.ssval +++| 03469 M00S03427.ssval +++| 03470 M00S03428.ssval +++| VTPTR = I; # SET TO HEAD OF CHAIN # 03471 M00S03429.ssval +++| 03472 M00S03430.ssval +++| 03473 M00S03431.ssval +++|# 03474 M00S03432.ssval +++|* INITIALIZE. 03475 M00S03433.ssval +++|# 03476 M00S03434.ssval +++| 03477 M00S03435.ssval +++| AUCNT = 0; 03478 M00S03436.ssval +++| CARTCNT = 1; 03479 M00S03437.ssval +++| ENDCHAIN = FALSE; 03480 M00S03438.ssval +++| FREESTAT = FALSE; 03481 M00S03439.ssval +++| HOCSTAT = S"OK"; # ASSUME GOOD # 03482 M00S03440.ssval +++| 03483 M00S03441.ssval +++|# 03484 M00S03442.ssval +++|* PROCESS EACH ENTRY IN THE CHAIN STARTING WITH HEAD OF CHAIN. 03485 M00S03443.ssval +++|* NOTE - ENTRIES ARE PLACED ON A CHAIN BY SETTING THE VTEN$POINT 03486 M00S03444.ssval +++|* FIELD EQUAL TO THE INDEX FOR THE HEAD OF CHAIN. 03487 M00S03445.ssval +++|* I = HEAD OF CHAIN INDEX. 03488 M00S03446.ssval +++|# 03489 M00S03447.ssval +++| 03490 M00S03448.ssval +++| REPEAT WHILE NOT ENDCHAIN 03491 M00S03449.ssval +++| DO # NORMAL CHAIN PROCESS # 03492 M00S03450.ssval +++| BEGIN # NOT END OF CHAIN # 03493 M00S03451.ssval +++| IF VTEN$POINT[0] EQ 0 03494 M00S03452.ssval +++| THEN 03495 M00S03453.ssval +++| 03496 M00S03454.ssval +++|# 03497 M00S03455.ssval +++|* PUT ENTRY ON CHAIN. 03498 M00S03456.ssval +++|# 03499 M00S03457.ssval +++| 03500 M00S03458.ssval +++| BEGIN # ADD TO CHAIN # 03501 M00S03459.ssval +++| VTEN$POINT[0] = I; # MARK ENTRY ON CHAIN # 03502 M00S03460.ssval +++| IF NOT VTEN$ALOC[0] 03503 M00S03461.ssval +++| THEN 03504 M00S03462.ssval +++| BEGIN 03505 M00S03463.ssval +++| VTEN$SOF[0] = TRUE; 03506 M00S03464.ssval +++| END 03507 M00S03465.ssval +++| 03508 M00S03466.ssval +++| IF NOT VTEN$ALOC[0] OR VTEN$EOC[0] AND VTEN$LINK[0] NQ 0 03509 M00S03467.ssval +++| THEN 03510 M00S03468.ssval +++| BEGIN 03511 M00S03469.ssval +++| HOCSTAT = S"ILL"; # ILL-FORMED CHAIN # 03512 M00S03470.ssval +++| END 03513 M00S03471.ssval +++| 03514 M00S03472.ssval +++| AUCNT = AUCNT + 1; 03515 M00S03473.ssval +++| IF VTEN$OCL[0] NQ 0 03516 M00S03474.ssval +++| THEN # LINK IS OFF CARTRIDGE # 03517 M00S03475.ssval +++| BEGIN 03518 M00S03476.ssval +++| CARTCNT = CARTCNT + 1; 03519 M00S03477.ssval +++| END 03520 M00S03478.ssval +++| 03521 M00S03479.ssval +++| IF VTEN$FCF[0] 03522 M00S03480.ssval +++| THEN # FREE CARTRIDGE FLAG SET # 03523 M00S03481.ssval +++| BEGIN 03524 M00S03482.ssval +++| FREESTAT = TRUE; 03525 M00S03483.ssval +++| END 03526 M00S03484.ssval +++| 03527 M00S03485.ssval +++| END # ADD TO CHAIN # 03528 M00S03486.ssval +++| 03529 M00S03487.ssval +++| ELSE # VTEN$POINT[0] NOT EQUAL TO 0 # 03530 M00S03488.ssval +++| 03531 M00S03489.ssval +++|# 03532 M00S03490.ssval +++|* ENTRY ALREADY ASSIGNED TO A CHAIN. 03533 M00S03491.ssval +++|# 03534 M00S03492.ssval +++| 03535 M00S03493.ssval +++| BEGIN # ENTRY ON A CHAIN # 03536 M00S03494.ssval +++| VTEN$INTS[0] = TRUE; 03537 M00S03495.ssval +++| IF VTEN$POINT[0] EQ I 03538 M00S03496.ssval +++| THEN 03539 M00S03497.ssval +++| BEGIN 03540 M00S03498.ssval +++| HOCSTAT = S"ILL"; # ILL-FORMED CHAIN # 03541 M00S03499.ssval +++| VTEN$LOOP[0] = TRUE; 03542 M00S03500.ssval +++| END 03543 M00S03501.ssval +++| 03544 M00S03502.ssval +++| ELSE 03545 M00S03503.ssval +++| BEGIN 03546 M00S03504.ssval +++| HOCSTAT = S"INTC"; # INTERSECTING CHAIN # 03547 M00S03505.ssval +++| VLBICT(I,VTEN$POINT[0]); # REPORT INTERSECTIONS # 03548 M00S03506.ssval +++| END 03549 M00S03507.ssval +++| 03550 M00S03508.ssval +++| END # ENTRY ON A CHAIN # 03551 M00S03509.ssval +++| 03552 M00S03510.ssval +++|# 03553 M00S03511.ssval +++|* UPDATE AU ENTRY. 03554 M00S03512.ssval +++|# 03555 M00S03513.ssval +++| 03556 M00S03514.ssval +++| VT$ITEM[VTPTR] = VTEN$WORD[0]; # STORE ENTRY TO *VT* # 03557 M00S03515.ssval +++| 03558 M00S03516.ssval +++|# 03559 M00S03517.ssval +++|* DETERMINE IF END-OF-CHAIN. THE END IS WHEN THE END OF CHAIN 03560 M00S03518.ssval +++|* FLAG IS SET OR A CHAIN WITH LINKAGE PROBLEMS HAS BEEN DETECTED. 03561 M00S03519.ssval +++|# 03562 M00S03520.ssval +++| 03563 M00S03521.ssval +++| ENDCHAIN = VTEN$EOC[0] OR HOCSTAT NQ 0; 03564 M00S03522.ssval +++| 03565 M00S03523.ssval +++|# 03566 M00S03524.ssval +++|* GET LINK TO NEXT IF NOT AT END. 03567 M00S03525.ssval +++|# 03568 M00S03526.ssval +++| 03569 M00S03527.ssval +++| IF NOT ENDCHAIN 03570 M00S03528.ssval +++| THEN 03571 M00S03529.ssval +++| BEGIN # LINK TO NEXT # 03572 M00S03530.ssval +++| VTPTR = VTEN$LINK[0]; 03573 M00S03531.ssval +++| IF (VTPTR LS VTFIRST) OR (VTPTR GR VTLAST) 03574 M00S03532.ssval +++| THEN # BAD LINK # 03575 M00S03533.ssval +++| BEGIN 03576 M00S03534.ssval +++| HOCSTAT = S"ILL"; # ILL-FORMED CHAIN # 03577 M00S03535.ssval +++| ENDCHAIN = TRUE; 03578 M00S03536.ssval +++| END 03579 M00S03537.ssval +++| 03580 M00S03538.ssval +++| END # LINK TO NEXT # 03581 M00S03539.ssval +++| 03582 M00S03540.ssval +++| 03583 M00S03541.ssval +++|# 03584 M00S03542.ssval +++|* GET NEXT AU IN CHAIN. 03585 M00S03543.ssval +++|# 03586 M00S03544.ssval +++| 03587 M00S03545.ssval +++| IF NOT ENDCHAIN 03588 M00S03546.ssval +++| THEN 03589 M00S03547.ssval +++| BEGIN 03590 M00S03548.ssval +++| VTEN$WORD[0] = VT$ITEM[VTPTR]; # NEXT AU # 03591 M00S03549.ssval +++| END 03592 M00S03550.ssval +++| 03593 M00S03551.ssval +++| END # NOT END OF CHAIN # 03594 M00S03552.ssval +++| 03595 M00S03553.ssval +++|# 03596 M00S03554.ssval +++|* IF INTERSECTING CHAINS, UPDATE OTHER *HOC* ENTRY. 03597 M00S03555.ssval +++|# 03598 M00S03556.ssval +++| 03599 M00S03557.ssval +++| IF HOCSTAT EQ S"INTC" 03600 M00S03558.ssval +++| THEN 03601 M00S03559.ssval +++| BEGIN 03602 M00S03560.ssval +++| VTEN$WORD[0] = VT$ITEM[VTEN$POINT[0]]; # GET *HOC* ENTRY # 03603 M00S03561.ssval +++| VTEN$INTC[0] = TRUE; # SET INTERSECTING # 03604 M00S03562.ssval +++| VT$ITEM[VTEN$POINT[0]] = VTEN$WORD[0]; # STORE *HOC* ENTRY # 03605 M00S03563.ssval +++| END 03606 M00S03564.ssval +++| 03607 M00S03565.ssval +++|# 03608 M00S03566.ssval +++|* UPDATE THE *HOC* ENTRY. 03609 M00S03567.ssval +++|# 03610 M00S03568.ssval +++| 03611 M00S03569.ssval +++| VTEN$WORD[0] = VT$ITEM[I]; # GET *HOC* ENTRY # 03612 M00S03570.ssval +++| IF HOCSTAT EQ S"ILL" 03613 M00S03571.ssval +++| THEN 03614 M00S03572.ssval +++| BEGIN 03615 M00S03573.ssval +++| VTEN$ILL[0] = TRUE; # SET ILL-FORMED BIT # 03616 M00S03574.ssval +++| END 03617 M00S03575.ssval +++| 03618 M00S03576.ssval +++| IF HOCSTAT EQ S"INTC" 03619 M00S03577.ssval +++| THEN 03620 M00S03578.ssval +++| BEGIN 03621 M00S03579.ssval +++| VTEN$INTC[0] = TRUE; # SET INTERSECTING BIT # 03622 M00S03580.ssval +++| END 03623 M00S03581.ssval +++| 03624 M00S03582.ssval +++|# 03625 M00S03583.ssval +++|* DO SCATTERED FILE CHECK. 03626 M00S03584.ssval +++|# 03627 M00S03585.ssval +++| 03628 M00S03586.ssval +++| IF CARTCNT GR PAR$ST 03629 M00S03587.ssval +++| THEN 03630 M00S03588.ssval +++| BEGIN 03631 M00S03589.ssval +++| VTEN$SCAT[0] = TRUE; # SET SCATTERED BIT # 03632 M00S03590.ssval +++| END 03633 M00S03591.ssval +++| 03634 M00S03592.ssval +++| IF FREESTAT 03635 M00S03593.ssval +++| THEN # FREE CARTRIDGE FLAG WAS SET # 03636 M00S03594.ssval +++| BEGIN 03637 M00S03595.ssval +++| VTEN$FCF[0] = TRUE; 03638 M00S03596.ssval +++| END 03639 M00S03597.ssval +++| 03640 M00S03598.ssval +++| VT$ITEM[I] = VTEN$WORD[0]; # STORE *HOC* ENTRY # 03641 M00S03599.ssval +++| 03642 M00S03600.ssval +++| END # *VT* SCAN # 03643 M00S03601.ssval +++| 03644 M00S03602.ssval +++| END # VLNCS # 03645 M00S03603.ssval +++| 03646 M00S03604.ssval +++| TERM 03647 M00S03605.ssval +++|FUNC VLNTC((FLD),(CONVTYP),(SIZE)) C(10); 03648 M00S03606.ssval +++|# TITLE VLNTC - NUMERIC TO CHARACTER CONVERSION. # 03649 M00S03607.ssval +++| 03650 M00S03608.ssval +++| BEGIN # VLNTC # 03651 M00S03609.ssval +++| 03652 M00S03610.ssval +++|# 03653 M00S03611.ssval +++|** VLNTC - NUMERIC TO CHARACTER CONVERSION. 03654 M00S03612.ssval +++|* 03655 M00S03613.ssval +++|* *VLNTC* CONVERTS THE DECIMAL/OCTAL NUMERIC TYPE DATA FIELD 03656 M00S03614.ssval +++|* INTO A LEFT-JUSTIFIED CHARACTER TYPE FIELD. 03657 M00S03615.ssval +++|* 03658 M00S03616.ssval +++|* THE DATA IN *FLD* IS CONVERTED AS SPECIFIED IN *CONVTYP*. 03659 M00S03617.ssval +++|* THEN THE NUMBER (*SIZE*) OF RIGHT-JUSTIFIED CONVERTED 03660 M00S03618.ssval +++|* CHARACTERS IS LEFT-JUSTIFIED INTO THE RESULT FIELD *VLNTC*. 03661 M00S03619.ssval +++|* 03662 M00S03620.ssval +++|* FUNC VLNTC(FLD,CONVTYP,SIZE) 03663 M00S03621.ssval +++|* 03664 M00S03622.ssval +++|* ENTRY (FLD) - DATA FIELD TO CONVERT (RIGHT JUSTIFIED). 03665 M00S03623.ssval +++|* (CONVTYP) - "XCDD" FOR DECIMAL DISPLAY CONVERSION. 03666 M00S03624.ssval +++|* "XCOD" FOR OCTAL DISPLAY CONVERSION. 03667 M00S03625.ssval +++|* ANYTHING ELSE IMPLIES NO CONVERSION. 03668 M00S03626.ssval +++|* (SIZE) - NUMBER OF CHARACTERS IN CONVERTED RESULT 03669 M00S03627.ssval +++|* TO RETURN. 03670 M00S03628.ssval +++|* 03671 M00S03629.ssval +++|* EXIT (VLNTC) - CONVERTED DATA, LEFT JUSTIFIED, BLANK 03672 M00S03630.ssval +++|* FILLED. 03673 M00S03631.ssval +++|* 03674 M00S03632.ssval +++|# 03675 M00S03633.ssval +++| 03676 M00S03634.ssval +++| ITEM FLD I; # FIELD TO CONVERT # 03677 M00S03635.ssval +++| ITEM CONVTYP C(10); # TYPE OF CONVERSION # 03678 M00S03636.ssval +++| ITEM SIZE I; # SIZE OF RESULT # 03679 M00S03637.ssval +++| 03680 M00S03638.ssval +++|# 03681 M00S03639.ssval +++|**** FUNC VLNTC - XREF LIST BEGIN. 03682 M00S03640.ssval +++|# 03683 M00S03641.ssval +++| 03684 M00S03642.ssval +++| XREF 03685 M00S03643.ssval +++| BEGIN 03686 M00S03644.ssval +++| PROC VLBFILL; # BLANK FILL # 03687 M00S03645.ssval +++| FUNC XCDD; # CONVERT INTEGER TO DECIMAL 03688 M00S03646.ssval +++| DISPLAY # 03689 M00S03647.ssval +++| FUNC XCOD; # CONVERT INTEGER TO OCTAL 03690 M00S03648.ssval +++| DISPLAY # 03691 M00S03649.ssval +++| END 03692 M00S03650.ssval +++| 03693 M00S03651.ssval +++|# 03694 M00S03652.ssval +++|**** FUNC VLNTC - XREF LIST END. 03695 M00S03653.ssval +++|# 03696 M00S03654.ssval +++| 03697 M00S03655.ssval +++| ITEM NUMBER I; # TEMPORARY VARIABLE # 03698 M00S03656.ssval +++| 03699 M00S03657.ssval +++| CONTROL EJECT; 03700 M00S03658.ssval +++| 03701 M00S03659.ssval +++| 03702 M00S03660.ssval +++| NUMBER = FLD; 03703 M00S03661.ssval +++| 03704 M00S03662.ssval +++|# 03705 M00S03663.ssval +++|* CONVERT FIELD AS SPECIFIED. 03706 M00S03664.ssval +++|# 03707 M00S03665.ssval +++| 03708 M00S03666.ssval +++| IF CONVTYP EQ "XCDD" # INTEGER TO DECIMAL # 03709 M00S03667.ssval +++| THEN 03710 M00S03668.ssval +++| BEGIN 03711 M00S03669.ssval +++| NUMBER = XCDD(FLD); 03712 M00S03670.ssval +++| END 03713 M00S03671.ssval +++| 03714 M00S03672.ssval +++| IF CONVTYP EQ "XCOD" # INTEGER TO OCTAL # 03715 M00S03673.ssval +++| THEN 03716 M00S03674.ssval +++| BEGIN 03717 M00S03675.ssval +++| NUMBER = XCOD(FLD); 03718 M00S03676.ssval +++| END 03719 M00S03677.ssval +++| 03720 M00S03678.ssval +++|# 03721 M00S03679.ssval +++|* BLANK FILL. 03722 M00S03680.ssval +++|# 03723 M00S03681.ssval +++| 03724 M00S03682.ssval +++| VLBFILL(NUMBER,1); 03725 M00S03683.ssval +++| 03726 M00S03684.ssval +++|# 03727 M00S03685.ssval +++|* RETURN THE FIELD WITH THE NUMBER OF CHARACTERS SPECIFIED, 03728 M00S03686.ssval +++|* LEFT JUSTIFIED, BLANK FILLED. 03729 M00S03687.ssval +++|# 03730 M00S03688.ssval +++| 03731 M00S03689.ssval +++| VLNTC = C<10-SIZE,SIZE>NUMBER; 03732 M00S03690.ssval +++| 03733 M00S03691.ssval +++| END # VLNTC # 03734 M00S03692.ssval +++| 03735 M00S03693.ssval +++| TERM 03736 M00S03694.ssval +++|PROC VLPFC; 03737 M00S03695.ssval +++| 03738 M00S03696.ssval +++|# TITLE VLPFC - READ PFC. # 03739 M00S03697.ssval +++| 03740 M00S03698.ssval +++| BEGIN # VLPFC # 03741 M00S03699.ssval +++| 03742 M00S03700.ssval +++|# 03743 M00S03701.ssval +++|** VLPFC - READ THE *PFC*. 03744 M00S03702.ssval +++|* 03745 M00S03703.ssval +++|* *VLPFC* BUILDS THE *PFC* EXTRACT FILES FROM THE *PFC* 03746 M00S03704.ssval +++|* CATALOG ENTRIES FOR THE SELECTED SUBFAMILIES AND 03747 M00S03705.ssval +++|* SELECTED SM(S). 03748 M00S03706.ssval +++|* 03749 M00S03707.ssval +++|* PROC VLPFC 03750 M00S03708.ssval +++|* 03751 M00S03709.ssval +++|* ENTRY (DEVMASK) - SELECTED SUBFAMILY(S) DEVICE MASK. 03752 M00S03710.ssval +++|* (PAR$CS) - SELECTED *SM-S*. 03753 M00S03711.ssval +++|* (PAR$FM) - FAMILY. 03754 M00S03712.ssval +++|* (PAR$SB) - SELECTED SUBFAMILIES. 03755 M00S03713.ssval +++|* (RPTFADR) - REPORT FILE *FET* ADDRESS. 03756 M00S03714.ssval +++|* 03757 M00S03715.ssval +++|* EXIT THE *PFC* EXTRACT FILES ARE WRITTEN. 03758 M00S03716.ssval +++|* 03759 M00S03717.ssval +++|* FOR ERRORS DETECTED - 03760 M00S03718.ssval +++|* 1) (TOTALERRS) - TOTAL VALIDATION ERRORS INCREMENTED. 03761 M00S03719.ssval +++|* 2) ERROR DETAIL LINES WRITTEN TO THE REPORT FILE. 03762 M00S03720.ssval +++|* 03763 M00S03721.ssval +++|* MESSAGES * ERROR READING *PFC* * 03764 M00S03722.ssval +++|* 03765 M00S03723.ssval +++|* NOTES VALIDATION ERRORS DETECTED ARE - 03766 M00S03724.ssval +++|* . INVALID *SM* IN *ASA*. 03767 M00S03725.ssval +++|* 03768 M00S03726.ssval +++|# 03769 M00S03727.ssval +++| 03770 M00S03728.ssval +++|# 03771 M00S03729.ssval +++|**** PROC VLPFC - XREF LIST BEGIN. 03772 M00S03730.ssval +++|# 03773 M00S03731.ssval +++| 03774 M00S03732.ssval +++| XREF 03775 M00S03733.ssval +++| BEGIN 03776 M00S03734.ssval +++| PROC LOFPROC; # LIST OF FILES PROCESSOR # 03777 M00S03735.ssval +++| PROC RDPFC; # READ PERMANENT FILE CATALOG # 03778 M00S03736.ssval +++| PROC REWIND; # INTERFACE TO *REWIND* MACRO # 03779 M00S03737.ssval +++| PROC RPLINE; # CALLS *RPLINEX* TO PRINT A 03780 M00S03738.ssval +++| LINE # 03781 M00S03739.ssval +++| PROC VLERROR; # ISSUE ERROR MESSAGE # 03782 M00S03740.ssval +++| PROC VLMSG; # ISSUE INFORMATIONAL MESSAGE # 03783 M00S03741.ssval +++| FUNC VLNTC C(10); # NUMERIC TO CHARACTER 03784 M00S03742.ssval +++| CONVERSION # 03785 M00S03743.ssval +++| PROC WRITEF; # INTERFACE TO *WRITEF* MACRO # 03786 M00S03744.ssval +++| PROC WRITEW; # INTERFACE TO *WRITEW* MACRO # 03787 M00S03745.ssval +++| PROC ZSETFET; # INITIALIZES A *FET* FOR *I/O* # 03788 M00S03746.ssval +++| END 03789 M00S03747.ssval +++| 03790 M00S03748.ssval +++|# 03791 M00S03749.ssval +++|**** PROC VLPFC - XREF LIST END. 03792 M00S03750.ssval +++|# 03793 M00S03751.ssval +++| 03794 M00S03752.ssval +++| DEF LISTCON #0#; # TURN COMMON DECK LISTING OFF # 03795 M00S03753.ssval +++|*CALL COMBFAS 03796 M00S03754.ssval +++|*CALL COMSPFM 03797 M00S03755.ssval +++|*CALL COMTCTW 03798 M00S03756.ssval +++|*CALL COMTVLD 03799 M00S03757.ssval +++|*CALL COMTVLF 03800 M00S03758.ssval +++|*CALL COMTVLX 03801 M00S03759.ssval +++| 03802 M00S03760.ssval +++| ITEM VPEO I; # *PFC* ENTRY ORDINAL # 03803 M00S03761.ssval +++| ITEM I I; # TEMPORARY VARIABLE # 03804 M00S03762.ssval +++| ITEM IWC I; # INCREMENTED WORD COUNT # 03805 M00S03763.ssval +++| ITEM K I; # TEMPORARY VARIABLE # 03806 M00S03764.ssval +++| ITEM WDCNT I; # WORD COUNT # 03807 M00S03765.ssval +++| 03808 M00S03766.ssval +++|# 03809 M00S03767.ssval +++|* BUFFER AREA FOR *PFC* ENTRY. 03810 M00S03768.ssval +++|# 03811 M00S03769.ssval +++| 03812 M00S03770.ssval +++| ARRAY VPFCBUFFER [0:O"101"] S(1); # *PFC* BUFFER # 03813 M00S03771.ssval +++| ITEM VPFC$WD U(00,00,60); 03814 M00S03772.ssval +++| 03815 M00S03773.ssval +++|# 03816 M00S03774.ssval +++|* ERROR LINES FOR REPORT FILE. 03817 M00S03775.ssval +++|# 03818 M00S03776.ssval +++| 03819 M00S03777.ssval +++| ARRAY BADSM [0:0] S(5); # INVALID *SM* REPORT LINE # 03820 M00S03778.ssval +++| BEGIN 03821 M00S03779.ssval +++| ITEM BAD$DESC C(00,00,50) = ["***PF = XXXXXXX "]; 03822 M00S03780.ssval +++| ITEM BAD$PFN C(00,48,07); 03823 M00S03781.ssval +++| ITEM BAD$ERR C(02,00,20) = ["INVALID SM IN PFC "]; 03824 M00S03782.ssval +++| END 03825 M00S03783.ssval +++| 03826 M00S03784.ssval +++| ARRAY BADSM2 [0:0] S(5); # INVALID *SM* REPORT LINE 2 # 03827 M00S03785.ssval +++| BEGIN 03828 M00S03786.ssval +++| ITEM BAD$DESC2 C(00,00,50) = [" UI = NNNNNN "]; 03829 M00S03787.ssval +++| ITEM BAD$UI C(00,48,06); 03830 M00S03788.ssval +++| END 03831 M00S03789.ssval +++| 03832 M00S03790.ssval +++| CONTROL EJECT; 03833 M00S03791.ssval +++| 03834 M00S03792.ssval +++|# 03835 M00S03793.ssval +++|* INITIALIZE FETS. 03836 M00S03794.ssval +++|# 03837 M00S03795.ssval +++| 03838 M00S03796.ssval +++| SLOWFOR I = 0 STEP 1 UNTIL MAXSF 03839 M00S03797.ssval +++| DO # *PFC* EXTRACT FILES # 03840 M00S03798.ssval +++| BEGIN 03841 M00S03799.ssval +++| PEXTFADR = LOC(PFCE$FET[I]); 03842 M00S03800.ssval +++| PEXTBADR = LOC(PFCE$BUF[I]); 03843 M00S03801.ssval +++| PFCE$LFN[0] = EXTLFN; # *LFN* OF *PFC* EXTRACT FILES # 03844 M00S03802.ssval +++| PFCE$LFNX[0] = I + "0"; # APPEND SUBFAMILY TO *LFN* # 03845 M00S03803.ssval +++| ZSETFET(PEXTFADR,PFCENAME,PEXTBADR,LPFCEBUF,SFETL); 03846 M00S03804.ssval +++| LOFPROC(PFCENAME); # ADD LFN TO LIST OF FILES # 03847 M00S03805.ssval +++| REWIND(PFCEXTN[I],RCL); 03848 M00S03806.ssval +++| END 03849 M00S03807.ssval +++| 03850 M00S03808.ssval +++| LOFPROC("CATS"); # ADD LFN TO LIST OF FILES # 03851 M00S03809.ssval +++| 03852 M00S03810.ssval +++|# 03853 M00S03811.ssval +++|* READ THE *PFC* FOR THE SELECTED SUBFAMILIES (DEVMASK). 03854 M00S03812.ssval +++|# 03855 M00S03813.ssval +++| 03856 M00S03814.ssval +++| STAT = 0; 03857 M00S03815.ssval +++| SLOWFOR I = 0 STEP 1 WHILE STAT EQ 0 03858 M00S03816.ssval +++| DO 03859 M00S03817.ssval +++| BEGIN # READ *PFC* ENTRIES # 03860 M00S03818.ssval +++| 03861 M00S03819.ssval +++| RDPFC(PAR$FM,DEVMASK,VPFCBUFFER,WDCNT,STAT); 03862 M00S03820.ssval +++| 03863 M00S03821.ssval +++|# 03864 M00S03822.ssval +++|* EXIT IF NO SECTOR WAS RETURNED. 03865 M00S03823.ssval +++|# 03866 M00S03824.ssval +++| 03867 M00S03825.ssval +++| IF STAT NQ 0 03868 M00S03826.ssval +++| THEN 03869 M00S03827.ssval +++| BEGIN 03870 M00S03828.ssval +++| TEST I; 03871 M00S03829.ssval +++| END 03872 M00S03830.ssval +++| 03873 M00S03831.ssval +++|# 03874 M00S03832.ssval +++|* ELSE, PROCESS THE *PFC* SECTOR THAT WAS RETURNED. 03875 M00S03833.ssval +++|# 03876 M00S03834.ssval +++| 03877 M00S03835.ssval +++| P<CNTRWORD> = LOC(VPFCBUFFER) + WDCNT; # RETURN CONTROL WORD # 03878 M00S03836.ssval +++| VPEO = -1; # INITIALIZE *PFC* ENTRY ORDINAL # 03879 M00S03837.ssval +++| 03880 M00S03838.ssval +++| SLOWFOR IWC = 0 STEP PFCENTL WHILE (IWC LS WDCNT) 03881 M00S03839.ssval +++| DO 03882 M00S03840.ssval +++| BEGIN # *PFC* SELECTION # 03883 M00S03841.ssval +++| VPEO = VPEO + 1; 03884 M00S03842.ssval +++| P<PFC> = LOC(VPFC$WD[IWC]); # SET POINTER TO A *PFC* ENTRY # 03885 M00S03843.ssval +++| 03886 M00S03844.ssval +++|# 03887 M00S03845.ssval +++|* SKIP THE *PFC* ENTRY IF IT IS NOT ACTIVE. 03888 M00S03846.ssval +++|# 03889 M00S03847.ssval +++| 03890 M00S03848.ssval +++| IF PFC$UI[0] EQ 0 03891 M00S03849.ssval +++| THEN 03892 M00S03850.ssval +++| BEGIN 03893 M00S03851.ssval +++| TEST IWC; # *PFC* ENTRY IS NOT ACTIVE # 03894 M00S03852.ssval +++| END 03895 M00S03853.ssval +++| 03896 M00S03854.ssval +++|# 03897 M00S03855.ssval +++|* PERMANENT FILE DOES EXIST. 03898 M00S03856.ssval +++|# 03899 M00S03857.ssval +++| 03900 M00S03858.ssval +++| SBINDX = PFC$SF[0]; # SUBFAMILY INDEX # 03901 M00S03859.ssval +++| P<ASA> = LOC(PFC$AA); # ASA DEFINITIONS # 03902 M00S03860.ssval +++| SMINDX = ASASM[0]; # EXTRACT *SM* INDEX # 03903 M00S03861.ssval +++| 03904 M00S03862.ssval +++|
Line S00001 Modification History | |
---|---|
M01 (Added by) | ssval1 |
Seq # *Modification Id* Act ----------------------------+ 03905 M01S00001.ssval1 +++|# 03906 M01S00002.ssval1 +++|* IF NOT *MAS* *PFC*. 03907 M01S00003.ssval1 +++|# 03908 M01S00004.ssval1 +++| 03909 M01S00005.ssval1 +++| IF PFC$AT NQ ATAS 03910 M01S00006.ssval1 +++| THEN 03911 M01S00007.ssval1 +++| BEGIN 03912 M01S00008.ssval1 +++| TEST IWC; 03913 M01S00009.ssval1 +++| END 03914 M01S00010.ssval1 +++| 03915 M01S00011.ssval1 +++| 03916 M00S03863.ssval +++|# 03917 M00S03864.ssval +++|* FOR INVALID *SM*, ISSUE DIAGNOSTIC. 03918 M00S03865.ssval +++|# 03919 M00S03866.ssval +++| 03920 M00S03867.ssval +++| IF (PFC$AA[0] NQ 0) AND ((SMINDX EQ 0) OR (SMINDX GR "H")) 03921 M00S03868.ssval +++| THEN 03922 M00S03869.ssval +++| BEGIN 03923 M00S03870.ssval +++| TOTALERRS = TOTALERRS + 1; 03924 M00S03871.ssval +++| RPLINE(RPTFADR," ",0,1,EOPL); # BLANK LINE # 03925 M00S03872.ssval +++| BAD$PFN[0] = VLNTC(PFC$FN[0]," ",10); # *PFN* IN ERROR # 03926 M00S03873.ssval +++| RPLINE(RPTFADR,BADSM,4,50,EOPL); # ISSUE ERROR LINE # 03927 M00S03874.ssval +++| BAD$UI[0] = VLNTC(PFC$UI[0],"XCOD",6); # SET UI IN ERROR 03928 M00S03875.ssval +++| LINE # 03929 M00S03876.ssval +++| RPLINE(RPTFADR,BADSM2,4,50,EOPL); # ISSUE ERROR LINE # 03930 M00S03877.ssval +++| TEST IWC; 03931 M00S03878.ssval +++| END 03932 M00S03879.ssval +++| 03933 M00S03880.ssval +++|# 03934 M00S03881.ssval +++|* SKIP *PFC* ENTRIES THAT DO NOT MATCH THE SELECTED SUBFAMILY 03935 M00S03882.ssval +++|* OR *SM*. 03936 M00S03883.ssval +++|# 03937 M00S03884.ssval +++| 03938 M00S03885.ssval +++| IF (B<SBINDX,1>PAR$SB EQ 0 ) ## 03939 M00S03886.ssval +++| OR (B<SMINDX,1>PAR$SM EQ 0) ## 03940 M00S03887.ssval +++| OR (PFC$AT[0] NQ ATAS) 03941 M00S03888.ssval +++| THEN 03942 M00S03889.ssval +++| BEGIN 03943 M00S03890.ssval +++| TEST IWC; 03944 M00S03891.ssval +++| END 03945 M00S03892.ssval +++| 03946 M00S03893.ssval +++|# 03947 M00S03894.ssval +++|* BUILD THE EXTRACT RECORD. 03948 M00S03895.ssval +++|# 03949 M00S03896.ssval +++| 03950 M00S03897.ssval +++| EXTR$PEO[0] = VPEO; # *PFC* ENTRY ORDINAL # 03951 M00S03898.ssval +++| EXTR$DN[0] = CNTR$DN[0]; # DEVICE NUMBER # 03952 M00S03899.ssval +++| EXTR$TRK[0] = CNTR$TRK[0]; # TRACK # 03953 M00S03900.ssval +++| EXTR$SEC[0] = CNTR$SEC[0]; # SECTOR # 03954 M00S03901.ssval +++| EXTR$DA[0] = PFC$DA[0]; 03955 M00S03902.ssval +++| EXTR$FLG[0] = PFC$AF[0]; # *ASA* FLAGS # 03956 M00S03903.ssval +++| EXTR$D[0] = 0; # INITIALIZE DISK IMAGE FLAG # 03957 M00S03904.ssval +++| IF PFC$BT[0] NQ 0 03958 M00S03905.ssval +++| THEN # *PFC* TRACK IS NOT ZERO # 03959 M00S03906.ssval +++| BEGIN 03960 M00S03907.ssval +++| EXTR$D[0] = 1; # DISK IMAGE EXISTS # 03961 M00S03908.ssval +++| END 03962 M00S03909.ssval +++| 03963 M00S03910.ssval +++| EXTR$ASA[0] = PFC$AA[0]; # SET THE *ASA* # 03964 M00S03911.ssval +++| EXTR$AT[0] = PFC$AT[0]; 03965 M00S03912.ssval +++| EXTR$FCT[0] = EXTR$GP[0]*16 + EXTR$GPT[0]; 03966 M00S03913.ssval +++| EXTR$PFN[0] = PFC$FN[0]; # SET THE *PFN* # 03967 M00S03914.ssval +++| EXTR$UI[0] = PFC$UI[0]; # SET THE *UI* # 03968 M00S03915.ssval +++| EXTR$BKDT[0] = PFC$UD[0]; # SET THE BACKUP DATE/TIME # 03969 M00S03916.ssval +++| EXTR$CREA[0] = PFC$CD[0]; # CREATION DATE/TIME # 03970 M00S03917.ssval +++| 03971 M00S03918.ssval +++|# 03972 M00S03919.ssval +++|* SET THE BACKUP DATE/TIME TO BE THE LATEST DATE/TIME FROM 03973 M00S03920.ssval +++|* THE UTILITY CONTROL AND CONTROL MODIFICATION DATE/TIME 03974 M00S03921.ssval +++|* FIELDS. 03975 M00S03922.ssval +++|# 03976 M00S03923.ssval +++| 03977 M00S03924.ssval +++| IF PFC$UD[0] LS PFC$KD[0] 03978 M00S03925.ssval +++| THEN # CONTROL IS NEWER THAN UTILITY # 03979 M00S03926.ssval +++| BEGIN 03980 M00S03927.ssval +++| EXTR$BKDT[0] = PFC$KD[0]; # BACKUP DATE/TIME # 03981 M00S03928.ssval +++| END 03982 M00S03929.ssval +++| 03983 M00S03930.ssval +++| WRITEW(PFCEXTN[SBINDX],EXTRECORD,RLEXTR,K); 03984 M00S03931.ssval +++| END # *PFC* SELECTION # 03985 M00S03932.ssval +++| 03986 M00S03933.ssval +++| END # READ *PFC* ENTRIES # 03987 M00S03934.ssval +++| 03988 M00S03935.ssval +++|# 03989 M00S03936.ssval +++|* IF ERROR READING PFC, ISSUE MESSAGE AND ABORT. 03990 M00S03937.ssval +++|# 03991 M00S03938.ssval +++| 03992 M00S03939.ssval +++| IF STAT NQ 1 # IF NOT *EOI* # 03993 M00S03940.ssval +++| THEN # ERROR TYPE 2, 3, OR 4 # 03994 M00S03941.ssval +++| BEGIN 03995 M00S03942.ssval +++| VLERROR(VE"PFCERR",ABRT); # ISSUE MESSAGE AND ABORT # 03996 M00S03943.ssval +++| END 03997 M00S03944.ssval +++| 03998 M00S03945.ssval +++|# 03999 M00S03946.ssval +++|* WRITE EOFS ON ALL FILES. 04000 M00S03947.ssval +++|# 04001 M00S03948.ssval +++| 04002 M00S03949.ssval +++| SLOWFOR I = 0 STEP 1 UNTIL MAXSF 04003 M00S03950.ssval +++| DO 04004 M00S03951.ssval +++| BEGIN 04005 M00S03952.ssval +++| WRITEF(PFCEXTN[I],RCL); 04006 M00S03953.ssval +++| REWIND(PFCEXTN[I],RCL); 04007 M00S03954.ssval +++| END 04008 M00S03955.ssval +++| 04009 M00S03956.ssval +++|# 04010 M00S03957.ssval +++|* SET BITS TO INDICATE ALL SFM CATALOG FILES DO EXIST AND ARE 04011 M00S03958.ssval +++|* TO BE VALIDATED. 04012 M00S03959.ssval +++|# 04013 M00S03960.ssval +++| 04014 M00S03961.ssval +++| B<0,8>SFMCATDEF = O"777"; # TURN THE 8 SUBCATALOG FLAGS ON # 04015 M00S03962.ssval +++| 04016 M00S03963.ssval +++| END # VLPFC # 04017 M00S03964.ssval +++| 04018 M00S03965.ssval +++| TERM 04019 M00S03966.ssval +++|PROC VLPFILL(FLD,(PARAM)); 04020 M00S03967.ssval +++|# TITLE VLPFILL - FILL PARAMETER IN MESSAGE TEXT. # 04021 M00S03968.ssval +++| 04022 M00S03969.ssval +++| BEGIN # VLPFILL # 04023 M00S03970.ssval +++| 04024 M00S03971.ssval +++|# 04025 M00S03972.ssval +++|** VLPFILL - FILL PARAMETER INTO MESSAGE TEXT. 04026 M00S03973.ssval +++|* 04027 M00S03974.ssval +++|* *VLPFILL* LOCATES THE PARAMETER PLACE-HOLDER IN THE 04028 M00S03975.ssval +++|* TEXT AND REPLACES IT WITH THE PARAMETER CHARACTERS 04029 M00S03976.ssval +++|* IN THE *PARAM* WORD. 04030 M00S03977.ssval +++|* 04031 M00S03978.ssval +++|* A MAXIMUM OF 40 CHARACTERS IS SCANNED. 04032 M00S03979.ssval +++|* 04033 M00S03980.ssval +++|* PROC VLPFILL(FLD,PARAM) 04034 M00S03981.ssval +++|* 04035 M00S03982.ssval +++|* ENTRY (FLD) - TEXT TO SCAN. 04036 M00S03983.ssval +++|* (PARAM) - PARAMETER TO PLACE IN TEXT. 04037 M00S03984.ssval +++|* 04038 M00S03985.ssval +++|* EXIT (FLD) - TEXT WITH THE PARAMETER FROM *PARAM* INSERTED. 04039 M00S03986.ssval +++|* 04040 M00S03987.ssval +++|# 04041 M00S03988.ssval +++| 04042 M00S03989.ssval +++| 04043 M00S03990.ssval +++| ITEM FLD I; # TEXT TO SCAN # 04044 M00S03991.ssval +++| ITEM PARAM C(10); # PARAMETER TO INSERT # 04045 M00S03992.ssval +++| 04046 M00S03993.ssval +++| 04047 M00S03994.ssval +++| DEF LISTCON #0#; # TURN OFF COMMON DECK LISTING # 04048 M00S03995.ssval +++| 04049 M00S03996.ssval +++|*CALL COMBFAS 04050 M00S03997.ssval +++| 04051 M00S03998.ssval +++| 04052 M00S03999.ssval +++| 04053 M00S04000.ssval +++| ITEM PCHAR I; # PARAMETER CHARACTER INDEX # 04054 M00S04001.ssval +++| ITEM QCHAR I; # Q CHARACTER INDEX # 04055 M00S04002.ssval +++| ITEM Q I; # Q CHARACTER TEMPORARY # 04056 M00S04003.ssval +++| 04057 M00S04004.ssval +++| BASED 04058 M00S04005.ssval +++| ARRAY SCAN [0:0] S(4); # TO SCAN TEXT FIELD # 04059 M00S04006.ssval +++| ITEM SCAN$WD C(00,00,40); 04060 M00S04007.ssval +++| CONTROL EJECT; 04061 M00S04008.ssval +++| 04062 M00S04009.ssval +++| P<SCAN> = LOC(FLD); 04063 M00S04010.ssval +++| 04064 M00S04011.ssval +++| 04065 M00S04012.ssval +++| Q = 0; 04066 M00S04013.ssval +++| QCHAR = -1; # INITIALIZE # 04067 M00S04014.ssval +++| 04068 M00S04015.ssval +++|# 04069 M00S04016.ssval +++|* SCAN THE TEXT LOOKING FOR A PARAMETER PLACE-HOLDER. 04070 M00S04017.ssval +++|# 04071 M00S04018.ssval +++| 04072 M00S04019.ssval +++| REPEAT WHILE QCHAR LQ 40 AND Q NQ "Q" 04073 M00S04020.ssval +++| DO 04074 M00S04021.ssval +++| BEGIN # PLACE-HOLDER SEARCH # 04075 M00S04022.ssval +++| QCHAR = QCHAR + 1; 04076 M00S04023.ssval +++| Q = C<QCHAR,1>SCAN$WD[0]; # GET A CHARACTER # 04077 M00S04024.ssval +++| END # PLACE-HOLDER SEARCH # 04078 M00S04025.ssval +++| 04079 M00S04026.ssval +++|# 04080 M00S04027.ssval +++|* MOVE PARAMETER INTO THE PLACE-HOLDER IF THERE WAS ONE. 04081 M00S04028.ssval +++|# 04082 M00S04029.ssval +++| 04083 M00S04030.ssval +++| SLOWFOR PCHAR = 0 STEP 1 WHILE Q EQ "Q" 04084 M00S04031.ssval +++| DO 04085 M00S04032.ssval +++| BEGIN # PLACE-HOLDER INSERT # 04086 M00S04033.ssval +++| C<QCHAR,1>SCAN$WD[0] = C<PCHAR,1>PARAM; # REPLACE Q 04087 M00S04034.ssval +++| CHARACTER # 04088 M00S04035.ssval +++| QCHAR = QCHAR + 1; 04089 M00S04036.ssval +++| Q = C<QCHAR,1>SCAN$WD[0]; # GET NEXT CHARACTER # 04090 M00S04037.ssval +++| END # PLACE-HOLDER INSERT # 04091 M00S04038.ssval +++| 04092 M00S04039.ssval +++| RETURN; 04093 M00S04040.ssval +++| END # VLPFILL # 04094 M00S04041.ssval +++| 04095 M00S04042.ssval +++| TERM 04096 M00S04043.ssval +++|PROC VLPRSET; 04097 M00S04044.ssval +++|# TITLE VLPRSET - PRESET PARAMETERS AND FILES. # 04098 M00S04045.ssval +++| 04099 M00S04046.ssval +++| BEGIN # VLPRSET # 04100 M00S04047.ssval +++| 04101 M00S04048.ssval +++|# 04102 M00S04049.ssval +++|** VLPRSET - PRESET PARAMETERS AND FILES. 04103 M00S04050.ssval +++|* 04104 M00S04051.ssval +++|* *VLPRSET* INITIALIZES ALL PARAMETERS AND PERFORMS 04105 M00S04052.ssval +++|* ALL PRESET FUNCTIONS. THIS INCLUDES - 04106 M00S04053.ssval +++|* . GET DEFAULT FAMILY AND SUBSYSTEM ID. 04107 M00S04054.ssval +++|* . CRACK CONTROL CARD AND EDIT PARAMETERS. 04108 M00S04055.ssval +++|* . LIST THE CONTROL CARD PARAMETERS IN THE REPORT FILE. 04109 M00S04056.ssval +++|* . OPEN/INITIALIZE FILES. 04110 M00S04057.ssval +++|* 04111 M00S04058.ssval +++|* PROC VLPRSET 04112 M00S04059.ssval +++|* 04113 M00S04060.ssval +++|* ENTRY THE CONTROL CARD IN *RA* + 70B. 04114 M00S04061.ssval +++|* 04115 M00S04062.ssval +++|* EXIT (DEF$FAM) - DEFAULT FAMILY. 04116 M00S04063.ssval +++|* (DEVMASK) - DEVICE MASK FOR SELECTED 04117 M00S04064.ssval +++|* SUBFAMILIES. 04118 M00S04065.ssval +++|* (PAR$XX) - PARAMETER VALUES WHERE XX = 04119 M00S04066.ssval +++|* KEYWORD. 04120 M00S04067.ssval +++|* (RPTFILE) - ADDRESS OF REPORT FILE *FET*. 04121 M00S04068.ssval +++|* (SSID$VL) - SUBSYTEM IDENTIFICATION. 04122 M00S04069.ssval +++|* (ARRAY FIXITFILE) - FIXIT FILE *FET*. 04123 M00S04070.ssval +++|* (ARRAY PROBFILE) - PROBLEM FILE *FET*. 04124 M00S04071.ssval +++|* 04125 M00S04072.ssval +++|* MESSAGES * INVALID SM PARAMETER.* 04126 M00S04073.ssval +++|* * INVALID FX PARAMETER.* 04127 M00S04074.ssval +++|* * ILLEGAL - L AND RF PARAMETERS.* 04128 M00S04075.ssval +++|* * ILLEGAL - RF AND AM PARAMETERS.* 04129 M00S04076.ssval +++|* * ILLEGAL - RF AND FM PARAMETERS.* 04130 M00S04077.ssval +++|* * ILLEGAL - RL AND NO RF PARAMETERS.* 04131 M00S04078.ssval +++|* * INVALID - SB PARAMETER.* 04132 M00S04079.ssval +++|* * INVALID - ST PARAMETER.* 04133 M00S04080.ssval +++|* * CONTROL CARD SYNTAX ERROR.* 04134 M00S04081.ssval +++|* * ABORT RUN DUE TO ERRORS.* 04135 M00S04082.ssval +++|* 04136 M00S04083.ssval +++|# 04137 M00S04084.ssval +++| 04138 M00S04085.ssval +++| 04139 M00S04086.ssval +++|# 04140 M00S04087.ssval +++|**** PROC VLPRSET - XREF LIST BEGIN. 04141 M00S04088.ssval +++|# 04142 M00S04089.ssval +++| 04143 M00S04090.ssval +++| XREF 04144 M00S04091.ssval +++| BEGIN
Line S00030 Modification History | |
---|---|
M01 (Added by) | ssval3 |
Seq # *Modification Id* Act ----------------------------+ 04145 M01S00030.ssval3 +++| PROC BZFILL; # BLANK OR ZERO FILL # 04146 M00S04092.ssval +++| PROC GETFAM; # SET FAMILY TABLE # 04147 M00S04093.ssval +++| PROC LOFPROC; # LIST OF FILES PROCESSOR #
Line S00031 Modification History | |
---|---|
M01 (Added by) | ssval3 |
Seq # *Modification Id* Act ----------------------------+ 04148 M01S00031.ssval3 +++| PROC PFD; # PERMANENT FILE ACCESS # 04149 M01S00032.ssval3 +++| PROC SETPFP; # SET FILE PARAMETERS# 04150 M00S04094.ssval +++| PROC RETERN; # RETURNS SPECIFIED FILE # 04151 M00S04095.ssval +++| PROC REWIND; # INTERFACE TO *REWIND* MACRO # 04152 M00S04096.ssval +++| PROC RPLINE; # CALLS *RPLINEX* TO PRINT A 04153 M00S04097.ssval +++| LINE # 04154 M00S04098.ssval +++| PROC RPOPEN; # OPENS A PRINT FILE # 04155 M00S04099.ssval +++| PROC VLBFILL; # BLANK FILL # 04156 M00S04100.ssval +++| PROC VLERROR; # ISSUE ERROR MESSAGE # 04157 M00S04101.ssval +++| FUNC VLNTC C(10); # NUMERIC TO CHARACTER 04158 M00S04102.ssval +++| CONVERSION # 04159 M00S04103.ssval +++| PROC VLPFC; # READ *PFC* # 04160 M00S04104.ssval +++| PROC VLRDF; # READ RDF FILE # 04161 M00S04105.ssval +++| PROC VLTAB; 04162 M00S04106.ssval +++| PROC VLTITLE; # ISSUE REPORT TITLE # 04163 M00S04107.ssval +++| PROC XARG; # CRACK PARAMETER LIST # 04164 M00S04108.ssval +++| FUNC XDXB; # CONVERT DISPLAY CODE TO BINARY # 04165 M00S04109.ssval +++| PROC ZSETFET; # INITIALIZES A *FET* FOR *I/O* # 04166 M00S04110.ssval +++| END 04167 M00S04111.ssval +++| 04168 M00S04112.ssval +++|# 04169 M00S04113.ssval +++|**** PROC VLPRSET - XREF LIST END. 04170 M00S04114.ssval +++|# 04171 M00S04115.ssval +++| 04172 M00S04116.ssval +++| 04173 M00S04117.ssval +++| DEF LISTCON #0#; # TURN OFF COMMON DECK LISTINGS # 04174 M00S04118.ssval +++| 04175 M00S04119.ssval +++|*CALL COMBFAS
Line S00033 Modification History | |
---|---|
M01 (Added by) | ssval3 |
Seq # *Modification Id* Act ----------------------------+ 04176 M01S00033.ssval3 +++|*CALL COMBBZF 04177 M01S00034.ssval3 +++|*CALL COMBPFP 04178 M00S04120.ssval +++|*CALL COMSPFM 04179 M00S04121.ssval +++|*CALL COMTVLD 04180 M00S04122.ssval +++|*CALL COMTVLF 04181 M00S04123.ssval +++|*CALL COMTVLP 04182 M00S04124.ssval +++|*CALL COMTVLX 04183 M00S04125.ssval +++| 04184 M00S04126.ssval +++| 04185 M00S04127.ssval +++| ITEM ARGADDR I; # ARGUMENT TABLE ADDRESS # 04186 M00S04128.ssval +++| ITEM ARGERR I; # CTL CARD ARGUMENT ERROR # 04187 M00S04129.ssval +++| ITEM CHAR I; # SCRATCH FIELD # 04188 M00S04130.ssval +++| ITEM I I; # TEMPORARY VARIABLE # 04189 M00S04131.ssval +++| ITEM J I; # TEMPORARY VARIABLE # 04190 M00S04132.ssval +++| ITEM K I; # TEMPORARY VARIABLE # 04191 M00S04133.ssval +++| ITEM PAR I; # SCRATCH FIELD # 04192 M00S04134.ssval +++| 04193 M00S04135.ssval +++| 04194 M00S04136.ssval +++| BASED 04195 M00S04137.ssval +++| ARRAY ARGELEMENT [0:0] S(1); # TO EXTRACT THE ARGUMENTS # 04196 M00S04138.ssval +++| BEGIN 04197 M00S04139.ssval +++| ITEM ARGITEM U(00,00,60); 04198 M00S04140.ssval +++| ITEM ARGITEMC C(00,00,10); 04199 M00S04141.ssval +++| ITEM ARGSCAN C(00,00,20); # FOR A 2 WORD PARAMETER # 04200 M00S04142.ssval +++| END 04201 M00S04143.ssval +++| 04202 M00S04144.ssval +++| 04203 M00S04145.ssval +++| ARRAY PARIDS [0:VARGL] S(1); # PARAMETER IDS FOR REPORT # 04204 M00S04146.ssval +++| BEGIN 04205 M00S04147.ssval +++| ITEM PARNME C(00,30,5); 04206 M00S04148.ssval +++| ITEM PARNME1 C(VLF,30,5) = [ "L = " ]; 04207 M00S04149.ssval +++| ITEM PARNME2 C(VRF,30,5) = [ "RF = " ]; 04208 M00S04150.ssval +++| ITEM PARNME3 C(VAM,30,5) = [ "AM = " ]; 04209 M00S04151.ssval +++| ITEM PARNME4 C(VSM,30,5) = [ "SM = " ]; 04210 M00S04152.ssval +++| ITEM PARNME6 C(VFM,30,5) = [ "FM = " ]; 04211 M00S04153.ssval +++| ITEM PARNME7 C(VFX,30,5) = [ "FX = " ]; 04212 M00S04154.ssval +++| ITEM PARNME8 C(VRL,30,5) = [ "RL = " ]; 04213 M00S04155.ssval +++| ITEM PARNME9 C(VSB,30,5) = [ "SB = " ]; 04214 M00S04156.ssval +++| ITEM PARNME10 C(VST,30,5) = [ "ST = " ]; 04215 M00S04157.ssval +++| END 04216 M00S04158.ssval +++| 04217 M00S04159.ssval +++|# 04218 M00S04160.ssval +++|* TO BUILD THE PARAMETER FOR THE REPORT FILE. 04219 M00S04161.ssval +++|# 04220 M00S04162.ssval +++| 04221 M00S04163.ssval +++| ARRAY PARVALUE [0:0] S(2); # PARAMETER DISPLAY CD VALUE # 04222 M00S04164.ssval +++| BEGIN 04223 M00S04165.ssval +++| ITEM PAR$VALUE C(00,00,20); # PARAMETER # 04224 M00S04166.ssval +++| ITEM PAR$VALEND U(00,42,18); # END OF FIRST PARAMETER # 04225 M00S04167.ssval +++| ITEM PAR$VAL2 C(01,00,10); # SECOND WORD OF PARAMETER # 04226 M00S04168.ssval +++| END 04227 M00S04169.ssval +++| CONTROL EJECT; 04228 M00S04170.ssval +++| 04229 M00S04171.ssval +++|# 04230 M00S04172.ssval +++|* GET THE SYSTEM DEFAULT FAMILY AND THE SUBSYSTEM IDENTIFICATION. 04231 M00S04173.ssval +++|# 04232 M00S04174.ssval +++| 04233 M00S04175.ssval +++| SSID$VL = ATAS; 04234 M00S04176.ssval +++| GETFAM(FAMT,I,J,K,SSID$VL); 04235 M00S04177.ssval +++| DEF$FAM = FAM$NAME[K]; 04236 M00S04178.ssval +++| 04237 M00S04179.ssval +++|# 04238 M00S04180.ssval +++|* CRACK THE CONTROL CARD. 04239 M00S04181.ssval +++|# 04240 M00S04182.ssval +++| 04241 M00S04183.ssval +++| VLTAB(ARGADDR); # GET ADDR OF ARGUMENT TABLE # 04242 M00S04184.ssval +++| XARG(ARGADDR,0,ARGERR); # CRACK PARAMETERS BASED ON 04243 M00S04185.ssval +++| TABLE # 04244 M00S04186.ssval +++| 04245 M00S04187.ssval +++| IF ARGERR NQ 0 04246 M00S04188.ssval +++| THEN # SYNTAX ERROR # 04247 M00S04189.ssval +++| BEGIN 04248 M00S04190.ssval +++| VLERROR(VE"SYNTAX",ABRT); # ABORT WITH MESSAGE # 04249 M00S04191.ssval +++| END 04250 M00S04192.ssval +++| 04251 M00S04193.ssval +++| P<ARGELEMENT> = LOC(VARGUMENTS); 04252 M00S04194.ssval +++| 04253 M00S04195.ssval +++|# 04254 M00S04196.ssval +++|* MOVE CONTROL CARD ARGUMENTS TO PARAMETERS. PARAMETERS ARE 04255 M00S04197.ssval +++|* STORED IN PAR$XX (WHERE XX IS THE KEYWORD) FOR SUBSEQUENT 04256 M00S04198.ssval +++|* PROGRAM ACCESS. 04257 M00S04199.ssval +++|# 04258 M00S04200.ssval +++| 04259 M00S04201.ssval +++| PAR$LF = VARG$LF[0]; # *L* PARAMETER VALUE # 04260 M00S04202.ssval +++| PAR$RF = VARG$RF[0]; # *RF* PARAMETER VALUE # 04261 M00S04203.ssval +++| PAR$AM = VARG$AM[0]; # *AM* PARAMETER VALUE # 04262 M00S04204.ssval +++| 04263 M00S04205.ssval +++| SLOWFOR I = 0 STEP 1 UNTIL 7 04264 M00S04206.ssval +++| DO # *SM* PARAMETER # 04265 M00S04207.ssval +++| BEGIN # MOVE ARGUMENTS # 04266 M00S04208.ssval +++| CHAR = C<I,1>ARGSCAN[VSM]; # A *SM* CHARACTER # 04267 M00S04209.ssval +++| IF CHAR EQ 0 04268 M00S04210.ssval +++| THEN # END OF *CS* PARAMETER # 04269 M00S04211.ssval +++| BEGIN 04270 M00S04212.ssval +++| TEST I; 04271 M00S04213.ssval +++| END 04272 M00S04214.ssval +++| 04273 M00S04215.ssval +++| IF CHAR GR "H" 04274 M00S04216.ssval +++| THEN # ILLEGAL CHARACTER # 04275 M00S04217.ssval +++| BEGIN 04276 M00S04218.ssval +++| VLERROR(VE"SMPAR",NOABT); # ISSUE MESSAGE # 04277 M00S04219.ssval +++| END 04278 M00S04220.ssval +++| 04279 M00S04221.ssval +++| ELSE 04280 M00S04222.ssval +++| BEGIN # SET *SM* BIT # 04281 M00S04223.ssval +++| IF B<CHAR,1>PAR$SM EQ 1 04282 M00S04224.ssval +++| THEN 04283 M00S04225.ssval +++| BEGIN 04284 M00S04226.ssval +++| VLERROR(VE"DUPCS",NOABT); 04285 M00S04227.ssval +++| END 04286 M00S04228.ssval +++| 04287 M00S04229.ssval +++| ELSE 04288 M00S04230.ssval +++| BEGIN 04289 M00S04231.ssval +++| B<CHAR,1>PAR$SM = 1; 04290 M00S04232.ssval +++| END 04291 M00S04233.ssval +++| 04292 M00S04234.ssval +++| END # SET *CS* BIT # 04293 M00S04235.ssval +++| 04294 M00S04236.ssval +++| 04295 M00S04237.ssval +++| END # MOVE ARGUMENTS # 04296 M00S04238.ssval +++| 04297 M00S04239.ssval +++| PAR$FM = VARG$FM[0]; # FM PARAMETER VALUE # 04298 M00S04240.ssval +++| 04299 M00S04241.ssval +++| STAT = XDXB(VARG$FX[0],"D",PAR$FX); # CONVERT FX VALUE # 04300 M00S04242.ssval +++| IF STAT NQ 0 04301 M00S04243.ssval +++| THEN # ILLEGAL FX VALUE # 04302 M00S04244.ssval +++| BEGIN 04303 M00S04245.ssval +++| VLERROR(VE"FXPAR",NOABT); # ISSUE MESSAGE # 04304 M00S04246.ssval +++| END 04305 M00S04247.ssval +++| 04306 M00S04248.ssval +++| PAR$RL = VARG$RL[0]; # RL PARAMETER VALUE # 04307 M00S04249.ssval +++| 04308 M00S04250.ssval +++| SLOWFOR J = 0 STEP 1 UNTIL 9 04309 M00S04251.ssval +++| DO # SB PARAMETER # 04310 M00S04252.ssval +++| BEGIN # SUBFAMILY ARGUMENTS # 04311 M00S04253.ssval +++| CHAR = C<J,1>ARGITEM[VSB]; # EXTRACT A SUBFAMILY NUMBER # 04312 M00S04254.ssval +++| IF CHAR EQ 0 04313 M00S04255.ssval +++| THEN # END OF SB VALUE # 04314 M00S04256.ssval +++| BEGIN 04315 M00S04257.ssval +++| TEST J; 04316 M00S04258.ssval +++| END 04317 M00S04259.ssval +++| 04318 M00S04260.ssval +++| IF CHAR LS "0" OR CHAR GR "7" 04319 M00S04261.ssval +++| THEN # ILLEGAL SUBFAMILY # 04320 M00S04262.ssval +++| BEGIN 04321 M00S04263.ssval +++| VLERROR(VE"SBPAR",NOABT); # ISSUE MESSAGE # 04322 M00S04264.ssval +++| END 04323 M00S04265.ssval +++| 04324 M00S04266.ssval +++| ELSE 04325 M00S04267.ssval +++| BEGIN # SET SUBFAMILY BIT # 04326 M00S04268.ssval +++| IF B<CHAR-"0",1>PAR$SB EQ 1 04327 M00S04269.ssval +++| THEN 04328 M00S04270.ssval +++| BEGIN 04329 M00S04271.ssval +++| VLERROR(VE"DUPSB",NOABT); 04330 M00S04272.ssval +++| END 04331 M00S04273.ssval +++| 04332 M00S04274.ssval +++| ELSE 04333 M00S04275.ssval +++| BEGIN 04334 M00S04276.ssval +++| B<CHAR-"0",1>PAR$SB = 1; # SET *SB* BIT # 04335 M00S04277.ssval +++| B<59-(CHAR-"0"),1>DEVMASK = 1; # RIGHT JUSTIFIED MASK # 04336 M00S04278.ssval +++| END 04337 M00S04279.ssval +++| 04338 M00S04280.ssval +++| END # SET SUBFAMILY BIT # 04339 M00S04281.ssval +++| 04340 M00S04282.ssval +++| END # SUBFAMILY ARGUMENTS # 04341 M00S04283.ssval +++| 04342 M00S04284.ssval +++| IF VARG$ST[0] EQ O"30555555555555555555" 04343 M00S04285.ssval +++| THEN # DEFAULT *ST* # 04344 M00S04286.ssval +++| BEGIN 04345 M00S04287.ssval +++| VARG$ST[0] = O"34555555555555555555"; 04346 M00S04288.ssval +++| END 04347 M00S04289.ssval +++| 04348 M00S04290.ssval +++| STAT = XDXB(VARG$ST[0],"D",PAR$ST); # CONVERT ST PARAMETER # 04349 M00S04291.ssval +++| IF STAT NQ 0 04350 M00S04292.ssval +++| THEN # ILLEGAL ST VALUE # 04351 M00S04293.ssval +++| BEGIN 04352 M00S04294.ssval +++| VLERROR(VE"STPAR",NOABT); # ISSUE MESSAGE # 04353 M00S04295.ssval +++| END 04354 M00S04296.ssval +++| 04355 M00S04297.ssval +++|# 04356 M00S04298.ssval +++|* VERIFY THAT THE PARAMETER COMBINATIONS ARE LEGAL. 04357 M00S04299.ssval +++|* ERRORS ARE - 04358 M00S04300.ssval +++|* . *RF* AND *AM* PARAMETER TOGETHER, 04359 M00S04301.ssval +++|* . *RF* AND *FM* PARAMETER TOGETHER, 04360 M00S04302.ssval +++|* . *RL* AND NO *RF* PARAMETER. 04361 M00S04303.ssval +++|# 04362 M00S04304.ssval +++| 04363 M00S04305.ssval +++|# 04364 M00S04306.ssval +++|* L PARAMETER = RF PARAMETER. 04365 M00S04307.ssval +++|# 04366 M00S04308.ssval +++| 04367 M00S04309.ssval +++| IF (PAR$LF NQ 0) AND (PAR$LF EQ PAR$RF) 04368 M00S04310.ssval +++| THEN 04369 M00S04311.ssval +++| BEGIN 04370 M00S04312.ssval +++| VLERROR(VE"LFRF",NOABT); # ISSUE MESSAGE # 04371 M00S04313.ssval +++| END 04372 M00S04314.ssval +++| 04373 M00S04315.ssval +++|# 04374 M00S04316.ssval +++|* RL PARAMETER BUT NO RF. 04375 M00S04317.ssval +++|# 04376 M00S04318.ssval +++| 04377 M00S04319.ssval +++| IF (PAR$RL NQ 0) AND (PAR$RF EQ 0) 04378 M00S04320.ssval +++| THEN 04379 M00S04321.ssval +++| BEGIN 04380 M00S04322.ssval +++| VLERROR(VE"RLNRF",NOABT); # ISSUE MESSAGE # 04381 M00S04323.ssval +++| END 04382 M00S04324.ssval +++| 04383 M00S04325.ssval +++|# 04384 M00S04326.ssval +++|* RF AND FM SPECIFIED. 04385 M00S04327.ssval +++|# 04386 M00S04328.ssval +++| 04387 M00S04329.ssval +++| IF (PAR$RF NQ 0) AND (PAR$FM NQ 0) 04388 M00S04330.ssval +++| THEN 04389 M00S04331.ssval +++| BEGIN 04390 M00S04332.ssval +++| VLERROR(VE"RFFM",NOABT); # ISSUE MESSAGE # 04391 M00S04333.ssval +++| END 04392 M00S04334.ssval +++| 04393 M00S04335.ssval +++|# 04394 M00S04336.ssval +++|* RF AND AM SPECIFIED. 04395 M00S04337.ssval +++|# 04396 M00S04338.ssval +++| 04397 M00S04339.ssval +++| IF (PAR$RF NQ 0) AND (PAR$AM NQ 0) 04398 M00S04340.ssval +++| THEN 04399 M00S04341.ssval +++| BEGIN 04400 M00S04342.ssval +++| VLERROR(VE"RFAM",NOABT); # ISSUE MESSAGE # 04401 M00S04343.ssval +++| END 04402 M00S04344.ssval +++| 04403 M00S04345.ssval +++|# 04404 M00S04346.ssval +++|* IF ANY CONTROL CARD ERRORS, ABORT. 04405 M00S04347.ssval +++|* (ERRORS ARE COUNTED IN VLERROR). 04406 M00S04348.ssval +++|# 04407 M00S04349.ssval +++| 04408 M00S04350.ssval +++| IF CNTPROGERR NQ 0 04409 M00S04351.ssval +++| THEN # SOME ERRORS OCCURRED # 04410 M00S04352.ssval +++| BEGIN 04411 M00S04353.ssval +++| VLERROR(VE"ABORT",ABRT); # ABORT WITH MESSAGE # 04412 M00S04354.ssval +++| END 04413 M00S04355.ssval +++| 04414 M00S04356.ssval +++| 04415 M00S04357.ssval +++|# 04416 M00S04358.ssval +++|* SET THE FAMILY PARAMETER TO THE DEFAULT FAMILY IF THE 04417 M00S04359.ssval +++|* FM OPTION IS ACTIVE (NO RF PARAMETER) BUT THE FAMILY WAS 04418 M00S04360.ssval +++|* NOT SPECIFIED. 04419 M00S04361.ssval +++|# 04420 M00S04362.ssval +++| 04421 M00S04363.ssval +++| IF (PAR$RF EQ 0) AND ((VARG$IFM[0] EQ -1) OR (PAR$FM EQ 0)) 04422 M00S04364.ssval +++| THEN 04423 M00S04365.ssval +++| BEGIN 04424 M00S04366.ssval +++| PAR$FM = DEF$FAM; 04425 M00S04367.ssval +++| VARG$FM[0] = PAR$FM; 04426 M00S04368.ssval +++| END 04427 M00S04369.ssval +++| 04428 M00S04370.ssval +++|# 04429 M00S04371.ssval +++|* OPEN REPORT FILE. 04430 M00S04372.ssval +++|# 04431 M00S04373.ssval +++| 04432 M00S04374.ssval +++| IF PAR$LF NQ 0 04433 M00S04375.ssval +++| THEN # L PARAMETER ACTIVE # 04434 M00S04376.ssval +++| BEGIN 04435 M00S04377.ssval +++| RPTFADR = LOC(RPTFILE); # REPORT FILE FET ADDRESS # 04436 M00S04378.ssval +++| END 04437 M00S04379.ssval +++| 04438 M00S04380.ssval +++| RPOPEN(PAR$LF,RPTFADR,VLTITLE); 04439 M00S04381.ssval +++| 04440 M00S04382.ssval +++|# 04441 M00S04383.ssval +++|* ISSUE REPORT OF SPECIFIED AND DEFAULTED PARAMETERS. 04442 M00S04384.ssval +++|# 04443 M00S04385.ssval +++| 04444 M00S04386.ssval +++|# 04445 M00S04387.ssval +++|* PRINT THE CONTROL CARD AS IT IS IN THE RA(70) AREA. 04446 M00S04388.ssval +++|# 04447 M00S04389.ssval +++| 04448 M00S04390.ssval +++| P<RACOM> = 0; 04449 M00S04391.ssval +++| 04450 M00S04392.ssval +++| VLBFILL(RACOM[CCADDR],8); # BLANK FILL # 04451 M00S04393.ssval +++| RPLINE(RPTFADR," ",0,1,EOPL); # A BLANK LINE # 04452 M00S04394.ssval +++| RPLINE(RPTFADR,RACOM[CCADDR],12,80,EOPL); # CONTROL CARD # 04453 M00S04395.ssval +++| RPLINE(RPTFADR," ",0,1,EOPL); # A BLANK LINE # 04454 M00S04396.ssval +++| 04455 M00S04397.ssval +++|# 04456 M00S04398.ssval +++|* LIST ALL PARAMETERS AND THEIR VALUES. 04457 M00S04399.ssval +++|# 04458 M00S04400.ssval +++| 04459 M00S04401.ssval +++| SLOWFOR PAR = 0 STEP 1 UNTIL VARGL - 1
Proceed to Part 2
cdc/nos2.source/opl.opl871/deck/ssval.001.txt ยท Last modified: by 127.0.0.1