Action unknown: copypageplugin__copy
cdc:nos2.source:opl.opl871:deck:ssuse.001
Deck SSUSE Part 001
1 Modification
Listing Sections
- Deck SSUSE Start
- Deck SSUSE Part 1 (Line 2204)
Source
Seq # *Modification Id* Act ----------------------------+ 02204 M00S02203.ssuse +++| CHAR$10[0] = CM$CCOD[0]; 02205 M00S02204.ssuse +++| BZFILL(CHAR,TYPFILL"BFILL",10); 02206 M00S02205.ssuse +++| RPLINE(OUT$FETP,CHAR$L2[0],17,2,1); 02207 M00S02206.ssuse +++| 02208 M00S02207.ssuse +++| CHAR$10[0] = CM$CSND[0]; 02209 M00S02208.ssuse +++| BZFILL(CHAR,TYPFILL"BFILL",10); 02210 M00S02209.ssuse +++| RPLINE(OUT$FETP,CHAR$L8[0],19,8,1); 02211 M00S02210.ssuse +++| 02212 M00S02211.ssuse +++| CHAR$10[0] = CM$FMLYNM[0]; 02213 M00S02212.ssuse +++| BZFILL(CHAR,TYPFILL"BFILL",10); 02214 M00S02213.ssuse +++| RPLINE(OUT$FETP,CHAR$L7[0],30,7,1); 02215 M00S02214.ssuse +++| 02216 M00S02215.ssuse +++|# 02217 M00S02216.ssuse +++|* DO NOT PRINT SUBFAMILY, GROUP, OR GROUP ORDINAL UNLESS THEY 02218 M00S02217.ssuse +++|* HAVE BEEN ASSIGNED. 02219 M00S02218.ssuse +++|# 02220 M00S02219.ssuse +++| 02221 M00S02220.ssuse +++| IF CM$CODE[0] EQ CUBSTAT"SUBFAM" 02222 M00S02221.ssuse +++| THEN 02223 M00S02222.ssuse +++| BEGIN # ASSIGNED TO SUBFAMILY # 02224 M00S02223.ssuse +++| CHAR$10[0] = XCDD(CM$SUB[0]); 02225 M00S02224.ssuse +++| RPLINE(OUT$FETP,CHAR$R1[0],46,1,1); 02226 M00S02225.ssuse +++| IF CM$FCTORD[0] NQ 0 02227 M00S02226.ssuse +++| THEN 02228 M00S02227.ssuse +++| BEGIN 02229 M00S02228.ssuse +++| GP = CM$FCTORD[0] / MAXGRT; 02230 M00S02229.ssuse +++| CHAR$10[0] = XCDD(GP); 02231 M00S02230.ssuse +++| RPLINE(OUT$FETP,CHAR$R2[0],57,2,1); 02232 M00S02231.ssuse +++| GRT = CM$FCTORD[0] - (GP * MAXGRT); 02233 M00S02232.ssuse +++| CHAR$10[0] = XCDD(GRT); 02234 M00S02233.ssuse +++| RPLINE(OUT$FETP,CHAR$R2[0],67,2,1); 02235 M00S02234.ssuse +++| END 02236 M00S02235.ssuse +++| 02237 M00S02236.ssuse +++| END # ASSIGNED TO SUBFAMILY # 02238 M00S02237.ssuse +++| 02239 M00S02238.ssuse +++| RPLINE(OUT$FETP,RPTFLAG,74,7,0); 02240 M00S02239.ssuse +++| END # PROCESS EACH Y COORDINATE # 02241 M00S02240.ssuse +++| 02242 M00S02241.ssuse +++| END # PROCESS EACH Z COORDINATE # 02243 M00S02242.ssuse +++| 02244 M00S02243.ssuse +++|# 02245 M00S02244.ssuse +++|* CLOSE THE SMMAP. 02246 M00S02245.ssuse +++|# 02247 M00S02246.ssuse +++| 02248 M00S02247.ssuse +++| MCLOSE(SM,FLAG); 02249 M00S02248.ssuse +++| IF FLAG NQ CMASTAT"NOERR" 02250 M00S02249.ssuse +++| THEN 02251 M00S02250.ssuse +++| BEGIN 02252 M00S02251.ssuse +++| SSMSG$PROC[0] = PROCNAME; 02253 M00S02252.ssuse +++| MESSAGE(SSMSG[0],SYSUDF1); 02254 M00S02253.ssuse +++| RPCLOSE(OUT$FETP); 02255 M00S02254.ssuse +++| RESTPFP(PFP$ABORT); 02256 M00S02255.ssuse +++| END 02257 M00S02256.ssuse +++| 02258 M00S02257.ssuse +++| END # PROCESS EACH SM # 02259 M00S02258.ssuse +++| 02260 M00S02259.ssuse +++| RETURN; 02261 M00S02260.ssuse +++| 02262 M00S02261.ssuse +++| END # USRPTA # 02263 M00S02262.ssuse +++| 02264 M00S02263.ssuse +++| TERM 02265 M00S02264.ssuse +++|PROC USRPTB; 02266 M00S02265.ssuse +++|# TITLE USRPTB - GENERATES OPTIONAL REPORT B. # 02267 M00S02266.ssuse +++| 02268 M00S02267.ssuse +++| BEGIN # USRPTB # 02269 M00S02268.ssuse +++| 02270 M00S02269.ssuse +++|# 02271 M00S02270.ssuse +++|** USRPTB - GENERATES OPTIONAL REPORT B. 02272 M00S02271.ssuse +++|* 02273 M00S02272.ssuse +++|* THIS PROC IDENTIFIES THE AVAILABLE AU ON EACH CARTRIDGE, THE 02274 M00S02273.ssuse +++|* NUMBER OF FLAGGED AU ON EACH CARTRIDGE, AND THE FLAGS SET 02275 M00S02274.ssuse +++|* FOR EACH CARTRIDGE IN THE SFMCATALOG. 02276 M00S02275.ssuse +++|* 02277 M00S02276.ssuse +++|* PROC USRPTB. 02278 M00S02277.ssuse +++|* 02279 M00S02278.ssuse +++|* ENTRY. (SEL$SB) = BITS SET FOR THE SELECTED SUBFAMILIES. 02280 M00S02279.ssuse +++|* (SEL$SM) = BITS SET FOR THE SELECTED SM-S. 02281 M00S02280.ssuse +++|* (USARG$FM) = FAMILY NAME. 02282 M00S02281.ssuse +++|* 02283 M00S02282.ssuse +++|* EXIT. OPTIONAL REPORT B GENERATED. 02284 M00S02283.ssuse +++|* 02285 M00S02284.ssuse +++|* MESSAGES. 1) FAMILY NOT FOUND. 02286 M00S02285.ssuse +++|* 2) UNABLE TO OPEN CATALOG. 02287 M00S02286.ssuse +++|* 3) SFMCATALOG PARITY ERROR. 02288 M00S02287.ssuse +++|* 4) SSUSE ABNORMAL, USRPTB. 02289 M00S02288.ssuse +++|* 02290 M00S02289.ssuse +++|* NOTES. PROC *USRPTB* LISTS GENERAL STATUS INFORMATION FOR 02291 M00S02290.ssuse +++|* EACH CARTRIDGE IN THE SFMCATALOG. THE NUMBER OF 02292 M00S02291.ssuse +++|* AVAILABLE AU AND FLAGGED AU FOR EACH CARTRIDGE, AND 02293 M00S02292.ssuse +++|* THE FLAGS SET FOR EACH CARTRIDGE ARE LISTED. 02294 M00S02293.ssuse +++|# 02295 M00S02294.ssuse +++| 02296 M00S02295.ssuse +++|# 02297 M00S02296.ssuse +++|**** PROC USRPTB - XREF LIST BEGIN. 02298 M00S02297.ssuse +++|# 02299 M00S02298.ssuse +++| 02300 M00S02299.ssuse +++| XREF 02301 M00S02300.ssuse +++| BEGIN 02302 M00S02301.ssuse +++| PROC BZFILL; # BLANK FILLS CHARACTERS # 02303 M00S02302.ssuse +++| PROC CCLOSE; # CLOSES CATALOG # 02304 M00S02303.ssuse +++| PROC CGETFCT; # GETS AN *FCT* ENTRY # 02305 M00S02304.ssuse +++| PROC COPEN; # OPENS CATALOG # 02306 M00S02305.ssuse +++| PROC CRDAST; # READS *AST* # 02307 M00S02306.ssuse +++| PROC LOFPROC; # LIST OF FILES PROCESSOR # 02308 M00S02307.ssuse +++| PROC MESSAGE; # PRINTS MESSAGE IN DAYFILE # 02309 M00S02308.ssuse +++| PROC RESTPFP; # RESTORE USER-S *PFP* AND ABORT 02310 M00S02309.ssuse +++| OR RETURN # 02311 M00S02310.ssuse +++| PROC RPCLOSE; # CLOSES THE REPORT FILE # 02312 M00S02311.ssuse +++| PROC RPEJECT; # PAGE EJECTS FOR REPORT FILE # 02313 M00S02312.ssuse +++| PROC RPLINE; # WRITES LINE TO REPORT FILE # 02314 M00S02313.ssuse +++| PROC RPSPACE; # PUTS BLANK LINE ON REPORT FILE # 02315 M00S02314.ssuse +++| PROC SETPFP; # SET FAMILY AND USER INDEX # 02316 M00S02315.ssuse +++| PROC ZFILL; # ZERO FILL ARRAY # 02317 M00S02316.ssuse +++| FUNC XCDD C(10); # CONVERTS INTEGER TO DISPLAY # 02318 M00S02317.ssuse +++| END 02319 M00S02318.ssuse +++| 02320 M00S02319.ssuse +++|# 02321 M00S02320.ssuse +++|**** PROC USRPTB - XREF LIST END. 02322 M00S02321.ssuse +++|# 02323 M00S02322.ssuse +++| 02324 M00S02323.ssuse +++| DEF PROCNAME #"USRPTB."#; # PROC NAME # 02325 M00S02324.ssuse +++| DEF LISTCON #0#; # DO NOT LIST COMDECKS # 02326 M00S02325.ssuse +++|*CALL COMBFAS 02327 M00S02326.ssuse +++|*CALL COMBBZF 02328 M00S02327.ssuse +++|*CALL COMBCMD 02329 M00S02328.ssuse +++|*CALL COMBCMS 02330 M00S02329.ssuse +++|*CALL COMBMCT 02331 M00S02330.ssuse +++|*CALL COMBPFP 02332 M00S02331.ssuse +++|*CALL COMSPFM 02333 M00S02332.ssuse +++|*CALL COMXMSC 02334 M00S02333.ssuse +++|*CALL COMTOUT 02335 M00S02334.ssuse +++|*CALL COMTUSE 02336 M00S02335.ssuse +++|*CALL COMTUSP 02337 M00S02336.ssuse +++| 02338 M00S02337.ssuse +++| ITEM ACFLAG I; # AU CONFLICT COUNT # 02339 M00S02338.ssuse +++| ITEM ASTADR I; # *AST* BUFFER ADDRESS # 02340 M00S02339.ssuse +++| ITEM FAFLAG I; # FLAWED,ALLOCATED AU COUNT # 02341 M00S02340.ssuse +++| ITEM FCFLAG I; # FROZEN CHAIN AU COUNT # 02342 M00S02341.ssuse +++| ITEM FCTADR I; # *FCT* BUFFER ADDRESS # 02343 M00S02342.ssuse +++| ITEM FLAG I; # ERROR FLAG # 02344 M00S02343.ssuse +++| ITEM FUFLAG I; # FLAWED,UNALLOCATED AU COUNT # 02345 M00S02344.ssuse +++| ITEM GP I; # GROUP # 02346 M00S02345.ssuse +++| ITEM GRT I; # GROUP ORDINAL # 02347 M00S02346.ssuse +++| ITEM J I; # LOOP VARIABLE # 02348 M00S02347.ssuse +++| ITEM LN$CNT I; # COUNT OF PRINTED LINES # 02349 M00S02348.ssuse +++| ITEM N I; # LOOP VARIABLE # 02350 M00S02349.ssuse +++| ITEM RPTFLAG C(6); # REPORT FLAG # 02351 M00S02350.ssuse +++| ITEM SFFLAG I; # START OF FRAGMENT AU COUNT # 02352 M00S02351.ssuse +++| ITEM SM I; # LOOP VARIABLE # 02353 M00S02352.ssuse +++| ITEM SUBFAM I; # LOOP VARIABLE # 02354 M00S02353.ssuse +++| ITEM TEMP$FAM C(7); # HOLDS FAMILY NAME # 02355 M00S02354.ssuse +++| ITEM TEMP$SM C(1); # SM CHARACTER # 02356 M00S02355.ssuse +++| CONTROL EJECT; 02357 M00S02356.ssuse +++| 02358 M00S02357.ssuse +++| FCTADR = LOC(US$FCTENT[0]); 02359 M00S02358.ssuse +++| ASTADR = LOC(US$ASTENT[0]); 02360 M00S02359.ssuse +++| 02361 M00S02360.ssuse +++|# 02362 M00S02361.ssuse +++|* CHANGE ZERO-FILL TO SPACE-FILL FOR FAMILY. 02363 M00S02362.ssuse +++|# 02364 M00S02363.ssuse +++| 02365 M00S02364.ssuse +++| TEMP$FAM = USARG$FM[0]; 02366 M00S02365.ssuse +++| BZFILL(TEMP$FAM,TYPFILL"BFILL",7); 02367 M00S02366.ssuse +++| 02368 M00S02367.ssuse +++|# 02369 M00S02368.ssuse +++|* CHECK IF SUBFAMILY SELECTED. 02370 M00S02369.ssuse +++|# 02371 M00S02370.ssuse +++| 02372 M00S02371.ssuse +++| SLOWFOR SUBFAM = 0 STEP 1 UNTIL MAXSF 02373 M00S02372.ssuse +++| DO 02374 M00S02373.ssuse +++| BEGIN # PROCESS EACH SUBFAMILY # 02375 M00S02374.ssuse +++| IF B<SUBFAM,1>SEL$SB EQ 0 02376 M00S02375.ssuse +++| THEN # SUBFAMILY NOT SELECTED # 02377 M00S02376.ssuse +++| BEGIN 02378 M00S02377.ssuse +++| TEST SUBFAM; 02379 M00S02378.ssuse +++| END 02380 M00S02379.ssuse +++| 02381 M00S02380.ssuse +++|# 02382 M00S02381.ssuse +++|* SET THE FAMILY AND USER INDEX. 02383 M00S02382.ssuse +++|# 02384 M00S02383.ssuse +++| 02385 M00S02384.ssuse +++| PFP$WRD0[0] = 0; 02386 M00S02385.ssuse +++| PFP$FAM[0] = USARG$FM[0]; 02387 M00S02386.ssuse +++| PFP$UI[0] = DEF$UI + SUBFAM; 02388 M00S02387.ssuse +++| PFP$FG1[0] = TRUE; 02389 M00S02388.ssuse +++| PFP$FG4[0] = TRUE; 02390 M00S02389.ssuse +++| SETPFP(PFP[0]); 02391 M00S02390.ssuse +++| IF PFP$STAT[0] NQ 0 02392 M00S02391.ssuse +++| THEN # FAMILY NOT FOUND # 02393 M00S02392.ssuse +++| BEGIN 02394 M00S02393.ssuse +++| SSMSG$LINE[0] = " FAMILY NOT FOUND."; 02395 M00S02394.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 02396 M00S02395.ssuse +++| RPCLOSE(OUT$FETP); 02397 M00S02396.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 02398 M00S02397.ssuse +++| END 02399 M00S02398.ssuse +++| 02400 M00S02399.ssuse +++|# 02401 M00S02400.ssuse +++|* OPEN THE CATALOG AND CHECK THE RETURNED ERROR STATUS. 02402 M00S02401.ssuse +++|# 02403 M00S02402.ssuse +++| 02404 M00S02403.ssuse +++| CHAR$10[0] = XCDD(SUBFAM); 02405 M00S02404.ssuse +++| SFMCAT$LST[0] = CHAR$R1[0]; 02406 M00S02405.ssuse +++| COPEN(USARG$FM[0],SUBFAM,SFMCATNM[0],"RM",TRUE,FLAG); 02407 M00S02406.ssuse +++| IF FLAG EQ CMASTAT"NOERR" 02408 M00S02407.ssuse +++| THEN 02409 M00S02408.ssuse +++| BEGIN 02410 M00S02409.ssuse +++| LOFPROC(OCT$LFN[1]); # ADD LFN TO LIST OF FILES # 02411 M00S02410.ssuse +++| END 02412 M00S02411.ssuse +++| 02413 M00S02412.ssuse +++| IF FLAG NQ CMASTAT"NOERR" 02414 M00S02413.ssuse +++| THEN 02415 M00S02414.ssuse +++| BEGIN # CHECK FOR TYPE OF ERROR # 02416 M00S02415.ssuse +++| IF FLAG EQ CMASTAT"INTLK" ## 02417 M00S02416.ssuse +++| OR FLAG EQ CMASTAT"ATTERR" 02418 M00S02417.ssuse +++| THEN 02419 M00S02418.ssuse +++| BEGIN 02420 M00S02419.ssuse +++| SSMSG$LINE[0] = " UNABLE TO OPEN CATALOG."; 02421 M00S02420.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 02422 M00S02421.ssuse +++| RPCLOSE(OUT$FETP); 02423 M00S02422.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 02424 M00S02423.ssuse +++| END 02425 M00S02424.ssuse +++| 02426 M00S02425.ssuse +++| IF FLAG EQ CMASTAT"CIOERR" 02427 M00S02426.ssuse +++| THEN 02428 M00S02427.ssuse +++| BEGIN 02429 M00S02428.ssuse +++| SSMSG$LINE[0] = " SFMCATALOG PARITY ERROR."; 02430 M00S02429.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 02431 M00S02430.ssuse +++| RPCLOSE(OUT$FETP); 02432 M00S02431.ssuse +++| RESTPFP(PFP$ABORT); 02433 M00S02432.ssuse +++| END 02434 M00S02433.ssuse +++| 02435 M00S02434.ssuse +++| ELSE 02436 M00S02435.ssuse +++| BEGIN 02437 M00S02436.ssuse +++| SSMSG$PROC[0] = PROCNAME; 02438 M00S02437.ssuse +++| MESSAGE(SSMSG[0],SYSUDF1); 02439 M00S02438.ssuse +++| RPCLOSE(OUT$FETP); 02440 M00S02439.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 02441 M00S02440.ssuse +++| END 02442 M00S02441.ssuse +++| 02443 M00S02442.ssuse +++| END # CHECK FOR TYPE OF ERROR # 02444 M00S02443.ssuse +++| 02445 M00S02444.ssuse +++|# 02446 M00S02445.ssuse +++|* CHECK IF SM ASSIGNED TO SUBFAMILY. 02447 M00S02446.ssuse +++|# 02448 M00S02447.ssuse +++| 02449 M00S02448.ssuse +++| SLOWFOR SM = 1 STEP 1 UNTIL MAXSM 02450 M00S02449.ssuse +++| DO 02451 M00S02450.ssuse +++| BEGIN # CHECK EACH SELECTED SM # 02452 M00S02451.ssuse +++| IF B<SM,1>SEL$SM EQ 0 02453 M00S02452.ssuse +++| THEN # SM NOT SELECTED # 02454 M00S02453.ssuse +++| BEGIN 02455 M00S02454.ssuse +++| TEST SM; 02456 M00S02455.ssuse +++| END 02457 M00S02456.ssuse +++| 02458 M00S02457.ssuse +++| P<PREAMBLE> = PRMBADR; 02459 M00S02458.ssuse +++| LN$CNT = MAX$LN + 1; # INITIALIZE LINE COUNT # 02460 M00S02459.ssuse +++| 02461 M00S02460.ssuse +++|# 02462 M00S02461.ssuse +++|* IF NO ENTRIES FOR THIS SM, PROCESS THE NEXT SPECIFIED SM. 02463 M00S02462.ssuse +++|# 02464 M00S02463.ssuse +++| 02465 M00S02464.ssuse +++| IF PRM$SCW1[SM] EQ 0 02466 M00S02465.ssuse +++| THEN # SM NOT ASSIGNED TO SUBFAMILY # 02467 M00S02466.ssuse +++| BEGIN 02468 M00S02467.ssuse +++| TEST SM; 02469 M00S02468.ssuse +++| END 02470 M00S02469.ssuse +++| 02471 M00S02470.ssuse +++|# 02472 M00S02471.ssuse +++|* GET THE *AST* AND CHECK THE RETURNED ERROR STATUS. 02473 M00S02472.ssuse +++|# 02474 M00S02473.ssuse +++| 02475 M00S02474.ssuse +++| CRDAST(USARG$FM[0],SUBFAM,SM,ASTADR,0,FLAG); 02476 M00S02475.ssuse +++| IF FLAG NQ CMASTAT"NOERR" 02477 M00S02476.ssuse +++| THEN # UNABLE TO GET *AST* # 02478 M00S02477.ssuse +++| BEGIN 02479 M00S02478.ssuse +++| SSMSG$LINE[0] = " SFMCATALOG PARITY ERROR."; 02480 M00S02479.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 02481 M00S02480.ssuse +++| RPCLOSE(OUT$FETP); 02482 M00S02481.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 02483 M00S02482.ssuse +++| END 02484 M00S02483.ssuse +++| 02485 M00S02484.ssuse +++| P<AST> = ASTADR; 02486 M00S02485.ssuse +++| 02487 M00S02486.ssuse +++|# 02488 M00S02487.ssuse +++|* PROCESS ALL *AST* AND *FCT* ENTRIES. 02489 M00S02488.ssuse +++|# 02490 M00S02489.ssuse +++| 02491 M00S02490.ssuse +++| SLOWFOR J = 16 STEP 1 UNTIL PRM$ENTRC[SM] + 15 02492 M00S02491.ssuse +++| DO 02493 M00S02492.ssuse +++| BEGIN # PROCESS AN *AST* AND *FCT* ENTRY # 02494 M00S02493.ssuse +++| 02495 M00S02494.ssuse +++|# 02496 M00S02495.ssuse +++|* GET THE *FCT* ENTRY AND CHECK THE RETURNED ERROR STATUS. 02497 M00S02496.ssuse +++|# 02498 M00S02497.ssuse +++| 02499 M00S02498.ssuse +++| CGETFCT(USARG$FM[0],SUBFAM,SM,J,FCTADR,0,FLAG); 02500 M00S02499.ssuse +++| IF FLAG NQ CMASTAT"NOERR" 02501 M00S02500.ssuse +++| THEN # UNABLE TO GET *FCT* # 02502 M00S02501.ssuse +++| BEGIN 02503 M00S02502.ssuse +++| SSMSG$LINE[0] = " SFMCATALOG PARITY ERROR."; 02504 M00S02503.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 02505 M00S02504.ssuse +++| RPCLOSE(OUT$FETP); 02506 M00S02505.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 02507 M00S02506.ssuse +++| END 02508 M00S02507.ssuse +++| 02509 M00S02508.ssuse +++| P<FCT> = FCTADR; 02510 M00S02509.ssuse +++| 02511 M00S02510.ssuse +++|# 02512 M00S02511.ssuse +++|* CHECK THE CUBICLE STATUS. IF IT DOES NOT CONTAIN A 02513 M00S02512.ssuse +++|* CARTRIDGE GO TO NEXT CUBICLE. 02514 M00S02513.ssuse +++|# 02515 M00S02514.ssuse +++| 02516 M00S02515.ssuse +++| IF FCT$CSND[0] EQ " " 02517 M00S02516.ssuse +++| OR FCT$CSNI[0] EQ 0 02518 M00S02517.ssuse +++| THEN # NO CARTRIDGE AT THIS LOCATION # 02519 M00S02518.ssuse +++| BEGIN 02520 M00S02519.ssuse +++| TEST J; 02521 M00S02520.ssuse +++| END 02522 M00S02521.ssuse +++| 02523 M00S02522.ssuse +++|# 02524 M00S02523.ssuse +++|* WRITE HEADER TO REPORT FILE IF NEW PAGE. 02525 M00S02524.ssuse +++|# 02526 M00S02525.ssuse +++| 02527 M00S02526.ssuse +++| IF LN$CNT GQ MAX$LN 02528 M00S02527.ssuse +++| THEN # PAGE EJECT AND PRINT HEADER # 02529 M00S02528.ssuse +++| BEGIN 02530 M00S02529.ssuse +++| TEMP$SM = SM; 02531 M00S02530.ssuse +++| RPEJECT(OUT$FETP); 02532 M00S02531.ssuse +++| RPLINE(OUT$FETP,"SSUSE OPTIONAL REPORT B - ",5,26,1); 02533 M00S02532.ssuse +++| RPLINE(OUT$FETP,"CARTRIDGE SUMMARY REPORT",31,24,1); 02534 M00S02533.ssuse +++| RPLINE(OUT$FETP,"SM = ",58,5,1); 02535 M00S02534.ssuse +++| RPLINE(OUT$FETP,TEMP$SM,63,1,1); 02536 M00S02535.ssuse +++| RPLINE(OUT$FETP,"SUBFAMILY = ",67,12,1); 02537 M00S02536.ssuse +++| CHAR$10[0] = XCDD(SUBFAM); 02538 M00S02537.ssuse +++| RPLINE(OUT$FETP,CHAR$R1[0],79,1,1); 02539 M00S02538.ssuse +++| RPLINE(OUT$FETP,"FAMILY = ",84,9,1); 02540 M00S02539.ssuse +++| RPLINE(OUT$FETP,TEMP$FAM,93,7,0); 02541 M00S02540.ssuse +++| RPSPACE(OUT$FETP,SP"SPACE",1); 02542 M00S02541.ssuse +++| 02543 M00S02542.ssuse +++|# 02544 M00S02543.ssuse +++|* PRINT NOTES AND COLUMN HEADINGS. 02545 M00S02544.ssuse +++|# 02546 M00S02545.ssuse +++| 02547 M00S02546.ssuse +++| RPLINE(OUT$FETP,"NOTES:",5,6,1); 02548 M00S02547.ssuse +++| RPLINE(OUT$FETP,"CARTRIDGE FLAGS:",46,16,0); 02549 M00S02548.ssuse +++| RPLINE(OUT$FETP,"FA = FLAWED AND ALLOCATED",7,25,1); 02550 M00S02549.ssuse +++| RPLINE(OUT$FETP,"M = MISSING",48,11,0); 02551 M00S02550.ssuse +++| RPLINE(OUT$FETP,"FU = FLAWED AND UNALLOCATED",7,27,1); 02552 M00S02551.ssuse +++| RPLINE(OUT$FETP,"I = INHIBIT",48,11,0); 02553 M00S02552.ssuse +++| RPLINE(OUT$FETP,"SF = START OF FRAGMENT",7,22,1); 02554 M00S02553.ssuse +++| RPLINE(OUT$FETP,"F = FREE CARTRIDGE",48,18,0); 02555 M00S02554.ssuse +++| RPLINE(OUT$FETP,"FC = FROZEN CHAIN",7,17,1); 02556 M00S02555.ssuse +++| RPLINE(OUT$FETP,"L = LINK(FREE AU EXIST, ",48,24,1); 02557 M00S02556.ssuse +++| RPLINE(OUT$FETP,"NO OFF CARTRIDGE LINK)",72,22,0); 02558 M00S02557.ssuse +++| RPLINE(OUT$FETP,"AC = AU CONFLICT",7,16,1); 02559 M00S02558.ssuse +++| RPLINE(OUT$FETP,"P = EXCESSIVE WRITE ERRORS",48,26,0); 02560 M00S02559.ssuse +++| RPLINE(OUT$FETP,"GPORD = ORDINAL IN GROUP",7,24,1); 02561 M00S02560.ssuse +++| RPLINE(OUT$FETP,"E = MAP ERROR",48,13,1); 02562 M00S02561.ssuse +++| RPLINE(OUT$FETP,"(DETECTED BY SSVAL)",61,19,0); 02563 M00S02562.ssuse +++| RPSPACE(OUT$FETP,SP"SPACE",1); 02564 M00S02563.ssuse +++| RPLINE(OUT$FETP,"------ERROR CONDITIONS------",60,28,0); 02565 M00S02564.ssuse +++| RPLINE(OUT$FETP,"FREE AU CART",39,17,1); 02566 M00S02565.ssuse +++| RPLINE(OUT$FETP,"--------NUMBER OF AU--------",60,28,0); 02567 M00S02566.ssuse +++| RPLINE(OUT$FETP,"GP GPORD Y",5,13,1); 02568 M00S02567.ssuse +++| RPLINE(OUT$FETP,"Z CM CSN",21,11,1); 02569 M00S02568.ssuse +++| RPLINE(OUT$FETP,"SMALL LARGE FLAGS",36,21,1); 02570 M00S02569.ssuse +++| RPLINE(OUT$FETP,"FA FU SF",62,14,1); 02571 M00S02570.ssuse +++| RPLINE(OUT$FETP,"FC AC",80,8,0); 02572 M00S02571.ssuse +++| RPSPACE(OUT$FETP,SP"SPACE",1); 02573 M00S02572.ssuse +++| LN$CNT = 17; 02574 M00S02573.ssuse +++| END 02575 M00S02574.ssuse +++| 02576 M00S02575.ssuse +++|# 02577 M00S02576.ssuse +++|* CHECK FOR FLAGS AND SET THE APPROPRIATE CHARACTERS INTO THE 02578 M00S02577.ssuse +++|* REPORT FLAG. 02579 M00S02578.ssuse +++|# 02580 M00S02579.ssuse +++| 02581 M00S02580.ssuse +++| RPTFLAG = " "; 02582 M00S02581.ssuse +++| IF FCT$LCF[0] 02583 M00S02582.ssuse +++| THEN # CARTRIDGE MISSING # 02584 M00S02583.ssuse +++| BEGIN 02585 M00S02584.ssuse +++| C<1,1>RPTFLAG = "M"; 02586 M00S02585.ssuse +++| END 02587 M00S02586.ssuse +++| 02588 M00S02587.ssuse +++| IF FCT$IAF[0] 02589 M00S02588.ssuse +++| THEN # INHIBIT ALLOCATION # 02590 M00S02589.ssuse +++| BEGIN 02591 M00S02590.ssuse +++| C<2,1>RPTFLAG = "I"; 02592 M00S02591.ssuse +++| END 02593 M00S02592.ssuse +++| 02594 M00S02593.ssuse +++| IF FCT$FCF[0] 02595 M00S02594.ssuse +++| THEN # FREE CARTRIDGE # 02596 M00S02595.ssuse +++| BEGIN 02597 M00S02596.ssuse +++| C<3,1>RPTFLAG = "F"; 02598 M00S02597.ssuse +++| END 02599 M00S02598.ssuse +++| 02600 M00S02599.ssuse +++| IF AST$AULF[J] GR 0 ## 02601 M00S02600.ssuse +++| OR AST$AUSF[J] GR 0 02602 M00S02601.ssuse +++| THEN # FREE AU EXIST # 02603 M00S02602.ssuse +++| BEGIN 02604 M00S02603.ssuse +++| IF FCT$OCLF[0] EQ 7 02605 M00S02604.ssuse +++| THEN # NO LINKS AVAILABLE # 02606 M00S02605.ssuse +++| BEGIN 02607 M00S02606.ssuse +++| C<4,1>RPTFLAG = "L"; 02608 M00S02607.ssuse +++| END 02609 M00S02608.ssuse +++| 02610 M00S02609.ssuse +++| END 02611 M00S02610.ssuse +++| 02612 M00S02611.ssuse +++| IF FCT$EEF[0] 02613 M00S02612.ssuse +++| THEN # EXCESSIVE PARITY ERRORS # 02614 M00S02613.ssuse +++| BEGIN 02615 M00S02614.ssuse +++| C<5,1>RPTFLAG = "P"; 02616 M00S02615.ssuse +++| END 02617 M00S02616.ssuse +++| 02618 M00S02617.ssuse +++| IF FCT$SEF[0] 02619 M00S02618.ssuse +++| THEN # SMMAP ERROR FLAG SET # 02620 M00S02619.ssuse +++| BEGIN 02621 M00S02620.ssuse +++| C<0,1>RPTFLAG = "E"; 02622 M00S02621.ssuse +++| END 02623 M00S02622.ssuse +++| 02624 M00S02623.ssuse +++|# 02625 M00S02624.ssuse +++|* PROCESS EACH AU. CHECK FOR ERRORS AND UPDATE THE APPROPRIATE 02626 M00S02625.ssuse +++|* COUNTERS. 02627 M00S02626.ssuse +++|# 02628 M00S02627.ssuse +++| 02629 M00S02628.ssuse +++| ACFLAG = 0; 02630 M00S02629.ssuse +++| FAFLAG = 0; 02631 M00S02630.ssuse +++| FCFLAG = 0; 02632 M00S02631.ssuse +++| FUFLAG = 0; 02633 M00S02632.ssuse +++| SFFLAG = 0; 02634 M00S02633.ssuse +++| 02635 M00S02634.ssuse +++| SLOWFOR N = 1 STEP 1 UNTIL INAVOT 02636 M00S02635.ssuse +++| DO 02637 M00S02636.ssuse +++| BEGIN # PROCESS EACH AU # 02638 M00S02637.ssuse +++| 02639 M00S02638.ssuse +++| SETFCTX(N); # SET *FWD* AND *FPS* VALUES # 02640 M00S02639.ssuse +++| 02641 M00S02640.ssuse +++| IF FCT$FAUF(FWD,FPS) NQ 0 02642 M00S02641.ssuse +++| THEN # FLAWED AU # 02643 M00S02642.ssuse +++| BEGIN 02644 M00S02643.ssuse +++| IF FCT$FBF(FWD,FPS) EQ 0 02645 M00S02644.ssuse +++| THEN # FLAWED AND UNALLOCATED # 02646 M00S02645.ssuse +++| BEGIN 02647 M00S02646.ssuse +++| FUFLAG = FUFLAG + 1; 02648 M00S02647.ssuse +++| END 02649 M00S02648.ssuse +++| 02650 M00S02649.ssuse +++| ELSE # FLAWED AND ALLOCATED # 02651 M00S02650.ssuse +++| BEGIN 02652 M00S02651.ssuse +++| FAFLAG = FAFLAG + 1; 02653 M00S02652.ssuse +++| END 02654 M00S02653.ssuse +++| 02655 M00S02654.ssuse +++| END 02656 M00S02655.ssuse +++| 02657 M00S02656.ssuse +++| IF FCT$SFF(FWD,FPS) NQ 0 02658 M00S02657.ssuse +++| THEN 02659 M00S02658.ssuse +++| BEGIN 02660 M00S02659.ssuse +++| SFFLAG = SFFLAG + 1; # START OF FRAGMENT # 02661 M00S02660.ssuse +++| END 02662 M00S02661.ssuse +++| 02663 M00S02662.ssuse +++| IF FCT$FRCF(FWD,FPS) NQ 0 02664 M00S02663.ssuse +++| THEN 02665 M00S02664.ssuse +++| BEGIN 02666 M00S02665.ssuse +++| FCFLAG = FCFLAG + 1; # FROZEN CHAIN # 02667 M00S02666.ssuse +++| END 02668 M00S02667.ssuse +++| 02669 M00S02668.ssuse +++| IF FCT$AUCF(FWD,FPS) NQ 0 02670 M00S02669.ssuse +++| THEN 02671 M00S02670.ssuse +++| BEGIN 02672 M00S02671.ssuse +++| ACFLAG = ACFLAG + 1; # AU CONFLICT # 02673 M00S02672.ssuse +++| END 02674 M00S02673.ssuse +++| 02675 M00S02674.ssuse +++| END # PROCESS EACH AU # 02676 M00S02675.ssuse +++| 02677 M00S02676.ssuse +++|# 02678 M00S02677.ssuse +++|* CONVERT VALUES TO DISPLAY CODE AND WRITE THEM TO THE REPORT 02679 M00S02678.ssuse +++|* FILE. BLANK FILL CSN AND CARTRIDGE MANUFACTURER CODE. 02680 M00S02679.ssuse +++|# 02681 M00S02680.ssuse +++| 02682 M00S02681.ssuse +++| GP = J / MAXGRT; 02683 M00S02682.ssuse +++| CHAR$10[0] = XCDD(GP); 02684 M00S02683.ssuse +++| RPLINE(OUT$FETP,CHAR$R2[0],5,2,1); 02685 M00S02684.ssuse +++| 02686 M00S02685.ssuse +++| GRT = J - (GP * MAXGRT); 02687 M00S02686.ssuse +++| CHAR$10[0] = XCDD(GRT); 02688 M00S02687.ssuse +++| RPLINE(OUT$FETP,CHAR$R2[0],10,2,1); 02689 M00S02688.ssuse +++| 02690 M00S02689.ssuse +++| CHAR$10[0] = XCDD(FCT$Y[0]); 02691 M00S02690.ssuse +++| RPLINE(OUT$FETP,CHAR$R2[0],16,2,1); 02692 M00S02691.ssuse +++| 02693 M00S02692.ssuse +++| CHAR$10[0] = XCDD(FCT$Z[0]); 02694 M00S02693.ssuse +++| RPLINE(OUT$FETP,CHAR$R2[0],20,2,1); 02695 M00S02694.ssuse +++| 02696 M00S02695.ssuse +++| CHAR$10[0] = FCT$CCOD[0]; 02697 M00S02696.ssuse +++| BZFILL(CHAR,TYPFILL"BFILL",10); 02698 M00S02697.ssuse +++| RPLINE(OUT$FETP,CHAR$L2[0],25,2,1); 02699 M00S02698.ssuse +++| 02700 M00S02699.ssuse +++| CHAR$10[0] = FCT$CSND[0]; 02701 M00S02700.ssuse +++| BZFILL(CHAR,TYPFILL"BFILL",10); 02702 M00S02701.ssuse +++| RPLINE(OUT$FETP,CHAR$L8[0],27,8,1); 02703 M00S02702.ssuse +++| 02704 M00S02703.ssuse +++| CHAR$10[0] = XCDD(AST$AUSF[J]); 02705 M00S02704.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],37,4,1); 02706 M00S02705.ssuse +++| 02707 M00S02706.ssuse +++| CHAR$10[0] = XCDD(AST$AULF[J]); 02708 M00S02707.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],44,4,1); 02709 M00S02708.ssuse +++| 02710 M00S02709.ssuse +++| RPLINE(OUT$FETP,RPTFLAG,51,6,1); 02711 M00S02710.ssuse +++| 02712 M00S02711.ssuse +++| CHAR$10[0] = XCDD(FAFLAG); 02713 M00S02712.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],60,4,1); 02714 M00S02713.ssuse +++| 02715 M00S02714.ssuse +++| CHAR$10[0] = XCDD(FUFLAG); 02716 M00S02715.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],66,4,1); 02717 M00S02716.ssuse +++| 02718 M00S02717.ssuse +++| CHAR$10[0] = XCDD(SFFLAG); 02719 M00S02718.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],72,4,1); 02720 M00S02719.ssuse +++| 02721 M00S02720.ssuse +++| CHAR$10[0] = XCDD(FCFLAG); 02722 M00S02721.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],78,4,1); 02723 M00S02722.ssuse +++| 02724 M00S02723.ssuse +++| CHAR$10[0] = XCDD(ACFLAG); 02725 M00S02724.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],84,4,0); 02726 M00S02725.ssuse +++| LN$CNT = LN$CNT + 1; # INCREMENT LINE COUNT # 02727 M00S02726.ssuse +++| 02728 M00S02727.ssuse +++| END # PROCESS AN *AST* AND *FCT* ENTRY # 02729 M00S02728.ssuse +++| 02730 M00S02729.ssuse +++| END # CHECK EACH SELECTED SM # 02731 M00S02730.ssuse +++| 02732 M00S02731.ssuse +++|# 02733 M00S02732.ssuse +++|* CLOSE THE CATALOG. 02734 M00S02733.ssuse +++|# 02735 M00S02734.ssuse +++| 02736 M00S02735.ssuse +++| CCLOSE(USARG$FM[0],SUBFAM,0,FLAG); 02737 M00S02736.ssuse +++| IF FLAG NQ CMASTAT"NOERR" 02738 M00S02737.ssuse +++| THEN # UNABLE TO CLOSE CATALOG # 02739 M00S02738.ssuse +++| BEGIN 02740 M00S02739.ssuse +++| SSMSG$PROC[0] = PROCNAME; 02741 M00S02740.ssuse +++| MESSAGE(SSMSG[0],SYSUDF1); 02742 M00S02741.ssuse +++| RPCLOSE(OUT$FETP); 02743 M00S02742.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 02744 M00S02743.ssuse +++| END 02745 M00S02744.ssuse +++| 02746 M00S02745.ssuse +++| ZFILL(FCTBUFCW,1); # CLEAR CONTROL BUFFER # 02747 M00S02746.ssuse +++| 02748 M00S02747.ssuse +++| END # PROCESS EACH SUBFAMILY # 02749 M00S02748.ssuse +++| 02750 M00S02749.ssuse +++| RETURN; 02751 M00S02750.ssuse +++| 02752 M00S02751.ssuse +++| END # USRPTB # 02753 M00S02752.ssuse +++| 02754 M00S02753.ssuse +++| TERM 02755 M00S02754.ssuse +++|PROC USRPTC; 02756 M00S02755.ssuse +++|# TITLE USRPTC - GENERATES OPTIONAL REPORT C. # 02757 M00S02756.ssuse +++| 02758 M00S02757.ssuse +++| BEGIN # USRPTC # 02759 M00S02758.ssuse +++| 02760 M00S02759.ssuse +++|# 02761 M00S02760.ssuse +++|** USRPTC - GENERATES OPTIONAL REPORT C. 02762 M00S02761.ssuse +++|* 02763 M00S02762.ssuse +++|* THIS PROC LISTS CARTRIDGE USAGE INFORMATION FOR EACH ENTRY 02764 M00S02763.ssuse +++|* IN THE SFMCATALOG. 02765 M00S02764.ssuse +++|* 02766 M00S02765.ssuse +++|* PROC USRPTC. 02767 M00S02766.ssuse +++|* 02768 M00S02767.ssuse +++|* ENTRY. (SEL$SB) = BITS SET FOR THE SELECTED SUBFAMILIES. 02769 M00S02768.ssuse +++|* (SEL$SM) = BITS SET FOR THE SELECTED SM-S. 02770 M00S02769.ssuse +++|* (USARG$FM) = FAMILY NAME. 02771 M00S02770.ssuse +++|* 02772 M00S02771.ssuse +++|* EXIT. OPTIONAL REPORT C GENERATED. 02773 M00S02772.ssuse +++|* 02774 M00S02773.ssuse +++|* MESSAGES. 1) FAMILY NOT FOUND. 02775 M00S02774.ssuse +++|* 2) UNABLE TO OPEN CATALOG. 02776 M00S02775.ssuse +++|* 3) SFMCATALOG PARITY ERROR. 02777 M00S02776.ssuse +++|* 4) SSUSE ABNORMAL, USRPTC. 02778 M00S02777.ssuse +++|# 02779 M00S02778.ssuse +++| 02780 M00S02779.ssuse +++|# 02781 M00S02780.ssuse +++|**** PROC USRPTC - XREF LIST BEGIN. 02782 M00S02781.ssuse +++|# 02783 M00S02782.ssuse +++| 02784 M00S02783.ssuse +++| XREF 02785 M00S02784.ssuse +++| BEGIN 02786 M00S02785.ssuse +++| PROC BZFILL; # BLANK FILLS CHARACTERS # 02787 M00S02786.ssuse +++| PROC CCLOSE; # CLOSES CATALOG # 02788 M00S02787.ssuse +++| PROC CGETFCT; # GETS AN *FCT* ENTRY # 02789 M00S02788.ssuse +++| PROC COPEN; # OPENS CATALOG # 02790 M00S02789.ssuse +++| PROC LOFPROC; # LIST OF FILES PROCESSOR # 02791 M00S02790.ssuse +++| PROC MESSAGE; # PRINTS MESSAGE IN DAYFILE # 02792 M00S02791.ssuse +++| PROC RESTPFP; # RESTORE USER-S *PFP* AND ABORT 02793 M00S02792.ssuse +++| OR RETURN # 02794 M00S02793.ssuse +++| PROC RPCLOSE; # CLOSES THE REPORT FILE # 02795 M00S02794.ssuse +++| PROC RPEJECT; # PAGE EJECTS FOR REPORT FILE # 02796 M00S02795.ssuse +++| PROC RPLINE; # WRITES LINE TO REPORT FILE # 02797 M00S02796.ssuse +++| PROC RPSPACE; # PUTS BLANK LINE ON REPORT FILE # 02798 M00S02797.ssuse +++| PROC SETPFP; # SET FAMILY AND USER INDEX # 02799 M00S02798.ssuse +++| PROC ZFILL; # ZERO FILL ARRAY # 02800 M00S02799.ssuse +++| FUNC XCDD C(10); # CONVERTS INTEGER TO DISPLAY # 02801 M00S02800.ssuse +++| END 02802 M00S02801.ssuse +++| 02803 M00S02802.ssuse +++|# 02804 M00S02803.ssuse +++|**** PROC USRPTC - XREF LIST END. 02805 M00S02804.ssuse +++|# 02806 M00S02805.ssuse +++| 02807 M00S02806.ssuse +++| DEF PROCNAME #"USRPTC."#; # PROC NAME # 02808 M00S02807.ssuse +++| DEF LISTCON #0#; # DO NOT LIST COMDECKS # 02809 M00S02808.ssuse +++|*CALL COMBFAS 02810 M00S02809.ssuse +++|*CALL COMBBZF 02811 M00S02810.ssuse +++|*CALL COMBCMD 02812 M00S02811.ssuse +++|*CALL COMBCMS 02813 M00S02812.ssuse +++|*CALL COMBMCT 02814 M00S02813.ssuse +++|*CALL COMBPFP 02815 M00S02814.ssuse +++|*CALL COMSPFM 02816 M00S02815.ssuse +++|*CALL COMXMSC 02817 M00S02816.ssuse +++|*CALL COMTOUT 02818 M00S02817.ssuse +++|*CALL COMTUSE 02819 M00S02818.ssuse +++|*CALL COMTUSP 02820 M00S02819.ssuse +++| 02821 M00S02820.ssuse +++| ITEM FCTADR I; # *FCT* BUFFER ADDRESS # 02822 M00S02821.ssuse +++| ITEM FLAG I; # ERROR FLAG # 02823 M00S02822.ssuse +++| ITEM GP I; # GROUP # 02824 M00S02823.ssuse +++| ITEM J I; # LOOP VARIABLE # 02825 M00S02824.ssuse +++| ITEM LN$CNT I; # COUNT OF PRINTED LINES # 02826 M00S02825.ssuse +++| ITEM OCL I; # AVAILABLE LINK COUNT # 02827 M00S02826.ssuse +++| ITEM RPTFLAG C(4); # REPORT FLAG # 02828 M00S02827.ssuse +++| ITEM SM I; # LOOP VARIABLE # 02829 M00S02828.ssuse +++| ITEM SUBFAM I; # LOOP VARIABLE # 02830 M00S02829.ssuse +++| ITEM TEMP$FAM C(7); # HOLDS FAMILY NAME # 02831 M00S02830.ssuse +++| ITEM TEMP$SM C(1); # SM CHARACTER # 02832 M00S02831.ssuse +++| 02833 M00S02832.ssuse +++| CONTROL EJECT; 02834 M00S02833.ssuse +++| 02835 M00S02834.ssuse +++| FCTADR = LOC(US$FCTENT[0]); 02836 M00S02835.ssuse +++| 02837 M00S02836.ssuse +++|# 02838 M00S02837.ssuse +++|* CHANGE ZERO-FILL TO SPACE-FILL FOR FAMILY. 02839 M00S02838.ssuse +++|# 02840 M00S02839.ssuse +++| 02841 M00S02840.ssuse +++| TEMP$FAM = USARG$FM[0]; 02842 M00S02841.ssuse +++| BZFILL(TEMP$FAM,TYPFILL"BFILL",7); 02843 M00S02842.ssuse +++| 02844 M00S02843.ssuse +++|# 02845 M00S02844.ssuse +++|* CHECK IF SUBFAMILY SELECTED. 02846 M00S02845.ssuse +++|# 02847 M00S02846.ssuse +++| 02848 M00S02847.ssuse +++| SLOWFOR SUBFAM = 0 STEP 1 UNTIL MAXSF 02849 M00S02848.ssuse +++| DO 02850 M00S02849.ssuse +++| BEGIN # PROCESS EACH SUBFAMILY # 02851 M00S02850.ssuse +++| IF B<SUBFAM,1>SEL$SB EQ 0 02852 M00S02851.ssuse +++| THEN # SUBFAMILY NOT SELECTED # 02853 M00S02852.ssuse +++| BEGIN 02854 M00S02853.ssuse +++| TEST SUBFAM; 02855 M00S02854.ssuse +++| END 02856 M00S02855.ssuse +++| 02857 M00S02856.ssuse +++|# 02858 M00S02857.ssuse +++|* SET THE FAMILY AND USER INDEX. 02859 M00S02858.ssuse +++|# 02860 M00S02859.ssuse +++| 02861 M00S02860.ssuse +++| PFP$WRD0[0] = 0; 02862 M00S02861.ssuse +++| PFP$FAM[0] = USARG$FM[0]; 02863 M00S02862.ssuse +++| PFP$UI[0] = DEF$UI + SUBFAM; 02864 M00S02863.ssuse +++| PFP$FG1[0] = TRUE; 02865 M00S02864.ssuse +++| PFP$FG4[0] = TRUE; 02866 M00S02865.ssuse +++| SETPFP(PFP[0]); 02867 M00S02866.ssuse +++| IF PFP$STAT[0] NQ 0 02868 M00S02867.ssuse +++| THEN # FAMILY NOT FOUND # 02869 M00S02868.ssuse +++| BEGIN 02870 M00S02869.ssuse +++| SSMSG$LINE[0] = " FAMILY NOT FOUND."; 02871 M00S02870.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 02872 M00S02871.ssuse +++| RPCLOSE(OUT$FETP); 02873 M00S02872.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 02874 M00S02873.ssuse +++| END 02875 M00S02874.ssuse +++| 02876 M00S02875.ssuse +++|# 02877 M00S02876.ssuse +++|* OPEN THE CATALOG AND CHECK THE RETURNED ERROR STATUS. 02878 M00S02877.ssuse +++|# 02879 M00S02878.ssuse +++| 02880 M00S02879.ssuse +++| CHAR$10[0] = XCDD(SUBFAM); 02881 M00S02880.ssuse +++| SFMCAT$LST[0] = CHAR$R1[0]; 02882 M00S02881.ssuse +++| COPEN(USARG$FM[0],SUBFAM,SFMCATNM[0],"RM",TRUE,FLAG); 02883 M00S02882.ssuse +++| IF FLAG EQ CMASTAT"NOERR" 02884 M00S02883.ssuse +++| THEN 02885 M00S02884.ssuse +++| BEGIN 02886 M00S02885.ssuse +++| LOFPROC(OCT$LFN[1]); # ADD LFN TO LIST OF FILES # 02887 M00S02886.ssuse +++| END 02888 M00S02887.ssuse +++| 02889 M00S02888.ssuse +++| IF FLAG NQ CMASTAT"NOERR" 02890 M00S02889.ssuse +++| THEN 02891 M00S02890.ssuse +++| BEGIN # CHECK FOR TYPE OF ERROR # 02892 M00S02891.ssuse +++| IF FLAG EQ CMASTAT"INTLK" ## 02893 M00S02892.ssuse +++| OR FLAG EQ CMASTAT"ATTERR" 02894 M00S02893.ssuse +++| THEN 02895 M00S02894.ssuse +++| BEGIN 02896 M00S02895.ssuse +++| SSMSG$LINE[0] = " UNABLE TO OPEN CATALOG."; 02897 M00S02896.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 02898 M00S02897.ssuse +++| RPCLOSE(OUT$FETP); 02899 M00S02898.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 02900 M00S02899.ssuse +++| END 02901 M00S02900.ssuse +++| 02902 M00S02901.ssuse +++| IF FLAG EQ CMASTAT"CIOERR" 02903 M00S02902.ssuse +++| THEN 02904 M00S02903.ssuse +++| BEGIN 02905 M00S02904.ssuse +++| SSMSG$LINE[0] = " SFMCATALOG PARITY ERROR."; 02906 M00S02905.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 02907 M00S02906.ssuse +++| RPCLOSE(OUT$FETP); 02908 M00S02907.ssuse +++| RESTPFP(PFP$ABORT); 02909 M00S02908.ssuse +++| END 02910 M00S02909.ssuse +++| 02911 M00S02910.ssuse +++| ELSE 02912 M00S02911.ssuse +++| BEGIN 02913 M00S02912.ssuse +++| SSMSG$PROC[0] = PROCNAME; 02914 M00S02913.ssuse +++| MESSAGE(SSMSG[0],SYSUDF1); 02915 M00S02914.ssuse +++| RPCLOSE(OUT$FETP); 02916 M00S02915.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 02917 M00S02916.ssuse +++| END 02918 M00S02917.ssuse +++| 02919 M00S02918.ssuse +++| END # CHECK FOR TYPE OF ERROR # 02920 M00S02919.ssuse +++| 02921 M00S02920.ssuse +++|# 02922 M00S02921.ssuse +++|* CHECK IF SM ASSIGNED TO SUBFAMILY. 02923 M00S02922.ssuse +++|# 02924 M00S02923.ssuse +++| 02925 M00S02924.ssuse +++| SLOWFOR SM = 1 STEP 1 UNTIL MAXSM 02926 M00S02925.ssuse +++| DO 02927 M00S02926.ssuse +++| BEGIN # CHECK EACH SELECTED SM # 02928 M00S02927.ssuse +++| IF B<SM,1>SEL$SM EQ 0 02929 M00S02928.ssuse +++| THEN # SM NOT SELECTED # 02930 M00S02929.ssuse +++| BEGIN 02931 M00S02930.ssuse +++| TEST SM; 02932 M00S02931.ssuse +++| END 02933 M00S02932.ssuse +++| 02934 M00S02933.ssuse +++| P<PREAMBLE> = PRMBADR; 02935 M00S02934.ssuse +++| TEMP$SM = SM; 02936 M00S02935.ssuse +++| LN$CNT = MAX$LN + 1; # INITIALIZE LINE COUNT # 02937 M00S02936.ssuse +++| 02938 M00S02937.ssuse +++|# 02939 M00S02938.ssuse +++|* IF NO ENTRIES FOR THIS SM, PROCESS THE NEXT SPECIFIED SM. 02940 M00S02939.ssuse +++|# 02941 M00S02940.ssuse +++| 02942 M00S02941.ssuse +++| IF PRM$SCW1[SM] EQ 0 02943 M00S02942.ssuse +++| THEN # SM NOT ASSIGNED TO SUBFAMILY # 02944 M00S02943.ssuse +++| BEGIN 02945 M00S02944.ssuse +++| TEST SM; 02946 M00S02945.ssuse +++| END 02947 M00S02946.ssuse +++| 02948 M00S02947.ssuse +++|# 02949 M00S02948.ssuse +++|* PROCESS ALL *FCT* ENTRIES. 02950 M00S02949.ssuse +++|# 02951 M00S02950.ssuse +++| 02952 M00S02951.ssuse +++| SLOWFOR J = 16 STEP 1 UNTIL PRM$ENTRC[SM] + 15 02953 M00S02952.ssuse +++| DO 02954 M00S02953.ssuse +++| BEGIN # PROCESS AN *FCT* ENTRY # 02955 M00S02954.ssuse +++| 02956 M00S02955.ssuse +++|# 02957 M00S02956.ssuse +++|* GET THE *FCT* ENTRY AND CHECK THE RETURNED ERROR STATUS. 02958 M00S02957.ssuse +++|# 02959 M00S02958.ssuse +++| 02960 M00S02959.ssuse +++| CGETFCT(USARG$FM[0],SUBFAM,SM,J,FCTADR,0,FLAG); 02961 M00S02960.ssuse +++| IF FLAG NQ CMASTAT"NOERR" 02962 M00S02961.ssuse +++| THEN # UNABLE TO GET *FCT* # 02963 M00S02962.ssuse +++| BEGIN 02964 M00S02963.ssuse +++| SSMSG$LINE[0] = " SFMCATALOG PARITY ERROR."; 02965 M00S02964.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 02966 M00S02965.ssuse +++| RPCLOSE(OUT$FETP); 02967 M00S02966.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 02968 M00S02967.ssuse +++| END 02969 M00S02968.ssuse +++| 02970 M00S02969.ssuse +++| P<FCT> = FCTADR; 02971 M00S02970.ssuse +++| 02972 M00S02971.ssuse +++|# 02973 M00S02972.ssuse +++|* CHECK THE CUBICLE STATUS. IF IT DOES NOT CONTAIN A 02974 M00S02973.ssuse +++|* CARTRIDGE GO TO NEXT CUBICLE. 02975 M00S02974.ssuse +++|# 02976 M00S02975.ssuse +++| 02977 M00S02976.ssuse +++| IF FCT$CSND[0] EQ " " 02978 M00S02977.ssuse +++| OR FCT$CSNI[0] EQ 0 02979 M00S02978.ssuse +++| THEN # NO CARTRIDGE AT THIS LOCATION # 02980 M00S02979.ssuse +++| BEGIN 02981 M00S02980.ssuse +++| TEST J; 02982 M00S02981.ssuse +++| END 02983 M00S02982.ssuse +++| 02984 M00S02983.ssuse +++|# 02985 M00S02984.ssuse +++|* WRITE HEADER TO REPORT FILE IF NEW PAGE. 02986 M00S02985.ssuse +++|# 02987 M00S02986.ssuse +++| 02988 M00S02987.ssuse +++| IF LN$CNT GQ MAX$LN 02989 M00S02988.ssuse +++| THEN # PAGE EJECT AND PRINT HEADER # 02990 M00S02989.ssuse +++| BEGIN 02991 M00S02990.ssuse +++| RPEJECT(OUT$FETP); 02992 M00S02991.ssuse +++| RPLINE(OUT$FETP,"SSUSE OPTIONAL REPORT C - ",5,26,1); 02993 M00S02992.ssuse +++| RPLINE(OUT$FETP,"DETAILED CARTRIDGE REPORT",31,25,1); 02994 M00S02993.ssuse +++| RPLINE(OUT$FETP,"SM = ",58,5,1); 02995 M00S02994.ssuse +++| RPLINE(OUT$FETP,TEMP$SM,63,1,1); 02996 M00S02995.ssuse +++| RPLINE(OUT$FETP,"SUBFAMILY = ",67,12,1); 02997 M00S02996.ssuse +++| CHAR$10[0] = XCDD(SUBFAM); 02998 M00S02997.ssuse +++| RPLINE(OUT$FETP,CHAR$R1[0],79,1,1); 02999 M00S02998.ssuse +++| RPLINE(OUT$FETP,"FAMILY = ",84,9,1); 03000 M00S02999.ssuse +++| RPLINE(OUT$FETP,TEMP$FAM,93,7,0); 03001 M00S03000.ssuse +++| RPSPACE(OUT$FETP,SP"SPACE",1); 03002 M00S03001.ssuse +++| 03003 M00S03002.ssuse +++|# 03004 M00S03003.ssuse +++|* PRINT NOTES AND COLUMN HEADINGS. 03005 M00S03004.ssuse +++|# 03006 M00S03005.ssuse +++| 03007 M00S03006.ssuse +++| RPLINE(OUT$FETP,"FLAGS:",5,6,1); 03008 M00S03007.ssuse +++| RPLINE(OUT$FETP,"I = INHIBIT ALLOCATION",15,22,1); 03009 M00S03008.ssuse +++| RPLINE(OUT$FETP,"M = MISSING",49,12,1); 03010 M00S03009.ssuse +++| RPLINE(OUT$FETP,"P = EXCESSIVE PARITY ERRORS",81,27,0); 03011 M00S03010.ssuse +++| RPLINE(OUT$FETP,"E = MAP ERROR",15,13,1); 03012 M00S03011.ssuse +++| RPLINE(OUT$FETP,"OCL = AVAILABLE LINK COUNT",49,26,1); 03013 M00S03012.ssuse +++| RPLINE(OUT$FETP,"FCTORD = SFM CATALOG ORDINAL",81,28,0); 03014 M00S03013.ssuse +++| RPSPACE(OUT$FETP,SP"SPACE",1); 03015 M00S03014.ssuse +++| RPLINE(OUT$FETP,"------AU------ CARTRIDGE",55,29,0); 03016 M00S03015.ssuse +++| RPLINE(OUT$FETP," Y Z CM CSN",2,17,1); 03017 M00S03016.ssuse +++| RPLINE(OUT$FETP,"GROUP FCTORD FLAGS",26,23,1); 03018 M00S03017.ssuse +++| RPLINE(OUT$FETP,"FIRST FIRST DIVISION",55,29,1); 03019 M00S03018.ssuse +++| RPLINE(OUT$FETP,"OCL",88,3,0); 03020 M00S03019.ssuse +++| RPLINE(OUT$FETP,"SMALL LARGE POINT",55,27,0); 03021 M00S03020.ssuse +++| LN$CNT = 11; 03022 M00S03021.ssuse +++| END 03023 M00S03022.ssuse +++| 03024 M00S03023.ssuse +++|# 03025 M00S03024.ssuse +++|* CHECK FOR FLAGS AND SET THE APPROPRIATE CHARACTERS INTO THE 03026 M00S03025.ssuse +++|* REPORT FLAG. 03027 M00S03026.ssuse +++|# 03028 M00S03027.ssuse +++| 03029 M00S03028.ssuse +++| RPTFLAG = " "; 03030 M00S03029.ssuse +++| IF FCT$IAF[0] 03031 M00S03030.ssuse +++| THEN # INHIBIT ALLOCATION FLAG SET # 03032 M00S03031.ssuse +++| BEGIN 03033 M00S03032.ssuse +++| C<1,1>RPTFLAG = "I"; 03034 M00S03033.ssuse +++| END 03035 M00S03034.ssuse +++| 03036 M00S03035.ssuse +++| IF FCT$LCF[0] 03037 M00S03036.ssuse +++| THEN # CARTRIDGE MISSING # 03038 M00S03037.ssuse +++| BEGIN 03039 M00S03038.ssuse +++| C<2,1>RPTFLAG = "M"; 03040 M00S03039.ssuse +++| END 03041 M00S03040.ssuse +++| 03042 M00S03041.ssuse +++| IF FCT$EEF[0] 03043 M00S03042.ssuse +++| THEN # EXCESSIVE ERROR FLAG SET # 03044 M00S03043.ssuse +++| BEGIN 03045 M00S03044.ssuse +++| C<3,1>RPTFLAG = "P"; 03046 M00S03045.ssuse +++| END 03047 M00S03046.ssuse +++| 03048 M00S03047.ssuse +++| IF FCT$SEF[0] 03049 M00S03048.ssuse +++| THEN # SMMAP ERROR FLAG SET # 03050 M00S03049.ssuse +++| BEGIN 03051 M00S03050.ssuse +++| C<0,1>RPTFLAG = "E"; 03052 M00S03051.ssuse +++| END 03053 M00S03052.ssuse +++| 03054 M00S03053.ssuse +++|# 03055 M00S03054.ssuse +++|* COUNT AVAILABLE OFF CARTRIDGE LINKS. 03056 M00S03055.ssuse +++|# 03057 M00S03056.ssuse +++| 03058 M00S03057.ssuse +++| OCL = 0; 03059 M00S03058.ssuse +++| IF B<0,1>FCT$OCLF[0] EQ 0 03060 M00S03059.ssuse +++| THEN 03061 M00S03060.ssuse +++| BEGIN 03062 M00S03061.ssuse +++| OCL = OCL + 1; 03063 M00S03062.ssuse +++| END 03064 M00S03063.ssuse +++| 03065 M00S03064.ssuse +++| IF B<1,1>FCT$OCLF[0] EQ 0 03066 M00S03065.ssuse +++| THEN 03067 M00S03066.ssuse +++| BEGIN 03068 M00S03067.ssuse +++| OCL = OCL + 1; 03069 M00S03068.ssuse +++| END 03070 M00S03069.ssuse +++| 03071 M00S03070.ssuse +++| IF B<2,1>FCT$OCLF[0] EQ 0 03072 M00S03071.ssuse +++| THEN 03073 M00S03072.ssuse +++| BEGIN 03074 M00S03073.ssuse +++| OCL = OCL + 1; 03075 M00S03074.ssuse +++| END 03076 M00S03075.ssuse +++| 03077 M00S03076.ssuse +++|# 03078 M00S03077.ssuse +++|* CONVERT VALUES TO DISPLAY CODE AND WRITE THEM TO THE REPORT 03079 M00S03078.ssuse +++|* FILE. 03080 M00S03079.ssuse +++|# 03081 M00S03080.ssuse +++| 03082 M00S03081.ssuse +++| CHAR$10[0] = XCDD(FCT$Y[0]); 03083 M00S03082.ssuse +++| RPLINE(OUT$FETP,CHAR$R2[0],2,2,1); 03084 M00S03083.ssuse +++| 03085 M00S03084.ssuse +++| CHAR$10[0] = XCDD(FCT$Z[0]); 03086 M00S03085.ssuse +++| RPLINE(OUT$FETP,CHAR$R2[0],6,2,1); 03087 M00S03086.ssuse +++| 03088 M00S03087.ssuse +++| CHAR$10[0] = FCT$CCOD[0]; 03089 M00S03088.ssuse +++| BZFILL(CHAR,TYPFILL"BFILL",10); 03090 M00S03089.ssuse +++| RPLINE(OUT$FETP,CHAR$L2[0],12,2,1); 03091 M00S03090.ssuse +++| 03092 M00S03091.ssuse +++| CHAR$10[0] = FCT$CSND[0]; 03093 M00S03092.ssuse +++| BZFILL(CHAR,TYPFILL"BFILL",10); 03094 M00S03093.ssuse +++| RPLINE(OUT$FETP,CHAR$L8[0],14,8,1); 03095 M00S03094.ssuse +++| 03096 M00S03095.ssuse +++| GP = J / MAXGRT; 03097 M00S03096.ssuse +++| CHAR$10[0] = XCDD(GP); 03098 M00S03097.ssuse +++| RPLINE(OUT$FETP,CHAR$R2[0],27,2,1); 03099 M00S03098.ssuse +++| 03100 M00S03099.ssuse +++| CHAR$10[0] = XCDD(J); 03101 M00S03100.ssuse +++| RPLINE(OUT$FETP,CHAR$R3[0],36,3,1); 03102 M00S03101.ssuse +++| 03103 M00S03102.ssuse +++| RPLINE(OUT$FETP,RPTFLAG,44,4,1); 03104 M00S03103.ssuse +++| 03105 M00S03104.ssuse +++| CHAR$10[0] = XCDD(FCT$FAUSF[0]); 03106 M00S03105.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],55,4,1); 03107 M00S03106.ssuse +++| 03108 M00S03107.ssuse +++| CHAR$10[0] = XCDD(FCT$FAULF[0]); 03109 M00S03108.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],64,4,1); 03110 M00S03109.ssuse +++| 03111 M00S03110.ssuse +++| CHAR$10[0] = XCDD(FCT$CDP[0]); 03112 M00S03111.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],77,4,1); 03113 M00S03112.ssuse +++| 03114 M00S03113.ssuse +++| CHAR$10[0] = XCDD(OCL); 03115 M00S03114.ssuse +++| RPLINE(OUT$FETP,CHAR$R2[0],88,2,0); 03116 M00S03115.ssuse +++| 03117 M00S03116.ssuse +++| LN$CNT = LN$CNT + 1; # INCREMENT LINE COUNT # 03118 M00S03117.ssuse +++| END # PROCESS AN *FCT* ENTRY # 03119 M00S03118.ssuse +++| 03120 M00S03119.ssuse +++| END # CHECK EACH SELECTED SM # 03121 M00S03120.ssuse +++| 03122 M00S03121.ssuse +++|# 03123 M00S03122.ssuse +++|* CLOSE THE CATALOG. 03124 M00S03123.ssuse +++|# 03125 M00S03124.ssuse +++| 03126 M00S03125.ssuse +++| CCLOSE(USARG$FM[0],SUBFAM,0,FLAG); 03127 M00S03126.ssuse +++| IF FLAG NQ CMASTAT"NOERR" 03128 M00S03127.ssuse +++| THEN # UNABLE TO CLOSE CATALOG # 03129 M00S03128.ssuse +++| BEGIN 03130 M00S03129.ssuse +++| SSMSG$PROC[0] = PROCNAME; 03131 M00S03130.ssuse +++| MESSAGE(SSMSG[0],SYSUDF1); 03132 M00S03131.ssuse +++| RPCLOSE(OUT$FETP); 03133 M00S03132.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 03134 M00S03133.ssuse +++| END 03135 M00S03134.ssuse +++| 03136 M00S03135.ssuse +++| ZFILL(FCTBUFCW,1); # CLEAR CONTROL BUFFER # 03137 M00S03136.ssuse +++| 03138 M00S03137.ssuse +++| END # PROCESS EACH SUBFAMILY # 03139 M00S03138.ssuse +++| 03140 M00S03139.ssuse +++| RETURN; 03141 M00S03140.ssuse +++| 03142 M00S03141.ssuse +++| END # USRPTC # 03143 M00S03142.ssuse +++| 03144 M00S03143.ssuse +++| TERM 03145 M00S03144.ssuse +++|PROC USRPTD; 03146 M00S03145.ssuse +++|# TITLE USRPTD - GENERATES OPTIONAL REPORT D. # 03147 M00S03146.ssuse +++| 03148 M00S03147.ssuse +++| BEGIN # USRPTD # 03149 M00S03148.ssuse +++| 03150 M00S03149.ssuse +++|# 03151 M00S03150.ssuse +++|** USRPTD - GENERATES OPTIONAL REPORT D. 03152 M00S03151.ssuse +++|* 03153 M00S03152.ssuse +++|* THIS PROC LISTS DETAILED AU STATUS INFORMATION FOR EACH 03154 M00S03153.ssuse +++|* ENTRY IN THE SFMCATALOG PLUS CARTRIDGE USAGE INFORMATION. 03155 M00S03154.ssuse +++|* 03156 M00S03155.ssuse +++|* PROC USRPTD. 03157 M00S03156.ssuse +++|* 03158 M00S03157.ssuse +++|* ENTRY. (SEL$SB) = BITS SET FOR THE SELECTED SUBFAMILIES. 03159 M00S03158.ssuse +++|* (SEL$SM) = BITS SET FOR THE SELECTED SM-S. 03160 M00S03159.ssuse +++|* (USARG$FM) = FAMILY NAME. 03161 M00S03160.ssuse +++|* 03162 M00S03161.ssuse +++|* EXIT. OPTIONAL REPORT D GENERATED. 03163 M00S03162.ssuse +++|* 03164 M00S03163.ssuse +++|* MESSAGES. 1) FAMILY NOT FOUND. 03165 M00S03164.ssuse +++|* 2) UNABLE TO OPEN CATALOG. 03166 M00S03165.ssuse +++|* 3) SFMCATALOG PARITY ERROR. 03167 M00S03166.ssuse +++|* 4) SSUSE ABNORMAL, USRPTD. 03168 M00S03167.ssuse +++|* 5) CARTRIDGE NOT FOUND. 03169 M00S03168.ssuse +++|* 03170 M00S03169.ssuse +++|* NOTES. FOR EACH SELECTED SUBFAMILY, PROC *USRPTD* OPENS THE 03171 M00S03170.ssuse +++|* SFM CATALOG AND SEARCHES FOR THE CARTRIDGE WITH THE 03172 M00S03171.ssuse +++|* SELECTED *CSN* AND *CM*. WHEN THE CARTRIDGE IS FOUND 03173 M00S03172.ssuse +++|* THE CARTRIDGE LINK FIELD OF THE *FCT* ENTRY IS 03174 M00S03173.ssuse +++|* PRINTED IN OCTAL FOR EACH AU. IF THE CARTRIDGE 03175 M00S03174.ssuse +++|* IS NOT FOUND A MESSAGE IS ISSUED TO THE DAYFILE 03176 M00S03175.ssuse +++|* AND *SSUSE* ABORTS. 03177 M00S03176.ssuse +++|# 03178 M00S03177.ssuse +++| 03179 M00S03178.ssuse +++|# 03180 M00S03179.ssuse +++|**** PROC USRPTD - XREF LIST BEGIN. 03181 M00S03180.ssuse +++|# 03182 M00S03181.ssuse +++| 03183 M00S03182.ssuse +++| XREF 03184 M00S03183.ssuse +++| BEGIN 03185 M00S03184.ssuse +++| PROC BZFILL; # BLANK FILLS CHARACTERS # 03186 M00S03185.ssuse +++| PROC CCLOSE; # CLOSES CATALOG # 03187 M00S03186.ssuse +++| PROC CGETFCT; # GETS AN *FCT* ENTRY # 03188 M00S03187.ssuse +++| PROC COPEN; # OPENS CATALOG # 03189 M00S03188.ssuse +++| PROC CRDAST; # READ *AST* # 03190 M00S03189.ssuse +++| PROC LOFPROC; # LIST OF FILES PROCESSOR # 03191 M00S03190.ssuse +++| PROC MESSAGE; # PRINTS MESSAGE IN DAYFILE # 03192 M00S03191.ssuse +++| PROC RESTPFP; # RESTORE USER-S *PFP* AND ABORT 03193 M00S03192.ssuse +++| OR RETURN # 03194 M00S03193.ssuse +++| PROC RPCLOSE; # CLOSES THE REPORT FILE # 03195 M00S03194.ssuse +++| PROC RPEJECT; # PAGE EJECTS FOR REPORT FILE # 03196 M00S03195.ssuse +++| PROC RPLINE; # WRITES LINE TO REPORT FILE # 03197 M00S03196.ssuse +++| PROC RPSPACE; # PUTS BLANK LINE ON REPORT FILE # 03198 M00S03197.ssuse +++| PROC SETPFP; # SET FAMILY AND USER INDEX # 03199 M00S03198.ssuse +++| PROC ZFILL; # ZERO FILL ARRAY # 03200 M00S03199.ssuse +++| FUNC XCDD C(10); # CONVERTS INTEGER TO DISPLAY # 03201 M00S03200.ssuse +++| FUNC XCOD C(10); # CONVERTS OCTAL TO DISPLAY # 03202 M00S03201.ssuse +++| PROC XWOD; # CONVERT OCTAL TO DISPLAY # 03203 M00S03202.ssuse +++| END 03204 M00S03203.ssuse +++| 03205 M00S03204.ssuse +++|# 03206 M00S03205.ssuse +++|**** PROC USRPTD - XREF LIST END. 03207 M00S03206.ssuse +++|# 03208 M00S03207.ssuse +++| 03209 M00S03208.ssuse +++| DEF PROCNAME #"USRPTD."#; # PROC NAME # 03210 M00S03209.ssuse +++| DEF LISTCON #0#; # DO NOT LIST COMDECKS # 03211 M00S03210.ssuse +++|*CALL COMBFAS 03212 M00S03211.ssuse +++|*CALL COMBBZF 03213 M00S03212.ssuse +++|*CALL COMBCMD 03214 M00S03213.ssuse +++|*CALL COMBCMS 03215 M00S03214.ssuse +++|*CALL COMBMCT 03216 M00S03215.ssuse +++|*CALL COMBPFP 03217 M00S03216.ssuse +++|*CALL COMSPFM 03218 M00S03217.ssuse +++|*CALL COMXMSC 03219 M00S03218.ssuse +++|*CALL COMTLAB 03220 M00S03219.ssuse +++|*CALL COMTOUT 03221 M00S03220.ssuse +++|*CALL COMTUSE 03222 M00S03221.ssuse +++|*CALL COMTUSP 03223 M00S03222.ssuse +++| 03224 M00S03223.ssuse +++| ITEM ASTADR I; # *AST* BUFFER ADDRESS # 03225 M00S03224.ssuse +++| ITEM CODE C(2); # CODE FIELD FOR OUTPUT # 03226 M00S03225.ssuse +++| ITEM COLUMN I; # COLUMN POSITION FOR OUTPUT # 03227 M00S03226.ssuse +++| ITEM ER$CODE C(1); # CODE FIELD FOR OUTPUT # 03228 M00S03227.ssuse +++| ITEM FCTADR I; # *FCT* BUFFER ADDRESS # 03229 M00S03228.ssuse +++| ITEM FLAG I; # ERROR FLAG # 03230 M00S03229.ssuse +++| ITEM GP I; # GROUP # 03231 M00S03230.ssuse +++| ITEM FOUND B; # CSN FOUND FLAG # 03232 M00S03231.ssuse +++| ITEM I I; # LOOP VARIABLE # 03233 M00S03232.ssuse +++| ITEM J I; # LOOP VARIABLE # 03234 M00S03233.ssuse +++| ITEM LN$CNT I; # COUNT OF PRINTED LINES # 03235 M00S03234.ssuse +++| ITEM N I; # LOOP VARIABLE # 03236 M00S03235.ssuse +++| ITEM NUM C(10); # AU NUMBER # 03237 M00S03236.ssuse +++| ITEM SM I; # LOOP VARIABLE # 03238 M00S03237.ssuse +++| ITEM SUBFAM I; # LOOP VARIABLE # 03239 M00S03238.ssuse +++| ITEM TEMP$FAM C(7); # HOLDS FAMILY NAME # 03240 M00S03239.ssuse +++| ITEM TEMP$SM C(1); # TEMPORARY CHARACTER # 03241 M00S03240.ssuse +++| 03242 M00S03241.ssuse +++| ARRAY DIS[0:0] P(2); 03243 M00S03242.ssuse +++| BEGIN 03244 M00S03243.ssuse +++| ITEM DIS$CLFG C(01,00,10); # LINK FIELD IN DISPLAY CODE # 03245 M00S03244.ssuse +++| END 03246 M00S03245.ssuse +++| 03247 M00S03246.ssuse +++| CONTROL EJECT; 03248 M00S03247.ssuse +++| 03249 M00S03248.ssuse +++| ASTADR = LOC(US$ASTENT[0]); 03250 M00S03249.ssuse +++| FCTADR = LOC(US$FCTENT[0]); 03251 M00S03250.ssuse +++| SEL$CSN = USARG$CN[0]; 03252 M00S03251.ssuse +++| FOUND = FALSE; 03253 M00S03252.ssuse +++| 03254 M00S03253.ssuse +++| IF USARG$CM[0] EQ 0 03255 M00S03254.ssuse +++| THEN # USE DEFAULT MANUFACTURER # 03256 M00S03255.ssuse +++| BEGIN 03257 M00S03256.ssuse +++| SEL$CM = IBMCART; 03258 M00S03257.ssuse +++| END 03259 M00S03258.ssuse +++| 03260 M00S03259.ssuse +++| ELSE # USE SPECIFIED MANUFACTURER # 03261 M00S03260.ssuse +++| BEGIN 03262 M00S03261.ssuse +++| SEL$CM = USARG$CM[0]; 03263 M00S03262.ssuse +++| END 03264 M00S03263.ssuse +++| 03265 M00S03264.ssuse +++|# 03266 M00S03265.ssuse +++|* CHANGE ZERO FILL TO SPACE FILL FOR FAMILY AND CARTRIDGE-ID. 03267 M00S03266.ssuse +++|# 03268 M00S03267.ssuse +++| 03269 M00S03268.ssuse +++| TEMP$FAM = USARG$FM[0]; 03270 M00S03269.ssuse +++| BZFILL(TEMP$FAM,TYPFILL"BFILL",7); 03271 M00S03270.ssuse +++| BZFILL(SEL$CM,TYPFILL"BFILL",2); 03272 M00S03271.ssuse +++| BZFILL(SEL$CSN,TYPFILL"BFILL",8); 03273 M00S03272.ssuse +++| 03274 M00S03273.ssuse +++|# 03275 M00S03274.ssuse +++|* CHECK IF SUBFAMILY SELECTED. 03276 M00S03275.ssuse +++|# 03277 M00S03276.ssuse +++| 03278 M00S03277.ssuse +++| SLOWFOR SUBFAM = 0 STEP 1 UNTIL MAXSF 03279 M00S03278.ssuse +++| DO 03280 M00S03279.ssuse +++| BEGIN # PROCESS EACH SUBFAMILY # 03281 M00S03280.ssuse +++| IF B<SUBFAM,1>SEL$SB EQ 0 03282 M00S03281.ssuse +++| THEN # SUBFAMILY NOT SELECTED # 03283 M00S03282.ssuse +++| BEGIN 03284 M00S03283.ssuse +++| TEST SUBFAM; 03285 M00S03284.ssuse +++| END 03286 M00S03285.ssuse +++| 03287 M00S03286.ssuse +++|# 03288 M00S03287.ssuse +++|* SET THE FAMILY AND USER INDEX. 03289 M00S03288.ssuse +++|# 03290 M00S03289.ssuse +++| 03291 M00S03290.ssuse +++| PFP$WRD0[0] = 0; 03292 M00S03291.ssuse +++| PFP$FAM[0] = USARG$FM[0]; 03293 M00S03292.ssuse +++| PFP$UI[0] = DEF$UI + SUBFAM; 03294 M00S03293.ssuse +++| PFP$FG1[0] = TRUE; 03295 M00S03294.ssuse +++| PFP$FG4[0] = TRUE; 03296 M00S03295.ssuse +++| SETPFP(PFP[0]); 03297 M00S03296.ssuse +++| IF PFP$STAT[0] NQ 0 03298 M00S03297.ssuse +++| THEN # FAMILY NOT FOUND # 03299 M00S03298.ssuse +++| BEGIN 03300 M00S03299.ssuse +++| SSMSG$LINE[0] = " FAMILY NOT FOUND."; 03301 M00S03300.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 03302 M00S03301.ssuse +++| RPCLOSE(OUT$FETP); 03303 M00S03302.ssuse +++| RESTPFP(PFP$ABORT); 03304 M00S03303.ssuse +++| END 03305 M00S03304.ssuse +++| 03306 M00S03305.ssuse +++|# 03307 M00S03306.ssuse +++|* OPEN THE CATALOG AND CHECK THE RETURNED ERROR STATUS. 03308 M00S03307.ssuse +++|# 03309 M00S03308.ssuse +++| 03310 M00S03309.ssuse +++| CHAR$10 = XCDD(SUBFAM); 03311 M00S03310.ssuse +++| SFMCAT$LST[0] = CHAR$R1[0]; 03312 M00S03311.ssuse +++| RPLINE(OUT$FETP,CHAR$R3[0],8,3,1); 03313 M00S03312.ssuse +++| COPEN(USARG$FM[0],SUBFAM,SFMCATNM[0],"RM",TRUE,FLAG); 03314 M00S03313.ssuse +++| IF FLAG EQ CMASTAT"NOERR" 03315 M00S03314.ssuse +++| THEN 03316 M00S03315.ssuse +++| BEGIN 03317 M00S03316.ssuse +++| LOFPROC(OCT$LFN[1]); # ADD LFN TO LIST OF FILES # 03318 M00S03317.ssuse +++| END 03319 M00S03318.ssuse +++| 03320 M00S03319.ssuse +++| IF FLAG NQ CMASTAT"NOERR" 03321 M00S03320.ssuse +++| THEN 03322 M00S03321.ssuse +++| BEGIN # CHECK FOR TYPE OF ERROR # 03323 M00S03322.ssuse +++| IF FLAG EQ CMASTAT"INTLK" ## 03324 M00S03323.ssuse +++| OR FLAG EQ CMASTAT"ATTERR" 03325 M00S03324.ssuse +++| THEN 03326 M00S03325.ssuse +++| BEGIN 03327 M00S03326.ssuse +++| SSMSG$LINE[0] = " UNABLE TO OPEN CATALOG"; 03328 M00S03327.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 03329 M00S03328.ssuse +++| RPCLOSE(OUT$FETP); 03330 M00S03329.ssuse +++| RESTPFP(PFP$ABORT); 03331 M00S03330.ssuse +++| END 03332 M00S03331.ssuse +++| 03333 M00S03332.ssuse +++| IF FLAG EQ CMASTAT"CIOERR" 03334 M00S03333.ssuse +++| THEN 03335 M00S03334.ssuse +++| BEGIN 03336 M00S03335.ssuse +++| SSMSG$LINE[0] = " SFMCATALOG PARITY ERROR."; 03337 M00S03336.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 03338 M00S03337.ssuse +++| RPCLOSE(OUT$FETP); 03339 M00S03338.ssuse +++| RESTPFP(PFP$ABORT); 03340 M00S03339.ssuse +++| END 03341 M00S03340.ssuse +++| 03342 M00S03341.ssuse +++| ELSE 03343 M00S03342.ssuse +++| BEGIN 03344 M00S03343.ssuse +++| SSMSG$PROC[0] = PROCNAME; 03345 M00S03344.ssuse +++| MESSAGE(SSMSG[0],SYSUDF1); 03346 M00S03345.ssuse +++| RPCLOSE(OUT$FETP); 03347 M00S03346.ssuse +++| RESTPFP(PFP$ABORT); 03348 M00S03347.ssuse +++| END 03349 M00S03348.ssuse +++| 03350 M00S03349.ssuse +++| END # CHECK FOR TYPE OF ERROR # 03351 M00S03350.ssuse +++| 03352 M00S03351.ssuse +++|# 03353 M00S03352.ssuse +++|* CHECK IF SM ASSIGNED TO SUBFAMILY. 03354 M00S03353.ssuse +++|# 03355 M00S03354.ssuse +++| 03356 M00S03355.ssuse +++| SLOWFOR SM = 1 STEP 1 UNTIL MAXSM 03357 M00S03356.ssuse +++| DO 03358 M00S03357.ssuse +++| BEGIN # CHECK EACH SELECTED SM # 03359 M00S03358.ssuse +++| IF B<SM,1>SEL$SM EQ 0 03360 M00S03359.ssuse +++| THEN # SM NOT SELECTED # 03361 M00S03360.ssuse +++| BEGIN 03362 M00S03361.ssuse +++| TEST SM; 03363 M00S03362.ssuse +++| END 03364 M00S03363.ssuse +++| 03365 M00S03364.ssuse +++| P<PREAMBLE> = PRMBADR; 03366 M00S03365.ssuse +++| TEMP$SM = SM; 03367 M00S03366.ssuse +++| LN$CNT = MAX$LN + 1; # INITIALIZE LINE COUNT # 03368 M00S03367.ssuse +++| 03369 M00S03368.ssuse +++|# 03370 M00S03369.ssuse +++|* IF NO ENTRIES FOR THIS SM, PROCESS THE NEXT SPECIFIED SM. 03371 M00S03370.ssuse +++|# 03372 M00S03371.ssuse +++| 03373 M00S03372.ssuse +++| IF PRM$SCW1[SM] EQ 0 03374 M00S03373.ssuse +++| THEN # SM NOT ASSIGNED TO SUBFAMILY # 03375 M00S03374.ssuse +++| BEGIN 03376 M00S03375.ssuse +++| TEST SM; 03377 M00S03376.ssuse +++| END 03378 M00S03377.ssuse +++| 03379 M00S03378.ssuse +++|# 03380 M00S03379.ssuse +++|* READ THE *AST* AND CHECK THE RETURNED ERROR STATUS. 03381 M00S03380.ssuse +++|# 03382 M00S03381.ssuse +++| 03383 M00S03382.ssuse +++| CRDAST(USARG$FM[0],SUBFAM,SM,ASTADR,0,FLAG); 03384 M00S03383.ssuse +++| IF FLAG NQ CMASTAT"NOERR" 03385 M00S03384.ssuse +++| THEN # UNABLE TO GET *AST* # 03386 M00S03385.ssuse +++| BEGIN 03387 M00S03386.ssuse +++| SSMSG$LINE[0] = " SFMCATALOG PARITY ERROR."; 03388 M00S03387.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 03389 M00S03388.ssuse +++| RPCLOSE(OUT$FETP); 03390 M00S03389.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 03391 M00S03390.ssuse +++| END 03392 M00S03391.ssuse +++| 03393 M00S03392.ssuse +++| P<AST> = ASTADR; 03394 M00S03393.ssuse +++| 03395 M00S03394.ssuse +++|# 03396 M00S03395.ssuse +++|* PROCESS ALL *FCT* ENTRIES. 03397 M00S03396.ssuse +++|# 03398 M00S03397.ssuse +++| 03399 M00S03398.ssuse +++| SLOWFOR J = 16 STEP 1 UNTIL PRM$ENTRC[SM] + 15 03400 M00S03399.ssuse +++| DO 03401 M00S03400.ssuse +++| BEGIN # PROCESS AN *FCT* ENTRY # 03402 M00S03401.ssuse +++| 03403 M00S03402.ssuse +++|# 03404 M00S03403.ssuse +++|* GET THE *FCT* ENTRY AND CHECK THE RETURNED ERROR STATUS. 03405 M00S03404.ssuse +++|# 03406 M00S03405.ssuse +++| 03407 M00S03406.ssuse +++| CGETFCT(USARG$FM[0],SUBFAM,SM,J,FCTADR,0,FLAG); 03408 M00S03407.ssuse +++| IF FLAG NQ CMASTAT"NOERR" 03409 M00S03408.ssuse +++| THEN # UNABLE TO GET *FCT* # 03410 M00S03409.ssuse +++| BEGIN 03411 M00S03410.ssuse +++| SSMSG$LINE[0] = " SFMCATALOG PARITY ERROR."; 03412 M00S03411.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 03413 M00S03412.ssuse +++| RPCLOSE(OUT$FETP); 03414 M00S03413.ssuse +++| RESTPFP(PFP$ABORT); 03415 M00S03414.ssuse +++| END 03416 M00S03415.ssuse +++| 03417 M00S03416.ssuse +++| P<FCT> = FCTADR; 03418 M00S03417.ssuse +++| 03419 M00S03418.ssuse +++|# 03420 M00S03419.ssuse +++|* CHECK THE CSN OF THE CARTRIDGE IN THIS CUBICLE. IF IT IS 03421 M00S03420.ssuse +++|* NOT THE SELECTED CSN, GET THE NEXT ENTRY. 03422 M00S03421.ssuse +++|# 03423 M00S03422.ssuse +++| 03424 M00S03423.ssuse +++| IF FCT$CSND[0] NQ SEL$CSN 03425 M00S03424.ssuse +++| THEN 03426 M00S03425.ssuse +++| BEGIN 03427 M00S03426.ssuse +++| TEST J; 03428 M00S03427.ssuse +++| END 03429 M00S03428.ssuse +++| 03430 M00S03429.ssuse +++|# 03431 M00S03430.ssuse +++|* IF THE CARTRIDGE MANUFACTURER IS DIFFERENT FROM THE SELECTED 03432 M00S03431.ssuse +++|* MANUFACTURER, GET THE NEXT ENTRY. 03433 M00S03432.ssuse +++|# 03434 M00S03433.ssuse +++| 03435 M00S03434.ssuse +++| IF SEL$CM NQ FCT$CCOD[0] 03436 M00S03435.ssuse +++| THEN 03437 M00S03436.ssuse +++| BEGIN 03438 M00S03437.ssuse +++| TEST J; 03439 M00S03438.ssuse +++| END 03440 M00S03439.ssuse +++| 03441 M00S03440.ssuse +++| FOUND = TRUE; 03442 M00S03441.ssuse +++| 03443 M00S03442.ssuse +++|# 03444 M00S03443.ssuse +++|* PROCESS EACH AU. 03445 M00S03444.ssuse +++|# 03446 M00S03445.ssuse +++| 03447 M00S03446.ssuse +++| SLOWFOR N = 0 STEP 8 UNTIL INAVOT 03448 M00S03447.ssuse +++| DO 03449 M00S03448.ssuse +++| BEGIN # PROCESS EACH AU # 03450 M00S03449.ssuse +++| 03451 M00S03450.ssuse +++|# 03452 M00S03451.ssuse +++|* WRITE HEADER TO REPORT FILE IF NEW PAGE. 03453 M00S03452.ssuse +++|# 03454 M00S03453.ssuse +++| 03455 M00S03454.ssuse +++| IF LN$CNT GQ MAX$LN 03456 M00S03455.ssuse +++| THEN 03457 M00S03456.ssuse +++| BEGIN # PAGE EJECT AND PRINT HEADER # 03458 M00S03457.ssuse +++| RPEJECT(OUT$FETP); 03459 M00S03458.ssuse +++| RPLINE(OUT$FETP,"SSUSE OPTIONAL REPORT D - ",5,26,1); 03460 M00S03459.ssuse +++| RPLINE(OUT$FETP,"DETAILED AU STATUS REPORT",31,25,1); 03461 M00S03460.ssuse +++| RPLINE(OUT$FETP,"SM = ",59,5,1); 03462 M00S03461.ssuse +++| RPLINE(OUT$FETP,TEMP$SM,64,1,1); 03463 M00S03462.ssuse +++| CHAR$10[0] = XCOD(SUBFAM); 03464 M00S03463.ssuse +++| RPLINE(OUT$FETP,"SUBFAMILY = ",68,12,1); 03465 M00S03464.ssuse +++| RPLINE(OUT$FETP,CHAR$R1[0],80,1,1); 03466 M00S03465.ssuse +++| RPLINE(OUT$FETP,"FAMILY = ",84,9,1); 03467 M00S03466.ssuse +++| RPLINE(OUT$FETP,TEMP$FAM,93,7,0); 03468 M00S03467.ssuse +++| RPSPACE(OUT$FETP,SP"SPACE",1); 03469 M00S03468.ssuse +++| RPLINE(OUT$FETP,"F = FLAWED AU ",9,14,1); 03470 M00S03469.ssuse +++| RPLINE(OUT$FETP,"(DEMARK FAILURE)",23,16,0); 03471 M00S03470.ssuse +++| RPLINE(OUT$FETP,"V = START OF VOLUME",9,19,0); 03472 M00S03471.ssuse +++| RPLINE(OUT$FETP,"E = ONE OF THE ERROR FLAGS",9,26,1); 03473 M00S03472.ssuse +++| RPLINE(OUT$FETP," SET (AU CONFLICT, FROZEN ",35,26,1); 03474 M00S03473.ssuse +++| RPLINE(OUT$FETP,"CHAIN, START OF FRAGMENT)",61,25,0); 03475 M00S03474.ssuse +++| RPSPACE(OUT$FETP,SP"SPACE",1); 03476 M00S03475.ssuse +++| RPLINE(OUT$FETP,"FCTORD Y Z",5,18,1); 03477 M00S03476.ssuse +++| RPLINE(OUT$FETP,"CM CSN GROUP",30,20,0); 03478 M00S03477.ssuse +++| 03479 M00S03478.ssuse +++| CHAR$10[0] = XCDD(J); 03480 M00S03479.ssuse +++| RPLINE(OUT$FETP,CHAR$R3[0],5,3,1); 03481 M00S03480.ssuse +++| 03482 M00S03481.ssuse +++| CHAR$10[0] = XCDD(FCT$Y[0]); 03483 M00S03482.ssuse +++| RPLINE(OUT$FETP,CHAR$R2[0],15,2,1); 03484 M00S03483.ssuse +++| 03485 M00S03484.ssuse +++| CHAR$10[0] = XCDD(FCT$Z[0]); 03486 M00S03485.ssuse +++| RPLINE(OUT$FETP,CHAR$R2[0],21,2,1); 03487 M00S03486.ssuse +++| 03488 M00S03487.ssuse +++| CHAR$10[0] = FCT$CCOD[0]; 03489 M00S03488.ssuse +++| BZFILL(CHAR,TYPFILL"BFILL",2); 03490 M00S03489.ssuse +++| RPLINE(OUT$FETP,CHAR$L2[0],30,2,1); 03491 M00S03490.ssuse +++| 03492 M00S03491.ssuse +++| CHAR$10[0] = FCT$CSND[0]; 03493 M00S03492.ssuse +++| BZFILL(CHAR,TYPFILL"BFILL",10); 03494 M00S03493.ssuse +++| RPLINE(OUT$FETP,CHAR$L8[0],32,8,1); 03495 M00S03494.ssuse +++| 03496 M00S03495.ssuse +++| GP = J / MAXGRT; 03497 M00S03496.ssuse +++| CHAR$10[0] = XCDD(GP); 03498 M00S03497.ssuse +++| RPLINE(OUT$FETP,CHAR$R2[0],46,2,1); 03499 M00S03498.ssuse +++| 03500 M00S03499.ssuse +++| IF (AST$AUSF[J] + AST$AULF[J] + AST$FLAWS[J]) EQ INAVOT 03501 M00S03500.ssuse +++| THEN 03502 M00S03501.ssuse +++| BEGIN 03503 M00S03502.ssuse +++| RPLINE(OUT$FETP,"*** EMPTY CARTRIDGE ***",55,23,0); 03504 M00S03503.ssuse +++| END 03505 M00S03504.ssuse +++| 03506 M00S03505.ssuse +++| ELSE 03507 M00S03506.ssuse +++| BEGIN 03508 M00S03507.ssuse +++| RPLINE(OUT$FETP," ",55,1,0); 03509 M00S03508.ssuse +++| END 03510 M00S03509.ssuse +++| 03511 M00S03510.ssuse +++| RPSPACE(OUT$FETP,SP"SPACE",1); 03512 M00S03511.ssuse +++| RPLINE(OUT$FETP,"AU XXX0",6,15,1); 03513 M00S03512.ssuse +++| RPLINE(OUT$FETP,"XXX1 XXX2",32,19,1); 03514 M00S03513.ssuse +++| RPLINE(OUT$FETP,"XXX3 XXX4",62,19,1); 03515 M00S03514.ssuse +++| RPLINE(OUT$FETP,"XXX5 XXX6",92,19,1); 03516 M00S03515.ssuse +++| RPLINE(OUT$FETP,"XXX7",122,4,0); 03517 M00S03516.ssuse +++| LN$CNT = 13; 03518 M00S03517.ssuse +++| END # PAGE EJECT AND PRINT HEADER # 03519 M00S03518.ssuse +++| 03520 M00S03519.ssuse +++| NUM = XCOD(N); 03521 M00S03520.ssuse +++| RPLINE(OUT$FETP,C<6,3>NUM,5,3,1); 03522 M00S03521.ssuse +++| RPLINE(OUT$FETP,"X",8,1,1); 03523 M00S03522.ssuse +++| COLUMN = 12; 03524 M00S03523.ssuse +++| 03525 M00S03524.ssuse +++| SLOWFOR I = N STEP 1 UNTIL N + 7 03526 M00S03525.ssuse +++| DO 03527 M00S03526.ssuse +++| BEGIN # PRINT EIGHT AU ON A LINE # 03528 M00S03527.ssuse +++| 03529 M00S03528.ssuse +++|# 03530 M00S03529.ssuse +++|* DO NOT CONTINUE IF ALL AU-S HAVE BEEN REPORTED. 03531 M00S03530.ssuse +++|# 03532 M00S03531.ssuse +++| 03533 M00S03532.ssuse +++| IF I GR INAVOT 03534 M00S03533.ssuse +++| THEN 03535 M00S03534.ssuse +++| BEGIN 03536 M00S03535.ssuse +++| RPLINE(OUT$FETP," ",135,1,0); # PRINT LINE # 03537 M00S03536.ssuse +++| TEST N; 03538 M00S03537.ssuse +++| END 03539 M00S03538.ssuse +++| 03540 M00S03539.ssuse +++|# 03541 M00S03540.ssuse +++|* DO NOT REPORT ON AU ZERO. 03542 M00S03541.ssuse +++|# 03543 M00S03542.ssuse +++| 03544 M00S03543.ssuse +++| IF N EQ 0 AND I EQ 0 03545 M00S03544.ssuse +++| THEN 03546 M00S03545.ssuse +++| BEGIN 03547 M00S03546.ssuse +++| COLUMN = COLUMN + 15; 03548 M00S03547.ssuse +++| TEST I; 03549 M00S03548.ssuse +++| END 03550 M00S03549.ssuse +++| 03551 M00S03550.ssuse +++| ER$CODE = " "; 03552 M00S03551.ssuse +++| CODE = " "; 03553 M00S03552.ssuse +++| SETFCTX(I); # SET *FWD* AND *FPS* VALUES # 03554 M00S03553.ssuse +++| 03555 M00S03554.ssuse +++|# 03556 M00S03555.ssuse +++|* CHECK EACH AU FOR FLAGS. 03557 M00S03556.ssuse +++|# 03558 M00S03557.ssuse +++| 03559 M00S03558.ssuse +++| IF FCT$AUCF(FWD,FPS) NQ 0 ## 03560 M00S03559.ssuse +++| OR FCT$FRCF(FWD,FPS) NQ 0 ## 03561 M00S03560.ssuse +++| OR FCT$SFF(FWD,FPS) NQ 0 03562 M00S03561.ssuse +++| THEN # ONE OF THE ERROR FLAGS SET # 03563 M00S03562.ssuse +++| BEGIN 03564 M00S03563.ssuse +++| ER$CODE = "E"; 03565 M00S03564.ssuse +++| END 03566 M00S03565.ssuse +++| 03567 M00S03566.ssuse +++| IF FCT$FAUF(FWD,FPS) NQ 0 03568 M00S03567.ssuse +++| THEN # FLAWED AU # 03569 M00S03568.ssuse +++| BEGIN 03570 M00S03569.ssuse +++| CODE = " F"; 03571 M00S03570.ssuse +++| END 03572 M00S03571.ssuse +++| 03573 M00S03572.ssuse +++| IF FCT$CAUF(FWD,FPS) EQ 0 03574 M00S03573.ssuse +++| THEN # START OF VOLUME # 03575 M00S03574.ssuse +++| BEGIN 03576 M00S03575.ssuse +++| CODE = " V"; 03577 M00S03576.ssuse +++| END 03578 M00S03577.ssuse +++| 03579 M00S03578.ssuse +++| IF FCT$FAUF(FWD,FPS) NQ 0 ## 03580 M00S03579.ssuse +++| AND FCT$CAUF(FWD,FPS) EQ 0 03581 M00S03580.ssuse +++| THEN # FLAWED AU AND START OF VOLUME # 03582 M00S03581.ssuse +++| BEGIN 03583 M00S03582.ssuse +++| CODE = "FV"; 03584 M00S03583.ssuse +++| END 03585 M00S03584.ssuse +++| 03586 M00S03585.ssuse +++|# 03587 M00S03586.ssuse +++|* CONVERT THE CARTRIDGE LINK FIELD TO OCTAL AND PRINT IT. 03588 M00S03587.ssuse +++|# 03589 M00S03588.ssuse +++| 03590 M00S03589.ssuse +++| XWOD(FCT$CLFG(FWD,FPS),DIS); 03591 M00S03590.ssuse +++| RPLINE(OUT$FETP,CODE,COLUMN,2,1); 03592 M00S03591.ssuse +++| RPLINE(OUT$FETP,DIS$CLFG[0],COLUMN + 2,10,1); 03593 M00S03592.ssuse +++| RPLINE(OUT$FETP,ER$CODE,COLUMN + 12,1,1); 03594 M00S03593.ssuse +++| COLUMN = COLUMN + 15; 03595 M00S03594.ssuse +++| END # PRINT EIGHT AU ON A LINE # 03596 M00S03595.ssuse +++| 03597 M00S03596.ssuse +++| LN$CNT = LN$CNT + 1; 03598 M00S03597.ssuse +++| RPLINE(OUT$FETP," ",135,1,0); # PRINT OUT LINE # 03599 M00S03598.ssuse +++| END # PROCESS EACH AU # 03600 M00S03599.ssuse +++| 03601 M00S03600.ssuse +++|# 03602 M00S03601.ssuse +++|* CLOSE THE SFM CATALOG AND RETURN. 03603 M00S03602.ssuse +++|# 03604 M00S03603.ssuse +++| 03605 M00S03604.ssuse +++| CCLOSE(USARG$FM[0],SUBFAM,0,FLAG); 03606 M00S03605.ssuse +++| IF FLAG NQ CMASTAT"NOERR" 03607 M00S03606.ssuse +++| THEN 03608 M00S03607.ssuse +++| BEGIN 03609 M00S03608.ssuse +++| SSMSG$PROC[0] = PROCNAME; 03610 M00S03609.ssuse +++| MESSAGE(SSMSG[0],SYSUDF1); 03611 M00S03610.ssuse +++| RPCLOSE(OUT$FETP); 03612 M00S03611.ssuse +++| RESTPFP(PFP$ABORT); 03613 M00S03612.ssuse +++| END 03614 M00S03613.ssuse +++| 03615 M00S03614.ssuse +++| RETURN; 03616 M00S03615.ssuse +++| 03617 M00S03616.ssuse +++| END # PROCESS AN *FCT* ENTRY # 03618 M00S03617.ssuse +++| 03619 M00S03618.ssuse +++| END # CHECK EACH SELECTED SM # 03620 M00S03619.ssuse +++| 03621 M00S03620.ssuse +++|# 03622 M00S03621.ssuse +++|* CLOSE THE CATALOG. 03623 M00S03622.ssuse +++|# 03624 M00S03623.ssuse +++| 03625 M00S03624.ssuse +++| CCLOSE(USARG$FM[0],SUBFAM,0,FLAG); 03626 M00S03625.ssuse +++| IF FLAG NQ CMASTAT"NOERR" 03627 M00S03626.ssuse +++| THEN # UNABLE TO CLOSE CATALOG # 03628 M00S03627.ssuse +++| BEGIN 03629 M00S03628.ssuse +++| SSMSG$PROC[0] = PROCNAME; 03630 M00S03629.ssuse +++| MESSAGE(SSMSG[0],SYSUDF1); 03631 M00S03630.ssuse +++| RPCLOSE(OUT$FETP); 03632 M00S03631.ssuse +++| RESTPFP(PFP$ABORT); 03633 M00S03632.ssuse +++| END 03634 M00S03633.ssuse +++| 03635 M00S03634.ssuse +++| ZFILL(FCTBUFCW,1); # CLEAR CONTROL BUFFER # 03636 M00S03635.ssuse +++| 03637 M00S03636.ssuse +++| END # PROCESS EACH SUBFAMILY # 03638 M00S03637.ssuse +++| 03639 M00S03638.ssuse +++|# 03640 M00S03639.ssuse +++|* IF CSN WAS NOT FOUND ISSUE MESSAGE TO DAYFILE AND ABORT. 03641 M00S03640.ssuse +++|# 03642 M00S03641.ssuse +++| 03643 M00S03642.ssuse +++| IF NOT FOUND 03644 M00S03643.ssuse +++| THEN 03645 M00S03644.ssuse +++| BEGIN 03646 M00S03645.ssuse +++| SSMSG$LINE[0] = " CARTRIDGE NOT FOUND."; 03647 M00S03646.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 03648 M00S03647.ssuse +++| RPCLOSE(OUT$FETP); 03649 M00S03648.ssuse +++| RESTPFP(PFP$ABORT); 03650 M00S03649.ssuse +++| END 03651 M00S03650.ssuse +++| 03652 M00S03651.ssuse +++| RETURN; 03653 M00S03652.ssuse +++| 03654 M00S03653.ssuse +++| END # USRPTD # 03655 M00S03654.ssuse +++| 03656 M00S03655.ssuse +++| TERM
cdc/nos2.source/opl.opl871/deck/ssuse.001.txt ยท Last modified: by 127.0.0.1