cdc:nos2.source:opl.opl871:deck:ssmove.001
Deck SSMOVE Part 001
4 Modifications
Listing Sections
- Deck SSMOVE Start
- Deck SSMOVE Part 1 (Line 2256)
Source
Seq # *Modification Id* Act ----------------------------+ 02256 M00S02255.ssmove +++| CCOK = CCOK AND (STAT EQ 0); 02257 M00S02256.ssmove +++| END 02258 M00S02257.ssmove +++| 02259 M00S02258.ssmove +++| IF MVARG$LB[0] EQ LBNS 02260 M00S02259.ssmove +++| THEN # *LB* NOT SPECIFIED # 02261 M00S02260.ssmove +++| BEGIN 02262 M00S02261.ssmove +++| MVARG$LB[0] = DEFLB; 02263 M00S02262.ssmove +++| END 02264 M00S02263.ssmove +++| 02265 M00S02264.ssmove +++| ELSE 02266 M00S02265.ssmove +++| BEGIN 02267 M00S02266.ssmove +++| STAT = XDXB(MVARG$LB[0],1,TMPI); 02268 M00S02267.ssmove +++| MVARG$LB[0] = TMPI; 02269 M00S02268.ssmove +++| IF STAT NQ 0 02270 M00S02269.ssmove +++| THEN 02271 M00S02270.ssmove +++| BEGIN 02272 M00S02271.ssmove +++| CCOK = FALSE; 02273 M00S02272.ssmove +++| MVARG$LB[0] = DEFLB; 02274 M00S02273.ssmove +++| END 02275 M00S02274.ssmove +++| 02276 M00S02275.ssmove +++| END 02277 M00S02276.ssmove +++| 02278 M00S02277.ssmove +++| IF MVARG$L[0] EQ 0 02279 M00S02278.ssmove +++| THEN 02280 M00S02279.ssmove +++| BEGIN 02281 M00S02280.ssmove +++| OUT$FETP = 0; 02282 M00S02281.ssmove +++| END 02283 M00S02282.ssmove +++| 02284 M00S02283.ssmove +++| ELSE 02285 M00S02284.ssmove +++| BEGIN 02286 M00S02285.ssmove +++| OUT$FETP = LOC(OUT$FET[0]); 02287 M00S02286.ssmove +++| END 02288 M00S02287.ssmove +++| 02289 M00S02288.ssmove +++| IF NOT CCOK 02290 M00S02289.ssmove +++| THEN 02291 M00S02290.ssmove +++| BEGIN 02292 M00S02291.ssmove +++| MVMSG$LN[0] = MSG1; 02293 M00S02292.ssmove +++| MESSAGE(MVMSG[0],SYSUDF1); 02294 M00S02293.ssmove +++| RESTPFP(PFP$ABORT); 02295 M00S02294.ssmove +++| END 02296 M00S02295.ssmove +++| 02297 M00S02296.ssmove +++| RPOPEN(MVARG$L[0],OUT$FETP,MVHEAD); # OPEN REPORT FILE # 02298 M00S02297.ssmove +++| 02299 M00S02298.ssmove +++|# 02300 M00S02299.ssmove +++|* GET DEFAULT FAMILY AND SUBSYSTEM ID. 02301 M00S02300.ssmove +++|# 02302 M00S02301.ssmove +++| 02303 M00S02302.ssmove +++| SSID$MV = ATAS; 02304 M00S02303.ssmove +++| GETFAM(FAMT,NUM,LINK,DEFORD,SSID$MV); 02305 M00S02304.ssmove +++| 02306 M00S02305.ssmove +++| IF MVARG$FM[0] EQ 0 02307 M00S02306.ssmove +++| THEN # FAMILY NOT SPECIFIED # 02308 M00S02307.ssmove +++| BEGIN 02309 M00S02308.ssmove +++| MVARG$FM[0] = FAM$NAME[DEFORD]; 02310 M00S02309.ssmove +++| END 02311 M00S02310.ssmove +++| 02312 M00S02311.ssmove +++| PFP$WRD0[0] = 0; # SET FAMILY AND USER INDEX # 02313 M00S02312.ssmove +++| PFP$FAM[0] = MVARG$FM[0]; 02314 M00S02313.ssmove +++| PFP$UI[0] = DEF$UI; 02315 M00S02314.ssmove +++| PFP$FG1[0] = TRUE; 02316 M00S02315.ssmove +++| PFP$FG4[0] = TRUE; 02317 M00S02316.ssmove +++| SETPFP(PFP[0]); 02318 M00S02317.ssmove +++| IF PFP$STAT[0] NQ 0 02319 M00S02318.ssmove +++| THEN # FAMILY NOT FOUND # 02320 M00S02319.ssmove +++| BEGIN 02321 M00S02320.ssmove +++| MVMSG$LN[0] = MSG4; 02322 M00S02321.ssmove +++| MESSAGE(MVMSG[0],SYSUDF1); 02323 M00S02322.ssmove +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 02324 M00S02323.ssmove +++| END 02325 M00S02324.ssmove +++| 02326 M00S02325.ssmove +++|# 02327 M00S02326.ssmove +++|* CALL PROCEDURE *MVDIR* TO PROCESS DIRECTIVES. 02328 M00S02327.ssmove +++|# 02329 M00S02328.ssmove +++| 02330 M00S02329.ssmove +++| MVDIR; 02331 M00S02330.ssmove +++| 02332 M00S02331.ssmove +++|# 02333 M00S02332.ssmove +++|* CALL *MVINDEV* TO INITIALIZE DEVICE STATUS ARRAYS. 02334 M00S02333.ssmove +++|# 02335 M00S02334.ssmove +++| 02336 M00S02335.ssmove +++| MVINDEV; 02337 M00S02336.ssmove +++| 02338 M00S02337.ssmove +++|# 02339 M00S02338.ssmove +++|* ATTACH COMMUNICATION FILE. 02340 M00S02339.ssmove +++|# 02341 M00S02340.ssmove +++| 02342 M00S02341.ssmove +++| COMNAME = MVOCOM; # ZERO FILL FILE NAME # 02343 M00S02342.ssmove +++| NFILES = 0; 02344 M00S02343.ssmove +++| BZFILL(COMNAME,TYPFILL"ZFILL",7); 02345 M00S02344.ssmove +++| IF NOT (PX$A[0] AND PX$B[0] AND PX$S[0] AND PX$F[0]) 02346 M00S02345.ssmove +++| THEN 02347 M00S02346.ssmove +++| BEGIN 02348 M00S02347.ssmove +++| PF("ATTACH",COMNAME,0,"M","W","RC",STAT,"NA",0,0); 02349 M00S02348.ssmove +++| IF STAT NQ OK 02350 M00S02349.ssmove +++| THEN 02351 M00S02350.ssmove +++| BEGIN # PROCESS ATTACH ERROR FLAG # 02352 M00S02351.ssmove +++| IF STAT EQ FBS 02353 M00S02352.ssmove +++| THEN # COMMUNICATION FILE BUSY # 02354 M00S02353.ssmove +++| BEGIN 02355 M00S02354.ssmove +++| MVMSG$LN[0] = MSG2; # ABORT WITH DAYFILE MESSAGE # 02356 M00S02355.ssmove +++| MESSAGE(MVMSG[0],SYSUDF1); 02357 M00S02356.ssmove +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 02358 M00S02357.ssmove +++| END 02359 M00S02358.ssmove +++| 02360 M00S02359.ssmove +++| IF STAT EQ FNF 02361 M00S02360.ssmove +++| THEN # FILE DOES NOT EXIST # 02362 M00S02361.ssmove +++| BEGIN 02363 M00S02362.ssmove +++| PF("DEFINE",COMNAME,0,"BR","N","RC",STAT,0); 02364 M00S02363.ssmove +++| IF STAT NQ OK 02365 M00S02364.ssmove +++| THEN # PROCESS DEFINE ERROR # 02366 M00S02365.ssmove +++| BEGIN 02367 M00S02366.ssmove +++| MVMSG$LN[0] = MSG3; # ABORT WITH DAYFILE MESSAGE # 02368 M00S02367.ssmove +++| MESSAGE(MVMSG[0],SYSUDF1); 02369 M00S02368.ssmove +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 02370 M00S02369.ssmove +++| END 02371 M00S02370.ssmove +++| 02372 M00S02371.ssmove +++| END 02373 M00S02372.ssmove +++| 02374 M00S02373.ssmove +++| ELSE # ABNORMAL TERMINATION # 02375 M00S02374.ssmove +++| BEGIN 02376 M00S02375.ssmove +++| MVMSG$PROC[0] = PROCNAME; 02377 M00S02376.ssmove +++| MESSAGE(MVMSG[0],SYSUDF1); 02378 M00S02377.ssmove +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 02379 M00S02378.ssmove +++| END 02380 M00S02379.ssmove +++| 02381 M00S02380.ssmove +++| END # PROCESS ATTACH ERROR FLAG # 02382 M00S02381.ssmove +++| 02383 M00S02382.ssmove +++| END 02384 M00S02383.ssmove +++| 02385 M00S02384.ssmove +++| PDATE(CURDT$MV); # GET CURRENT DATE AND TIME # 02386 M00S02385.ssmove +++| TMPI = B<24,18>CURDT$MV; 02387 M00S02386.ssmove +++| CURAGE = MVRELAG(TMPI); # ESTABLISH AGE OF TODAY # 02388 M00S02387.ssmove +++| CURTIME = B<42,18>CURDT$MV; # ESTABLISH CURRENT TIME # 02389 M00S02388.ssmove +++| 02390 M00S02389.ssmove +++| END # MVINIT # 02391 M00S02390.ssmove +++| 02392 M00S02391.ssmove +++| TERM 02393 M00S02392.ssmove +++|PROC MVPASS3; 02394 M00S02393.ssmove +++|# TITLE MVPASS3 - FINAL SELECTION OF FILES TO BE RELEASED. # 02395 M00S02394.ssmove +++| 02396 M00S02395.ssmove +++| BEGIN # MVPASS3 # 02397 M00S02396.ssmove +++| CONTROL FTNCALL; 02398 M00S02397.ssmove +++| 02399 M00S02398.ssmove +++|# 02400 M00S02399.ssmove +++|** MVPASS3 - FINAL SELECTION OF FILES TO BE RELEASED. 02401 M00S02400.ssmove +++|* 02402 M00S02401.ssmove +++|* THIS PROCEDURE DOES THE FINAL SELECTION OF THE FILES TO BE 02403 M00S02402.ssmove +++|* RELEASED FROM DISK AND PRODUCES A PASS 3 OUTPUT FILE FOR 02404 M00S02403.ssmove +++|* USE IN DOING OR DIRECTING *SSEXEC* TO DO THE SELECTED ACTIONS. 02405 M00S02404.ssmove +++|* THIS PASS 3 OUTPUT FILE IS SORTED SUCH THAT FILES TO BE 02406 M00S02405.ssmove +++|* DESTAGED ARE ORDERED BY SUBFAMILY AND THEN BY SIZE (SMALL, 02407 M00S02406.ssmove +++|* THEN LARGE). 02408 M00S02407.ssmove +++|* 02409 M00S02408.ssmove +++|* PROC MVPASS3. 02410 M00S02409.ssmove +++|* 02411 M00S02410.ssmove +++|* ENTRY. 1) THE PASS 1 OUTPUT FILE IS AVAILABLE ON DISK. 02412 M00S02411.ssmove +++|* 02413 M00S02412.ssmove +++|* 2) THE AMOUNT OF DISK SPACE NEEDED PER DEVICE AND 02414 M00S02413.ssmove +++|* FILE TYPE IS IN THE *DEV$NEED* FIELD OF *DEV$STAT*. 02415 M00S02414.ssmove +++|* 02416 M00S02415.ssmove +++|* EXIT. 1) THE PASS 3 OUTPUT FILE CONTAINS ALL FILES TO BE 02417 M00S02416.ssmove +++|* DESTAGED, RELEASED, STAGED, OR FREED. FILES TO BE 02418 M00S02417.ssmove +++|* DESTAGED ARE SORTED BY SUBFAMILY AND THEN FILE SIZE. 02419 M00S02418.ssmove +++|* 02420 M00S02419.ssmove +++|* 2) THE NUMBER OF FILES AND AMOUNT OF MSAS SPACE NEEDED 02421 M00S02420.ssmove +++|* IS PROVIDED IN THE *SFDS$NF* AND *SFDS$PRU* FIELDS 02422 M00S02421.ssmove +++|* OF THE ARRAY *SF$STAT*. 02423 M00S02422.ssmove +++|* 02424 M00S02423.ssmove +++|* NOTES. THE PROCESSING LOGIC FOR THIS ROUTINE IS AS FOLLOWS.. 02425 M00S02424.ssmove +++|* 02426 M00S02425.ssmove +++|* 1) SORT THE ENTRIES OF THE PASS 1 OUTPUT FILE BY 02427 M00S02426.ssmove +++|* RELEASE VALUE. 02428 M00S02427.ssmove +++|* 02429 M00S02428.ssmove +++|* 2) DETERMINE WHICH OF THE FILES CONDITIONALLY SELECTED 02430 M00S02429.ssmove +++|* TO BE RELEASED WILL ACTUALLY BE RELEASED. SELECT 02431 M00S02430.ssmove +++|* THOSE HAVING THE LARGEST RELEASE VALUE UNTIL THE 02432 M00S02431.ssmove +++|* NEEDED AMOUNT OF SPACE FOR EACH FILE TYPE ON EACH 02433 M00S02432.ssmove +++|* DEVICE IS OBTAINED. 02434 M00S02433.ssmove +++|* 02435 M00S02434.ssmove +++|* 3) WRITE THE ENTRY FOR ALL FILES THUS SELECTED TO THE 02436 M00S02435.ssmove +++|* PASS 3 OUTPUT FILE. ALSO, COPY THE ENTRIES FOR ALL 02437 M00S02436.ssmove +++|* FILES PREVIOUSLY SELECTED FOR PROCESSING. 02438 M00S02437.ssmove +++|# 02439 M00S02438.ssmove +++| 02440 M00S02439.ssmove +++|# 02441 M00S02440.ssmove +++|**** PROC MVPASS3 - XREF LIST BEGIN. 02442 M00S02441.ssmove +++|# 02443 M00S02442.ssmove +++| 02444 M00S02443.ssmove +++| XREF 02445 M00S02444.ssmove +++| BEGIN 02446 M00S02445.ssmove +++| PROC CLOSEM; # CLOSE FILE # 02447 M00S02446.ssmove +++| PROC FILESQ; # ESTABLISH SEQUENTIAL FILE 02448 M00S02447.ssmove +++| ORGANIZATION # 02449 M00S02448.ssmove +++| PROC OPENM; # OPEN FILE # 02450 M00S02449.ssmove +++| PROC READ; # INITIATE FILE INPUT # 02451 M00S02450.ssmove +++| PROC RETERN; # RETURN FILE # 02452 M00S02451.ssmove +++| PROC READW; # READ NEXT RECORD #
Line S02452 Modification History | |
---|---|
M01 (Removed by) | ssmove1 |
Seq # *Modification Id* Act ----------------------------+ 02453 M01S02452.ssmove1 ---| PROC SMEND; # S/M TERMINATION # 02454 M01S02453.ssmove1 ---| PROC SMFILE; # S/M FILE DEFINITION # 02455 M01S02454.ssmove1 ---| PROC SMKEY; # S/M KEY DEFINITION # 02456 M01S02455.ssmove1 ---| PROC SMSORT; # S/M INITIALIZATION #
Line S00001 Modification History | |
---|---|
M01 (Added by) | ssmove1 |
Seq # *Modification Id* Act ----------------------------+ 02457 M01S00001.ssmove1 +++| PROC REWIND; # REWIND FILE # 02458 M01S00002.ssmove1 +++| PROC SM5END; # S/M TERMINATION # 02459 M01S00003.ssmove1 +++| PROC SM5FROM; # S/M INPUT FILE DEFINITION # 02460 M01S00004.ssmove1 +++| PROC SM5KEY; # S/M KEY DEFINITION # 02461 M01S00005.ssmove1 +++| PROC SM5SORT; # S/M INITIALIZATION # 02462 M01S00006.ssmove1 +++| PROC SM5TO; # S/M OUTPUT FILE DEFINITION # 02463 M00S02456.ssmove +++| PROC WRITER; # FLUSH FILE BUFFER # 02464 M00S02457.ssmove +++| PROC WRITEW; # WRITE RECORD # 02465 M00S02458.ssmove +++| PROC ZSETFET; # INITIALIZE FET # 02466 M00S02459.ssmove +++| END 02467 M00S02460.ssmove +++| 02468 M00S02461.ssmove +++|# 02469 M00S02462.ssmove +++|**** PROC MVPASS3 - XREF LIST END. 02470 M00S02463.ssmove +++|# 02471 M00S02464.ssmove +++| 02472 M00S02465.ssmove +++| DEF LISTCON #0#; # DO NOT LIST COMMON DECKS # 02473 M00S02466.ssmove +++| DEF SFITL #35#; # *FIT* BUFFER SIZE # 02474 M00S02467.ssmove +++| 02475 M00S02468.ssmove +++|*CALL,COMBFAS 02476 M00S02469.ssmove +++|*CALL,COMBTDM 02477 M00S02470.ssmove +++|*CALL,COMTMOV 02478 M00S02471.ssmove +++|*CALL,COMTMVP 02479 M00S02472.ssmove +++| 02480 M00S02473.ssmove +++| ITEM EOTDAM B; # SIGNAL EOF # 02481 M00S02474.ssmove +++| ITEM FLAG I; # STATUS FROM I/O CALLS # 02482 M00S02475.ssmove +++| ITEM IXLN I; # LARGE/SMALL INDEX # 02483 M00S02476.ssmove +++| ITEM NXTDAM I; # LOOP INDEX # 02484 M00S02477.ssmove +++| 02485 M00S02478.ssmove +++| ARRAY FIT [1:2] S(SFITL);; # USED TO SORT FILES # 02486 M00S02479.ssmove +++| CONTROL EJECT;
Line S02480 Modification History | |
---|---|
M01 (Removed by) | ssmove1 |
Seq # *Modification Id* Act ----------------------------+ 02487 M01S02480.ssmove1 ---| FILESQ(FIT[1],"LFN",SCR1,"RT","F","BT","C","FL",90);
Line S00007 Modification History | |
---|---|
M01 (Added by) | ssmove1 |
Seq # *Modification Id* Act ----------------------------+ 02488 M01S00007.ssmove1 +++| FILESQ(FIT[1],"LFN","SCR1","RT","F","BT","C","FL",90); 02489 M00S02481.ssmove +++| OPENM(FIT[1],"INPUT", "R"); 02490 M00S02482.ssmove +++| 02491 M00S02483.ssmove +++| FILESQ(FIT[2],"LFN","SCR2","RT","F","BT","C","FL",90); 02492 M00S02484.ssmove +++| OPENM(FIT[2],"OUTPUT","R"); 02493 M00S02485.ssmove +++|
Line S02486 Modification History | |
---|---|
M01 (Removed by) | ssmove1 |
Seq # *Modification Id* Act ----------------------------+ 02494 M01S02486.ssmove1 ---| SMSORT(90); # 90 = BUFFER SIZE # 02495 M01S02487.ssmove1 ---| 02496 M01S02488.ssmove1 ---| SMFILE("SORT",0,FIT[1]); 02497 M01S02489.ssmove1 ---| SMFILE("OUTPUT",0,FIT[2]); 02498 M01S02490.ssmove1 ---| 02499 M01S02491.ssmove1 ---| SMKEY(61,1,10,0,"D"); # SORT BY DECREASING RELEASE VALUE 02500 M01S02492.ssmove1 ---| # 02501 M01S02493.ssmove1 ---| 02502 M01S02494.ssmove1 ---| SMEND; # INITIATE SORT USING ONE KEY #
Line S00008 Modification History | |
---|---|
M01 (Added by) | ssmove1 |
Seq # *Modification Id* Act ----------------------------+ 02503 M01S00008.ssmove1 +++| SM5SORT(0); # NO STATISTICS RETURNED # 02504 M01S00009.ssmove1 +++| 02505 M01S00010.ssmove1 +++| SM5FROM("SCR1"); # DEFINE INPUT FILE # 02506 M01S00011.ssmove1 +++| 02507 M01S00012.ssmove1 +++| SM5TO("SCR2"); # DEFINE OUTPUT FILE # 02508 M01S00013.ssmove1 +++| 02509 M01S00014.ssmove1 +++| SM5KEY(61,10,"BINARY","D"); # SORT BY DECREASING RELEASE VALUE 02510 M01S00015.ssmove1 +++| # 02511 M01S00016.ssmove1 +++| 02512 M01S00017.ssmove1 +++| SM5END; # INITIATE SORT USING ONE KEY # 02513 M00S02495.ssmove +++| 02514 M00S02496.ssmove +++| CLOSEM(FIT[1]); 02515 M00S02497.ssmove +++| CLOSEM(FIT[2]); 02516 M00S02498.ssmove +++| 02517 M00S02499.ssmove +++| RETERN(MV$FET[FILEMO],RCL); 02518 M00S02500.ssmove +++| FETP = LOC(MV$FET[FILEMI]); 02519 M00S02501.ssmove +++| BUFP = LOC(MV$BUF[FILEMI]); 02520 M00S02502.ssmove +++| ZSETFET(FETP,"SCR2",BUFP,MVBUFL,SFETL); 02521 M00S02503.ssmove +++| 02522 M00S02504.ssmove +++| FETP = LOC(MV$FET[FILEMO]); 02523 M00S02505.ssmove +++| BUFP = LOC(MV$BUF[FILEMO]); 02524 M00S02506.ssmove +++| ZSETFET(FETP,"SCR3",BUFP,MVBUFL,SFETL);
Line S00018 Modification History | |
---|---|
M01 (Added by) | ssmove1 |
Seq # *Modification Id* Act ----------------------------+ 02525 M01S00018.ssmove1 +++| REWIND(MV$FET[FILEMI],RCL); # REWIND SCR2 # 02526 M00S02507.ssmove +++| 02527 M00S02508.ssmove +++| READ(MV$FET[FILEMI],NRCL); # PREPARE TO READ SORTED PASS 1 02528 M00S02509.ssmove +++| OUTPUT FILE # 02529 M00S02510.ssmove +++| EOTDAM = FALSE; 02530 M00S02511.ssmove +++| 02531 M00S02512.ssmove +++| P<TDAM> = LOC(MV$WBUF[0]); 02532 M00S02513.ssmove +++| P<EXT$TDAM> = LOC(MV$WBUF[0]) + TDAMLEN; 02533 M00S02514.ssmove +++| 02534 M00S02515.ssmove +++| SLOWFOR NXTDAM = 0 STEP 1 WHILE NOT EOTDAM 02535 M00S02516.ssmove +++| DO 02536 M00S02517.ssmove +++| BEGIN # NEXT TDAM # 02537 M00S02518.ssmove +++| READW(MV$FET[FILEMI],MV$WBUF[0],MVWBUFL,FLAG); 02538 M00S02519.ssmove +++| 02539 M00S02520.ssmove +++| IF FLAG NQ 0 02540 M00S02521.ssmove +++| THEN 02541 M00S02522.ssmove +++| BEGIN 02542 M00S02523.ssmove +++| EOTDAM = TRUE; 02543 M00S02524.ssmove +++| TEST NXTDAM; 02544 M00S02525.ssmove +++| END 02545 M00S02526.ssmove +++| 02546 M00S02527.ssmove +++|# 02547 M00S02528.ssmove +++|* INITIALIZE FILE INDICES. 02548 M00S02529.ssmove +++|# 02549 M00S02530.ssmove +++| 02550 M00S02531.ssmove +++| DNX = EXT$DNX[0]; 02551 M00S02532.ssmove +++| FTYPE = EXT$FTYPE[0]; 02552 M00S02533.ssmove +++| SFX = TDAMSBF[0]; 02553 M00S02534.ssmove +++| 02554 M00S02535.ssmove +++|# 02555 M00S02536.ssmove +++|* IF THE FILE IS TO BE RELEASED, UPDATE DEVICE STATISTICS 02556 M00S02537.ssmove +++|* AND PROCESSING ACTION FLAGS. 02557 M00S02538.ssmove +++|# 02558 M00S02539.ssmove +++| 02559 M00S02540.ssmove +++| IF ( EXT$CREL[0] # CANDIDATE TO BE RELEASED # 02560 M00S02541.ssmove +++| AND (DEV$NEED[FTYPE,DNX] GR 0) ) # AND SPACE NEEDED # 02561 M00S02542.ssmove +++| 02562 M00S02543.ssmove +++| THEN # FILE IS TO BE RELEASED # 02563 M00S02544.ssmove +++| BEGIN 02564 M00S02545.ssmove +++| EXT$REL[0] = TRUE; 02565 M00S02546.ssmove +++| DEV$NEED[FTYPE,DNX] = DEV$NEED[FTYPE,DNX] - TDAMFLN[0]; 02566 M00S02547.ssmove +++| DEV$RELF[FTYPE,DNX] = DEV$RELF[FTYPE,DNX] + 1; 02567 M00S02548.ssmove +++| DEV$TRPRU[FTYPE,DNX] = DEV$TRPRU[FTYPE,DNX] - TDAMFLN[0]; 02568 M00S02549.ssmove +++| IF FTYPE EQ IXIA 02569 M00S02550.ssmove +++| THEN 02570 M00S02551.ssmove +++| BEGIN 02571 M00S02552.ssmove +++| DEV$RELP[FTYPE,DNX] = DEV$RELP[FTYPE,DNX] + TDAMFLN[0]; 02572 M00S02553.ssmove +++| END 02573 M00S02554.ssmove +++| 02574 M00S02555.ssmove +++| ELSE 02575 M00S02556.ssmove +++| BEGIN 02576 M00S02557.ssmove +++| PRUTRK = DEV$SECTR[IXDA,DNX]; 02577 M00S02558.ssmove +++| TRUPRU = (((TDAMFLN[0]+1) / PRUTRK) + 1) * PRUTRK; 02578 M00S02559.ssmove +++| DEV$RELP[FTYPE,DNX] = DEV$RELP[FTYPE,DNX] + TRUPRU; 02579 M00S02560.ssmove +++| END 02580 M00S02561.ssmove +++| 02581 M00S02562.ssmove +++| END 02582 M00S02563.ssmove +++| 02583 M00S02564.ssmove +++|# 02584 M00S02565.ssmove +++|* FOR FILES WHICH ARE TO BE DESTAGED, COUNT THE FILES AND 02585 M00S02566.ssmove +++|* ALLOCATION UNIT REQUIREMENTS PER SUBFAMILY AND FILE SIZE. 02586 M00S02567.ssmove +++|# 02587 M00S02568.ssmove +++| 02588 M00S02569.ssmove +++| IF EXT$DES[0] # DESTAGE SELECTED UNCONDITIONALLY 02589 M00S02570.ssmove +++| # 02590 M00S02571.ssmove +++| OR (EXT$CDES[0] AND EXT$REL[0]) 02591 M00S02572.ssmove +++| 02592 M00S02573.ssmove +++| THEN # UPDATE DATA NEEDED BY *SSEXEC* 02593 M00S02574.ssmove +++| TO DESTAGE FILES # 02594 M00S02575.ssmove +++| BEGIN 02595 M00S02576.ssmove +++| IF TDAMFLN[0] LS MVARG$LB[0] 02596 M00S02577.ssmove +++| THEN # SMALL FILE # 02597 M00S02578.ssmove +++| BEGIN 02598 M00S02579.ssmove +++| IXLN = IXSM; 02599 M00S02580.ssmove +++| END 02600 M00S02581.ssmove +++| 02601 M00S02582.ssmove +++| ELSE # LARGE FILE # 02602 M00S02583.ssmove +++| BEGIN 02603 M00S02584.ssmove +++| IXLN = IXLG; 02604 M00S02585.ssmove +++| END 02605 M00S02586.ssmove +++| 02606 M00S02587.ssmove +++| EXT$DES[0] = TRUE; 02607 M00S02588.ssmove +++| EXT$IXLN[0] = IXLN; 02608 M00S02589.ssmove +++| SFDS$NF[FTYPE,SFX] = SFDS$NF[FTYPE,SFX] + 1; 02609 M00S02590.ssmove +++| SFDS$PRU[FTYPE,SFX] = SFDS$PRU[FTYPE,SFX] + TDAMFLN[0]; 02610 M00S02591.ssmove +++| SFDM$NF[FTYPE,SFX] = SFDM$NF[FTYPE,SFX] + 1; 02611 M00S02592.ssmove +++| SFDM$PRU[FTYPE,SFX] = SFDM$PRU[FTYPE,SFX] + TDAMFLN[0]; 02612 M00S02593.ssmove +++| END 02613 M00S02594.ssmove +++| 02614 M00S02595.ssmove +++|# 02615 M00S02596.ssmove +++|* COUNT THE NUMBER OF AND TOTAL LENGTH OF FILES TO BE STAGED. 02616 M00S02597.ssmove +++|# 02617 M00S02598.ssmove +++| 02618 M00S02599.ssmove +++| IF EXT$STG[0] 02619 M00S02600.ssmove +++| THEN 02620 M00S02601.ssmove +++| BEGIN 02621 M00S02602.ssmove +++| SFSG$NF[FTYPE,SFX] = SFSG$NF[FTYPE,SFX] + 1; 02622 M00S02603.ssmove +++| SFSG$PRU[FTYPE,SFX] = SFSG$PRU[FTYPE,SFX] + TDAMFLN[0]; 02623 M00S02604.ssmove +++| SFRL$NF[FTYPE,SFX] = SFRL$NF[FTYPE,SFX] - 1; 02624 M00S02605.ssmove +++| SFRL$PRU[FTYPE,SFX] = SFRL$PRU[FTYPE,SFX] - TDAMFLN[0]; 02625 M00S02606.ssmove +++| END 02626 M00S02607.ssmove +++| 02627 M00S02608.ssmove +++| IF EXT$CLR[0] OR TDAMFFF[0] 02628 M00S02609.ssmove +++| THEN 02629 M00S02610.ssmove +++| BEGIN 02630 M00S02611.ssmove +++| SFDM$NF[FTYPE,SFX] = SFDM$NF[FTYPE,SFX] - 1; 02631 M00S02612.ssmove +++| SFDM$PRU[FTYPE,SFX] = SFDM$PRU[FTYPE,SFX] - TDAMFLN[0]; 02632 M00S02613.ssmove +++| END 02633 M00S02614.ssmove +++| 02634 M00S02615.ssmove +++| ELSE 02635 M00S02616.ssmove +++| BEGIN 02636 M00S02617.ssmove +++| IF EXT$REL[0] 02637 M00S02618.ssmove +++| THEN 02638 M00S02619.ssmove +++| BEGIN 02639 M00S02620.ssmove +++| SFRL$NF[FTYPE,SFX] = SFRL$NF[FTYPE,SFX] + 1; 02640 M00S02621.ssmove +++| SFRL$PRU[FTYPE,SFX] = SFRL$PRU[FTYPE,SFX] + TDAMFLN[0]; 02641 M00S02622.ssmove +++| END 02642 M00S02623.ssmove +++| 02643 M00S02624.ssmove +++| END 02644 M00S02625.ssmove +++| 02645 M00S02626.ssmove +++|# 02646 M00S02627.ssmove +++|* FOR FILES SELECTED FOR FURTHER PROCESSING 02647 M00S02628.ssmove +++|* (EXT$STG/REL/DES/CLR BIT SET), WRITE THE FILE-S ENTRY 02648 M00S02629.ssmove +++|* TO THE PASS 3 OUTPUT FILE. 02649 M00S02630.ssmove +++|# 02650 M00S02631.ssmove +++| 02651 M00S02632.ssmove +++| IF EXT$PA3[0] NQ 0 02652 M00S02633.ssmove +++| THEN 02653 M00S02634.ssmove +++| BEGIN 02654 M00S02635.ssmove +++| WRITEW(MV$FET[FILEMO],MV$WBUF[0],MVWBUFL,FLAG); 02655 M00S02636.ssmove +++| END 02656 M00S02637.ssmove +++| 02657 M00S02638.ssmove +++| END # NEXT TDAM # 02658 M00S02639.ssmove +++| 02659 M00S02640.ssmove +++| WRITER(MV$FET[FILEMO],RCL); 02660 M00S02641.ssmove +++| 02661 M00S02642.ssmove +++|# 02662 M00S02643.ssmove +++|* SORT THE ABOVE FILE BY SUBFAMILY, FILE SIZE (SMALL/LARGE), 02663 M00S02644.ssmove +++|* AND FILE LENGTH SO IT CAN BE PROCESSED BY THE NEXT ROUTINE. 02664 M00S02645.ssmove +++|# 02665 M00S02646.ssmove +++| 02666 M00S02647.ssmove +++| FILESQ(FIT[1],"LFN","SCR3","RT","F","BT","C","FL",90); 02667 M00S02648.ssmove +++| OPENM(FIT[1],"INPUT","R"); 02668 M00S02649.ssmove +++| 02669 M00S02650.ssmove +++| FILESQ(FIT[2],"LFN","SCR4","RT","F","BT","C","FL",90); 02670 M00S02651.ssmove +++| OPENM(FIT[2],"OUTPUT","R"); 02671 M00S02652.ssmove +++|
Line S02653 Modification History | |
---|---|
M01 (Removed by) | ssmove1 |
Seq # *Modification Id* Act ----------------------------+ 02672 M01S02653.ssmove1 ---| SMSORT(90); 02673 M01S02654.ssmove1 ---| 02674 M01S02655.ssmove1 ---| SMFILE("SORT",0,FIT[1]); # DEFINE INPUT FILE # 02675 M01S02656.ssmove1 ---| 02676 M01S02657.ssmove1 ---| SMFILE("OUTPUT",0,FIT[2]); # DEFINE OUTPUT FILE # 02677 M01S02658.ssmove1 ---| 02678 M01S02659.ssmove1 ---| SMKEY(30,4,0,3); # KEY1 = SUBFAMILY # 02679 M01S02660.ssmove1 ---| 02680 M01S02661.ssmove1 ---| SMKEY(73,1,1,0); # KEY2 = FILE SIZE *IXLN* # 02681 M01S02662.ssmove1 ---| 02682 M01S02663.ssmove1 ---| SMKEY(51,2,4,0,"D"); # KEY3 = FILE LENGTH # 02683 M01S02664.ssmove1 ---| 02684 M01S02665.ssmove1 ---| SMEND; # INITIATE SORTING ON THE THREE 02685 M01S02666.ssmove1 ---| KEYS #
Line S00019 Modification History | |
---|---|
M01 (Added by) | ssmove1 |
Seq # *Modification Id* Act ----------------------------+ 02686 M01S00019.ssmove1 +++| SM5SORT(0); # NO STATISTICS RETURNED # 02687 M01S00020.ssmove1 +++| 02688 M01S00021.ssmove1 +++| SM5FROM("SCR3"); # DEFINE INPUT FILE # 02689 M01S00022.ssmove1 +++| 02690 M01S00023.ssmove1 +++| SM5TO("SCR4"); # DEFINE OUTPUT FILE # 02691 M01S00024.ssmove1 +++| 02692 M01S00025.ssmove1 +++| SM5KEY(178,3,"BINARY_BITS"); # KEY1 = SUBFAMILY # 02693 M01S00026.ssmove1 +++| 02694 M01S00027.ssmove1 +++| SM5KEY(73,1,"BINARY"); # KEY2 = FILE SIZE *IXLN* # 02695 M01S00028.ssmove1 +++| 02696 M01S00029.ssmove1 +++| SM5KEY(302,23,"BINARY_BITS","D"); # KEY3 = FILE LENGTH # 02697 M01S00030.ssmove1 +++| 02698 M01S00031.ssmove1 +++| SM5END; # INITIATE SORTING ON THE THREE 02699 M01S00032.ssmove1 +++| KEYS # 02700 M00S02667.ssmove +++| 02701 M00S02668.ssmove +++| CLOSEM(FIT[1]); 02702 M00S02669.ssmove +++| CLOSEM(FIT[2]); 02703 M00S02670.ssmove +++| RETERN(MV$FET[FILEMI],RCL); 02704 M00S02671.ssmove +++| RETERN(MV$FET[FILEMO],RCL); 02705 M00S02672.ssmove +++| END # MVPASS3 # 02706 M00S02673.ssmove +++| 02707 M00S02674.ssmove +++| TERM 02708 M00S02675.ssmove +++|PROC MVPASS4; 02709 M00S02676.ssmove +++|# TITLE MVPASS4 - SETS UP THE COMMUNICATION FILE. # 02710 M00S02677.ssmove +++| 02711 M00S02678.ssmove +++| BEGIN # MVPASS4 # 02712 M00S02679.ssmove +++| 02713 M00S02680.ssmove +++|# 02714 M00S02681.ssmove +++|** MVPASS4 - SETS UP THE COMMUNICATION FILE. 02715 M00S02682.ssmove +++|* 02716 M00S02683.ssmove +++|* THIS PROCEDURE READS THE FILE CONTAINING AN ENTRY FOR 02717 M00S02684.ssmove +++|* EACH FILE SELECTED FOR PROCESSING AND EITHER DOES IT DIRECTLY, 02718 M00S02685.ssmove +++|* OR WRITES AN ENTRY ON THE *SSEXEC* COMMUNICATION FILE SO 02719 M00S02686.ssmove +++|* *SSEXEC* CAN DESTAGE THE FILE AND OPTIONALLY RELEASE IT FROM 02720 M00S02687.ssmove +++|* DISK. FILES WHICH ARE PROCESSED DIRECTLY ARE PASSED TO 02721 M00S02688.ssmove +++|* PROCEDURE *MVDOIT* WHICH CALLS *PFM* TO PERFORM THE ACTION. 02722 M00S02689.ssmove +++|* THIS PROCEDURE ALSO WRITES A LINE ON THE OUTPUT FILE FOR EACH 02723 M00S02690.ssmove +++|* FILE SELECTED FOR PROCESSING, IF THE *LO=F* OPTION IS ON. 02724 M00S02691.ssmove +++|* 02725 M00S02692.ssmove +++|* PROC MVPASS4. 02726 M00S02693.ssmove +++|* 02727 M00S02694.ssmove +++|* ENTRY. FILE *SCR4* CONTAINS ENTRIES FOR ALL FILES TO BE 02728 M00S02695.ssmove +++|* PROCESSED. IT IS SORTED BY SUBFAMILY, FILE LENGTH 02729 M00S02696.ssmove +++|* (SHORT/LONG), AND FILE SIZE (BY PRU LENGTH, LARGEST 02730 M00S02697.ssmove +++|* FIRST). 02731 M00S02698.ssmove +++|* 02732 M00S02699.ssmove +++|* EXIT. 1) CALLS TO *MVDOIT* ARE DONE TO CAUSE PROCESSING FOR 02733 M00S02700.ssmove +++|* FILES TO BE STAGED, RELEASED OR FREED FROM A 02734 M00S02701.ssmove +++|* CARTRIDGE. 02735 M00S02702.ssmove +++|* 02736 M00S02703.ssmove +++|* 2) ENTRIES FOR FILES TO BE DESTAGED OR DESTAGED AND 02737 M00S02704.ssmove +++|* RELEASED ARE WRITTEN TO THE COMMUNICATION FILE. 02738 M00S02705.ssmove +++|* 02739 M00S02706.ssmove +++|* 3) THE OUTPUT FILE CONTAINS AN ENTRY FOR EACH FILE 02740 M00S02707.ssmove +++|* SELECTED FOR PROCESSING. 02741 M00S02708.ssmove +++|# 02742 M00S02709.ssmove +++| 02743 M00S02710.ssmove +++|# 02744 M00S02711.ssmove +++|**** PROC MVPASS4 - XREF LIST BEGIN. 02745 M00S02712.ssmove +++|# 02746 M00S02713.ssmove +++| 02747 M00S02714.ssmove +++| XREF 02748 M00S02715.ssmove +++| BEGIN 02749 M00S02716.ssmove +++| PROC BZFILL; # BLANK/ZERO FILL CHARACTER ITEM # 02750 M00S02717.ssmove +++| PROC MVDOIT; # PERFORM PROCESSING, EXCEPT 02751 M00S02718.ssmove +++| DESTAGES # 02752 M00S02719.ssmove +++| PROC MVPRNDT; # PRINT DATE AND ACCESS COUNT # 02753 M00S02720.ssmove +++| PROC MVRPTDS; # REPORT DEVICE STATUS # 02754 M00S02721.ssmove +++| PROC READ; # INITIATE DATA TRANSFER INTO A 02755 M00S02722.ssmove +++| BUFFER # 02756 M00S02723.ssmove +++| PROC READW; # READ A RECORD INTO WORKING 02757 M00S02724.ssmove +++| BUFFER # 02758 M00S02725.ssmove +++| PROC RETERN; # RETURN FILE #
Line S00033 Modification History | |
---|---|
M01 (Added by) | ssmove1 |
Seq # *Modification Id* Act ----------------------------+ 02759 M01S00033.ssmove1 +++| PROC REWIND; # REWIND FILE # 02760 M00S02726.ssmove +++| PROC RPEJECT; # ISSUE PAGE EJECT # 02761 M00S02727.ssmove +++| PROC RPLINE; # WRITE LINE ON OUTPUT FILE # 02762 M00S02728.ssmove +++| PROC WRITER; # FLUSH BUFFER TO FILE # 02763 M00S02729.ssmove +++| PROC WRITEW; # WRITE RECORD TO FILE BUFFER # 02764 M00S02730.ssmove +++| PROC ZFILL; # ZERO FILL ARRAY # 02765 M00S02731.ssmove +++| PROC ZSETFET; # INITIALIZE *FET* # 02766 M00S02732.ssmove +++| FUNC XCDD C(10); # CONVERT BINARY TO DECIMAL 02767 M00S02733.ssmove +++| DISPLAY # 02768 M00S02734.ssmove +++| FUNC XCOD C(10); # CONVERT BINARY TO OCTAL DISPLAY 02769 M00S02735.ssmove +++| # 02770 M00S02736.ssmove +++| END 02771 M00S02737.ssmove +++| 02772 M00S02738.ssmove +++|# 02773 M00S02739.ssmove +++|**** PROC MVPASS4 - XREF LIST END. 02774 M00S02740.ssmove +++|# 02775 M00S02741.ssmove +++| 02776 M00S02742.ssmove +++| 02777 M00S02743.ssmove +++| DEF LISTCON #0#; # DO NOT LIST COMMON DECKS # 02778 M00S02744.ssmove +++| 02779 M00S02745.ssmove +++|*CALL,COMBFAS 02780 M00S02746.ssmove +++|*CALL,COMBBZF 02781 M00S02747.ssmove +++|*CALL,COMBTDM 02782 M00S02748.ssmove +++|*CALL,COMTMOV 02783 M00S02749.ssmove +++|*CALL COMTMVP 02784 M00S02750.ssmove +++|*CALL,COMTOUT 02785 M00S02751.ssmove +++| 02786 M00S02752.ssmove +++| 02787 M00S02753.ssmove +++| DEF FILEHDR1 #"NAME TYPE UI LENGTH DATE"#; 02788 M00S02754.ssmove +++| DEF FILEHDR2 #" ACC-CT ACTION(* = NOT DONE PER *PX* OPTION)" 02789 M00S02755.ssmove +++| #; 02790 M00S02756.ssmove +++| DEF FILEHDR3 #"DES-VAL REL-VAL"#; 02791 M00S02757.ssmove +++| DEF MSGCLR #"CLEAR *ASA* FIELD. "#; 02792 M00S02758.ssmove +++| DEF MSGDES #"DESTAGE FILE. "#; 02793 M00S02759.ssmove +++| DEF MSGDSR #"DESTAGE AND RELEASE. "#; 02794 M00S02760.ssmove +++| DEF MSGREL #"RELEASE FROM DISK. "#; 02795 M00S02761.ssmove +++| DEF MSGSCLR #"STAGE, CLEAR *ASA*. "#; 02796 M00S02762.ssmove +++| DEF MSGSTG #"STAGE FILE TO DISK. "#; 02797 M00S02763.ssmove +++| 02798 M00S02764.ssmove +++| ITEM EOTDAM B; # SIGNALS END-OF-FILE # 02799 M00S02765.ssmove +++| ITEM FLAG I; # READ STATUS # 02800 M00S02766.ssmove +++| ITEM NXTDAM U; # LOOP INDEX # 02801 M00S02767.ssmove +++| ITEM PREVSF I; # PREVIOUS SUBFAMILY # 02802 M00S02768.ssmove +++| ITEM SKIP B; # CCNTROLS DOING SELECTED ACTION # 02803 M00S02769.ssmove +++| ITEM TMPC C(10); # TEMPORARY CELL # 02804 M00S02770.ssmove +++| 02805 M00S02771.ssmove +++| 02806 M00S02772.ssmove +++| ARRAY DTDAM [0:0] S(TDAMLEN);; # DESTAGE HEADER FOR A SUBFAMILY 02807 M00S02773.ssmove +++| # 02808 M00S02774.ssmove +++| CONTROL EJECT; 02809 M00S02775.ssmove +++|# 02810 M00S02776.ssmove +++|* DETERMINE WHETHER TO LIST EACH FILE FOR PROCESSING. 02811 M00S02777.ssmove +++|# 02812 M00S02778.ssmove +++| 02813 M00S02779.ssmove +++| 02814 M00S02780.ssmove +++| IF LO$F[0] 02815 M00S02781.ssmove +++| THEN # FULL LISTING # 02816 M00S02782.ssmove +++| BEGIN 02817 M00S02783.ssmove +++| LISTFETP = OUT$FETP; 02818 M00S02784.ssmove +++| PX$FETP = OUT$FETP; 02819 M00S02785.ssmove +++| END 02820 M00S02786.ssmove +++| 02821 M00S02787.ssmove +++| ELSE 02822 M00S02788.ssmove +++| BEGIN 02823 M00S02789.ssmove +++| IF LO$P[0] 02824 M00S02790.ssmove +++| THEN # PARTIAL LISTING # 02825 M00S02791.ssmove +++| BEGIN 02826 M00S02792.ssmove +++| LISTFETP = OUT$FETP; 02827 M00S02793.ssmove +++| PX$FETP = 0; 02828 M00S02794.ssmove +++| END 02829 M00S02795.ssmove +++| 02830 M00S02796.ssmove +++| ELSE 02831 M00S02797.ssmove +++| BEGIN 02832 M00S02798.ssmove +++| LISTFETP = 0; 02833 M00S02799.ssmove +++| PX$FETP = 0; 02834 M00S02800.ssmove +++| END 02835 M00S02801.ssmove +++| 02836 M00S02802.ssmove +++| END 02837 M00S02803.ssmove +++| 02838 M00S02804.ssmove +++|# 02839 M00S02805.ssmove +++|* INITIALIZE *FET* FOR THE FILES USED BY THIS PROCEDURE. 02840 M00S02806.ssmove +++|# 02841 M00S02807.ssmove +++| 02842 M00S02808.ssmove +++| FETP = LOC(MV$FET[FILEMI]); 02843 M00S02809.ssmove +++| BUFP = LOC(MV$BUF[FILEMI]); 02844 M00S02810.ssmove +++| ZSETFET(FETP,SCR4,BUFP,MVBUFL,SFETL);
Line S00034 Modification History | |
---|---|
M01 (Added by) | ssmove1 |
Seq # *Modification Id* Act ----------------------------+ 02845 M01S00034.ssmove1 +++| REWIND(MV$FET[FILEMI],RCL); # REWIND SCR4 # 02846 M00S02811.ssmove +++| READ(MV$FET[FILEMI],NRCL); 02847 M00S02812.ssmove +++| 02848 M00S02813.ssmove +++| FETP = LOC(MV$FET[FILEMO]); 02849 M00S02814.ssmove +++| BUFP = LOC(MV$BUF[FILEMO]); 02850 M00S02815.ssmove +++| ZSETFET(FETP,MVOCOM,BUFP,MVBUFL,SFETL); 02851 M00S02816.ssmove +++| 02852 M00S02817.ssmove +++| FETP = LOC(MV$FET[FILEAUX]); 02853 M00S02818.ssmove +++| BUFP = LOC(MV$BUF[FILEAUX]); 02854 M00S02819.ssmove +++| ZSETFET(FETP,MVLPROB,BUFP,MVBUFL,SFETL); 02855 M00S02820.ssmove +++| 02856 M00S02821.ssmove +++|# 02857 M00S02822.ssmove +++|* WRITE HEADER TO COMMUNICATION FILE. 02858 M00S02823.ssmove +++|# 02859 M00S02824.ssmove +++| 02860 M00S02825.ssmove +++| P<MVPREAM> = LOC(MV$WBUF[0]); 02861 M00S02826.ssmove +++| ZFILL(MVPREAM,MVPRML); 02862 M00S02827.ssmove +++| MVPR$FLNM[0] = MVOCOM; 02863 M00S02828.ssmove +++| BZFILL(MVPR$FLNM[0],TYPFILL"BFILL",6); 02864 M00S02829.ssmove +++| MVPR$DT[0] = CURDT$MV; 02865 M00S02830.ssmove +++| MVPR$LB[0] = MVARG$LB[0]; 02866 M00S02831.ssmove +++| 02867 M00S02832.ssmove +++| WRITEW(MV$FET[FILEMO],MVPREAM[0],MVPRML,FLAG); 02868 M00S02833.ssmove +++| 02869 M00S02834.ssmove +++| PREVSF = 8; 02870 M00S02835.ssmove +++| EOTDAM = FALSE; 02871 M00S02836.ssmove +++| P<TDAM> = LOC(MV$WBUF[0]); 02872 M00S02837.ssmove +++| 02873 M00S02838.ssmove +++| RPEJECT(LISTFETP); 02874 M00S02839.ssmove +++| RPLINE(LISTFETP,FILEHDR1,2,38,1); 02875 M00S02840.ssmove +++| RPLINE(LISTFETP,FILEHDR2,42,46,1); 02876 M00S02841.ssmove +++| RPLINE(LISTFETP,FILEHDR3,90,17,0); 02877 M00S02842.ssmove +++| RPLINE(LISTFETP," ",1,1,0); 02878 M00S02843.ssmove +++| 02879 M00S02844.ssmove +++| SLOWFOR NXTDAM = 0 STEP 1 WHILE NOT EOTDAM 02880 M00S02845.ssmove +++| DO 02881 M00S02846.ssmove +++| BEGIN # NEXT TDAM REQUEST # 02882 M00S02847.ssmove +++| READW(MV$FET[FILEMI],MV$WBUF,MVWBUFL,FLAG); 02883 M00S02848.ssmove +++| IF FLAG NQ 0 02884 M00S02849.ssmove +++| THEN 02885 M00S02850.ssmove +++| BEGIN 02886 M00S02851.ssmove +++| EOTDAM = TRUE; 02887 M00S02852.ssmove +++| TEST NXTDAM; 02888 M00S02853.ssmove +++| END 02889 M00S02854.ssmove +++|# 02890 M00S02855.ssmove +++|* SET OUTPUT FILE. 02891 M00S02856.ssmove +++|# 02892 M00S02857.ssmove +++| 02893 M00S02858.ssmove +++| IF LO$P[0] 02894 M00S02859.ssmove +++| THEN 02895 M00S02860.ssmove +++| BEGIN 02896 M00S02861.ssmove +++| LISTFETP = OUT$FETP; 02897 M00S02862.ssmove +++| END 02898 M00S02863.ssmove +++| 02899 M00S02864.ssmove +++|# 02900 M00S02865.ssmove +++|* SEND ALL REQUESTS WITH A DESTAGE TO *SSEXEC*. 02901 M00S02866.ssmove +++|* CALL *MVDOIT* TO PERFORM ALL OTHER REQUESTS. 02902 M00S02867.ssmove +++|# 02903 M00S02868.ssmove +++| 02904 M00S02869.ssmove +++| IF EXT$DES[0] 02905 M00S02870.ssmove +++| THEN # SEND TO *SSEXEC* # 02906 M00S02871.ssmove +++| BEGIN # DESTAGE FILE # 02907 M00S02872.ssmove +++| 02908 M00S02873.ssmove +++|# 02909 M00S02874.ssmove +++|* WRITE SELECTED PROCESSING MESSAGE TO OUTPUT FILE FOR 02910 M00S02875.ssmove +++|* FILES TO BE DESTAGED OR DESTAGED AND RELEASED. 02911 M00S02876.ssmove +++|# 02912 M00S02877.ssmove +++| 02913 M00S02878.ssmove +++| IF EXT$REL[0] 02914 M00S02879.ssmove +++| THEN # DESTAGE AND RELEASE # 02915 M00S02880.ssmove +++| BEGIN 02916 M00S02881.ssmove +++| TDAMFC[0] = TDAMFCODE"DESTRLS"; 02917 M00S02882.ssmove +++| SKIP = PX$A[0] OR PX$B[0]; 02918 M00S02883.ssmove +++| IF SKIP 02919 M00S02884.ssmove +++| THEN 02920 M00S02885.ssmove +++| BEGIN 02921 M00S02886.ssmove +++| LISTFETP = PX$FETP; 02922 M00S02887.ssmove +++| END 02923 M00S02888.ssmove +++| 02924 M00S02889.ssmove +++| RPLINE(LISTFETP,MSGDSR,54,20,1); 02925 M00S02890.ssmove +++| MVPRNDT(TDAMLAD[0],TDAMACC[0],EXT$DESV[0],EXT$RELV[0]); 02926 M00S02891.ssmove +++| END 02927 M00S02892.ssmove +++| 02928 M00S02893.ssmove +++| ELSE # DESTAGE ONLY # 02929 M00S02894.ssmove +++| BEGIN 02930 M00S02895.ssmove +++| TDAMFC[0] = TDAMFCODE"DESTAGE"; 02931 M00S02896.ssmove +++| SKIP = PX$B[0]; 02932 M00S02897.ssmove +++| IF SKIP 02933 M00S02898.ssmove +++| THEN 02934 M00S02899.ssmove +++| BEGIN 02935 M00S02900.ssmove +++| LISTFETP = PX$FETP; 02936 M00S02901.ssmove +++| END 02937 M00S02902.ssmove +++| 02938 M00S02903.ssmove +++| RPLINE(LISTFETP,MSGDES,54,20,1); 02939 M00S02904.ssmove +++| MVPRNDT(TDAMLMD[0],TDAMACC[0],EXT$DESV[0],EXT$RELV[0]); 02940 M00S02905.ssmove +++| END 02941 M00S02906.ssmove +++| 02942 M00S02907.ssmove +++|# 02943 M00S02908.ssmove +++|* WRITE OUTPUT LINE IDENTIFYING FILE. 02944 M00S02909.ssmove +++|# 02945 M00S02910.ssmove +++| 02946 M00S02911.ssmove +++| TMPC = TDAMPFN[0]; 02947 M00S02912.ssmove +++| BZFILL(TMPC,TYPFILL"BFILL",7); 02948 M00S02913.ssmove +++| RPLINE(LISTFETP,TMPC,2,7,1); # PFN # 02949 M00S02914.ssmove +++| 02950 M00S02915.ssmove +++| TMPC = XCOD(TDAMUI[0]); 02951 M00S02916.ssmove +++| RPLINE(LISTFETP,TMPC,11,10,1); # UI # 02952 M00S02917.ssmove +++| 02953 M00S02918.ssmove +++| TMPC = XCDD(TDAMFLN[0]); 02954 M00S02919.ssmove +++| RPLINE(LISTFETP,TMPC,21,10,1); # LENGTH IN PRU # 02955 M00S02920.ssmove +++| 02956 M00S02921.ssmove +++| IF EXT$FTYPE[0] EQ IXIA 02957 M00S02922.ssmove +++| THEN 02958 M00S02923.ssmove +++| BEGIN 02959 M00S02924.ssmove +++| TMPC = "IND."; 02960 M00S02925.ssmove +++| END 02961 M00S02926.ssmove +++| 02962 M00S02927.ssmove +++| ELSE 02963 M00S02928.ssmove +++| BEGIN 02964 M00S02929.ssmove +++| TMPC = "DIR."; 02965 M00S02930.ssmove +++| END 02966 M00S02931.ssmove +++| 02967 M00S02932.ssmove +++| RPLINE(LISTFETP,TMPC,11,4,1); 02968 M00S02933.ssmove +++| 02969 M00S02934.ssmove +++| IF SKIP 02970 M00S02935.ssmove +++| THEN 02971 M00S02936.ssmove +++| BEGIN 02972 M00S02937.ssmove +++| TMPC = "*"; 02973 M00S02938.ssmove +++| END 02974 M00S02939.ssmove +++| 02975 M00S02940.ssmove +++| ELSE 02976 M00S02941.ssmove +++| BEGIN 02977 M00S02942.ssmove +++| TMPC = " "; 02978 M00S02943.ssmove +++| WRITEW(MV$FET[FILEMO],MV$WBUF[0], TDAMLEN,FLAG); 02979 M00S02944.ssmove +++| NFILES = NFILES + 1; 02980 M00S02945.ssmove +++| END 02981 M00S02946.ssmove +++| 02982 M00S02947.ssmove +++| RPLINE(LISTFETP,TMPC,53,1,0); 02983 M00S02948.ssmove +++| TEST NXTDAM; 02984 M00S02949.ssmove +++| END # DESTAGE FILE # 02985 M00S02950.ssmove +++| 02986 M00S02951.ssmove +++|# 02987 M00S02952.ssmove +++|* ISSUE CORRECT PROCESSING ACTION TEXT TO THE REPORT LINE. 02988 M00S02953.ssmove +++|* CALL *MVDOIT* IF IT IS OK TO PERFORM THE SELECTED ACTION. 02989 M00S02954.ssmove +++|# 02990 M00S02955.ssmove +++| 02991 M00S02956.ssmove +++| IF EXT$STG[0] 02992 M00S02957.ssmove +++| THEN 02993 M00S02958.ssmove +++| BEGIN 02994 M00S02959.ssmove +++| IF EXT$CLR[0] 02995 M00S02960.ssmove +++| THEN 02996 M00S02961.ssmove +++| BEGIN 02997 M00S02962.ssmove +++| SKIP = PX$F[0] OR PX$S[0]; 02998 M00S02963.ssmove +++| IF SKIP 02999 M00S02964.ssmove +++| THEN 03000 M00S02965.ssmove +++| BEGIN 03001 M00S02966.ssmove +++| LISTFETP = PX$FETP; 03002 M00S02967.ssmove +++| END 03003 M00S02968.ssmove +++| 03004 M00S02969.ssmove +++| RPLINE(LISTFETP,MSGSCLR,54,20,1); 03005 M00S02970.ssmove +++| END 03006 M00S02971.ssmove +++| 03007 M00S02972.ssmove +++| ELSE # STAGE ONLY # 03008 M00S02973.ssmove +++| BEGIN 03009 M00S02974.ssmove +++| SKIP = PX$S[0]; 03010 M00S02975.ssmove +++| IF SKIP 03011 M00S02976.ssmove +++| THEN 03012 M00S02977.ssmove +++| BEGIN 03013 M00S02978.ssmove +++| LISTFETP = PX$FETP; 03014 M00S02979.ssmove +++| END 03015 M00S02980.ssmove +++| 03016 M00S02981.ssmove +++| RPLINE(LISTFETP,MSGSTG,54,20,1); 03017 M00S02982.ssmove +++| END 03018 M00S02983.ssmove +++| 03019 M00S02984.ssmove +++| END 03020 M00S02985.ssmove +++| 03021 M00S02986.ssmove +++| ELSE # NO STAGE INVOLVED # 03022 M00S02987.ssmove +++| BEGIN 03023 M00S02988.ssmove +++| IF EXT$CLR[0] 03024 M00S02989.ssmove +++| THEN # CLEAR ASA DIRECTLY # 03025 M00S02990.ssmove +++| BEGIN 03026 M00S02991.ssmove +++| SKIP = PX$F[0]; 03027 M00S02992.ssmove +++| IF SKIP 03028 M00S02993.ssmove +++| THEN 03029 M00S02994.ssmove +++| BEGIN 03030 M00S02995.ssmove +++| LISTFETP = PX$FETP; 03031 M00S02996.ssmove +++| END 03032 M00S02997.ssmove +++| 03033 M00S02998.ssmove +++| RPLINE(LISTFETP,MSGCLR,54,20,1); 03034 M00S02999.ssmove +++| END 03035 M00S03000.ssmove +++| 03036 M00S03001.ssmove +++| ELSE # MUST BE RELEASE # 03037 M00S03002.ssmove +++| BEGIN 03038 M00S03003.ssmove +++| SKIP = PX$A[0]; 03039 M00S03004.ssmove +++| IF SKIP 03040 M00S03005.ssmove +++| THEN 03041 M00S03006.ssmove +++| BEGIN 03042 M00S03007.ssmove +++| LISTFETP = PX$FETP; 03043 M00S03008.ssmove +++| END 03044 M00S03009.ssmove +++| 03045 M00S03010.ssmove +++| RPLINE(LISTFETP,MSGREL,54,20,1); 03046 M00S03011.ssmove +++| MVPRNDT(TDAMLAD[0],TDAMACC[0],EXT$DESV[0],EXT$RELV[0]); 03047 M00S03012.ssmove +++| END 03048 M00S03013.ssmove +++| 03049 M00S03014.ssmove +++| END 03050 M00S03015.ssmove +++| 03051 M00S03016.ssmove +++|# 03052 M00S03017.ssmove +++|* WRITE OUTPUT LINE IDENTIFYING FILE. 03053 M00S03018.ssmove +++|# 03054 M00S03019.ssmove +++| 03055 M00S03020.ssmove +++| TMPC = TDAMPFN[0]; 03056 M00S03021.ssmove +++| BZFILL(TMPC,TYPFILL"BFILL",7); 03057 M00S03022.ssmove +++| RPLINE(LISTFETP,TMPC,2,7,1); # PFN # 03058 M00S03023.ssmove +++| 03059 M00S03024.ssmove +++| TMPC = XCOD(TDAMUI[0]); 03060 M00S03025.ssmove +++| RPLINE(LISTFETP,TMPC,11,10,1); # UI # 03061 M00S03026.ssmove +++| 03062 M00S03027.ssmove +++| TMPC = XCDD(TDAMFLN[0]); 03063 M00S03028.ssmove +++| RPLINE(LISTFETP,TMPC,21,10,1); # LENGTH IN PRU # 03064 M00S03029.ssmove +++| 03065 M00S03030.ssmove +++| IF EXT$FTYPE[0] EQ IXIA 03066 M00S03031.ssmove +++| THEN 03067 M00S03032.ssmove +++| BEGIN 03068 M00S03033.ssmove +++| TMPC = "IND."; 03069 M00S03034.ssmove +++| END 03070 M00S03035.ssmove +++| 03071 M00S03036.ssmove +++| ELSE 03072 M00S03037.ssmove +++| BEGIN 03073 M00S03038.ssmove +++| TMPC = "DIR."; 03074 M00S03039.ssmove +++| END 03075 M00S03040.ssmove +++| 03076 M00S03041.ssmove +++| RPLINE(LISTFETP,TMPC,11,4,1); 03077 M00S03042.ssmove +++| 03078 M00S03043.ssmove +++| IF SKIP 03079 M00S03044.ssmove +++| THEN 03080 M00S03045.ssmove +++| BEGIN 03081 M00S03046.ssmove +++| TMPC = "*"; 03082 M00S03047.ssmove +++| END 03083 M00S03048.ssmove +++| 03084 M00S03049.ssmove +++| ELSE 03085 M00S03050.ssmove +++| BEGIN 03086 M00S03051.ssmove +++| TMPC = " "; 03087 M00S03052.ssmove +++| MVDOIT; 03088 M00S03053.ssmove +++| END 03089 M00S03054.ssmove +++| 03090 M00S03055.ssmove +++| RPLINE(LISTFETP,TMPC,53,1,0); 03091 M00S03056.ssmove +++| 03092 M00S03057.ssmove +++| TEST NXTDAM; 03093 M00S03058.ssmove +++| END # NEXT TDAM REQUEST # 03094 M00S03059.ssmove +++| 03095 M00S03060.ssmove +++| WRITER(MV$FET[FILEMO],RCL); 03096 M00S03061.ssmove +++| WRITER(MV$FET[FILEAUX],RCL); 03097 M00S03062.ssmove +++| RETERN(MV$FET[FILEMO],RCL); 03098 M00S03063.ssmove +++| RETERN(MV$FET[FILEMI],RCL); 03099 M00S03064.ssmove +++| RETERN(MV$FET[FILEAUX],RCL); 03100 M00S03065.ssmove +++| 03101 M00S03066.ssmove +++|# 03102 M00S03067.ssmove +++|* ISSUE FIRST CALL TO *MVRPTDS* TO PRODUCE THE REPORT PAGE 03103 M00S03068.ssmove +++|* SUMMARIZING THE STATUS OF EACH DEVICE AND SUBFAMILY. 03104 M00S03069.ssmove +++|# 03105 M00S03070.ssmove +++| 03106 M00S03071.ssmove +++| MVRPTDS(0); 03107 M00S03072.ssmove +++| 03108 M00S03073.ssmove +++| END 03109 M00S03074.ssmove +++| 03110 M00S03075.ssmove +++| TERM 03111 M00S03076.ssmove +++|PROC MVPFRD; 03112 M00S03077.ssmove +++|# TITLE MVPFRD - READ PFC. # 03113 M00S03078.ssmove +++| 03114 M00S03079.ssmove +++| BEGIN # MVPFRD # 03115 M00S03080.ssmove +++| 03116 M00S03081.ssmove +++|# 03117 M00S03082.ssmove +++|** MVPFRD - READ PFC. 03118 M00S03083.ssmove +++|* 03119 M00S03084.ssmove +++|* THIS PROCEDURE READS THE PFC, CREATES THE PASS 1 OUTPUT 03120 M00S03085.ssmove +++|* FILE AND DETERMINES THE AMOUNT OF DISK SPACE TO BE 03121 M00S03086.ssmove +++|* RELEASED ON EACH DEVICE. 03122 M00S03087.ssmove +++|* 03123 M00S03088.ssmove +++|* PROC MVPFRD. 03124 M00S03089.ssmove +++|* 03125 M00S03090.ssmove +++|* EXIT. PASS 1 OUTPUT FILE SET UP. 03126 M00S03091.ssmove +++|* 03127 M00S03092.ssmove +++|* MESSAGES. INCORRECT DEVICE INDEX. 03128 M00S03093.ssmove +++|* 03129 M00S03094.ssmove +++|* NOTES. PERMANENT FILES ARE INCLUDED IN THE PASS 1 03130 M00S03095.ssmove +++|* OUTPUT FILE IF THEY MEET ANY OF THE FOLLOWING.. 03131 M00S03096.ssmove +++|* 03132 M00S03097.ssmove +++|* 1) ARE SELECTED BY THE *SF* DIRECTIVE AND 03133 M00S03098.ssmove +++|* THE SPECIFIED PROCESSING IS VALID TO DO. 03134 M00S03099.ssmove +++|* 03135 M00S03100.ssmove +++|* 2) HAVE THE FREE-FILE (AFFRE) FLAG SET IN THE 03136 M00S03101.ssmove +++|* *PFC* ENTRY FOR THE FILE WHEN THE FILE HAS 03137 M00S03102.ssmove +++|* A NON-ZERO *ASA* VALUE. 03138 M00S03103.ssmove +++|* 03139 M00S03104.ssmove +++|* 3) IF THE FILE SATISFIES THE DESTAGE CRITERIA. 03140 M00S03105.ssmove +++|* 03141 M00S03106.ssmove +++|* 4) IF THE FILE IS A CANDIDATE TO BE RELEASED. 03142 M00S03107.ssmove +++|# 03143 M00S03108.ssmove +++| 03144 M00S03109.ssmove +++|# 03145 M00S03110.ssmove +++|**** PROC MVPFRD - XREF LIST BEGIN. 03146 M00S03111.ssmove +++|# 03147 M00S03112.ssmove +++| 03148 M00S03113.ssmove +++| XREF 03149 M00S03114.ssmove +++| BEGIN 03150 M00S03115.ssmove +++| PROC BZFILL; # BLANK/ZERO FILL CHARACTER ITEM # 03151 M00S03116.ssmove +++| PROC GETDI; # GET DEVICE INHIBIT DATE/TIME # 03152 M00S03117.ssmove +++| PROC GETPFC; # GET NEXT PFC ENTRY # 03153 M00S03118.ssmove +++| PROC MESSAGE; # ISSUE DAYFILE MESSAGE # 03154 M00S03119.ssmove +++| PROC MVCKSF; # SEARCH FOR SELECTED FILES # 03155 M00S03120.ssmove +++| PROC MVVALDS; # CALCULATE DESTAGE VALUE # 03156 M00S03121.ssmove +++| PROC MVVALRL; # CALCULATE RELEASE VALUE # 03157 M00S03122.ssmove +++| PROC RETERN; # RETURNS A FILE # 03158 M00S03123.ssmove +++| PROC REWIND; # REWINDS A FILE # 03159 M00S03124.ssmove +++| PROC UATTACH; # UTILITY ATTACH # 03160 M00S03125.ssmove +++| PROC WRITER; # WRITES EOR ON A FILE # 03161 M00S03126.ssmove +++| PROC WRITEW; # DATA TRANSFER ROUTINE # 03162 M00S03127.ssmove +++| PROC XWOD; # CONVERT OCTAL TO DISPLAY # 03163 M00S03128.ssmove +++| PROC ZFILL; # ZERO FILL ARRAY # 03164 M00S03129.ssmove +++| PROC ZSETFET; # SETS UP A FET # 03165 M00S03130.ssmove +++| END 03166 M00S03131.ssmove +++| 03167 M00S03132.ssmove +++|# 03168 M00S03133.ssmove +++|**** PROC MVPFRD - XREF LIST END. 03169 M00S03134.ssmove +++|# 03170 M00S03135.ssmove +++| 03171 M00S03136.ssmove +++| DEF LISTCON #0#; # DO NOT LIST COMDECKS # 03172 M00S03137.ssmove +++|*CALL,COMBFAS 03173 M00S03138.ssmove +++|*CALL COMBSIT 03174 M00S03139.ssmove +++|*CALL,COMBBZF 03175 M00S03140.ssmove +++|*CALL,COMBTDM 03176 M00S03141.ssmove +++|*CALL,COMSPFM 03177 M00S03142.ssmove +++|*CALL,COMTCTW 03178 M00S03143.ssmove +++|*CALL,COMTMOV 03179 M00S03144.ssmove +++|*CALL,COMTMVD 03180 M00S03145.ssmove +++|*CALL,COMTMVP 03181 M00S03146.ssmove +++| 03182 M00S03147.ssmove +++| ITEM DISKIMAGE B; # TRUE IF DISK IMAGE EXISTS # 03183 M00S03148.ssmove +++| ITEM EOPFC B; # END OF PFC INDICATOR # 03184 M00S03149.ssmove +++| ITEM FAM C(10); # FAMILY NAME # 03185 M00S03150.ssmove +++| ITEM FLAG I; # ERROR STATUS # 03186 M00S03151.ssmove +++| ITEM GOAL I; # DESIRED PRU ON DISK # 03187 M00S03152.ssmove +++| ITEM I I; # LOOP INDUCTION VARIABLE # 03188 M00S03153.ssmove +++| ITEM INHBDT U; # DEVICE INHIBIT DATE/TIME # 03189 M00S03154.ssmove +++| ITEM LFNAME C(10); # LOCAL FILE NAME # 03190 M00S03155.ssmove +++| ITEM MV$DNX I; # SPECIFIED DEVICE INDEX # 03191 M00S03156.ssmove +++| ITEM NOREL B; # LEGALITY OF RELEASING FILE # 03192 M00S03157.ssmove +++| ITEM NUMMSS I; # NUMBER OF MSS IMAGES # 03193 M00S03158.ssmove +++| ITEM NXTPFC I; # FILE COUNTER # 03194 M00S03159.ssmove +++| ITEM PEOCNT I; # PFC ORDINAL # 03195 M00S03160.ssmove +++| ITEM PFNAME C(10); # PERMANENT FILE NAME # 03196 M00S03161.ssmove +++| ITEM PO C(1); # PROCESSING OPTION # 03197 M00S03162.ssmove +++| ITEM RES I; # FILE RESIDENCE CODE # 03198 M00S03163.ssmove +++| ITEM TMPI I; # TEMPORARY # 03199 M00S03164.ssmove +++| 03200 M00S03165.ssmove +++| ARRAY SCR$FET [0:0] S(SFETL);; # SCRATCH FET # 03201 M00S03166.ssmove +++| 03202 M00S03167.ssmove +++| ARRAY ERRMSG [0:0] P(3); ; # *PFM* ERROR MESSAGES # 03203 M00S03168.ssmove +++| 03204 M00S03169.ssmove +++| ARRAY DISASA [0:0] S(2); 03205 M00S03170.ssmove +++| BEGIN 03206 M00S03171.ssmove +++| ITEM DIS$ASA C(00,48,12); # ASA IN DISPLAY CODE # 03207 M00S03172.ssmove +++| END 03208 M00S03173.ssmove +++| 03209 M00S03174.ssmove +++| ARRAY MSG1 [0:0] S(3); # *PFC* ERROR INFORMATION # 03210 M00S03175.ssmove +++| BEGIN 03211 M00S03176.ssmove +++| ITEM MSG1$SP C(00,00,03) = [" "]; 03212 M00S03177.ssmove +++| ITEM MSG1$FN C(00,18,07); # FILE NAME # 03213 M00S03178.ssmove +++| ITEM MSG1$TXT C(01,00,08) = [" ASA = "]; 03214 M00S03179.ssmove +++| ITEM MSG1$ASA C(01,48,12); # ALTERNATE STORAGE ADDRESS # 03215 M00S03180.ssmove +++| END 03216 M00S03181.ssmove +++| CONTROL EJECT; 03217 M00S03182.ssmove +++| 03218 M00S03183.ssmove +++|# 03219 M00S03184.ssmove +++|* SET UP FET FOR PASS 1 OUTPUT FILE. 03220 M00S03185.ssmove +++|# 03221 M00S03186.ssmove +++| 03222 M00S03187.ssmove +++| FETP = LOC(MV$FET[FILEMO]); 03223 M00S03188.ssmove +++| BUFP = LOC(MV$BUF[FILEMO]); 03224 M00S03189.ssmove +++| ZSETFET(FETP,SCR1,BUFP,MVBUFL,SFETL); 03225 M00S03190.ssmove +++| RETERN(MV$FET[FILEMO],RCL); 03226 M00S03191.ssmove +++| 03227 M00S03192.ssmove +++| FAM = MVARG$FM[0]; 03228 M00S03193.ssmove +++| LFNAME = "SCR"; # LOCAL FILE NAME # 03229 M00S03194.ssmove +++| BZFILL(LFNAME,TYPFILL"ZFILL",10); 03230 M00S03195.ssmove +++| BZFILL(FAM,TYPFILL"ZFILL",10); 03231 M00S03196.ssmove +++| 03232 M00S03197.ssmove +++|# 03233 M00S03198.ssmove +++|* READ PFC. 03234 M00S03199.ssmove +++|# 03235 M00S03200.ssmove +++| 03236 M00S03201.ssmove +++| P<TDAM> = LOC(MV$WBUF[0]); 03237 M00S03202.ssmove +++| P<EXT$TDAM> = LOC(MV$WBUF[0]) + TDAMLEN; 03238 M00S03203.ssmove +++| EOPFC = FALSE; 03239 M00S03204.ssmove +++| EXT$PAZ[0] = 0; 03240 M00S03205.ssmove +++| 03241 M00S03206.ssmove +++|# 03242 M00S03207.ssmove +++|* DETERMINE THE INDEX OF THE SPECIFIED DEVICE. 03243 M00S03208.ssmove +++|# 03244 M00S03209.ssmove +++| 03245 M00S03210.ssmove +++| IF MVARG$DN[0] EQ 0 03246 M00S03211.ssmove +++| THEN # NO DEVICE SPECIFIED # 03247 M00S03212.ssmove +++| BEGIN 03248 M00S03213.ssmove +++| MV$DNX = 0; 03249 M00S03214.ssmove +++| END 03250 M00S03215.ssmove +++| 03251 M00S03216.ssmove +++| ELSE 03252 M00S03217.ssmove +++| BEGIN 03253 M00S03218.ssmove +++| MV$DNX = DN$TO$DNX[MVARG$DN[0]]; 03254 M00S03219.ssmove +++| END 03255 M00S03220.ssmove +++| 03256 M00S03221.ssmove +++|# 03257 M00S03222.ssmove +++|* THE MAIN LOGIC OF THIS ROUTINE IS IN THE FOLLOWING LOOP. 03258 M00S03223.ssmove +++|* PROCESSING FOR EACH FILE OCCURS DURING TWO TRIPS THROUGH 03259 M00S03224.ssmove +++|* THIS LOOP. THE TOP OF THE LOOP COMPLETES PROCESSING FOR 03260 M00S03225.ssmove +++|* A FILE. THE BOTTOM OF THE LOOP INITIATES FILE PROCESSING. 03261 M00S03226.ssmove +++|* THE FOLLOWING STEPS COMPRISE THE LOGIC OF THIS MAIN LOOP. 03262 M00S03227.ssmove +++|* 03263 M00S03228.ssmove +++|* 1) (TOP OF THE LOOP).. WRITE THE FILE ENTRY TO THE PASS 1 03264 M00S03229.ssmove +++|* OUTPUT FILE IF ANY PROCESSING ACTION FLAGS WERE SET 03265 M00S03230.ssmove +++|* WHEN THE FILE WAS ANALYZED DURING THE BOTTOM PART 03266 M00S03231.ssmove +++|* OF THE PREVIOUS EXECUTION OF THIS LOOP. 03267 M00S03232.ssmove +++|* 03268 M00S03233.ssmove +++|* 2) GET THE PFC ENTRY FOR THE NEXT FILE TO BE ANALYZED BY 03269 M00S03234.ssmove +++|* THE REST OF THIS LOOP. ESTABLISH THE FILE TYPE, SUBFAMILY 03270 M00S03235.ssmove +++|* AND DEVICE NUMBER INDICES. 03271 M00S03236.ssmove +++|* 03272 M00S03237.ssmove +++|* 3) GET THE FILE LENGTH, IF NECESSARY. 03273 M00S03238.ssmove +++|* 03274 M00S03239.ssmove +++|* 4) DETERMINE THE RESIDENCE OF THE FILE AND UPDATE DEVICE 03275 M00S03240.ssmove +++|* AND SUBFAMILY STATISTICS ACCORDINGLY. 03276 M00S03241.ssmove +++|* 03277 M00S03242.ssmove +++|* 5) IGNORE THE FILE IF IT IS EXCLUDED FROM PROCESSING DUE 03278 M00S03243.ssmove +++|* TO RUN-TIME PARAMETERS OR IF IT HAS A SPECIAL USER INDEX. 03279 M00S03244.ssmove +++|* 03280 M00S03245.ssmove +++|* 6) SELECT PROCESSING ACTIONS AS CONTROLLED BY THE *SF,FN=..* 03281 M00S03246.ssmove +++|* DIRECTIVE OR THE *AFFREE* FLAG IN THE PFC ENTRY. 03282 M00S03247.ssmove +++|* 03283 M00S03248.ssmove +++|* 7) EVALUATE THE DESTAGE AND RELEASE FORMULAS AND SET 03284 M00S03249.ssmove +++|* THE APPROPRIATE PROCESSING ACTION FLAGS. 03285 M00S03250.ssmove +++|# 03286 M00S03251.ssmove +++| 03287 M00S03252.ssmove +++| SLOWFOR NXTPFC = 0 STEP 1 WHILE NOT EOPFC 03288 M00S03253.ssmove +++| DO # FINISH PROCESSING OLD PFC ENTRY, 03289 M00S03254.ssmove +++| THEN START NEW ONE # 03290 M00S03255.ssmove +++| BEGIN # NEXT PFC # 03291 M00S03256.ssmove +++| IF EXT$PA[0] NQ 0 03292 M00S03257.ssmove +++| THEN # SAVE ENTRY FOR NEXT STEP OF 03293 M00S03258.ssmove +++| ANALYSIS # 03294 M00S03259.ssmove +++| BEGIN 03295 M00S03260.ssmove +++| TDAMFLN[0] = PFC$LF[0]; 03296 M00S03261.ssmove +++| TDAMASA[0] = PFC$AA[0]; 03297 M00S03262.ssmove +++| TDAMAT[0] = PFC$AT[0]; 03298 M00S03263.ssmove +++| TDAMPFN[0] = PFC$FN[0]; 03299 M00S03264.ssmove +++| TDAMUI[0] = PFC$UI[0]; 03300 M00S03265.ssmove +++| TDAMSBF[0] = PFC$SF[0]; 03301 M00S03266.ssmove +++| TDAMFAM[0] = MVARG$FM[0]; 03302 M00S03267.ssmove +++| TDAMCDT[0] = PFC$CD[0]; 03303 M00S03268.ssmove +++| TDAMAL[0] = PFC$AL[0]; 03304 M00S03269.ssmove +++| TDAMFFF[0] = PFC$AFFRE[0]; 03305 M00S03270.ssmove +++| TDAMFFF[0] = PFC$AFFRE[0]; 03306 M00S03271.ssmove +++| EXT$AFOBS[0] = PFC$AFOBS[0]; 03307 M00S03272.ssmove +++| EXT$RES[0] = RES; 03308 M00S03273.ssmove +++| EXT$FTYPE[0] = FTYPE; 03309 M00S03274.ssmove +++| 03310 M00S03275.ssmove +++|# 03311 M00S03276.ssmove +++|* SAVE DATES AND ACCESS COUNT FOR THE REPORT FILE. 03312 M00S03277.ssmove +++|# 03313 M00S03278.ssmove +++| 03314 M00S03279.ssmove +++| TDAMLMD[0] = PFC$MDD[0]; 03315 M00S03280.ssmove +++| TDAMLAD[0] = PFC$ADD[0]; 03316 M00S03281.ssmove +++| TDAMACC[0] = PFC$AC[0]; 03317 M00S03282.ssmove +++| 03318 M00S03283.ssmove +++| WRITEW(MV$FET[FILEMO],MV$WBUF[0],MVWBUFL,FLAG); 03319 M00S03284.ssmove +++| END 03320 M00S03285.ssmove +++| 03321 M00S03286.ssmove +++| ZFILL(EXT$TDAM,3); # CLEAR FOR NEXT FILE # 03322 M00S03287.ssmove +++| FLAG = 0; 03323 M00S03288.ssmove +++| GETPFC(PEOCNT, FLAG); 03324 M00S03289.ssmove +++| IF FLAG NQ OK 03325 M00S03290.ssmove +++| THEN 03326 M00S03291.ssmove +++| BEGIN 03327 M00S03292.ssmove +++| EOPFC = TRUE; 03328 M00S03293.ssmove +++| TEST NXTPFC; 03329 M00S03294.ssmove +++| END 03330 M00S03295.ssmove +++| 03331 M00S03296.ssmove +++|# 03332 M00S03297.ssmove +++|* ESTABLISH FILE TYPE, SUBFAMILY AND DEVICE NUMBER INDICES. 03333 M00S03298.ssmove +++|# 03334 M00S03299.ssmove +++| 03335 M00S03300.ssmove +++| IF PFC$DA[0] 03336 M00S03301.ssmove +++| THEN 03337 M00S03302.ssmove +++| BEGIN 03338 M00S03303.ssmove +++| FTYPE = IXDA; 03339 M00S03304.ssmove +++| END 03340 M00S03305.ssmove +++| 03341 M00S03306.ssmove +++| ELSE 03342 M00S03307.ssmove +++| BEGIN 03343 M00S03308.ssmove +++| FTYPE = IXIA; 03344 M00S03309.ssmove +++| END 03345 M00S03310.ssmove +++| 03346 M00S03311.ssmove +++| TDAMIA[0] = NOT PFC$DA[0]; 03347 M00S03312.ssmove +++| SFX = PFC$SF[0]; 03348 M00S03313.ssmove +++| 03349 M00S03314.ssmove +++| IF PFC$EO[0] EQ 0 03350 M00S03315.ssmove +++| THEN 03351 M00S03316.ssmove +++| BEGIN 03352 M00S03317.ssmove +++| DNX = DN$TO$DNX[CNTR$DN[0]]; 03353 M00S03318.ssmove +++| END 03354 M00S03319.ssmove +++| 03355 M00S03320.ssmove +++| ELSE 03356 M00S03321.ssmove +++| BEGIN 03357 M00S03322.ssmove +++| DNX = DN$TO$DNX[PFC$EO[0]]; 03358 M00S03323.ssmove +++| END 03359 M00S03324.ssmove +++| 03360 M00S03325.ssmove +++| EXT$DNX[0] = DNX; 03361 M00S03326.ssmove +++| TDAMDN[0] = CNTR$DN[0]; 03362 M00S03327.ssmove +++| 03363 M00S03328.ssmove +++|# 03364 M00S03329.ssmove +++|* ISSUE DAYFILE MESSAGE IF ILLEGAL DEVICE INDEX. 03365 M00S03330.ssmove +++|# 03366 M00S03331.ssmove +++| 03367 M00S03332.ssmove +++| IF DNX EQ 0 03368 M00S03333.ssmove +++| THEN # IGNORE FILE # 03369 M00S03334.ssmove +++| BEGIN 03370 M00S03335.ssmove +++| MVMSG$LN[0] = " INCORRECT DEVICE INDEX."; 03371 M00S03336.ssmove +++| MESSAGE(MVMSG[0],UDFL1); 03372 M00S03337.ssmove +++| TEST NXTPFC; 03373 M00S03338.ssmove +++| END 03374 M00S03339.ssmove +++| 03375 M00S03340.ssmove +++|# 03376 M00S03341.ssmove +++|* SET UP PFID AND GET FILE LENGTH, IF NECESSARY. 03377 M00S03342.ssmove +++|# 03378 M00S03343.ssmove +++| 03379 M00S03344.ssmove +++| TDAMPEO[0] = PEOCNT; 03380 M00S03345.ssmove +++| TDAMTRACK[0] = CNTR$TRK[0]; 03381 M00S03346.ssmove +++| TDAMSECTOR[0] = CNTR$SEC[0]; 03382 M00S03347.ssmove +++| 03383 M00S03348.ssmove +++| IF PFC$LF[0] EQ 0 AND PFC$DA[0] ## 03384 M00S03349.ssmove +++| AND(PFC$UI[0] LS DEF$UI OR PFC$UI[0] GR DEF$UI+7) 03385 M00S03350.ssmove +++| THEN # GET FILE LENGTH # 03386 M00S03351.ssmove +++| BEGIN 03387 M00S03352.ssmove +++| PFNAME = PFC$FN[0]; 03388 M00S03353.ssmove +++| BZFILL(PFNAME,TYPFILL"ZFILL",10); 03389 M00S03354.ssmove +++| UATTACH(LFNAME,FLAG,6,PFNAME,PTRD,PFC$UI[0],FAM, ## 03390 M00S03355.ssmove +++| TDAMPFID[0],PFC[0],PFC$CD[0],LOC(ERRMSG)); 03391 M00S03356.ssmove +++| FETP = LOC(SCR$FET[0]); 03392 M00S03357.ssmove +++| ZSETFET(FETP,LFNAME,0,0,SFETL); 03393 M00S03358.ssmove +++| RETERN(SCR$FET[0],RCL); # RETURN THE FILE # 03394 M00S03359.ssmove +++| END 03395 M00S03360.ssmove +++| 03396 M00S03361.ssmove +++|# 03397 M00S03362.ssmove +++|* CALCULATE RESIDENCE OF THE FILE AND UPDATE 03398 M00S03363.ssmove +++|* DEVICE OR SUBFAMILY STATISTICS ACCORDINGLY. 03399 M00S03364.ssmove +++|* 03400 M00S03365.ssmove +++|* DO NOT EXCLUDE ANY FILE HAVING *AFFRE* FLAG SET 03401 M00S03366.ssmove +++|* INCLUDING FILES LOCKED TO DISK AND FILES WITH AN 03402 M00S03367.ssmove +++|* OBSOLETE MSAS COPY. 03403 M00S03368.ssmove +++|# 03404 M00S03369.ssmove +++| 03405 M00S03370.ssmove +++| DISKIMAGE = (PFC$BT[0] NQ 0); 03406 M00S03371.ssmove +++| NUMMSS = 0; 03407 M00S03372.ssmove +++| IF PFC$AA[0] NQ 0 03408 M00S03373.ssmove +++| THEN # OBSOLETE COPY # 03409 M00S03374.ssmove +++| BEGIN 03410 M00S03375.ssmove +++| IF (PFC$AFOBS[0] AND NOT PFC$AFFRE[0]) 03411 M00S03376.ssmove +++| THEN 03412 M00S03377.ssmove +++| BEGIN 03413 M00S03378.ssmove +++| NUMMSS = 0; 03414 M00S03379.ssmove +++| END 03415 M00S03380.ssmove +++| 03416 M00S03381.ssmove +++| ELSE 03417 M00S03382.ssmove +++| BEGIN 03418 M00S03383.ssmove +++| NUMMSS = 1; 03419 M00S03384.ssmove +++| END 03420 M00S03385.ssmove +++| 03421 M00S03386.ssmove +++| END 03422 M00S03387.ssmove +++| 03423 M00S03388.ssmove +++| IF NUMMSS NQ 0 AND NOT DISKIMAGE 03424 M00S03389.ssmove +++| THEN # FILE RELEASED # 03425 M00S03390.ssmove +++| BEGIN 03426 M00S03391.ssmove +++| RES = RESIDENCE"RES$M86"; 03427 M00S03392.ssmove +++| SFRL$NF[FTYPE,SFX] = SFRL$NF[FTYPE,SFX] + 1; 03428 M00S03393.ssmove +++| SFRL$PRU[FTYPE,SFX] = SFRL$PRU[FTYPE,SFX] + PFC$LF[0]; 03429 M00S03394.ssmove +++| SFDM$NF[FTYPE,SFX] = SFDM$NF[FTYPE,SFX] + 1; 03430 M00S03395.ssmove +++| SFDM$PRU[FTYPE,SFX] = SFDM$PRU[FTYPE,SFX] + PFC$LF[0]; 03431 M00S03396.ssmove +++| END 03432 M00S03397.ssmove +++| 03433 M00S03398.ssmove +++| IF DISKIMAGE 03434 M00S03399.ssmove +++| THEN # FILE ON DISK # 03435 M00S03400.ssmove +++| BEGIN 03436 M00S03401.ssmove +++| RES = RESIDENCE"RES$RMS"; 03437 M00S03402.ssmove +++| DEV$NF[FTYPE,DNX] = DEV$NF[FTYPE,DNX] + 1; 03438 M00S03403.ssmove +++| DEV$TRPRU[FTYPE,DNX] = DEV$TRPRU[FTYPE,DNX] + PFC$LF[0]; 03439 M00S03404.ssmove +++| IF FTYPE EQ IXIA 03440 M00S03405.ssmove +++| THEN 03441 M00S03406.ssmove +++| BEGIN 03442 M00S03407.ssmove +++| DEV$PRU[FTYPE,DNX] = DEV$PRU[FTYPE,DNX] + PFC$LF[0]; 03443 M00S03408.ssmove +++| END 03444 M00S03409.ssmove +++| 03445 M00S03410.ssmove +++| ELSE 03446 M00S03411.ssmove +++| BEGIN 03447 M00S03412.ssmove +++| PRUTRK = DEV$SECTR[IXDA,DNX]; 03448 M00S03413.ssmove +++| TRUPRU = (((PFC$LF[0] + 1) / PRUTRK) + 1) * PRUTRK; 03449 M00S03414.ssmove +++| DEV$PRU[FTYPE,DNX] = DEV$PRU[FTYPE,DNX] + TRUPRU; 03450 M00S03415.ssmove +++| END 03451 M00S03416.ssmove +++| 03452 M00S03417.ssmove +++| IF NUMMSS NQ 0 03453 M00S03418.ssmove +++| THEN # FILE ALSO ON MSAS # 03454 M00S03419.ssmove +++| BEGIN 03455 M00S03420.ssmove +++| RES = RESIDENCE"RES$RMS$MF"; 03456 M00S03421.ssmove +++| SFDM$NF[FTYPE,SFX] = SFDM$NF[FTYPE,SFX] + 1; 03457 M00S03422.ssmove +++| SFDM$PRU[FTYPE,SFX] = SFDM$PRU[FTYPE,SFX] + PFC$LF[0]; 03458 M00S03423.ssmove +++| END 03459 M00S03424.ssmove +++| 03460 M00S03425.ssmove +++| END 03461 M00S03426.ssmove +++| 03462 M00S03427.ssmove +++| IF FTYPE EQ IXDA 03463 M00S03428.ssmove +++| AND PFC$LF[0] NQ 0 03464 M00S03429.ssmove +++| THEN # IGNORE SYSTEM SECTOR # 03465 M00S03430.ssmove +++| BEGIN 03466 M00S03431.ssmove +++| PFC$LF[0] = PFC$LF[0] - 1; 03467 M00S03432.ssmove +++| END 03468 M00S03433.ssmove +++|
Line S03434 Modification History | |
---|---|
M01 (Removed by) | ssmove2 |
Seq # *Modification Id* Act ----------------------------+ 03469 M01S03434.ssmove2 ---|# 03470 M01S03435.ssmove2 ---|* DO NOT PROCESS ZERO LENGTH FILES. 03471 M01S03436.ssmove2 ---|# 03472 M01S03437.ssmove2 ---| 03473 M01S03438.ssmove2 ---| IF PFC$LF[0] EQ 0 03474 M01S03439.ssmove2 ---| THEN 03475 M01S03440.ssmove2 ---| BEGIN 03476 M01S03441.ssmove2 ---| TEST NXTPFC; 03477 M01S03442.ssmove2 ---| END 03478 M01S03443.ssmove2 ---| 03479 M00S03444.ssmove +++|# 03480 M00S03445.ssmove +++|* SEE IF THE FILE IS TO BE EXCLUDED DUE TO RUN-TIME PARAMETERS 03481 M00S03446.ssmove +++|* (PX, UI OPTIONS), IF THE FILE IS IN A RESERVED USER INDEX, 03482 M00S03447.ssmove +++|* OR IF IT IS LOCKED TO DISK. 03483 M00S03448.ssmove +++|# 03484 M00S03449.ssmove +++| 03485 M00S03450.ssmove +++| IF (PFC$DA[0] AND PX$D[0] ) # DIRECT ACCESS FILE # 03486 M00S03451.ssmove +++| OR ( NOT PFC$DA[0] AND PX$I[0] ) # INDIRECT ACCESS FILE # 03487 M00S03452.ssmove +++| 03488 M00S03453.ssmove +++| OR ( MVARG$UI[0] NQ 0 # NOT THE SELECTED # 03489 M00S03454.ssmove +++| AND PFC$UI[0] NQ MVARG$UI[0] ) # USER INDEX # 03490 M00S03455.ssmove +++| 03491 M00S03456.ssmove +++| OR ( PFC$UI[0] GQ DEF$UI # MSS USER INDICES # 03492 M00S03457.ssmove +++| AND PFC$UI[0] LQ DEF$UI+7 ) ## 03493 M00S03458.ssmove +++| 03494 M00S03459.ssmove +++| OR ( PFC$UI[0] EQ SYS$UI ) # SYSTEM USER INDEX #
Line S00001 Modification History | |
---|---|
M01 (Added by) | ssmove3 |
Seq # *Modification Id* Act ----------------------------+ 03495 M01S00001.ssmove3 +++| 03496 M01S00002.ssmove3 +++| OR (PFC$UI[0] EQ FPF$UI) # FLAWPF USER INDEX # 03497 M00S03460.ssmove +++| 03498 M00S03461.ssmove +++| OR ( PFC$RS[0] EQ RSLK # FILE LOCKED TO DISK # 03499 M00S03462.ssmove +++| AND NOT PFC$AFFRE[0]) 03500 M00S03463.ssmove +++| 03501 M00S03464.ssmove +++| THEN # DO NOT CONSIDER THIS FILE FOR 03502 M00S03465.ssmove +++| FURTHER PROCESSING # 03503 M00S03466.ssmove +++| BEGIN 03504 M00S03467.ssmove +++| TEST NXTPFC; 03505 M00S03468.ssmove +++| END 03506 M00S03469.ssmove +++| 03507 M00S03470.ssmove +++|# 03508 M00S03471.ssmove +++|* PROCESS THE SPECIAL FLAGS (*PO* OR FREE-UP FLAG IN *PFC*) 03509 M00S03472.ssmove +++|* AS FOLLOWS.. 03510 M00S03473.ssmove +++|* 03511 M00S03474.ssmove +++|* 1) PO=F (FREE FILE FROM CARTRIDGE) 03512 M00S03475.ssmove +++|* IF THE ASA NQ 0 THEN SET *CLR*. ALLOW FILE TO 03513 M00S03476.ssmove +++|* BE SELECTED TO BE STAGED. 03514 M00S03477.ssmove +++|* 03515 M00S03478.ssmove +++|* 2) PO=A (ARCHIVE OR RELEASE FROM DISK) 03516 M00S03479.ssmove +++|* FORCE RELEASE BY SETTING *REL* UNLESS THE FILE 03517 M00S03480.ssmove +++|* IS ALREADY ARCHIVED. THE CHECK TO VERIFY THAT 03518 M00S03481.ssmove +++|* THE *BR=Y* REQUIREMENT IS MET IS MADE FURTHER ON. 03519 M00S03482.ssmove +++|* 03520 M00S03483.ssmove +++|* 3) PO=S OR *CLR* OR PFC$AFFRE SET (STAGE TO DISK) 03521 M00S03484.ssmove +++|* FORCE THE FILE TO BE STAGED TO DISK BY SETTING 03522 M00S03485.ssmove +++|* *STG* UNLESS THE FILE IS ALREADY ON DISK. SET 03523 M00S03486.ssmove +++|* *NOREL* TO PROHIBIT THE FILE FROM BEING RELEASED 03524 M00S03487.ssmove +++|* FROM DISK. IF THE FREE FILE FLAG IS SET IN THE 03525 M00S03488.ssmove +++|* *PFC* STAGER WILL CLEAR THE *ASA* AFTER STAGING 03526 M00S03489.ssmove +++|* THE FILE TO DISK. 03527 M00S03490.ssmove +++|* 03528 M00S03491.ssmove +++|* 4) PO=B (BACKUP OR DESTAGE TO MSAS) 03529 M00S03492.ssmove +++|* SET THE *DES* FLAG IF THE FILE RESIDES ON DISK ONLY. 03530 M00S03493.ssmove +++|# 03531 M00S03494.ssmove +++| 03532 M00S03495.ssmove +++| MVCKSF(PFC$FN[0],PFC$UI[0],PO); # SEE IF FILE SELECTED # 03533 M00S03496.ssmove +++| 03534 M00S03497.ssmove +++| EXT$CLR[0] = (PFC$AA[0] NQ 0) # CASE 1 # 03535 M00S03498.ssmove +++| AND ((RES EQ RESIDENCE"RES$RMS$MF" AND PFC$AFFRE[0]) 03536 M00S03499.ssmove +++| OR (PO EQ "F")); 03537 M00S03500.ssmove +++| 03538 M00S03501.ssmove +++| EXT$REL[0] = (PO EQ "A") # CASE 2 # 03539 M00S03502.ssmove +++| AND (RES NQ RESIDENCE"RES$M86"); 03540 M00S03503.ssmove +++| 03541 M00S03504.ssmove +++| EXT$STG[0] = (PO EQ "S" OR EXT$CLR[0] OR PFC$AFFRE[0]) ## 03542 M00S03505.ssmove +++| AND (RES EQ RESIDENCE"RES$M86"); 03543 M00S03506.ssmove +++| NOREL = EXT$STG[0] OR EXT$CLR[0]; 03544 M00S03507.ssmove +++| 03545 M00S03508.ssmove +++|# 03546 M00S03509.ssmove +++|* IF ERROR FLAGS ARE SET IN THE *PFC* DO NOT ALLOW THE FILE 03547 M00S03510.ssmove +++|* TO BE STAGED. 03548 M00S03511.ssmove +++|# 03549 M00S03512.ssmove +++| 03550 M00S03513.ssmove +++| IF EXT$STG[0] 03551 M00S03514.ssmove +++| THEN 03552 M00S03515.ssmove +++| BEGIN # CHECK *PFC* FOR ERRORS # 03553 M00S03516.ssmove +++| IF PFC$AFPDE[0] # DATA ERROR # 03554 M00S03517.ssmove +++| OR PFC$AFPSE[0] # SYSTEM ERROR # 03555 M00S03518.ssmove +++| OR PFC$AFTMP[0] # TEMPORARY ERROR # 03556 M00S03519.ssmove +++| THEN 03557 M00S03520.ssmove +++| BEGIN 03558 M00S03521.ssmove +++| MSG1$FN[0] = PFC$FN[0]; 03559 M00S03522.ssmove +++| XWOD(PFC$AA[0],DISASA); 03560 M00S03523.ssmove +++| MSG1$ASA[0] = DIS$ASA[0]; 03561 M00S03524.ssmove +++| MVMSG$LN[0] = " PFC ERROR FLAGS SET"; 03562 M00S03525.ssmove +++| MESSAGE(MVMSG[0],UDFL1); 03563 M00S03526.ssmove +++| MESSAGE(MSG1[0],UDFL1); 03564 M00S03527.ssmove +++| EXT$STG[0] = FALSE; # PROHIBIT STAGING # 03565 M00S03528.ssmove +++| EXT$CLR[0] = FALSE; 03566 M00S03529.ssmove +++| TEST NXTPFC; 03567 M00S03530.ssmove +++| END 03568 M00S03531.ssmove +++| END # CHECK *PFC* FOR ERRORS # 03569 M00S03532.ssmove +++| 03570 M00S03533.ssmove +++|# 03571 M00S03534.ssmove +++|* IF THE FILE RESIDES ON DISK, SELECT IT TO BE DESTAGED IF 03572 M00S03535.ssmove +++|* SPECIFIED BY THE FILE-S *PO* ATTRIBUTE, OR IF ITS DESTAGE 03573 M00S03536.ssmove +++|* VALUE EXCEEDS THE THRESHOLD. 03574 M00S03537.ssmove +++|# 03575 M00S03538.ssmove +++| 03576 M00S03539.ssmove +++| IF RES EQ RESIDENCE"RES$RMS" 03577 M00S03540.ssmove +++| THEN # SELECT DESTAGE IF APPROPRIATE # 03578 M00S03541.ssmove +++| BEGIN 03579 M00S03542.ssmove +++| IF PO EQ "B" 03580 M00S03543.ssmove +++| THEN # CASE 4 # 03581 M00S03544.ssmove +++| BEGIN 03582 M00S03545.ssmove +++| EXT$DES[0] = TRUE; 03583 M00S03546.ssmove +++| END 03584 M00S03547.ssmove +++| 03585 M00S03548.ssmove +++| ELSE # CALCULATE DESTAGE VALUE AND 03586 M00S03549.ssmove +++| COMPARE TO THRESHOLD # 03587 M00S03550.ssmove +++| BEGIN 03588 M00S03551.ssmove +++| MVVALDS(TMPI,PO); # CALCULATE DESTAGE VALUE # 03589 M00S03552.ssmove +++| EXT$DES[0] = TMPI GQ FR$VAL[FTYPE,IXDS,FRTH]; 03590 M00S03553.ssmove +++| EXT$CDES[0] = NOT EXT$DES[0]; # IN CASE FILE IS RELEASED # 03591 M00S03554.ssmove +++| EXT$DESV[0] = TMPI; 03592 M00S03555.ssmove +++| END 03593 M00S03556.ssmove +++| 03594 M00S03557.ssmove +++| END 03595 M00S03558.ssmove +++| 03596 M00S03559.ssmove +++|# 03597 M00S03560.ssmove +++|* CHECK TO SEE IF THE FILE CAN BE RELEASED. 03598 M00S03561.ssmove +++|* - VERIFY *BR=Y* REQUIREMENT SATISFIED. 03599 M00S03562.ssmove +++|* - VERIFY *DN* PARAMETER SATISFIED. 03600 M00S03563.ssmove +++|* - VERIFY FILE NOT ALREADY SELECTED FOR RELEASE. 03601 M00S03564.ssmove +++|* - CALCULATE RELEASE VALUE AND IF GREATER THAN 03602 M00S03565.ssmove +++|* THE THRESHOLD, SAVE IT FOR FUTURE USE IN 03603 M00S03566.ssmove +++|* SELECTING AMONG THE CANDIDATE FILES. 03604 M00S03567.ssmove +++|# 03605 M00S03568.ssmove +++| 03606 M00S03569.ssmove +++|# 03607 M00S03570.ssmove +++|* IF A DUMP TAPE BACKUP IS REQUIRED, PROHIBIT 03608 M00S03571.ssmove +++|* RELEASING THE FILE. 03609 M00S03572.ssmove +++|# 03610 M00S03573.ssmove +++| 03611 M00S03574.ssmove +++| GETDI(CNTR$EQ[0],INHBDT); # GET DEVICE INHIBIT DATE/TIME # 03612 M00S03575.ssmove +++| IF PFC$BR[0] EQ BRAL AND INHBDT LQ PFC$UD[0] 03613 M00S03576.ssmove +++| THEN # PROHIBIT RELEASING THE FILE # 03614 M00S03577.ssmove +++| BEGIN 03615 M00S03578.ssmove +++| EXT$REL[0] = FALSE; 03616 M00S03579.ssmove +++| NOREL = TRUE; 03617 M00S03580.ssmove +++| END 03618 M00S03581.ssmove +++| 03619 M00S03582.ssmove +++| IF EXT$REL[0] 03620 M00S03583.ssmove +++| THEN # COUNT PRU TO BE RELEASED # 03621 M00S03584.ssmove +++| BEGIN 03622 M00S03585.ssmove +++| DEV$RELF[FTYPE,DNX] = DEV$RELF[FTYPE,DNX] + 1; 03623 M00S03586.ssmove +++| DEV$TRPRU[FTYPE,DNX] = DEV$TRPRU[FTYPE,DNX] - PFC$LF[0]; 03624 M00S03587.ssmove +++| IF FTYPE EQ IXIA 03625 M00S03588.ssmove +++| THEN 03626 M00S03589.ssmove +++| BEGIN 03627 M00S03590.ssmove +++| DEV$RELP[FTYPE,DNX] = DEV$RELP[FTYPE,DNX] + PFC$LF[0]; 03628 M00S03591.ssmove +++| END 03629 M00S03592.ssmove +++| 03630 M00S03593.ssmove +++| ELSE 03631 M00S03594.ssmove +++| BEGIN 03632 M00S03595.ssmove +++| PRUTRK = DEV$SECTR[IXDA,DNX]; 03633 M00S03596.ssmove +++| TRUPRU = (((PFC$LF[0]+1) / PRUTRK) + 1) * PRUTRK; 03634 M00S03597.ssmove +++| DEV$RELP[FTYPE,DNX] = DEV$RELP[FTYPE,DNX] + TRUPRU; 03635 M00S03598.ssmove +++| END 03636 M00S03599.ssmove +++| 03637 M00S03600.ssmove +++| TEST NXTPFC; 03638 M00S03601.ssmove +++| END 03639 M00S03602.ssmove +++| 03640 M00S03603.ssmove +++| IF MV$DNX NQ 0 ## 03641 M00S03604.ssmove +++| AND MV$DNX NQ DNX # FAILS *DN* PARAMETER # 03642 M00S03605.ssmove +++| THEN # DO NOT CONSIDER FILE FOR 03643 M00S03606.ssmove +++| DESTAGING OR RELEASING # 03644 M00S03607.ssmove +++| BEGIN 03645 M00S03608.ssmove +++| EXT$DES[0] = FALSE; # DO NOT DESTAGE # 03646 M00S03609.ssmove +++| TEST NXTPFC; 03647 M00S03610.ssmove +++| END 03648 M00S03611.ssmove +++| 03649 M00S03612.ssmove +++| IF NOREL 03650 M00S03613.ssmove +++| THEN # DO NOT RELEASE # 03651 M00S03614.ssmove +++| BEGIN 03652 M00S03615.ssmove +++| TEST NXTPFC; 03653 M00S03616.ssmove +++| END 03654 M00S03617.ssmove +++| 03655 M00S03618.ssmove +++| IF RES NQ RESIDENCE"RES$M86" 03656 M00S03619.ssmove +++| THEN 03657 M00S03620.ssmove +++| BEGIN 03658 M00S03621.ssmove +++| MVVALRL(TMPI,PO); # CALCULATE RELEASE VALUE # 03659 M00S03622.ssmove +++| EXT$CREL[0] = TMPI GQ FR$VAL[FTYPE,IXRL,FRTH]; 03660 M00S03623.ssmove +++| EXT$RELV[0] = TMPI; 03661 M00S03624.ssmove +++| TEST NXTPFC; 03662 M00S03625.ssmove +++| END 03663 M00S03626.ssmove +++| 03664 M00S03627.ssmove +++| END # NEXT PFC # 03665 M00S03628.ssmove +++| 03666 M00S03629.ssmove +++|# 03667 M00S03630.ssmove +++|* AFTER PROCESSING ALL FILES, 03668 M00S03631.ssmove +++|* - FLUSH THE PASS 1 OUTPUT BUFFER TO DISK. 03669 M00S03632.ssmove +++|* - CALCULATE THE AMOUNT OF DISK SPACE NEEDED 03670 M00S03633.ssmove +++|* TO BE RELEASED ON EACH DEVICE. 03671 M00S03634.ssmove +++|# 03672 M00S03635.ssmove +++| 03673 M00S03636.ssmove +++| WRITER(MV$FET[FILEMO],RCL); 03674 M00S03637.ssmove +++| REWIND(MV$FET[FILEMO],RCL); 03675 M00S03638.ssmove +++| 03676 M00S03639.ssmove +++|# 03677 M00S03640.ssmove +++|* CALCULATE THE NUMBER OF PRU TO BE RELEASED ON EACH DEVICE. 03678 M00S03641.ssmove +++|# 03679 M00S03642.ssmove +++| 03680 M00S03643.ssmove +++| SLOWFOR I = 1 STEP 1 UNTIL MAXDEV 03681 M00S03644.ssmove +++| DO 03682 M00S03645.ssmove +++| BEGIN # EACH DEVICE # 03683 M00S03646.ssmove +++| IF DEV$MAST[IXIA,I] 03684 M00S03647.ssmove +++| THEN # USE MASTER DEVICE GOALS # 03685 M00S03648.ssmove +++| BEGIN 03686 M00S03649.ssmove +++| TMPI = SMMG; 03687 M00S03650.ssmove +++| END 03688 M00S03651.ssmove +++| 03689 M00S03652.ssmove +++| ELSE # USE SECONDARY DEVICE GOALS # 03690 M00S03653.ssmove +++| BEGIN 03691 M00S03654.ssmove +++| TMPI = SMSG; 03692 M00S03655.ssmove +++| END 03693 M00S03656.ssmove +++| 03694 M00S03657.ssmove +++| SLOWFOR FTYPE = IXDA STEP IXIA-IXDA UNTIL IXIA 03695 M00S03658.ssmove +++| DO 03696 M00S03659.ssmove +++| BEGIN 03697 M00S03660.ssmove +++| 03698 M00S03661.ssmove +++| GOAL = SM$VAL[FTYPE,IXRL,TMPI]*DEV$TPRU[IXIA,I]/100; 03699 M00S03662.ssmove +++| DEV$NEED[FTYPE,I] = ## 03700 M00S03663.ssmove +++| DEV$PRU[FTYPE,I] - GOAL - DEV$RELP[FTYPE,I]; 03701 M00S03664.ssmove +++| END 03702 M00S03665.ssmove +++| 03703 M00S03666.ssmove +++| END # EACH DEVICE # 03704 M00S03667.ssmove +++| 03705 M00S03668.ssmove +++| RETURN; 03706 M00S03669.ssmove +++| 03707 M00S03670.ssmove +++| END # MVPFRD # 03708 M00S03671.ssmove +++| 03709 M00S03672.ssmove +++| TERM 03710 M00S03673.ssmove +++|PROC MVPRNDT(PDATE,ACC$CT,DVAL,RVAL); 03711 M00S03674.ssmove +++|# TITLE MVPRNDT - PRINT DATE AND ACCESS COUNTS. # 03712 M00S03675.ssmove +++| 03713 M00S03676.ssmove +++| BEGIN # MVPRNDT # 03714 M00S03677.ssmove +++| 03715 M00S03678.ssmove +++|# 03716 M00S03679.ssmove +++|** MVPRNDT - PRINT DATE AND ACCESS COUNTS. 03717 M00S03680.ssmove +++|* 03718 M00S03681.ssmove +++|* THIS PROCEDURE PRINTS THE DATE AND THE ACCESS COUNT FOR 03719 M00S03682.ssmove +++|* A FILE ON THE REPORT FILE. 03720 M00S03683.ssmove +++|* 03721 M00S03684.ssmove +++|* PROC MVPRNDT. 03722 M00S03685.ssmove +++|* 03723 M00S03686.ssmove +++|* ENTRY. PDATE = *YYMMDD*. 03724 M00S03687.ssmove +++|* ACC$CT = ACCESS COUNT. 03725 M00S03688.ssmove +++|* 03726 M00S03689.ssmove +++|* EXIT. COL. 33-40 CONTAIN *YY.MM.DD*. 03727 M00S03690.ssmove +++|* COL. 42-48 CONTAIN ACCESS COUNT. 03728 M00S03691.ssmove +++|# 03729 M00S03692.ssmove +++| 03730 M00S03693.ssmove +++| ITEM PDATE C(10); # PACKED DATE # 03731 M00S03694.ssmove +++| ITEM ACC$CT I; # ACCESS COUNT # 03732 M00S03695.ssmove +++| ITEM DVAL U; # CALCULATED DESTAGE VALUE # 03733 M00S03696.ssmove +++| ITEM RVAL U; # CALCULATED RELEASE VALUE # 03734 M00S03697.ssmove +++| 03735 M00S03698.ssmove +++|# 03736 M00S03699.ssmove +++|**** PROC MVPRNDT - XREF LIST BEGIN. 03737 M00S03700.ssmove +++|# 03738 M00S03701.ssmove +++| 03739 M00S03702.ssmove +++| XREF 03740 M00S03703.ssmove +++| BEGIN 03741 M00S03704.ssmove +++| PROC RPLINE; # WRITE LINE # 03742 M00S03705.ssmove +++| FUNC XCDD C(10); # BINARY TO DECIMAL DISPLAY # 03743 M00S03706.ssmove +++| END 03744 M00S03707.ssmove +++| 03745 M00S03708.ssmove +++|# 03746 M00S03709.ssmove +++|**** PROC MVPRNDT - XREF LIST END. 03747 M00S03710.ssmove +++|# 03748 M00S03711.ssmove +++| 03749 M00S03712.ssmove +++| DEF LISTCON #0#; # DO NOT LIST COMMON DECKS # 03750 M00S03713.ssmove +++| 03751 M00S03714.ssmove +++|*CALL,COMBFAS 03752 M00S03715.ssmove +++|*CALL,COMTMOV 03753 M00S03716.ssmove +++| 03754 M00S03717.ssmove +++| ITEM TMPC C(10); # TEMPORARY CHARACTER # 03755 M00S03718.ssmove +++| CONTROL EJECT; 03756 M00S03719.ssmove +++| TMPC = XCDD(ACC$CT); 03757 M00S03720.ssmove +++| RPLINE(LISTFETP,TMPC,40,10,1); # WRITE ACCESS COUNT # 03758 M00S03721.ssmove +++| 03759 M00S03722.ssmove +++| RPLINE(LISTFETP,"YY.MM.DD",34,8,1); 03760 M00S03723.ssmove +++| 03761 M00S03724.ssmove +++| CHR$10[0] = XCDD(70+B<42,6>PDATE); # YEAR # 03762 M00S03725.ssmove +++| RPLINE(LISTFETP,CHR$R2[0],34,2,1); 03763 M00S03726.ssmove +++| 03764 M00S03727.ssmove +++|# 03765 M00S03728.ssmove +++|* FORCE LEADING ZERO ON DAY AND MONTH BY ADDING 100. 03766 M00S03729.ssmove +++|# 03767 M00S03730.ssmove +++| 03768 M00S03731.ssmove +++| CHR$10[0] = XCDD(100+B<48,6>PDATE); # MONTH # 03769 M00S03732.ssmove +++| RPLINE(LISTFETP,CHR$R2[0],37,2,1); 03770 M00S03733.ssmove +++| 03771 M00S03734.ssmove +++| CHR$10[0] = XCDD(100+B<54,6>PDATE); # DATE # 03772 M00S03735.ssmove +++| RPLINE(LISTFETP,CHR$R2[0],40,2,1); 03773 M00S03736.ssmove +++| 03774 M00S03737.ssmove +++| IF DVAL GQ 0 03775 M00S03738.ssmove +++| THEN 03776 M00S03739.ssmove +++| BEGIN 03777 M00S03740.ssmove +++| CHR$10[0] = XCDD(DVAL); 03778 M00S03741.ssmove +++| RPLINE(LISTFETP,CHR$10[0],87,10,1); 03779 M00S03742.ssmove +++| END 03780 M00S03743.ssmove +++| 03781 M00S03744.ssmove +++| ELSE # NEGATIVE VALUE # 03782 M00S03745.ssmove +++| BEGIN 03783 M00S03746.ssmove +++| RPLINE(LISTFETP,"-1",95,2,1); 03784 M00S03747.ssmove +++| END 03785 M00S03748.ssmove +++| 03786 M00S03749.ssmove +++| IF RVAL GQ 0 03787 M00S03750.ssmove +++| THEN 03788 M00S03751.ssmove +++| BEGIN 03789 M00S03752.ssmove +++| CHR$10[0] = XCDD(RVAL); 03790 M00S03753.ssmove +++| RPLINE(LISTFETP,CHR$10[0],98,10,1); 03791 M00S03754.ssmove +++| END 03792 M00S03755.ssmove +++| 03793 M00S03756.ssmove +++| ELSE # NEGATIVE VALUE # 03794 M00S03757.ssmove +++| BEGIN 03795 M00S03758.ssmove +++| RPLINE(LISTFETP,"-1",106,2,1); 03796 M00S03759.ssmove +++| END 03797 M00S03760.ssmove +++| 03798 M00S03761.ssmove +++| 03799 M00S03762.ssmove +++| RETURN; 03800 M00S03763.ssmove +++| END # MVPRNDT # 03801 M00S03764.ssmove +++| 03802 M00S03765.ssmove +++| TERM 03803 M00S03766.ssmove +++|FUNC MVRELAG(RELDATE) U; 03804 M00S03767.ssmove +++|# TITLE MVRELAG - CALCULATE RELATIVE AGE. # 03805 M00S03768.ssmove +++| 03806 M00S03769.ssmove +++| BEGIN # MVRELAG # 03807 M00S03770.ssmove +++| 03808 M00S03771.ssmove +++|# 03809 M00S03772.ssmove +++|** MVRELAG - CALCULATE RELATIVE AGE. 03810 M00S03773.ssmove +++|* 03811 M00S03774.ssmove +++|* THIS FUNCTION CALCULATES THE RELATIVE AGE OF AN ITEM 03812 M00S03775.ssmove +++|* GIVEN A DATE IN PACKED FORMAT. THIS AGE IS THE NUMBER 03813 M00S03776.ssmove +++|* OF DAYS SINCE JAN 01, 1970. 03814 M00S03777.ssmove +++|* THE ABSOLUTE AGE OF AN ITEM IS CALCULATED BY THE CALLING 03815 M00S03778.ssmove +++|* PROGRAMS WHICH SUBTRACT THE RELATIVE AGE OF THE ITEM 03816 M00S03779.ssmove +++|* FROM THE RELATIVE AGE OF THE CURRENT DATE. 03817 M00S03780.ssmove +++|* IF THE DIFFERENCE BETWEEN THE CURRENT DATE AND THE 03818 M00S03781.ssmove +++|* LAST ACCESS DATE OR MODIFY DATE IS LESS THAN 30 DAYS, 03819 M00S03782.ssmove +++|* THEIR DIFFERENCE AS CALCULATED BY THIS FUNCTION WILL 03820 M00S03783.ssmove +++|* BE CALCULATED CORRECTLY. IF THE DIFFERENCE IS MORE 03821 M00S03784.ssmove +++|* THAN 30 DAYS, THEN A 1 DAY ERROR MAY BE INTRODUCED. 03822 M00S03785.ssmove +++|* IT IS ASSUMED THAT A 3 PERCENT ERROR IS NOT OF CONCERN 03823 M00S03786.ssmove +++|* FOR THE PURPOSES OF *SSMOVE*. 03824 M00S03787.ssmove +++|* 03825 M00S03788.ssmove +++|* FUNC MVRELAG( (RELDATE) ). 03826 M00S03789.ssmove +++|* 03827 M00S03790.ssmove +++|* ENTRY. RELDATE = *YYMMDD* OF AN OBJECT. 03828 M00S03791.ssmove +++|* 03829 M00S03792.ssmove +++|* EXIT. MVRELAG = NUMBER OF DAYS SINCE 70/01/01. 03830 M00S03793.ssmove +++|# 03831 M00S03794.ssmove +++| 03832 M00S03795.ssmove +++| ITEM RELDATE C(10); # *YYMMDD* # 03833 M00S03796.ssmove +++| 03834 M00S03797.ssmove +++| 03835 M00S03798.ssmove +++| ITEM DAY U; # *DD* FROM *RELDATE* # 03836 M00S03799.ssmove +++| ITEM MONTH U; # *MM* FROM *RELDATE* # 03837 M00S03800.ssmove +++| ITEM TMPI I; # TEMPORARY # 03838 M00S03801.ssmove +++| ITEM YEAR U; # *YY* FROM *RELDATE* # 03839 M00S03802.ssmove +++| 03840 M00S03803.ssmove +++| ARRAY MONTHS [1:12] S(1); # TOTAL DAYS IN PREVIOUS MONTHS # 03841 M00S03804.ssmove +++| BEGIN 03842 M00S03805.ssmove +++| ITEM MON$TOT I(00,00,60) = [ ## 03843 M00S03806.ssmove +++| 0, 03844 M00S03807.ssmove +++| 31, 03845 M00S03808.ssmove +++| 59, 03846 M00S03809.ssmove +++| 90, 03847 M00S03810.ssmove +++| 120, 03848 M00S03811.ssmove +++| 151, 03849 M00S03812.ssmove +++| 181, 03850 M00S03813.ssmove +++| 212, 03851 M00S03814.ssmove +++| 243, 03852 M00S03815.ssmove +++| 273, 03853 M00S03816.ssmove +++| 304, 03854 M00S03817.ssmove +++| 334]; 03855 M00S03818.ssmove +++| END 03856 M00S03819.ssmove +++| 03857 M00S03820.ssmove +++| CONTROL EJECT; 03858 M00S03821.ssmove +++| YEAR = B<42,6>RELDATE; 03859 M00S03822.ssmove +++| MONTH = B<48,6>RELDATE; 03860 M00S03823.ssmove +++| DAY = B<54,6>RELDATE; 03861 M00S03824.ssmove +++| 03862 M00S03825.ssmove +++| TMPI = YEAR*365 + MON$TOT[MONTH] + DAY; 03863 M00S03826.ssmove +++| 03864 M00S03827.ssmove +++| IF( (YEAR/4)*4 EQ YEAR) AND (MONTH EQ 3) 03865 M00S03828.ssmove +++| THEN 03866 M00S03829.ssmove +++| BEGIN 03867 M00S03830.ssmove +++| TMPI = TMPI + 1; 03868 M00S03831.ssmove +++| END 03869 M00S03832.ssmove +++| 03870 M00S03833.ssmove +++| MVRELAG = TMPI; 03871 M00S03834.ssmove +++| RETURN; 03872 M00S03835.ssmove +++| END 03873 M00S03836.ssmove +++| 03874 M00S03837.ssmove +++| TERM 03875 M00S03838.ssmove +++|PROC MVRPTDS((ABNDN)); 03876 M00S03839.ssmove +++|# TITLE MVRPTDS - REPORT DEVICE STATUS. # 03877 M00S03840.ssmove +++| 03878 M00S03841.ssmove +++| BEGIN # MVRPTDS # 03879 M00S03842.ssmove +++| 03880 M00S03843.ssmove +++|# 03881 M00S03844.ssmove +++|** MVRPTDS - REPORT DEVICE STATUS. 03882 M00S03845.ssmove +++|* 03883 M00S03846.ssmove +++|* THIS PROCEDURE PRINTS A PAGE SUMMARIZING THE SPACE 03884 M00S03847.ssmove +++|* AVAILABILITY ON EACH DEVICE. 03885 M00S03848.ssmove +++|* 03886 M00S03849.ssmove +++|* PROC MVRPTDS( (ABNDN) ). 03887 M00S03850.ssmove +++|* 03888 M00S03851.ssmove +++|* ENTRY. THE ARRAY *DEVSTAT* CONTAINS DATA TO BE PRINTED. 03889 M00S03852.ssmove +++|* 03890 M00S03853.ssmove +++|* EXIT. THE RELEVANT INFORMATION IS PRINTED ON THE OUTPUT FILE. 03891 M00S03854.ssmove +++|* 03892 M00S03855.ssmove +++|* MESSAGES. DEVICE SPACE GOAL NOT MET. 03893 M00S03856.ssmove +++|# 03894 M00S03857.ssmove +++| 03895 M00S03858.ssmove +++| ITEM ABNDN B; # PROCESS ABANDONMENT REPORT # 03896 M00S03859.ssmove +++| 03897 M00S03860.ssmove +++|# 03898 M00S03861.ssmove +++|**** PROC MVRPTDS - XREF LIST BEGIN. 03899 M00S03862.ssmove +++|# 03900 M00S03863.ssmove +++| 03901 M00S03864.ssmove +++| XREF 03902 M00S03865.ssmove +++| BEGIN 03903 M00S03866.ssmove +++| PROC MESSAGE; # ISSUE DAYFILE MESSAGE # 03904 M00S03867.ssmove +++| PROC RPEJECT; # PAGE EJECT # 03905 M00S03868.ssmove +++| PROC RPLINE; # WRITE LINE # 03906 M00S03869.ssmove +++| PROC RPSPACE; # PRINT BLANK LINES # 03907 M00S03870.ssmove +++| FUNC XCDD C(10); # BINARY TO DECIMAL DISPLAY CODE # 03908 M00S03871.ssmove +++| FUNC XCOD C(10); # BINARY TO OCTAL DISPLAY CODE # 03909 M00S03872.ssmove +++| END 03910 M00S03873.ssmove +++| 03911 M00S03874.ssmove +++|# 03912 M00S03875.ssmove +++|**** PROC MVRPTDS - XREF LIST END. 03913 M00S03876.ssmove +++|# 03914 M00S03877.ssmove +++| 03915 M00S03878.ssmove +++| 03916 M00S03879.ssmove +++| DEF HDR11 #" (BEFORE) DEVICE STATUS "#; 03917 M00S03880.ssmove +++| DEF HDR12 #" (AFTER) PERCENTS "#; 03918 M00S03881.ssmove +++| DEF HDR21 #"EO DN DT-N TYPE "#; 03919 M00S03882.ssmove +++| DEF HDR22 #" FILES / PRU "#; 03920 M00S03883.ssmove +++| DEF HDR23 #"EXP. GOAL "#; 03921 M00S03884.ssmove +++| DEF HDR24 #"FLAG."#; 03922 M00S03885.ssmove +++| 03923 M00S03886.ssmove +++| DEF LISTCON #0#; # DO NOT LIST COMMON DECKS # 03924 M00S03887.ssmove +++| 03925 M00S03888.ssmove +++|*CALL,COMBFAS 03926 M00S03889.ssmove +++|*CALL COMBSIT 03927 M00S03890.ssmove +++|*CALL,COMSPFM 03928 M00S03891.ssmove +++|*CALL,COMTMOV 03929 M00S03892.ssmove +++|*CALL,COMTMVD 03930 M00S03893.ssmove +++|*CALL,COMTOUT 03931 M00S03894.ssmove +++| 03932 M00S03895.ssmove +++| 03933 M00S03896.ssmove +++| ITEM EXP$PER I; # EXPECTED PERCENT SPACE AVAILABLE 03934 M00S03897.ssmove +++| # 03935 M00S03898.ssmove +++| ITEM EXP$PRU I; # EXPECTED PRU AVAILABLE # 03936 M00S03899.ssmove +++| ITEM GOAL I; # PERCENT DESIRED DISK SPACE # 03937 M00S03900.ssmove +++| ITEM I I; # LOOP INDEX # 03938 M00S03901.ssmove +++| ITEM IX I; # FILE TYPE INDEX # 03939 M00S03902.ssmove +++| ITEM SUBFAM I; # LOOP INDEX # 03940 M00S03903.ssmove +++| 03941 M00S03904.ssmove +++| 03942 M00S03905.ssmove +++| ARRAY FILETYPE[IXDA:IXIA] S(1); 03943 M00S03906.ssmove +++| BEGIN 03944 M00S03907.ssmove +++| ITEM FILE$TYPE C(00,00,04) = [ ## 03945 M00S03908.ssmove +++| "DIR.", 03946 M00S03909.ssmove +++| "IND."]; 03947 M00S03910.ssmove +++| END 03948 M00S03911.ssmove +++| 03949 M00S03912.ssmove +++| CONTROL EJECT; 03950 M00S03913.ssmove +++| 03951 M00S03914.ssmove +++|# 03952 M00S03915.ssmove +++|* PRINT HEADER LINES. 03953 M00S03916.ssmove +++|# 03954 M00S03917.ssmove +++| 03955 M00S03918.ssmove +++| RPEJECT(OUT$FETP); 03956 M00S03919.ssmove +++| 03957 M00S03920.ssmove +++| IF ABNDN 03958 M00S03921.ssmove +++| THEN 03959 M00S03922.ssmove +++| BEGIN 03960 M00S03923.ssmove +++| RPLINE(OUT$FETP,"DESTAGE ABANDONMENT REPORT",5,26,0); 03961 M00S03924.ssmove +++| RPSPACE(OUT$FETP,SP"SPACE",1); 03962 M00S03925.ssmove +++| END 03963 M00S03926.ssmove +++| 03964 M00S03927.ssmove +++| RPLINE(OUT$FETP,HDR11,21,30,1); 03965 M00S03928.ssmove +++| RPLINE(OUT$FETP,HDR12,51,20,0); 03966 M00S03929.ssmove +++| RPSPACE(OUT$FETP,SP"SPACE",2); 03967 M00S03930.ssmove +++| 03968 M00S03931.ssmove +++| RPLINE(OUT$FETP,HDR21,2,19,1); 03969 M00S03932.ssmove +++| RPLINE(OUT$FETP,HDR22,21,20,1); 03970 M00S03933.ssmove +++| RPLINE(OUT$FETP,HDR22,41,20,1); 03971 M00S03934.ssmove +++| RPLINE(OUT$FETP,HDR23,61,10,1); 03972 M00S03935.ssmove +++| RPLINE(OUT$FETP,HDR24,72,05,0); 03973 M00S03936.ssmove +++| 03974 M00S03937.ssmove +++|# 03975 M00S03938.ssmove +++|* PRINT DATA FOR DEVICES ABLE TO HOLD INDIRECT FILES (MASTER 03976 M00S03939.ssmove +++|* DEVICES), FOLLOWED BY DATA ON DEVICES ABLE TO HOLD DIRECT 03977 M00S03940.ssmove +++|* ACCESS FILES. 03978 M00S03941.ssmove +++|# 03979 M00S03942.ssmove +++| 03980 M00S03943.ssmove +++| SLOWFOR I = 1 STEP 1 UNTIL 2 03981 M00S03944.ssmove +++| DO 03982 M00S03945.ssmove +++| BEGIN # REPORT ON BOTH FILE TYPES # 03983 M00S03946.ssmove +++| RPSPACE(OUT$FETP,SP"SPACE",2); # 2 BLANK LINES AS A SEPARATOR 03984 M00S03947.ssmove +++| # 03985 M00S03948.ssmove +++| 03986 M00S03949.ssmove +++| SLOWFOR DNX = 1 STEP 1 UNTIL MAXDEV 03987 M00S03950.ssmove +++| DO 03988 M00S03951.ssmove +++| BEGIN # REPORT EACH DEVICE # 03989 M00S03952.ssmove +++| 03990 M00S03953.ssmove +++| IF I EQ 1 03991 M00S03954.ssmove +++| THEN # ONLY DO MASTER DEVICES # 03992 M00S03955.ssmove +++| BEGIN 03993 M00S03956.ssmove +++| IX = IXIA; 03994 M00S03957.ssmove +++| GOAL = SM$VAL[IXIA,IXRL,SMMG]; 03995 M00S03958.ssmove +++| IF NOT DEV$MAST[IXIA,DNX] 03996 M00S03959.ssmove +++| THEN # SKIP THIS DEVICE # 03997 M00S03960.ssmove +++| BEGIN 03998 M00S03961.ssmove +++| TEST DNX; 03999 M00S03962.ssmove +++| END 04000 M00S03963.ssmove +++| 04001 M00S03964.ssmove +++| END 04002 M00S03965.ssmove +++| 04003 M00S03966.ssmove +++| ELSE # ONLY DO DEVICES HOLDING DIRECT 04004 M00S03967.ssmove +++| ACCESS FILES # 04005 M00S03968.ssmove +++| BEGIN 04006 M00S03969.ssmove +++| IX = IXDA; 04007 M00S03970.ssmove +++| IF DEV$MAST[IXIA,DNX] 04008 M00S03971.ssmove +++| THEN 04009 M00S03972.ssmove +++| BEGIN 04010 M00S03973.ssmove +++| GOAL = SM$VAL[IXDA,IXRL,SMMG]; 04011 M00S03974.ssmove +++| END 04012 M00S03975.ssmove +++| 04013 M00S03976.ssmove +++| ELSE 04014 M00S03977.ssmove +++| BEGIN 04015 M00S03978.ssmove +++| GOAL = SM$VAL[IXDA,IXRL,SMSG]; 04016 M00S03979.ssmove +++| END 04017 M00S03980.ssmove +++| 04018 M00S03981.ssmove +++| IF NOT DEV$SEC[IXIA,DNX] OR ## 04019 M00S03982.ssmove +++| DEV$NF[IXDA,DNX] EQ 0 04020 M00S03983.ssmove +++| THEN # SKIP THIS DEVICE # 04021 M00S03984.ssmove +++| BEGIN 04022 M00S03985.ssmove +++| TEST DNX; 04023 M00S03986.ssmove +++| END 04024 M00S03987.ssmove +++| 04025 M00S03988.ssmove +++| END 04026 M00S03989.ssmove +++| 04027 M00S03990.ssmove +++|# 04028 M00S03991.ssmove +++|* PRINT EO, DN, DT-N, TYPE. 04029 M00S03992.ssmove +++|# 04030 M00S03993.ssmove +++| 04031 M00S03994.ssmove +++| CHR$10[0] = XCOD(DEV$EO[IXIA,DNX]); 04032 M00S03995.ssmove +++| RPLINE(OUT$FETP,CHR$R2[0],2,2,1); 04033 M00S03996.ssmove +++| 04034 M00S03997.ssmove +++| CHR$10[0] = XCOD(DEV$DN[IXIA,DNX]); 04035 M00S03998.ssmove +++| RPLINE(OUT$FETP,CHR$R2[0],6,2,1); 04036 M00S03999.ssmove +++| 04037 M00S04000.ssmove +++| CHR$10[0] = XCOD(DEV$NUM[IXIA,DNX]); 04038 M00S04001.ssmove +++| RPLINE(OUT$FETP,DEV$TYPE[IXIA,DNX],10,2,1); 04039 M00S04002.ssmove +++| RPLINE(OUT$FETP,"-",12,1,1); 04040 M00S04003.ssmove +++| RPLINE(OUT$FETP,CHR$R1[0],13,1,1); 04041 M00S04004.ssmove +++| 04042 M00S04005.ssmove +++| RPLINE(OUT$FETP,FILE$TYPE[IX],16,4,1); 04043 M00S04006.ssmove +++| 04044 M00S04007.ssmove +++|# 04045 M00S04008.ssmove +++|* ISSUE BEFORE STATISTICS - NUM. FILES, PRU. 04046 M00S04009.ssmove +++|# 04047 M00S04010.ssmove +++| 04048 M00S04011.ssmove +++| CHR$10[0] = XCDD(DEV$NF[IX,DNX]); 04049 M00S04012.ssmove +++| RPLINE(OUT$FETP,CHR$R8[0],21,8,1); 04050 M00S04013.ssmove +++| 04051 M00S04014.ssmove +++| CHR$10[0] = XCDD(DEV$PRU[IX,DNX]); 04052 M00S04015.ssmove +++| RPLINE(OUT$FETP,CHR$R8[0],31,8,1); 04053 M00S04016.ssmove +++| 04054 M00S04017.ssmove +++|# 04055 M00S04018.ssmove +++|* ISSUE AFTER STATISTICS - FILES, PRU. 04056 M00S04019.ssmove +++|# 04057 M00S04020.ssmove +++| 04058 M00S04021.ssmove +++| CHR$10[0] = XCDD(DEV$NF[IX,DNX] - DEV$RELF[IX,DNX]); 04059 M00S04022.ssmove +++| RPLINE(OUT$FETP,CHR$R8[0],41,8,1); 04060 M00S04023.ssmove +++| 04061 M00S04024.ssmove +++| EXP$PRU = DEV$PRU[IX,DNX] - DEV$RELP[IX,DNX]; 04062 M00S04025.ssmove +++| EXP$PER = (EXP$PRU*100 + DEV$TPRU[IXIA,DNX]/2) 04063 M00S04026.ssmove +++| /DEV$TPRU[IXIA,DNX]; 04064 M00S04027.ssmove +++| CHR$10[0] = XCDD(EXP$PRU); 04065 M00S04028.ssmove +++| RPLINE(OUT$FETP,CHR$R8[0],51,8,1); 04066 M00S04029.ssmove +++| 04067 M00S04030.ssmove +++|# 04068 M00S04031.ssmove +++|* ISSUE PERCENTAGES. IF SPACE GOAL NOT MET ISSUE WARNING 04069 M00S04032.ssmove +++|* FLAG AND DAYFILE MESSAGE. 04070 M00S04033.ssmove +++|# 04071 M00S04034.ssmove +++| 04072 M00S04035.ssmove +++| IF EXP$PER GR GOAL 04073 M00S04036.ssmove +++| THEN # SPACE GOAL NOT MET # 04074 M00S04037.ssmove +++| BEGIN 04075 M00S04038.ssmove +++| RPLINE(OUT$FETP,"**",72,2,1); 04076 M00S04039.ssmove +++| MVMSG$LN[0] = " DEVICE SPACE GOAL NOT MET."; 04077 M00S04040.ssmove +++| MESSAGE(MVMSG[0],UDFL1); 04078 M00S04041.ssmove +++| END 04079 M00S04042.ssmove +++| 04080 M00S04043.ssmove +++| CHR$10[0] = XCDD(EXP$PER); 04081 M00S04044.ssmove +++| RPLINE(OUT$FETP,CHR$R3[0],61,3,1); 04082 M00S04045.ssmove +++| 04083 M00S04046.ssmove +++| CHR$10[0] = XCDD(GOAL); 04084 M00S04047.ssmove +++| RPLINE(OUT$FETP,CHR$R3[0],66,3,0); # WRITE LINE # 04085 M00S04048.ssmove +++| END # REPORT EACH DEVICE # 04086 M00S04049.ssmove +++| 04087 M00S04050.ssmove +++| END # REPORT BOTH FILE TYPES # 04088 M00S04051.ssmove +++| 04089 M00S04052.ssmove +++|# 04090 M00S04053.ssmove +++|* ISSUE SUBFAMILY REPORT. PRINT HEADER TO REPORT FILE. 04091 M00S04054.ssmove +++|# 04092 M00S04055.ssmove +++| 04093 M00S04056.ssmove +++| RPSPACE(OUT$FETP,SP"SPACE",2); 04094 M00S04057.ssmove +++| RPLINE(OUT$FETP," ** - DEVICE SPACE GOAL NOT MET",2,32,0); 04095 M00S04058.ssmove +++| RPSPACE(OUT$FETP,SP"SPACE",2); 04096 M00S04059.ssmove +++| RPLINE(OUT$FETP,"SUBFAMILY REPORT",40,16,0); 04097 M00S04060.ssmove +++| RPSPACE(OUT$FETP,SP"SPACE",1); 04098 M00S04061.ssmove +++| 04099 M00S04062.ssmove +++| IF ABNDN 04100 M00S04063.ssmove +++| THEN 04101 M00S04064.ssmove +++| BEGIN 04102 M00S04065.ssmove +++| RPLINE(OUT$FETP,"FILES NOT DESTAGED",22,18,1); 04103 M00S04066.ssmove +++| END 04104 M00S04067.ssmove +++| 04105 M00S04068.ssmove +++| ELSE 04106 M00S04069.ssmove +++| BEGIN 04107 M00S04070.ssmove +++| RPLINE(OUT$FETP,"FILES TO DESTAGE",22,16,1); 04108 M00S04071.ssmove +++| END 04109 M00S04072.ssmove +++|
Line S04073 Modification History | |
---|---|
M01 (Removed by) | ssmove2 |
Seq # *Modification Id* Act ----------------------------+ 04110 M01S04073.ssmove2 ---| RPLINE(OUT$FETP,"FILES ONLY ON M860",63,18,1); 04111 M01S04074.ssmove2 ---| RPLINE(OUT$FETP,"FILES ON M860",108,13,0);
Line S00001 Modification History | |
---|---|
M01 (Added by) | ssmove2 |
Seq # *Modification Id* Act ----------------------------+ 04112 M01S00001.ssmove2 +++| RPLINE(OUT$FETP,"FILES ONLY ON 7990",63,18,1); 04113 M01S00002.ssmove2 +++| RPLINE(OUT$FETP,"FILES ON 7990",108,13,0); 04114 M00S04075.ssmove +++| RPLINE(OUT$FETP,"SUB DIRECT",2,25,1); 04115 M00S04076.ssmove +++| RPLINE(OUT$FETP,"INDIRECT",37,8,1); 04116 M00S04077.ssmove +++| RPLINE(OUT$FETP,"DIRECT INDIRECT",60,27,1); 04117 M00S04078.ssmove +++| RPLINE(OUT$FETP,"DIRECT INDIRECT",102,27,0); 04118 M00S04079.ssmove +++| RPLINE(OUT$FETP,"FAMILY NUMBER",2,16,1); 04119 M00S04080.ssmove +++| RPLINE(OUT$FETP,"PRU NUMBER PRU",26,24,1); 04120 M00S04081.ssmove +++| RPLINE(OUT$FETP,"NUMBER PRU",54,17,1); 04121 M00S04082.ssmove +++| RPLINE(OUT$FETP,"NUMBER PRU",75,17,1); 04122 M00S04083.ssmove +++| RPLINE(OUT$FETP,"NUMBER PRU",96,17,1); 04123 M00S04084.ssmove +++| RPLINE(OUT$FETP,"NUMBER PRU",117,17,0); 04124 M00S04085.ssmove +++| RPSPACE(OUT$FETP,SP"SPACE",1); 04125 M00S04086.ssmove +++| 04126 M00S04087.ssmove +++|# 04127 M00S04088.ssmove +++|* PROCESS EACH SUBFAMILY. 04128 M00S04089.ssmove +++|# 04129 M00S04090.ssmove +++| 04130 M00S04091.ssmove +++| SLOWFOR SUBFAM = 0 STEP 1 UNTIL MAXSF 04131 M00S04092.ssmove +++| DO 04132 M00S04093.ssmove +++| BEGIN # FOR EACH SUBFAMILY # 04133 M00S04094.ssmove +++| SLOWFOR IX = IXDA STEP 1 UNTIL IXIA 04134 M00S04095.ssmove +++| DO 04135 M00S04096.ssmove +++| BEGIN # REPORT BOTH FILE TYPES # 04136 M00S04097.ssmove +++| CHR$10[0] = XCDD(SUBFAM); 04137 M00S04098.ssmove +++| RPLINE(OUT$FETP,CHR$R1[0],3,1,1); 04138 M00S04099.ssmove +++| IF IX EQ IXDA 04139 M00S04100.ssmove +++| THEN 04140 M00S04101.ssmove +++| BEGIN # DIRECT ACCESS # 04141 M00S04102.ssmove +++| CHR$10[0] = XCDD(SFDS$NF[IX,SUBFAM]); 04142 M00S04103.ssmove +++| RPLINE(OUT$FETP,CHR$R8[0],10,8,1); 04143 M00S04104.ssmove +++| CHR$10[0] = XCDD(SFDS$PRU[IX,SUBFAM]); 04144 M00S04105.ssmove +++| RPLINE(OUT$FETP,CHR$R8[0],21,8,1); 04145 M00S04106.ssmove +++| CHR$10[0] = XCDD(SFRL$NF[IX,SUBFAM]); 04146 M00S04107.ssmove +++| RPLINE(OUT$FETP,CHR$R8[0],52,8,1); 04147 M00S04108.ssmove +++| CHR$10[0] = XCDD(SFRL$PRU[IX,SUBFAM]); 04148 M00S04109.ssmove +++| RPLINE(OUT$FETP,CHR$R8[0],63,8,1); 04149 M00S04110.ssmove +++| CHR$10[0] = XCDD(SFDM$NF[IX,SUBFAM]); 04150 M00S04111.ssmove +++| RPLINE(OUT$FETP,CHR$R8[0],94,8,1); 04151 M00S04112.ssmove +++| CHR$10[0] = XCDD(SFDM$PRU[IX,SUBFAM]); 04152 M00S04113.ssmove +++| RPLINE(OUT$FETP,CHR$R8[0],105,8,1); 04153 M00S04114.ssmove +++| END # DIRECT ACCESS # 04154 M00S04115.ssmove +++| 04155 M00S04116.ssmove +++| ELSE 04156 M00S04117.ssmove +++| BEGIN # INDIRECT ACCESS # 04157 M00S04118.ssmove +++| CHR$10[0] = XCDD(SFDS$NF[IX,SUBFAM]); 04158 M00S04119.ssmove +++| RPLINE(OUT$FETP,CHR$R8[0],31,8,1); 04159 M00S04120.ssmove +++| CHR$10[0] = XCDD(SFDS$PRU[IX,SUBFAM]); 04160 M00S04121.ssmove +++| RPLINE(OUT$FETP,CHR$R8[0],42,8,1); 04161 M00S04122.ssmove +++| CHR$10[0] = XCDD(SFRL$NF[IX,SUBFAM]); 04162 M00S04123.ssmove +++| RPLINE(OUT$FETP,CHR$R8[0],73,8,1); 04163 M00S04124.ssmove +++| CHR$10[0] = XCDD(SFRL$PRU[IX,SUBFAM]); 04164 M00S04125.ssmove +++| RPLINE(OUT$FETP,CHR$R8[0],84,8,1); 04165 M00S04126.ssmove +++| CHR$10[0] = XCDD(SFDM$NF[IX,SUBFAM]); 04166 M00S04127.ssmove +++| RPLINE(OUT$FETP,CHR$R8[0],115,8,1); 04167 M00S04128.ssmove +++| CHR$10[0] = XCDD(SFDM$PRU[IX,SUBFAM]); 04168 M00S04129.ssmove +++| RPLINE(OUT$FETP,CHR$R8[0],126,8,0); 04169 M00S04130.ssmove +++| END # INDIRECT ACCESS # 04170 M00S04131.ssmove +++| 04171 M00S04132.ssmove +++| END # REPORT BOTH FILE TYPES # 04172 M00S04133.ssmove +++| 04173 M00S04134.ssmove +++| END # FOR EACH SUBFAMILY # 04174 M00S04135.ssmove +++| 04175 M00S04136.ssmove +++| END # MVRPTDS # 04176 M00S04137.ssmove +++| 04177 M00S04138.ssmove +++| TERM 04178 M00S04139.ssmove +++|PROC MVVALDS(DVAL,PO); 04179 M00S04140.ssmove +++|# TITLE MVVALDS - CALCULATE DESTAGE VALUE. # 04180 M00S04141.ssmove +++| 04181 M00S04142.ssmove +++| BEGIN # MVVALDS # 04182 M00S04143.ssmove +++| 04183 M00S04144.ssmove +++|# 04184 M00S04145.ssmove +++|** MVVALDS - CALCULATE DESTAGE VALUE. 04185 M00S04146.ssmove +++|* 04186 M00S04147.ssmove +++|* PROC MVVALDS(DVAL,PO). 04187 M00S04148.ssmove +++|* 04188 M00S04149.ssmove +++|* ENTRY. PO = PROCESSING OPTION FROM *SF* DIRECTIVE, OR 0. 04189 M00S04150.ssmove +++|* 04190 M00S04151.ssmove +++|* EXIT. DVAL = DESTAGE VALUE. 04191 M00S04152.ssmove +++|# 04192 M00S04153.ssmove +++| 04193 M00S04154.ssmove +++| ITEM DVAL I; # DESTAGE VALUE # 04194 M00S04155.ssmove +++| ITEM PO C(1); # PROCESSING OPTION # 04195 M00S04156.ssmove +++| 04196 M00S04157.ssmove +++|# 04197 M00S04158.ssmove +++|**** PROC MVVALDS - XREF LIST BEGIN. 04198 M00S04159.ssmove +++|# 04199 M00S04160.ssmove +++| 04200 M00S04161.ssmove +++| XREF 04201 M00S04162.ssmove +++| BEGIN 04202 M00S04163.ssmove +++| FUNC MVRELAG U; # RELATIVE AGE # 04203 M00S04164.ssmove +++| END 04204 M00S04165.ssmove +++| 04205 M00S04166.ssmove +++|# 04206 M00S04167.ssmove +++|**** PROC MVVALDS - XREF LIST END. 04207 M00S04168.ssmove +++|# 04208 M00S04169.ssmove +++| 04209 M00S04170.ssmove +++| DEF LISTCON #0#; # DO NOT LIST COMMON DECKS # 04210 M00S04171.ssmove +++|*CALL,COMBFAS 04211 M00S04172.ssmove +++|*CALL COMBSIT 04212 M00S04173.ssmove +++|*CALL,COMSPFM 04213 M00S04174.ssmove +++|*CALL,COMTMOV 04214 M00S04175.ssmove +++|*CALL,COMTMVD 04215 M00S04176.ssmove +++| 04216 M00S04177.ssmove +++| 04217 M00S04178.ssmove +++| ITEM AGE I; # DAYS SINCE LAST ACCESS # 04218 M00S04179.ssmove +++| CONTROL EJECT; 04219 M00S04180.ssmove +++| AGE = CURAGE - MVRELAG(PFC$MDD[0]); # TIME SINCE LAST ACCESS # 04220 M00S04181.ssmove +++| IF PFC$MDT[0] GR CURTIME 04221 M00S04182.ssmove +++| THEN 04222 M00S04183.ssmove +++| BEGIN 04223 M00S04184.ssmove +++| AGE = AGE - 1; 04224 M00S04185.ssmove +++| END 04225 M00S04186.ssmove +++| 04226 M00S04187.ssmove +++|# 04227 M00S04188.ssmove +++|* VERIFY FILE MEETS AGE AND SIZE REQUIREMENTS. 04228 M00S04189.ssmove +++|# 04229 M00S04190.ssmove +++| 04230 M00S04191.ssmove +++| IF (AGE LS FR$VAL[FTYPE,IXDS,FRDD]) # TEST AGE # 04231 M00S04192.ssmove +++| OR (PFC$LF[0] LS FR$VAL[FTYPE,IXDS,FRMN]) # MINIMUM SIZE # 04232 M00S04193.ssmove +++| OR (PFC$LF[0] GR FR$VAL[FTYPE,IXDS,FRMX]) # MAXIMUM SIZE # 04233 M00S04194.ssmove +++| THEN # FILE FAILS REQUIREMENTS # 04234 M00S04195.ssmove +++| BEGIN 04235 M00S04196.ssmove +++| DVAL = -1; 04236 M00S04197.ssmove +++| RETURN; 04237 M00S04198.ssmove +++| END 04238 M00S04199.ssmove +++| 04239 M00S04200.ssmove +++|# 04240 M00S04201.ssmove +++|* EVALUATE DESTAGE VALUE FORMULA. 04241 M00S04202.ssmove +++|# 04242 M00S04203.ssmove +++| 04243 M00S04204.ssmove +++| DVAL = ## 04244 M00S04205.ssmove +++| (WA$VAL[FTYPE,IXDS,WMAG]+WM$VAL[FTYPE,IXDS,WMAG]*AGE) ## 04245 M00S04206.ssmove +++| *(WA$VAL[FTYPE,IXDS,WMLN]+WM$VAL[FTYPE,IXDS,WMLN]*PFC$LF[0])## 04246 M00S04207.ssmove +++| *(PR$VAL[FTYPE,IXDS,PFC$RS[0]]) # *PR* FACTOR # 04247 M00S04208.ssmove +++| *(BR$VAL[FTYPE,IXDS,PFC$BR[0]]) # *BR* FACTOR #
Line S04209 Modification History | |
---|---|
M01 (Removed by) | ssmove2 |
Seq # *Modification Id* Act ----------------------------+ 04248 M01S04209.ssmove2 ---| /(WA$VAL[FTYPE,IXDS,WAAC]+WM$VAL[FTYPE,IXDS,WMAC]*PFC$AC[0]);
Line S00003 Modification History | |
---|---|
M01 (Added by) | ssmove2 |
Seq # *Modification Id* Act ----------------------------+ 04249 M01S00003.ssmove2 +++| /((WA$VAL[FTYPE,IXDS,WAAC]+WM$VAL[FTYPE,IXDS,WMAC] ## 04250 M01S00004.ssmove2 +++| *PFC$AC[0])*WA$VAL[FTYPE,IXDS,WADV]); 04251 M00S04210.ssmove +++| 04252 M00S04211.ssmove +++| 04253 M00S04212.ssmove +++| 04254 M00S04213.ssmove +++| RETURN; 04255 M00S04214.ssmove +++| END # MVVALDS # 04256 M00S04215.ssmove +++| 04257 M00S04216.ssmove +++| TERM 04258 M00S04217.ssmove +++|PROC MVVALRL(RVAL,PO); 04259 M00S04218.ssmove +++|# TITLE MVVALRL - CALCULATE RELEASE VALUE. # 04260 M00S04219.ssmove +++| BEGIN # MVVALRL # 04261 M00S04220.ssmove +++| 04262 M00S04221.ssmove +++|# 04263 M00S04222.ssmove +++|** MVVALRL - CALCULATE RELEASE VALUE. 04264 M00S04223.ssmove +++|* 04265 M00S04224.ssmove +++|* PROC MVVALRL(RVAL,PO). 04266 M00S04225.ssmove +++|* 04267 M00S04226.ssmove +++|* ENTRY. PO = PROCESSING OPTION FROM *SF* DIRECTIVE, OR 0. 04268 M00S04227.ssmove +++|* 04269 M00S04228.ssmove +++|* EXIT. RVAL = RELEASE VALUE. 04270 M00S04229.ssmove +++|# 04271 M00S04230.ssmove +++| 04272 M00S04231.ssmove +++| ITEM PO C(1); # PROCESSING OPTION # 04273 M00S04232.ssmove +++| ITEM RVAL I; # RELEASE VALUE # 04274 M00S04233.ssmove +++| 04275 M00S04234.ssmove +++|# 04276 M00S04235.ssmove +++|**** PROC MVVALRL - XREF LIST BEGIN. 04277 M00S04236.ssmove +++|# 04278 M00S04237.ssmove +++| 04279 M00S04238.ssmove +++| XREF 04280 M00S04239.ssmove +++| BEGIN 04281 M00S04240.ssmove +++| FUNC MVRELAG U; # RELATIVE AGE # 04282 M00S04241.ssmove +++| END 04283 M00S04242.ssmove +++| 04284 M00S04243.ssmove +++|# 04285 M00S04244.ssmove +++|**** PROC MVVALRL - XREF LIST END. 04286 M00S04245.ssmove +++|# 04287 M00S04246.ssmove +++| 04288 M00S04247.ssmove +++| DEF LISTCON #0#; # DO NOT LIST COMMON DECKS # 04289 M00S04248.ssmove +++|*CALL,COMBFAS 04290 M00S04249.ssmove +++|*CALL COMBSIT 04291 M00S04250.ssmove +++|*CALL,COMSPFM 04292 M00S04251.ssmove +++|*CALL,COMTMOV 04293 M00S04252.ssmove +++|*CALL,COMTMVD 04294 M00S04253.ssmove +++| 04295 M00S04254.ssmove +++| 04296 M00S04255.ssmove +++| ITEM AGE I; # DAYS SINCE LAST ACCESS # 04297 M00S04256.ssmove +++| CONTROL EJECT; 04298 M00S04257.ssmove +++| AGE = CURAGE - MVRELAG(PFC$ADD[0]); # TIME SINCE LAST ACCESS # 04299 M00S04258.ssmove +++| IF PFC$ADT[0] GR CURTIME 04300 M00S04259.ssmove +++| THEN 04301 M00S04260.ssmove +++| BEGIN 04302 M00S04261.ssmove +++| AGE = AGE - 1; 04303 M00S04262.ssmove +++| END 04304 M00S04263.ssmove +++| 04305 M00S04264.ssmove +++|# 04306 M00S04265.ssmove +++|* VERIFY FILE MEETS AGE AND SIZE REQUIREMENTS. 04307 M00S04266.ssmove +++|# 04308 M00S04267.ssmove +++| 04309 M00S04268.ssmove +++| IF (AGE LS FR$VAL[FTYPE,IXRL,FRDD]) # TEST AGE # 04310 M00S04269.ssmove +++| OR (PFC$LF[0] LS FR$VAL[FTYPE,IXRL,FRMN]) # MINIMUM SIZE # 04311 M00S04270.ssmove +++| OR (PFC$LF[0] GR FR$VAL[FTYPE,IXRL,FRMX]) # MAXIMUM SIZE # 04312 M00S04271.ssmove +++| THEN # FILE FAILS REQUIREMENTS # 04313 M00S04272.ssmove +++| BEGIN 04314 M00S04273.ssmove +++| RVAL = -1; 04315 M00S04274.ssmove +++| RETURN; 04316 M00S04275.ssmove +++| END 04317 M00S04276.ssmove +++| 04318 M00S04277.ssmove +++|# 04319 M00S04278.ssmove +++|* EVALUATE RELEASE VALUE FORMULA. 04320 M00S04279.ssmove +++|# 04321 M00S04280.ssmove +++| 04322 M00S04281.ssmove +++| RVAL = ## 04323 M00S04282.ssmove +++| (WA$VAL[FTYPE,IXRL,WAAG]+WM$VAL[FTYPE,IXRL,WMAG]*AGE) ## 04324 M00S04283.ssmove +++| *(WA$VAL[FTYPE,IXRL,WALN]+WM$VAL[FTYPE,IXRL,WMLN]*PFC$LF[0])## 04325 M00S04284.ssmove +++| *(PR$VAL[FTYPE,IXRL,PFC$RS[0]]) # *PR* FACTOR # 04326 M00S04285.ssmove +++| *(BR$VAL[FTYPE,IXRL,PFC$BR[0]]) # *BR* FACTOR #
Line S04286 Modification History | |
---|---|
M01 (Removed by) | ssmove2 |
Seq # *Modification Id* Act ----------------------------+ 04327 M01S04286.ssmove2 ---| /(WA$VAL[FTYPE,IXRL,WAAC]+WM$VAL[FTYPE,IXRL,WMAC]*PFC$AC[0]);
Line S00005 Modification History | |
---|---|
M01 (Added by) | ssmove2 |
Seq # *Modification Id* Act ----------------------------+ 04328 M01S00005.ssmove2 +++| /((WA$VAL[FTYPE,IXRL,WAAC]+WM$VAL[FTYPE,IXRL,WMAC] ## 04329 M01S00006.ssmove2 +++| *PFC$AC[0])*WA$VAL[FTYPE,IXRL,WADV]); 04330 M00S04287.ssmove +++| 04331 M00S04288.ssmove +++| 04332 M00S04289.ssmove +++| 04333 M00S04290.ssmove +++| RETURN; 04334 M00S04291.ssmove +++| END # MVVALRL # 04335 M00S04292.ssmove +++| 04336 M00S04293.ssmove +++| TERM
cdc/nos2.source/opl.opl871/deck/ssmove.001.txt ยท Last modified: (external edit)