Action unknown: copypageplugin__copy
cdc:nos2.source:opl.opl871:deck:ssuse
Deck SSUSE
Library Member Format: MODIFY
Listing Sections
- Deck SSUSE Start
- Deck SSUSE Part 1 (Line 2204)
Source
Seq # *Modification Id* Act ----------------------------+ 00001 M00S00001.ssuse +++|PRGM SSUSE; 00002 M00S00002.ssuse +++|# TITLE SSUSE - INITIALIZES *SSUSE*. # 00003 M00S00003.ssuse +++| 00004 M00S00004.ssuse +++| BEGIN # SSUSE # 00005 M00S00005.ssuse +++| 00006 M00S00006.ssuse +++|# 00007 M00S00007.ssuse +++|*** SSUSE - INITIALIZES *SSUSE*. 00008 M00S00008.ssuse +++|* 00009 M00S00009.ssuse +++|* THIS PRGM DOES THE INITIALIZATION FOR THE *SSUSE* 00010 M00S00010.ssuse +++|* UTILITY BY PROCESSING THE CONTROL CARD AND SETTING 00011 M00S00011.ssuse +++|* UP POINTERS AND DEFAULT VALUES. 00012 M00S00012.ssuse +++|* 00013 M00S00013.ssuse +++|* SSUSE,OP,FM,SM,SB,CN,CM,L. 00014 M00S00014.ssuse +++|* 00015 M00S00015.ssuse +++|* PRGM SSUSE. 00016 M00S00016.ssuse +++|* 00017 M00S00017.ssuse +++|* ENTRY. INPUTS TO SSUSE ARE- 00018 M00S00018.ssuse +++|* OP SELECTS BASIC USAGE REPORT. 00019 M00S00019.ssuse +++|* OP=A OPTIONAL REPORT A AND THE BASIC REPORT. 00020 M00S00020.ssuse +++|* OP=B OPTIONAL REPORT B AND THE BASIC REPORT. 00021 M00S00021.ssuse +++|* OP=C OPTIONAL REPORT C AND THE BASIC REPORT. 00022 M00S00022.ssuse +++|* OP=D OPTIONAL REPORT D AND THE BASIC REPORT. 00023 M00S00023.ssuse +++|* OP=ABCD OPTIONAL REPORTS A, B, C, AND D AND ANY 00024 M00S00024.ssuse +++|* COMBINATION OF A, B, C, AND D MAY 00025 M00S00025.ssuse +++|* BE USED. 00026 M00S00026.ssuse +++|* OP OMITTED SAME AS OP. 00027 M00S00027.ssuse +++|* 00028 M00S00028.ssuse +++|* FM USE DEFAULT FAMILY. 00029 M00S00029.ssuse +++|* FM=FAMILY THE SPECIFIED FAMILY WILL BE REPORTED. 00030 M00S00030.ssuse +++|* FM OMITTED SAME AS FM. 00031 M00S00031.ssuse +++|* 00032 M00S00032.ssuse +++|* SB ALL SUBFAMILIES ARE TO BE PROCESSED. 00033 M00S00033.ssuse +++|* SB=CHARS SELECT UP TO EIGHT SUBFAMILIES. THERE 00034 M00S00034.ssuse +++|* ARE EIGHT POSSIBLE SUBFAMILIES FROM 0 00035 M00S00035.ssuse +++|* TO 7 (E.G. SB=723 SELECTS SUBFAMILIES 00036 M00S00036.ssuse +++|* 2, 3, AND 7). 00037 M00S00037.ssuse +++|* SB OMITTED SAME AS SB. 00038 M00S00038.ssuse +++|* 00039 M00S00039.ssuse +++|* SM SM A WILL BE REPORTED. 00040 M00S00040.ssuse +++|* SM=CHARS SELECT UP TO EIGHT SM-S, WHICH CAN 00041 M00S00041.ssuse +++|* BE ANY OF THE FOLLOWING (E.G. SM=AGC 00042 M00S00042.ssuse +++|* SELECTS SM A, C, AND G): 00043 M00S00043.ssuse +++|* A - SM A 00044 M00S00044.ssuse +++|* B - SM B 00045 M00S00045.ssuse +++|* C - SM C 00046 M00S00046.ssuse +++|* D - SM D 00047 M00S00047.ssuse +++|* E - SM E 00048 M00S00048.ssuse +++|* F - SM F 00049 M00S00049.ssuse +++|* G - SM G 00050 M00S00050.ssuse +++|* H - SM H 00051 M00S00051.ssuse +++|* SM OMITTED SAME AS SM. 00052 M00S00052.ssuse +++|* 00053 M00S00053.ssuse +++|* L LISTABLE OUTPUT ON FILE *OUTPUT*. 00054 M00S00054.ssuse +++|* L=LFN LISTABLE OUTPUT ON FILE *LFN*. 00055 M00S00055.ssuse +++|* L=0 NO OUTPUT FILE GENERATED. 00056 M00S00056.ssuse +++|* L OMITTED SAME AS L. 00057 M00S00057.ssuse +++|* 00058 M00S00058.ssuse +++|* CN NOT PERMITTED. 00059 M00S00059.ssuse +++|* CN=CSN THE SELECTED CSN WILL BE REPORTED IN 00060 M00S00060.ssuse +++|* REPORT D. 00061 M00S00061.ssuse +++|* CN OMITTED NOT PERMITTED. 00062 M00S00062.ssuse +++|* 00063 M00S00063.ssuse +++|* CM MANUFACTURER OF CARTRIDGE *CN*. DEFAULT 00064 M00S00064.ssuse +++|* MANUFACTURER IS USED. 00065 M00S00065.ssuse +++|* CM=A MANUFACTURER *A-* IS USED, (A- = IBM). 00066 M00S00066.ssuse +++|* CM OMITTED SAME AS *CM*. 00067 M00S00067.ssuse +++|* 00068 M00S00068.ssuse +++|* EXIT. *SSUSE* PROCESSING COMPLETE OR AN ERROR 00069 M00S00069.ssuse +++|* CONDITION ENCOUNTERED. 00070 M00S00070.ssuse +++|* 00071 M00S00071.ssuse +++|* MESSAGES. 1. SSUSE COMPLETE. 00072 M00S00072.ssuse +++|* 2. SSUSE - ARGUMENT ERROR. 00073 M00S00073.ssuse +++|* 3. SSUSE - MUST BE SYSTEM ORIGIN. 00074 M00S00074.ssuse +++|* 00075 M00S00075.ssuse +++|* NOTES. PRGM *SSUSE* INITIALIZES *SSUSE*. A PARAMETER 00076 M00S00076.ssuse +++|* TABLE IS SET UP BEFORE ANY PROCESSING IS DONE. 00077 M00S00077.ssuse +++|* *SSUSE* THEN PROCESSES THE CONTROL CARD, WHERE THE 00078 M00S00078.ssuse +++|* PROCESSED PARAMETERS ARE RETURNED IN THE COMMON 00079 M00S00079.ssuse +++|* AREA *TUSPCOM*. ANY SYNTAX ERROR IN THE CONTROL 00080 M00S00080.ssuse +++|* CARD CAUSES *SSUSE* TO ABORT. AFTER THE PARAMETERS 00081 M00S00081.ssuse +++|* ARE PROCESSED AND SYNTAX CHECKED, THEY ARE THEN 00082 M00S00082.ssuse +++|* CHECKED BY *USOPT* TO SEE IF THE OPTIONS SPECIFIED 00083 M00S00083.ssuse +++|* ARE VALID. *USOPT* ABORTS WITH A DESCRIPTIVE 00084 M00S00084.ssuse +++|* ERROR MESSAGE WHENEVER IT ENCOUNTERS AN 00085 M00S00085.ssuse +++|* ERROR CONDITION. PROC *USRPBAS* IS CALLED TO 00086 M00S00086.ssuse +++|* GENERATE THE BASIC AND OPTIONAL REPORTS. AN 00087 M00S00087.ssuse +++|* *SSUSE COMPLETE* MESSAGE IS ISSUED TO THE DAYFILE 00088 M00S00088.ssuse +++|* IF ALL REPORTS HAVE BEEN GENERATED SUCCESSFULLY.
Line S00089 Modification History | |
---|---|
M01 (Removed by) | 281l803 |
Seq # *Modification Id* Act ----------------------------+ 00089 M01S00089.281l803 ---|* COPYRIGHT CONTROL DATA CORP., 1983.
Line S00001 Modification History | |
---|---|
M01 (Added by) | 281l803 |
Seq # *Modification Id* Act ----------------------------+ 00090 M01S00001.281l803 +++|* COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. 00091 M00S00090.ssuse +++|# 00092 M00S00091.ssuse +++| 00093 M00S00092.ssuse +++|# 00094 M00S00093.ssuse +++|**** PROC SSUSE - XREF LIST BEGIN. 00095 M00S00094.ssuse +++|# 00096 M00S00095.ssuse +++| 00097 M00S00096.ssuse +++| XREF 00098 M00S00097.ssuse +++| BEGIN 00099 M00S00098.ssuse +++| PROC ABORT; # CALLS *ABORT* MACRO # 00100 M00S00099.ssuse +++| PROC GETFAM; # GETS DEFAULT FAMILY # 00101 M00S00100.ssuse +++| PROC GETPFP; # GET USER INDEX AND FAMILY # 00102 M00S00101.ssuse +++| PROC GETSPS; # GET SYSTEM ORIGIN STATUS # 00103 M00S00102.ssuse +++| PROC MESSAGE; # DISPLAYS MESSAGE IN DAYFILE # 00104 M00S00103.ssuse +++| PROC RESTPFP; # RESTORE USER-S *PFP* AND ABORT 00105 M00S00104.ssuse +++| OR RETURN # 00106 M00S00105.ssuse +++| PROC SSINIT; # SETS UP TABLES AND POINTERS # 00107 M00S00106.ssuse +++| PROC USOPT; # CHECKS FOR VALID OPTIONS # 00108 M00S00107.ssuse +++| PROC USRPBAS; # GENERATES BASIC AND OPTIONAL 00109 M00S00108.ssuse +++| REPORTS # 00110 M00S00109.ssuse +++| PROC USTAB; # SETS UP PARAMETER TABLE # 00111 M00S00110.ssuse +++| PROC XARG; # CRACK PARAMETER LIST # 00112 M00S00111.ssuse +++| END 00113 M00S00112.ssuse +++| 00114 M00S00113.ssuse +++|# 00115 M00S00114.ssuse +++|**** PROC SSUSE - XREF LIST END. 00116 M00S00115.ssuse +++|# 00117 M00S00116.ssuse +++| 00118 M00S00117.ssuse +++| DEF RSLEN #1#; # RETURN STATUS WORD LENGTH # 00119 M00S00118.ssuse +++| DEF LISTCON #0#; # DO NOT LIST COMDECKS # 00120 M00S00119.ssuse +++| CONTROL PRESET; 00121 M00S00120.ssuse +++|*CALL COMBFAS 00122 M00S00121.ssuse +++|*CALL COMBCMD 00123 M00S00122.ssuse +++|*CALL COMBMCT 00124 M00S00123.ssuse +++|*CALL COMBPFP 00125 M00S00124.ssuse +++|*CALL COMXMSC 00126 M00S00125.ssuse +++|*CALL COMSPFM 00127 M00S00126.ssuse +++|*CALL COMTFMT 00128 M00S00127.ssuse +++|*CALL COMTUSE 00129 M00S00128.ssuse +++|*CALL COMTUSP 00130 M00S00129.ssuse +++| 00131 M00S00130.ssuse +++| ITEM ARGLIST U; # ADDRESS OF ARGUMENT TABLE # 00132 M00S00131.ssuse +++| ITEM DEFAULT I; # DEFAULT FAMILY ORDINAL # 00133 M00S00132.ssuse +++| ITEM FAM$NUM I; # NUMBER OF FAMILIES # 00134 M00S00133.ssuse +++| ITEM FLAG I; # ERROR FLAG # 00135 M00S00134.ssuse +++| ITEM LINK I; # LINK FAMILY ORDINAL # 00136 M00S00135.ssuse +++| ITEM SSID I; # SUBSYSTEM ID # 00137 M00S00136.ssuse +++| 00138 M00S00137.ssuse +++| ARRAY SPSSTAT [0:0] S(RSLEN); 00139 M00S00138.ssuse +++| BEGIN 00140 M00S00139.ssuse +++| ITEM SPS$STATUS U(00,48,12); # RETURN STATUS # 00141 M00S00140.ssuse +++| END 00142 M00S00141.ssuse +++| 00143 M00S00142.ssuse +++| CONTROL EJECT; 00144 M00S00143.ssuse +++| 00145 M00S00144.ssuse +++|# 00146 M00S00145.ssuse +++|* IF THE USER JOB HAS SYSTEM ORIGIN PRIVILEGES THEN SAVE THE USER-S 00147 M00S00146.ssuse +++|* CURRENT FAMILY AND INDEX IN COMMON. 00148 M00S00147.ssuse +++|# 00149 M00S00148.ssuse +++| 00150 M00S00149.ssuse +++| GETSPS(SPSSTAT); # GET SYSTEM ORIGIN STATUS # 00151 M00S00150.ssuse +++| IF SPS$STATUS NQ 0 00152 M00S00151.ssuse +++| THEN 00153 M00S00152.ssuse +++| BEGIN 00154 M00S00153.ssuse +++| SSMSG$LINE[0] = " SSUSE - MUST BE SYSTEM ORIGIN."; 00155 M00S00154.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 00156 M00S00155.ssuse +++| ABORT; 00157 M00S00156.ssuse +++| END 00158 M00S00157.ssuse +++| 00159 M00S00158.ssuse +++| GETPFP(PFP[0]); 00160 M00S00159.ssuse +++| USER$FAM[0] = PFP$FAM[0]; 00161 M00S00160.ssuse +++| USER$UI[0] = PFP$UI[0]; 00162 M00S00161.ssuse +++| 00163 M00S00162.ssuse +++|# 00164 M00S00163.ssuse +++|* PROCESS THE PARAMETERS ON *SSUSE* CALL. 00165 M00S00164.ssuse +++|# 00166 M00S00165.ssuse +++| 00167 M00S00166.ssuse +++| USTAB(ARGLIST); # SET UP THE ARGUMENT LIST # 00168 M00S00167.ssuse +++| XARG(ARGLIST,0,FLAG); # PROCESS THE CONTROL STATEMENT # 00169 M00S00168.ssuse +++| IF FLAG NQ 0 00170 M00S00169.ssuse +++| THEN # SYNTAX ERROR # 00171 M00S00170.ssuse +++| BEGIN 00172 M00S00171.ssuse +++| SSMSG$LINE[0] = " SSUSE - ARGUMENT ERROR."; 00173 M00S00172.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 00174 M00S00173.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 00175 M00S00174.ssuse +++| END 00176 M00S00175.ssuse +++| 00177 M00S00176.ssuse +++|# 00178 M00S00177.ssuse +++|* CONVERT PARAMETERS AND CHECK FOR ALL THE VALID 00179 M00S00178.ssuse +++|* OPTIONS ON THE CONTROL CARD. 00180 M00S00179.ssuse +++|# 00181 M00S00180.ssuse +++| 00182 M00S00181.ssuse +++| USOPT; 00183 M00S00182.ssuse +++| 00184 M00S00183.ssuse +++|# 00185 M00S00184.ssuse +++|* IF *FM* IS NOT SPECIFIED, USE THE DEFAULT FAMILY. 00186 M00S00185.ssuse +++|# 00187 M00S00186.ssuse +++| 00188 M00S00187.ssuse +++| SSID = ATAS; 00189 M00S00188.ssuse +++| GETFAM(FAMT[1],FAM$NUM,LINK,DEFAULT,SSID); 00190 M00S00189.ssuse +++| DEF$FAM = FAM$NAME[DEFAULT]; 00191 M00S00190.ssuse +++| IF USARG$FM[0] EQ 0 00192 M00S00191.ssuse +++| THEN 00193 M00S00192.ssuse +++| BEGIN 00194 M00S00193.ssuse +++| USARG$FM[0] = DEF$FAM; 00195 M00S00194.ssuse +++| END 00196 M00S00195.ssuse +++| 00197 M00S00196.ssuse +++|# 00198 M00S00197.ssuse +++|* INITIALIZE TABLES AND POINTERS NEEDED BY 00199 M00S00198.ssuse +++|* CATALOG/MAP ACCESS ROUTINES. 00200 M00S00199.ssuse +++|# 00201 M00S00200.ssuse +++| 00202 M00S00201.ssuse +++| SSINIT; 00203 M00S00202.ssuse +++| 00204 M00S00203.ssuse +++|# 00205 M00S00204.ssuse +++|* GENERATE THE BASIC AND OPTIONAL REPORTS REQUESTED BY 00206 M00S00205.ssuse +++|* THE CONTROL CARD PARAMETERS. 00207 M00S00206.ssuse +++|# 00208 M00S00207.ssuse +++| 00209 M00S00208.ssuse +++| USRPBAS; 00210 M00S00209.ssuse +++| 00211 M00S00210.ssuse +++|# 00212 M00S00211.ssuse +++|* DISPLAY *SSUSE COMPLETE* IN THE DAYFILE. 00213 M00S00212.ssuse +++|# 00214 M00S00213.ssuse +++| 00215 M00S00214.ssuse +++| SSMSG$LINE[0] = " SSUSE COMPLETE."; 00216 M00S00215.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 00217 M00S00216.ssuse +++| RESTPFP(PFP$END); # RESTORE USER-S *PFP* # 00218 M00S00217.ssuse +++| 00219 M00S00218.ssuse +++| END # SSUSE # 00220 M00S00219.ssuse +++| 00221 M00S00220.ssuse +++| TERM 00222 M00S00221.ssuse +++|PROC USANALS((SUBFAM),(SMID)); 00223 M00S00222.ssuse +++|# TITLE USANALS - ANALYZES SFMCATALOG ENTRIES FOR A SM. # 00224 M00S00223.ssuse +++| 00225 M00S00224.ssuse +++| BEGIN # USANALS # 00226 M00S00225.ssuse +++| 00227 M00S00226.ssuse +++|# 00228 M00S00227.ssuse +++|** USANALS - ANALYZES SFM CATALOG ENTRIES FOR A SM. 00229 M00S00228.ssuse +++|* 00230 M00S00229.ssuse +++|* THIS PROCEDURE ANALYZES THE *AST* AND *FCT* ENTRIES FOR A SM. 00231 M00S00230.ssuse +++|* 00232 M00S00231.ssuse +++|* PROC USANALS((SUBFAM),(SMID)). 00233 M00S00232.ssuse +++|* 00234 M00S00233.ssuse +++|* ENTRY (SUBFAM) = SUBFAMILY IDENTIFIER. 00235 M00S00234.ssuse +++|* (SMID) = SM IDENTIFIER. 00236 M00S00235.ssuse +++|* 00237 M00S00236.ssuse +++|* EXIT SUB-TOTALS COUNTERS ARE UPDATED IN THE COMMON 00238 M00S00237.ssuse +++|* AREA. 00239 M00S00238.ssuse +++|* 00240 M00S00239.ssuse +++|* MESSAGES 1. SFMCATALOG PARITY ERROR. 00241 M00S00240.ssuse +++|* 2. FAMILY NOT FOUND. 00242 M00S00241.ssuse +++|* 3. SMMAP PARITY ERROR. 00243 M00S00242.ssuse +++|* 4. UNABLE TO OPEN SMMAP. 00244 M00S00243.ssuse +++|* 5. SSUSE ABNORMAL, USANALS. 00245 M00S00244.ssuse +++|* 00246 M00S00245.ssuse +++|* NOTES PROC *USANALS* CALLS *CRDAST* TO GET THE *AST* FOR THE 00247 M00S00246.ssuse +++|* SPECIFIED SM. IT THEN CALLS *CGETFCT* TO GET AN *FCT* 00248 M00S00247.ssuse +++|* ENTRY. THE VARIOUS FIELDS WITHIN EACH *AST* AND *FCT* 00249 M00S00248.ssuse +++|* ENTRY ARE CHECKED FOR CERTAIN CONDITIONS AND THE 00250 M00S00249.ssuse +++|* APPROPRIATE COUNTERS ARE UPDATED. THE SMMAP IS 00251 M00S00250.ssuse +++|* SEARCHED FOR EMPTY CUBICLES ASSIGNED TO THIS SUBFAMILY. 00252 M00S00251.ssuse +++|# 00253 M00S00252.ssuse +++| 00254 M00S00253.ssuse +++| ITEM SUBFAM I; # SUBFAMILY IDENTIFIER # 00255 M00S00254.ssuse +++| ITEM SMID U; # SM IDENTIFIER # 00256 M00S00255.ssuse +++| 00257 M00S00256.ssuse +++|# 00258 M00S00257.ssuse +++|**** PROC USANALS - XREF LIST BEGIN. 00259 M00S00258.ssuse +++|# 00260 M00S00259.ssuse +++| 00261 M00S00260.ssuse +++| XREF 00262 M00S00261.ssuse +++| BEGIN 00263 M00S00262.ssuse +++| PROC CGETFCT; # GETS *FCT* ENTRY # 00264 M00S00263.ssuse +++| PROC CRDAST; # READS *AST* # 00265 M00S00264.ssuse +++| PROC LOFPROC; # LIST OF FILES PROCESSOR # 00266 M00S00265.ssuse +++| PROC MCLOSE; # CLOSE SMMAP # 00267 M00S00266.ssuse +++| PROC MESSAGE; # ISSUES MESSAGE IN DAYFILE # 00268 M00S00267.ssuse +++| PROC MGETENT; # GETS MAP ENTRY # 00269 M00S00268.ssuse +++| PROC MOPEN; # OPENS SMMAP # 00270 M00S00269.ssuse +++| PROC RESTPFP; # RESTORE USER-S *PFP* AND ABORT 00271 M00S00270.ssuse +++| OR RETURN # 00272 M00S00271.ssuse +++| PROC RPCLOSE; # CLOSES THE REPORT FILE # 00273 M00S00272.ssuse +++| PROC SETPFP; # SET FAMILY AND USER INDEX # 00274 M00S00273.ssuse +++| END 00275 M00S00274.ssuse +++| 00276 M00S00275.ssuse +++|# 00277 M00S00276.ssuse +++|**** PROC USANALS - XREF LIST END. 00278 M00S00277.ssuse +++|# 00279 M00S00278.ssuse +++| 00280 M00S00279.ssuse +++| DEF PROCNAME #"USANALS."#; # PROC NAME # 00281 M00S00280.ssuse +++| DEF LISTCON #0#; # DO NOT LIST COMDECKS # 00282 M00S00281.ssuse +++|*CALL COMBFAS 00283 M00S00282.ssuse +++|*CALL COMBCMD 00284 M00S00283.ssuse +++|*CALL COMBCMS 00285 M00S00284.ssuse +++|*CALL,COMBMAP 00286 M00S00285.ssuse +++|*CALL,COMBPFP 00287 M00S00286.ssuse +++|*CALL,COMSPFM 00288 M00S00287.ssuse +++|*CALL COMBMCT 00289 M00S00288.ssuse +++|*CALL COMXMSC 00290 M00S00289.ssuse +++|*CALL COMTOUT 00291 M00S00290.ssuse +++|*CALL COMTUSE 00292 M00S00291.ssuse +++|*CALL COMTUSP 00293 M00S00292.ssuse +++| 00294 M00S00293.ssuse +++| ITEM BADDR I; # *AST* BUFFER ADDRESS # 00295 M00S00294.ssuse +++| ITEM BFADDR I; # *FCT* BUFFER ADDRESS # 00296 M00S00295.ssuse +++| ITEM FLAG I; # ERROR FLAG # 00297 M00S00296.ssuse +++| ITEM GP I; # GROUP # 00298 M00S00297.ssuse +++| ITEM I I; # LOOP VARIABLE # 00299 M00S00298.ssuse +++| ITEM N I; # LOOP VARIABLE # 00300 M00S00299.ssuse +++| ITEM MAP$ORD I; # SMMAP ORDINAL # 00301 M00S00300.ssuse +++| ITEM SM$ADDR I; # ADDRESS OF SMMAP # 00302 M00S00301.ssuse +++| ITEM Y I; # Y COORDINATE # 00303 M00S00302.ssuse +++| ITEM Z I; # Z COORDINATE # 00304 M00S00303.ssuse +++| 00305 M00S00304.ssuse +++| ARRAY SMMAP$NM [0:0] P(1); # ARRAY TO BUILD SMMAP # 00306 M00S00305.ssuse +++| BEGIN 00307 M00S00306.ssuse +++| ITEM SMAP$NAME C(00,00,07); # SMMAP FILE NAME # 00308 M00S00307.ssuse +++| ITEM SMAP$CHAR C(00,00,05); # FIRST FIVE CHARACTERS # 00309 M00S00308.ssuse +++| ITEM SMAP$SMID C(00,30,01); # SM-ID # 00310 M00S00309.ssuse +++| ITEM SMAP$Z U(00,36,24) = [0]; # ZERO FILL FILE NAME # 00311 M00S00310.ssuse +++| END 00312 M00S00311.ssuse +++| 00313 M00S00312.ssuse +++| CONTROL EJECT; 00314 M00S00313.ssuse +++| 00315 M00S00314.ssuse +++|# 00316 M00S00315.ssuse +++|* GET THE *AST* AND CHECK THE RETURNED ERROR STATUS. 00317 M00S00316.ssuse +++|# 00318 M00S00317.ssuse +++| 00319 M00S00318.ssuse +++| BADDR = LOC(US$ASTENT[0]); 00320 M00S00319.ssuse +++| CRDAST(USARG$FM[0],SUBFAM,SMID,BADDR,0,FLAG); 00321 M00S00320.ssuse +++| IF FLAG NQ CMASTAT"NOERR" 00322 M00S00321.ssuse +++| THEN # UNABLE TO GET *AST* # 00323 M00S00322.ssuse +++| BEGIN 00324 M00S00323.ssuse +++| SSMSG$LINE[0] = " SFMCATALOG PARITY ERROR."; 00325 M00S00324.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 00326 M00S00325.ssuse +++| RPCLOSE(OUT$FETP); 00327 M00S00326.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 00328 M00S00327.ssuse +++| END 00329 M00S00328.ssuse +++| 00330 M00S00329.ssuse +++| P<AST> = BADDR; 00331 M00S00330.ssuse +++| 00332 M00S00331.ssuse +++|# 00333 M00S00332.ssuse +++|* PROCESS ALL *AST* AND *FCT* ENTRIES. 00334 M00S00333.ssuse +++|# 00335 M00S00334.ssuse +++| 00336 M00S00335.ssuse +++| SLOWFOR I = 16 STEP 1 UNTIL PRM$ENTRC[SMID] + 15 00337 M00S00336.ssuse +++| DO 00338 M00S00337.ssuse +++| BEGIN # PROCESS AN *AST* AND *FCT* ENTRY # 00339 M00S00338.ssuse +++| 00340 M00S00339.ssuse +++|# 00341 M00S00340.ssuse +++|* GET AN *FCT* ENTRY AND CHECK THE RETURNED ERROR STATUS. 00342 M00S00341.ssuse +++|# 00343 M00S00342.ssuse +++| 00344 M00S00343.ssuse +++| BFADDR = LOC(US$FCTENT[0]); 00345 M00S00344.ssuse +++| CGETFCT(USARG$FM[0],SUBFAM,SMID,I,BFADDR,0,FLAG); 00346 M00S00345.ssuse +++| IF FLAG NQ CMASTAT"NOERR" 00347 M00S00346.ssuse +++| THEN # UNABLE TO GET *FCT* # 00348 M00S00347.ssuse +++| BEGIN 00349 M00S00348.ssuse +++| SSMSG$LINE[0] = " SFMCATALOG PARITY ERROR."; 00350 M00S00349.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 00351 M00S00350.ssuse +++| RPCLOSE(OUT$FETP); 00352 M00S00351.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 00353 M00S00352.ssuse +++| END 00354 M00S00353.ssuse +++| 00355 M00S00354.ssuse +++| P<FCT> = BFADDR; 00356 M00S00355.ssuse +++| GP = I / MAXGRT; # SET GROUP INDEX # 00357 M00S00356.ssuse +++| 00358 M00S00357.ssuse +++|# 00359 M00S00358.ssuse +++|* UPDATE CUBE COUNTER AND CHECK CUBE STATUS. IF NO CARTRIDGE 00360 M00S00359.ssuse +++|* ASSIGNED TO THIS CUBICLE, GET NEXT ENTRY. 00361 M00S00360.ssuse +++|# 00362 M00S00361.ssuse +++| 00363 M00S00362.ssuse +++| IF FCT$CSND[0] EQ " " 00364 M00S00363.ssuse +++| OR FCT$CSNI[0] EQ 0 00365 M00S00364.ssuse +++| THEN # NO CARTRIDGE ASSIGNED TO CUBE # 00366 M00S00365.ssuse +++| BEGIN 00367 M00S00366.ssuse +++| TEST I; 00368 M00S00367.ssuse +++| END 00369 M00S00368.ssuse +++| 00370 M00S00369.ssuse +++| GRP$LOC[GP] = GRP$LOC[GP] + 1; 00371 M00S00370.ssuse +++| GRP$RES[GP] = GRP$RES[GP] + 1; # NUM CARTRIDGES IN GROUP # 00372 M00S00371.ssuse +++| 00373 M00S00372.ssuse +++|# 00374 M00S00373.ssuse +++|* UPDATE THE AVAILABLE AU FOR SMALL AND LARGE FILES. 00375 M00S00374.ssuse +++|# 00376 M00S00375.ssuse +++| 00377 M00S00376.ssuse +++| GRP$AUSF[GP] = GRP$AUSF[GP] + AST$AUSF[I]; 00378 M00S00377.ssuse +++| GRP$AULF[GP] = GRP$AULF[GP] + AST$AULF[I]; 00379 M00S00378.ssuse +++| 00380 M00S00379.ssuse +++|# 00381 M00S00380.ssuse +++|* CHECK FOR AVAILABLE OFF CARTRIDGE LINKS AND UPDATE THE COUNTER. 00382 M00S00381.ssuse +++|# 00383 M00S00382.ssuse +++| 00384 M00S00383.ssuse +++| IF NOT AST$NOCLF[I] 00385 M00S00384.ssuse +++| THEN # OFF CARTRIDGE LINKS AVAILABLE # 00386 M00S00385.ssuse +++| BEGIN 00387 M00S00386.ssuse +++| GRP$OCL[GP] = GRP$OCL[GP] + 1; 00388 M00S00387.ssuse +++| END 00389 M00S00388.ssuse +++| 00390 M00S00389.ssuse +++|# 00391 M00S00390.ssuse +++|* CHECK *FCT* FLAGS AND UPDATE THE APPROPRIATE COUNTERS. 00392 M00S00391.ssuse +++|# 00393 M00S00392.ssuse +++| 00394 M00S00393.ssuse +++| IF FCT$IAF[0] 00395 M00S00394.ssuse +++| THEN # INHIBIT ALLOCATION # 00396 M00S00395.ssuse +++| BEGIN 00397 M00S00396.ssuse +++| GRP$INH[GP] = GRP$INH[GP] + 1; 00398 M00S00397.ssuse +++| END 00399 M00S00398.ssuse +++| 00400 M00S00399.ssuse +++| IF FCT$LCF[0] 00401 M00S00400.ssuse +++| THEN # CARTRIDGE LOST # 00402 M00S00401.ssuse +++| BEGIN 00403 M00S00402.ssuse +++| GRP$LOST[GP] = GRP$LOST[GP] + 1; 00404 M00S00403.ssuse +++| END 00405 M00S00404.ssuse +++| 00406 M00S00405.ssuse +++| IF FCT$EEF[0] 00407 M00S00406.ssuse +++| THEN # EXCESSIVE ERRORS # 00408 M00S00407.ssuse +++| BEGIN 00409 M00S00408.ssuse +++| GRP$XPE[GP] = GRP$XPE[GP] + 1; 00410 M00S00409.ssuse +++| END 00411 M00S00410.ssuse +++| 00412 M00S00411.ssuse +++| IF FCT$SEF[0] 00413 M00S00412.ssuse +++| THEN # SMMAP ERROR # 00414 M00S00413.ssuse +++| BEGIN 00415 M00S00414.ssuse +++| GRP$SE[GP] = GRP$SE[GP] + 1; 00416 M00S00415.ssuse +++| END 00417 M00S00416.ssuse +++| 00418 M00S00417.ssuse +++| IF FCT$FCF[0] 00419 M00S00418.ssuse +++| THEN # FREE CARTRIDGE # 00420 M00S00419.ssuse +++| BEGIN 00421 M00S00420.ssuse +++| GRP$FRC[GP] = GRP$FRC[GP] + 1; 00422 M00S00421.ssuse +++| END 00423 M00S00422.ssuse +++| 00424 M00S00423.ssuse +++|# 00425 M00S00424.ssuse +++|* CHECK EACH AU FOR ERRORS AND AVAILABILITY. UPDATE THE 00426 M00S00425.ssuse +++|* APPROPRIATE COUNTERS. 00427 M00S00426.ssuse +++|# 00428 M00S00427.ssuse +++| 00429 M00S00428.ssuse +++| SLOWFOR N = 1 STEP 1 UNTIL INAVOT 00430 M00S00429.ssuse +++| DO 00431 M00S00430.ssuse +++| BEGIN # FOR EACH AU # 00432 M00S00431.ssuse +++| 00433 M00S00432.ssuse +++|# 00434 M00S00433.ssuse +++|* CHECK AU FLAGS, UPDATE COUNTERS IF NECESSARY. 00435 M00S00434.ssuse +++|# 00436 M00S00435.ssuse +++| 00437 M00S00436.ssuse +++| SETFCTX(N); # SET *FWD* AND *FPS* VALUES # 00438 M00S00437.ssuse +++| IF FCT$AUCF(FWD,FPS) NQ 0 00439 M00S00438.ssuse +++| THEN # AU CONFLICT # 00440 M00S00439.ssuse +++| BEGIN 00441 M00S00440.ssuse +++| GRP$AUC[GP] = GRP$AUC[GP] + 1; 00442 M00S00441.ssuse +++| END 00443 M00S00442.ssuse +++| 00444 M00S00443.ssuse +++| IF FCT$FRCF(FWD,FPS) NQ 0 00445 M00S00444.ssuse +++| THEN # FROZEN CHAIN # 00446 M00S00445.ssuse +++| BEGIN 00447 M00S00446.ssuse +++| GRP$FC[GP] = GRP$FC[GP] + 1; 00448 M00S00447.ssuse +++| END 00449 M00S00448.ssuse +++| 00450 M00S00449.ssuse +++| IF FCT$SFF(FWD,FPS) NQ 0 00451 M00S00450.ssuse +++| THEN # START OF FRAGMENT # 00452 M00S00451.ssuse +++| BEGIN 00453 M00S00452.ssuse +++| GRP$SF[GP] = GRP$SF[GP] + 1; 00454 M00S00453.ssuse +++| END 00455 M00S00454.ssuse +++| 00456 M00S00455.ssuse +++| IF FCT$FAUF(FWD,FPS) NQ 0 00457 M00S00456.ssuse +++| THEN # FLAWED AU # 00458 M00S00457.ssuse +++| BEGIN 00459 M00S00458.ssuse +++| IF FCT$FBF(FWD,FPS) NQ 0 00460 M00S00459.ssuse +++| THEN # FLAWED AND ALLOCATED # 00461 M00S00460.ssuse +++| BEGIN 00462 M00S00461.ssuse +++| GRP$FB[GP] = GRP$FB[GP] + 1; 00463 M00S00462.ssuse +++| END 00464 M00S00463.ssuse +++| 00465 M00S00464.ssuse +++| ELSE # FLAWED AND UNALLOCATED # 00466 M00S00465.ssuse +++| BEGIN 00467 M00S00466.ssuse +++| GRP$FA[GP] = GRP$FA[GP] +1; 00468 M00S00467.ssuse +++| END 00469 M00S00468.ssuse +++| 00470 M00S00469.ssuse +++| END 00471 M00S00470.ssuse +++| 00472 M00S00471.ssuse +++| END # FOR EACH AU # 00473 M00S00472.ssuse +++| 00474 M00S00473.ssuse +++| END # PROCESS AN *AST* AND AN *FCT* ENTRY # 00475 M00S00474.ssuse +++| 00476 M00S00475.ssuse +++|# 00477 M00S00476.ssuse +++|* SEARCH THE SMMAP FOR ANY EMPTY CUBICLES ASSIGNED 00478 M00S00477.ssuse +++|* TO THIS SUBFAMILY. 00479 M00S00478.ssuse +++|# 00480 M00S00479.ssuse +++| 00481 M00S00480.ssuse +++| PFP$WRD0[0] = 0; 00482 M00S00481.ssuse +++| PFP$FAM[0] = DEF$FAM; 00483 M00S00482.ssuse +++| PFP$UI[0] = DEF$UI; 00484 M00S00483.ssuse +++| PFP$FG1[0] = TRUE; 00485 M00S00484.ssuse +++| PFP$FG4[0] = TRUE; 00486 M00S00485.ssuse +++| SETPFP(PFP[0]); 00487 M00S00486.ssuse +++| IF PFP$STAT NQ 0 00488 M00S00487.ssuse +++| THEN # FAMILY NOT FOUND # 00489 M00S00488.ssuse +++| BEGIN 00490 M00S00489.ssuse +++| SSMSG$LINE[0] = " FAMILY NOT FOUND."; 00491 M00S00490.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 00492 M00S00491.ssuse +++| RPCLOSE(OUT$FETP); 00493 M00S00492.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 00494 M00S00493.ssuse +++| END 00495 M00S00494.ssuse +++| 00496 M00S00495.ssuse +++| 00497 M00S00496.ssuse +++| SMAP$SMID[0] = SMID; 00498 M00S00497.ssuse +++| SMAP$CHAR[0] = SMMAP; 00499 M00S00498.ssuse +++| 00500 M00S00499.ssuse +++|# 00501 M00S00500.ssuse +++|* OPEN THE SMMAP AND CHECK THE RETURNED ERROR STATUS. 00502 M00S00501.ssuse +++|# 00503 M00S00502.ssuse +++| 00504 M00S00503.ssuse +++| MOPEN(SMID,SMAP$NAME[0],"RM",FLAG); 00505 M00S00504.ssuse +++| IF FLAG EQ CMASTAT"NOERR" 00506 M00S00505.ssuse +++| THEN 00507 M00S00506.ssuse +++| BEGIN 00508 M00S00507.ssuse +++| LOFPROC(SMAP$NAME[0]); # ADD LFN TO LIST OF FILES # 00509 M00S00508.ssuse +++| END 00510 M00S00509.ssuse +++| 00511 M00S00510.ssuse +++| SM$ADDR = LOC(MAPBUFR[0]); 00512 M00S00511.ssuse +++| P<SMUMAP> = SM$ADDR; 00513 M00S00512.ssuse +++| 00514 M00S00513.ssuse +++| IF FLAG NQ CMASTAT"NOERR" 00515 M00S00514.ssuse +++| THEN 00516 M00S00515.ssuse +++| BEGIN # SMMAP NOT OPENED SUCCESSFULLY # 00517 M00S00516.ssuse +++| IF FLAG EQ CMASTAT"CIOERR" 00518 M00S00517.ssuse +++| THEN 00519 M00S00518.ssuse +++| BEGIN 00520 M00S00519.ssuse +++| SSMSG$LINE[0] = " SMMAP PARITY ERROR."; 00521 M00S00520.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 00522 M00S00521.ssuse +++| RPCLOSE(OUT$FETP); 00523 M00S00522.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 00524 M00S00523.ssuse +++| END 00525 M00S00524.ssuse +++| 00526 M00S00525.ssuse +++| IF FLAG EQ CMASTAT"INTLK" ## 00527 M00S00526.ssuse +++| OR FLAG EQ CMASTAT"ATTERR" 00528 M00S00527.ssuse +++| THEN 00529 M00S00528.ssuse +++| BEGIN 00530 M00S00529.ssuse +++| SSMSG$LINE[0] = " UNABLE TO OPEN SMMAP."; 00531 M00S00530.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 00532 M00S00531.ssuse +++| RPCLOSE(OUT$FETP); 00533 M00S00532.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 00534 M00S00533.ssuse +++| END 00535 M00S00534.ssuse +++| 00536 M00S00535.ssuse +++| ELSE 00537 M00S00536.ssuse +++| BEGIN 00538 M00S00537.ssuse +++| SSMSG$PROC[0] = PROCNAME; 00539 M00S00538.ssuse +++| MESSAGE(SSMSG[0],SYSUDF1); 00540 M00S00539.ssuse +++| RPCLOSE(OUT$FETP); 00541 M00S00540.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 00542 M00S00541.ssuse +++| END 00543 M00S00542.ssuse +++| 00544 M00S00543.ssuse +++| END # SMMAP NOT OPENED SUCCESSFULLY # 00545 M00S00544.ssuse +++| 00546 M00S00545.ssuse +++|# 00547 M00S00546.ssuse +++|* PROCESS EACH Y,Z PAIR. 00548 M00S00547.ssuse +++|# 00549 M00S00548.ssuse +++| 00550 M00S00549.ssuse +++| SLOWFOR Y = 0 STEP 1 UNTIL MAX$Y 00551 M00S00550.ssuse +++| DO 00552 M00S00551.ssuse +++| BEGIN # PROCESS EACH Y COORDINATE # 00553 M00S00552.ssuse +++| 00554 M00S00553.ssuse +++| SLOWFOR Z = 0 STEP 1 UNTIL MAX$Z 00555 M00S00554.ssuse +++| DO 00556 M00S00555.ssuse +++| BEGIN # PROCESS EACH Z COORDINATE # 00557 M00S00556.ssuse +++| 00558 M00S00557.ssuse +++|# 00559 M00S00558.ssuse +++|* DO NOT PROCESS THE COORDINATES CONTAINING THE DRD-S 00560 M00S00559.ssuse +++|* OR THE ENTRY-EXIT TRAY. 00561 M00S00560.ssuse +++|# 00562 M00S00561.ssuse +++| 00563 M00S00562.ssuse +++| IF (Z LQ 1 ## 00564 M00S00563.ssuse +++| AND (Y LQ 15 AND Y GQ 11)) ## 00565 M00S00564.ssuse +++| OR Z EQ Z$NO$CUBE 00566 M00S00565.ssuse +++| THEN 00567 M00S00566.ssuse +++| BEGIN 00568 M00S00567.ssuse +++| TEST Z; 00569 M00S00568.ssuse +++| END 00570 M00S00569.ssuse +++| 00571 M00S00570.ssuse +++|# 00572 M00S00571.ssuse +++|* CALCULATE THE ORDINAL OF THE SMMAP ENTRY. 00573 M00S00572.ssuse +++|# 00574 M00S00573.ssuse +++| 00575 M00S00574.ssuse +++| MAP$ORD = MAXORD - Z - (Y * 16); 00576 M00S00575.ssuse +++| 00577 M00S00576.ssuse +++|# 00578 M00S00577.ssuse +++|* GET THE SMMAP ENTRY AND CHECK THE RETURNED ERROR STATUS. 00579 M00S00578.ssuse +++|# 00580 M00S00579.ssuse +++| 00581 M00S00580.ssuse +++| MGETENT(SMID,MAP$ORD,SM$ADDR,FLAG); 00582 M00S00581.ssuse +++| IF FLAG NQ CMASTAT"NOERR" 00583 M00S00582.ssuse +++| THEN 00584 M00S00583.ssuse +++| BEGIN # CHECK FOR TYPE OF ERROR # 00585 M00S00584.ssuse +++| IF FLAG EQ CMASTAT"CIOERR" 00586 M00S00585.ssuse +++| THEN 00587 M00S00586.ssuse +++| BEGIN 00588 M00S00587.ssuse +++| SSMSG$LINE[0] = " SMMAP PARITY ERROR."; 00589 M00S00588.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 00590 M00S00589.ssuse +++| RPCLOSE(OUT$FETP); 00591 M00S00590.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 00592 M00S00591.ssuse +++| END 00593 M00S00592.ssuse +++| 00594 M00S00593.ssuse +++| ELSE 00595 M00S00594.ssuse +++| BEGIN 00596 M00S00595.ssuse +++| SSMSG$PROC[0] = PROCNAME; 00597 M00S00596.ssuse +++| MESSAGE(SSMSG[0],SYSUDF1); 00598 M00S00597.ssuse +++| RPCLOSE(OUT$FETP); 00599 M00S00598.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 00600 M00S00599.ssuse +++| END 00601 M00S00600.ssuse +++| 00602 M00S00601.ssuse +++| END # CHECK FOR TYPE OF ERROR # 00603 M00S00602.ssuse +++| 00604 M00S00603.ssuse +++|# 00605 M00S00604.ssuse +++|* SEARCH FOR EMPTY CUBICLES ASSIGNED TO THIS SUBFAMILY. 00606 M00S00605.ssuse +++|# 00607 M00S00606.ssuse +++| 00608 M00S00607.ssuse +++| IF CM$CODE[0] NQ CUBSTAT"SUBFAM" 00609 M00S00608.ssuse +++| THEN # NOT IN ANY SUBFAMILY # 00610 M00S00609.ssuse +++| BEGIN 00611 M00S00610.ssuse +++| TEST Z; 00612 M00S00611.ssuse +++| END 00613 M00S00612.ssuse +++| 00614 M00S00613.ssuse +++| IF CM$FMLYNM[0] EQ USARG$FM[0] ## 00615 M00S00614.ssuse +++| AND CM$SUB[0] EQ SUBFAM ## 00616 M00S00615.ssuse +++| AND CM$FCTORD[0] EQ 0 00617 M00S00616.ssuse +++| THEN # FOUND EMPTY CUBICLE # 00618 M00S00617.ssuse +++| BEGIN 00619 M00S00618.ssuse +++| GRP$LOC[0] = GRP$LOC[0] + 1; 00620 M00S00619.ssuse +++| END 00621 M00S00620.ssuse +++| 00622 M00S00621.ssuse +++| END # PROCESS EACH Z COORDINATE # 00623 M00S00622.ssuse +++| 00624 M00S00623.ssuse +++| END # PROCESS EACH Y COORDINATE # 00625 M00S00624.ssuse +++| 00626 M00S00625.ssuse +++|# 00627 M00S00626.ssuse +++|* CLOSE THE SMMAP. 00628 M00S00627.ssuse +++|# 00629 M00S00628.ssuse +++| 00630 M00S00629.ssuse +++| MCLOSE(SMID,FLAG); 00631 M00S00630.ssuse +++| IF FLAG NQ CMASTAT"NOERR" 00632 M00S00631.ssuse +++| THEN 00633 M00S00632.ssuse +++| BEGIN 00634 M00S00633.ssuse +++| SSMSG$PROC[0] = PROCNAME; 00635 M00S00634.ssuse +++| MESSAGE(SSMSG[0],SYSUDF1); 00636 M00S00635.ssuse +++| RPCLOSE(OUT$FETP); 00637 M00S00636.ssuse +++| RESTPFP(PFP$ABORT); 00638 M00S00637.ssuse +++| END 00639 M00S00638.ssuse +++| 00640 M00S00639.ssuse +++| END # USANALS # 00641 M00S00640.ssuse +++| 00642 M00S00641.ssuse +++| TERM 00643 M00S00642.ssuse +++|PROC USBASLN((SUBFAM),(SM)); 00644 M00S00643.ssuse +++|# TITLE USBASLN - PRINTS DETAIL LINES FOR THE BASIC REPORT. # 00645 M00S00644.ssuse +++| 00646 M00S00645.ssuse +++| BEGIN # USBASLN # 00647 M00S00646.ssuse +++| 00648 M00S00647.ssuse +++|# 00649 M00S00648.ssuse +++|** USBASLN - PRINTS DETAIL LINES FOR THE BASIC REPORT. 00650 M00S00649.ssuse +++|* 00651 M00S00650.ssuse +++|* THIS PROCEDURE PRINTS OUT THE BASIC USAGE REPORT INFORMATION 00652 M00S00651.ssuse +++|* TO THE REPORT FILE. 00653 M00S00652.ssuse +++|* 00654 M00S00653.ssuse +++|* PROC USBASLN((SUBFAM),(SM)). 00655 M00S00654.ssuse +++|* 00656 M00S00655.ssuse +++|* ENTRY. (SUBFAM) = SUBFAMILY IDENTIFIER. 00657 M00S00656.ssuse +++|* (SM) = SM IDENTIFIER. 00658 M00S00657.ssuse +++|* 00659 M00S00658.ssuse +++|* EXIT BASIC REPORT LINES HAVE BEEN WRITTEN TO 00660 M00S00659.ssuse +++|* THE REPORT FILE. 00661 M00S00660.ssuse +++|* 00662 M00S00661.ssuse +++|* NOTES PROC *USBASLN* CALLS *XCDD* TO CONVERT THE 00663 M00S00662.ssuse +++|* GROUP TOTALS IN THE *GRP$TOT* ARRAY FROM INTEGER 00664 M00S00663.ssuse +++|* TO DISPLAY CODE. THESE VALUES ARE THEN DISPLAYED 00665 M00S00664.ssuse +++|* IN THE REPORT FILE. TOTALS ARE ACCUMULATED FOR 00666 M00S00665.ssuse +++|* THE SM AND SUBFAMILY. 00667 M00S00666.ssuse +++|# 00668 M00S00667.ssuse +++| 00669 M00S00668.ssuse +++|# 00670 M00S00669.ssuse +++|**** PROC USBASLN - XREF LIST BEGIN. 00671 M00S00670.ssuse +++|# 00672 M00S00671.ssuse +++| 00673 M00S00672.ssuse +++| XREF 00674 M00S00673.ssuse +++| BEGIN 00675 M00S00674.ssuse +++| PROC BZFILL; # BLANK FILL CHARACTERS # 00676 M00S00675.ssuse +++| PROC RPEJECT; # PAGE EJECTS FOR REPORT FILE # 00677 M00S00676.ssuse +++| PROC RPLINE; # WRITES A LINE TO REPORT FILE # 00678 M00S00677.ssuse +++| PROC RPSPACE; # PUT BLANK LINE ON REPORT FILE # 00679 M00S00678.ssuse +++| FUNC XCDD C(10); # CONVERTS INTEGERS TO DISPLAY # 00680 M00S00679.ssuse +++| END 00681 M00S00680.ssuse +++| 00682 M00S00681.ssuse +++|# 00683 M00S00682.ssuse +++|**** PROC USBASLN - XREF LIST END. 00684 M00S00683.ssuse +++|# 00685 M00S00684.ssuse +++| 00686 M00S00685.ssuse +++| DEF LISTCON #0#; # DO NOT LIST COMDECKS # 00687 M00S00686.ssuse +++|*CALL COMBFAS 00688 M00S00687.ssuse +++|*CALL COMBBZF 00689 M00S00688.ssuse +++|*CALL COMBMCT 00690 M00S00689.ssuse +++|*CALL COMXMSC 00691 M00S00690.ssuse +++|*CALL COMTOUT 00692 M00S00691.ssuse +++|*CALL COMTUSE 00693 M00S00692.ssuse +++|*CALL COMTUSP 00694 M00S00693.ssuse +++| 00695 M00S00694.ssuse +++| ITEM GP I; # LOOP VARIABLE # 00696 M00S00695.ssuse +++| ITEM LN$CNT I; # LINE COUNT # 00697 M00S00696.ssuse +++| ITEM SM I; # SM IDENTIFIER # 00698 M00S00697.ssuse +++| ITEM SUBFAM I; # SUBFAMILY IDENTIFIER # 00699 M00S00698.ssuse +++| ITEM TEMP$FAM C(7); # HOLDS FAMILY NAME # 00700 M00S00699.ssuse +++| ITEM TEMP$SM C(1); # SM CHARACTER # 00701 M00S00700.ssuse +++| ITEM TOT I; # ARRAY INDEX FOR TOTALS # 00702 M00S00701.ssuse +++| CONTROL EJECT; 00703 M00S00702.ssuse +++| 00704 M00S00703.ssuse +++| TEMP$FAM = USARG$FM[0]; 00705 M00S00704.ssuse +++| BZFILL(TEMP$FAM,TYPFILL"BFILL",7); 00706 M00S00705.ssuse +++| TEMP$SM = SM; 00707 M00S00706.ssuse +++| 00708 M00S00707.ssuse +++|# 00709 M00S00708.ssuse +++|* WRITE HEADER TO REPORT FILE IF NEW PAGE. 00710 M00S00709.ssuse +++|# 00711 M00S00710.ssuse +++| 00712 M00S00711.ssuse +++| IF (LN$CNT / MAX$LN) * MAX$LN EQ LN$CNT 00713 M00S00712.ssuse +++| THEN # PAGE EJECT AND PRINT HEADER # 00714 M00S00713.ssuse +++| BEGIN 00715 M00S00714.ssuse +++| RPEJECT(OUT$FETP); 00716 M00S00715.ssuse +++| RPLINE(OUT$FETP,"SSUSE BASIC REPORT",5,18,1); 00717 M00S00716.ssuse +++| RPLINE(OUT$FETP,"FAMILY = ",35,9,1); 00718 M00S00717.ssuse +++| RPLINE(OUT$FETP,TEMP$FAM,44,7,0); 00719 M00S00718.ssuse +++| 00720 M00S00719.ssuse +++|# 00721 M00S00720.ssuse +++|* WRITE NOTES TO REPORT FILE. 00722 M00S00721.ssuse +++|# 00723 M00S00722.ssuse +++| 00724 M00S00723.ssuse +++| RPSPACE(OUT$FETP,SP"SPACE",1); 00725 M00S00724.ssuse +++| RPLINE(OUT$FETP,"CUBE = CUBICLES",5,15,1); 00726 M00S00725.ssuse +++| RPLINE(OUT$FETP,"CARTRIDGE FLAGS",36,15,1); 00727 M00S00726.ssuse +++| RPLINE(OUT$FETP,"AU FLAGS",86,8,0); 00728 M00S00727.ssuse +++| RPLINE(OUT$FETP,"CART = CARTRIDGES",5,17,1); 00729 M00S00728.ssuse +++| RPLINE(OUT$FETP,"M = MISSING",37,11,1); 00730 M00S00729.ssuse +++| RPLINE(OUT$FETP,"FA = FLAWED AND ALLOCATED",87,25,0); 00731 M00S00730.ssuse +++| RPLINE(OUT$FETP,"I = INHIBIT ALLOCATION",37,22,1); 00732 M00S00731.ssuse +++| RPLINE(OUT$FETP,"FU = FLAWED AND UNALLOCATED",87,27,0); 00733 M00S00732.ssuse +++| RPLINE(OUT$FETP,"** = SUBFAMILY TOTAL",5,20,1); 00734 M00S00733.ssuse +++| RPLINE(OUT$FETP,"F = FREE CARTRIDGE",37,18,1); 00735 M00S00734.ssuse +++| RPLINE(OUT$FETP,"SF = START OF FRAGMENT",87,22,0); 00736 M00S00735.ssuse +++| RPLINE(OUT$FETP,"- = UNASSIGNED GROUP",5,21,1); 00737 M00S00736.ssuse +++| RPLINE(OUT$FETP,"L = OFF CARTRIDGE LINKS AVAILABLE",37,33,1); 00738 M00S00737.ssuse +++| RPLINE(OUT$FETP,"FC = FROZEN CHAIN",87,17,0); 00739 M00S00738.ssuse +++| RPLINE(OUT$FETP,"P = EXCESSIVE PARITY ERRORS",37,27,1); 00740 M00S00739.ssuse +++| RPLINE(OUT$FETP,"AC = AU CONFLICT",87,16,0); 00741 M00S00740.ssuse +++| RPLINE(OUT$FETP,"E = MAP ERROR(AS DETECTED BY SSVAL)",37,36,0); 00742 M00S00741.ssuse +++| RPSPACE(OUT$FETP,SP"SPACE",1); 00743 M00S00742.ssuse +++| 00744 M00S00743.ssuse +++|# 00745 M00S00744.ssuse +++|* WRITE COLUMN HEADINGS TO REPORT FILE. 00746 M00S00745.ssuse +++|# 00747 M00S00746.ssuse +++| 00748 M00S00747.ssuse +++| RPLINE(OUT$FETP,"----AVAILABLE----",24,17,1); 00749 M00S00748.ssuse +++| RPLINE(OUT$FETP,"-----NUMBER CARTRIDGES FLAGGED----",43,34,1); 00750 M00S00749.ssuse +++| RPLINE(OUT$FETP,"-------------NUMBER AU FLAGGED",81,30,1); 00751 M00S00750.ssuse +++| RPLINE(OUT$FETP,"-------------",111,13,0); 00752 M00S00751.ssuse +++| RPLINE(OUT$FETP,"SUB SM GR",1,9,1); 00753 M00S00752.ssuse +++| RPLINE(OUT$FETP,"CUBE CART",12,10,1); 00754 M00S00753.ssuse +++| RPLINE(OUT$FETP,"AU AU",26,12,1); 00755 M00S00754.ssuse +++| RPLINE(OUT$FETP,"M I F L P E",46,31,1); 00756 M00S00755.ssuse +++| RPLINE(OUT$FETP,"FA FU",86,11,1); 00757 M00S00756.ssuse +++| RPLINE(OUT$FETP,"SF FC AC",104,20,0); 00758 M00S00757.ssuse +++| RPLINE(OUT$FETP,"(SMALL) (LARGE)",24,17,0); 00759 M00S00758.ssuse +++| RPSPACE(OUT$FETP,SP"SPACE",1); 00760 M00S00759.ssuse +++| LN$CNT = 16; 00761 M00S00760.ssuse +++| END 00762 M00S00761.ssuse +++| 00763 M00S00762.ssuse +++|# 00764 M00S00763.ssuse +++|* SET INDEX TO ACCUMULATE TOTALS. 00765 M00S00764.ssuse +++|# 00766 M00S00765.ssuse +++| 00767 M00S00766.ssuse +++| TOT = MAXGP + 1; 00768 M00S00767.ssuse +++| 00769 M00S00768.ssuse +++|# 00770 M00S00769.ssuse +++|* CONVERT THE TOTALS FOR EACH GROUP TO DISPLAY CODE AND WRITE 00771 M00S00770.ssuse +++|* THEM TO THE REPORT FILE. THE FIRST TIME THROUGH (GP = 0) 00772 M00S00771.ssuse +++|* THE NUMBER OF EMPTY CUBICLES ASSIGNED TO THIS SUBFAMILY WILL 00773 M00S00772.ssuse +++|* BE PRINTED. THE LAST TIME THROUGH (GP = MAXGP + 1) THE SM 00774 M00S00773.ssuse +++|* TOTALS WILL BE PRINTED. 00775 M00S00774.ssuse +++|# 00776 M00S00775.ssuse +++| 00777 M00S00776.ssuse +++| SLOWFOR GP = 0 STEP 1 UNTIL MAXGP + 1 00778 M00S00777.ssuse +++| DO 00779 M00S00778.ssuse +++| BEGIN # FOR EACH GROUP # 00780 M00S00779.ssuse +++| 00781 M00S00780.ssuse +++|# 00782 M00S00781.ssuse +++|* WRITE GROUP SUBTOTALS TO REPORT FILE. IF NO CUBICLES ARE 00783 M00S00782.ssuse +++|* ASSIGNED TO THIS GROUP, PROCESS THE NEXT GROUP. 00784 M00S00783.ssuse +++|# 00785 M00S00784.ssuse +++| 00786 M00S00785.ssuse +++| IF GP EQ MAXGP + 1 00787 M00S00786.ssuse +++| THEN # PRINT TOTAL FOR ALL GROUPS # 00788 M00S00787.ssuse +++| BEGIN 00789 M00S00788.ssuse +++| CHAR$10[0] = XCDD(SUBFAM); 00790 M00S00789.ssuse +++| RPLINE(OUT$FETP,CHAR$R1[0],2,1,1); 00791 M00S00790.ssuse +++| RPLINE(OUT$FETP,TEMP$SM,5,1,1); 00792 M00S00791.ssuse +++| RPLINE(OUT$FETP,"**",8,2,1); 00793 M00S00792.ssuse +++| END 00794 M00S00793.ssuse +++| 00795 M00S00794.ssuse +++| ELSE # PRINT ONE GROUP AT A TIME # 00796 M00S00795.ssuse +++| BEGIN 00797 M00S00796.ssuse +++| IF GRP$LOC[GP] EQ 0 00798 M00S00797.ssuse +++| THEN # NO CUBICLES IN THIS GROUP # 00799 M00S00798.ssuse +++| BEGIN 00800 M00S00799.ssuse +++| TEST GP; 00801 M00S00800.ssuse +++| END 00802 M00S00801.ssuse +++| 00803 M00S00802.ssuse +++| CHAR$10[0] = XCDD(SUBFAM); 00804 M00S00803.ssuse +++| RPLINE(OUT$FETP,CHAR$R1[0],2,1,1); 00805 M00S00804.ssuse +++| RPLINE(OUT$FETP,TEMP$SM,5,1,1); 00806 M00S00805.ssuse +++| IF GP EQ 0 00807 M00S00806.ssuse +++| THEN 00808 M00S00807.ssuse +++| BEGIN 00809 M00S00808.ssuse +++| RPLINE(OUT$FETP,"-",9,1,1); 00810 M00S00809.ssuse +++| END 00811 M00S00810.ssuse +++| 00812 M00S00811.ssuse +++| ELSE 00813 M00S00812.ssuse +++| BEGIN 00814 M00S00813.ssuse +++| CHAR$10[0] = XCDD(GP); 00815 M00S00814.ssuse +++| RPLINE(OUT$FETP,CHAR$R2[0],8,2,1); 00816 M00S00815.ssuse +++| END 00817 M00S00816.ssuse +++| 00818 M00S00817.ssuse +++| END 00819 M00S00818.ssuse +++| 00820 M00S00819.ssuse +++|# 00821 M00S00820.ssuse +++|* LIST THE NUMBER OF CUBICLES ASSIGNED TO A GROUP. 00822 M00S00821.ssuse +++|# 00823 M00S00822.ssuse +++| 00824 M00S00823.ssuse +++| CHAR$10[0] = XCDD(GRP$LOC[GP]); 00825 M00S00824.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],12,4,1); 00826 M00S00825.ssuse +++| 00827 M00S00826.ssuse +++|# 00828 M00S00827.ssuse +++|* LIST THE NUMBER OF CARTRIDGES IN A GROUP. 00829 M00S00828.ssuse +++|# 00830 M00S00829.ssuse +++| 00831 M00S00830.ssuse +++| CHAR$10[0] = XCDD(GRP$RES[GP]); 00832 M00S00831.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],18,4,1); 00833 M00S00832.ssuse +++| 00834 M00S00833.ssuse +++|# 00835 M00S00834.ssuse +++|* LIST THE NUMBER OF AVAILABLE AU FOR SMALL AND LARGE FILES. 00836 M00S00835.ssuse +++|# 00837 M00S00836.ssuse +++| 00838 M00S00837.ssuse +++| CHAR$10[0] = XCDD(GRP$AUSF[GP]); 00839 M00S00838.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],24,7,1); 00840 M00S00839.ssuse +++| CHAR$10[0] = XCDD(GRP$AULF[GP]); 00841 M00S00840.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],34,7,1); 00842 M00S00841.ssuse +++| 00843 M00S00842.ssuse +++|# 00844 M00S00843.ssuse +++|* LIST THE NUMBER OF LOST CARTRIDGES. 00845 M00S00844.ssuse +++|# 00846 M00S00845.ssuse +++| 00847 M00S00846.ssuse +++| CHAR$10[0] = XCDD(GRP$LOST[GP]); 00848 M00S00847.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],43,4,1); 00849 M00S00848.ssuse +++| 00850 M00S00849.ssuse +++|# 00851 M00S00850.ssuse +++|* LIST THE NUMBER OF CARTRIDGES WITH THE INHIBIT FLAG SET. 00852 M00S00851.ssuse +++|# 00853 M00S00852.ssuse +++| 00854 M00S00853.ssuse +++| CHAR$10[0] = XCDD(GRP$INH[GP]); 00855 M00S00854.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],49,4,1); 00856 M00S00855.ssuse +++| 00857 M00S00856.ssuse +++|# 00858 M00S00857.ssuse +++|* LIST THE NUMBER OF CARTRIDGES WITH FREE CARTRIDGE FLAG SET. 00859 M00S00858.ssuse +++|# 00860 M00S00859.ssuse +++| 00861 M00S00860.ssuse +++| CHAR$10[0] = XCDD(GRP$FRC[GP]); 00862 M00S00861.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],55,4,1); 00863 M00S00862.ssuse +++| 00864 M00S00863.ssuse +++|# 00865 M00S00864.ssuse +++|* LIST THE NUMBER OF CARTRIDGES WITH AVAILABLE OFF-CARTRIDGE LINKS. 00866 M00S00865.ssuse +++|# 00867 M00S00866.ssuse +++| 00868 M00S00867.ssuse +++| CHAR$10[0] = XCDD(GRP$OCL[GP]); 00869 M00S00868.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],61,4,1); 00870 M00S00869.ssuse +++| 00871 M00S00870.ssuse +++|# 00872 M00S00871.ssuse +++|* LIST THE NUMBER OF CARTRIDGES WITH EXCESSIVE PARITY ERRORS. 00873 M00S00872.ssuse +++|# 00874 M00S00873.ssuse +++| 00875 M00S00874.ssuse +++| CHAR$10[0] = XCDD(GRP$XPE[GP]); 00876 M00S00875.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],67,4,1); 00877 M00S00876.ssuse +++| CHAR$10[0] = XCDD(GRP$SE[GP]); 00878 M00S00877.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],73,4,1); 00879 M00S00878.ssuse +++| 00880 M00S00879.ssuse +++|# 00881 M00S00880.ssuse +++|* LIST THE NUMBER OF FLAWED AND ALLOCATED AU. 00882 M00S00881.ssuse +++|# 00883 M00S00882.ssuse +++| 00884 M00S00883.ssuse +++| CHAR$10[0] = XCDD(GRP$FB[GP]); 00885 M00S00884.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],81,7,1); 00886 M00S00885.ssuse +++| 00887 M00S00886.ssuse +++|# 00888 M00S00887.ssuse +++|* LIST THE NUMBER OF FLAWED AND UNALLOCATED AU. 00889 M00S00888.ssuse +++|# 00890 M00S00889.ssuse +++| 00891 M00S00890.ssuse +++| CHAR$10[0] = XCDD(GRP$FA[GP]); 00892 M00S00891.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],90,7,1); 00893 M00S00892.ssuse +++| 00894 M00S00893.ssuse +++|# 00895 M00S00894.ssuse +++|* LIST THE NUMBER OF START OF FRAGMENT AU. 00896 M00S00895.ssuse +++|# 00897 M00S00896.ssuse +++| 00898 M00S00897.ssuse +++| CHAR$10[0] = XCDD(GRP$SF[GP]); 00899 M00S00898.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],99,7,1); 00900 M00S00899.ssuse +++| 00901 M00S00900.ssuse +++|# 00902 M00S00901.ssuse +++|* LIST THE NUMBER OF FROZEN CHAIN AU. 00903 M00S00902.ssuse +++|# 00904 M00S00903.ssuse +++| 00905 M00S00904.ssuse +++| CHAR$10[0] = XCDD(GRP$FC[GP]); 00906 M00S00905.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],108,7,1); 00907 M00S00906.ssuse +++| 00908 M00S00907.ssuse +++|# 00909 M00S00908.ssuse +++|* LIST THE NUMBER OF AU WITH ALLOCATION CONFLICT. 00910 M00S00909.ssuse +++|# 00911 M00S00910.ssuse +++| 00912 M00S00911.ssuse +++| CHAR$10[0] = XCDD(GRP$AUC[GP]); 00913 M00S00912.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],117,7,0); 00914 M00S00913.ssuse +++| LN$CNT = LN$CNT + 1; 00915 M00S00914.ssuse +++| 00916 M00S00915.ssuse +++|# 00917 M00S00916.ssuse +++|* DO NOT ACCUMULATE TOTALS THE LAST TIME THROUGH. 00918 M00S00917.ssuse +++|# 00919 M00S00918.ssuse +++| 00920 M00S00919.ssuse +++| IF GP EQ MAXGP + 1 00921 M00S00920.ssuse +++| THEN # DO NOT ADD TO TOTALS # 00922 M00S00921.ssuse +++| BEGIN 00923 M00S00922.ssuse +++| RPSPACE(OUT$FETP,SP"SPACE",1); 00924 M00S00923.ssuse +++| LN$CNT = LN$CNT + 1; 00925 M00S00924.ssuse +++| TEST GP; 00926 M00S00925.ssuse +++| END 00927 M00S00926.ssuse +++| 00928 M00S00927.ssuse +++|# 00929 M00S00928.ssuse +++|* TOTALS FOR ALL GROUPS IN A SM PER SUBFAMILY ARE ACCUMULATED 00930 M00S00929.ssuse +++|* UNDER THE MAXGP+1 INDEX OF THE GROUP TOTALS ARRAY. 00931 M00S00930.ssuse +++|* *GRP$TOT[MAXGP+1]*. 00932 M00S00931.ssuse +++|# 00933 M00S00932.ssuse +++| 00934 M00S00933.ssuse +++| GRP$AUC[TOT] = GRP$AUC[TOT] + GRP$AUC[GP]; 00935 M00S00934.ssuse +++| GRP$AULF[TOT] = GRP$AULF[TOT] + GRP$AULF[GP]; 00936 M00S00935.ssuse +++| GRP$AUSF[TOT] = GRP$AUSF[TOT] + GRP$AUSF[GP]; 00937 M00S00936.ssuse +++| GRP$FA[TOT] = GRP$FA[TOT] + GRP$FA[GP]; 00938 M00S00937.ssuse +++| GRP$FB[TOT] = GRP$FB[TOT] + GRP$FB[GP]; 00939 M00S00938.ssuse +++| GRP$FC[TOT] = GRP$FC[TOT] + GRP$FC[GP]; 00940 M00S00939.ssuse +++| GRP$FRC[TOT] = GRP$FRC[TOT] + GRP$FRC[GP]; 00941 M00S00940.ssuse +++| GRP$INH[TOT] = GRP$INH[TOT] + GRP$INH[GP]; 00942 M00S00941.ssuse +++| GRP$LOC[TOT] = GRP$LOC[TOT] + GRP$LOC[GP]; 00943 M00S00942.ssuse +++| GRP$LOST[TOT] = GRP$LOST[TOT] + GRP$LOST[GP]; 00944 M00S00943.ssuse +++| GRP$OCL[TOT] = GRP$OCL[TOT] + GRP$OCL[GP]; 00945 M00S00944.ssuse +++| GRP$RES[TOT] = GRP$RES[TOT] + GRP$RES[GP]; 00946 M00S00945.ssuse +++| GRP$SE[TOT] = GRP$SE[TOT] + GRP$SE[GP]; 00947 M00S00946.ssuse +++| GRP$SF[TOT] = GRP$SF[TOT] + GRP$SF[GP]; 00948 M00S00947.ssuse +++| GRP$XPE[TOT] = GRP$XPE[TOT] + GRP$XPE[GP]; 00949 M00S00948.ssuse +++| END # FOR EACH GROUP # 00950 M00S00949.ssuse +++| 00951 M00S00950.ssuse +++|# 00952 M00S00951.ssuse +++|* ACCUMULATE SM TOTALS. 00953 M00S00952.ssuse +++|# 00954 M00S00953.ssuse +++| 00955 M00S00954.ssuse +++| SM$AUC[SM] = SM$AUC[SM] + GRP$AUC[TOT]; 00956 M00S00955.ssuse +++| SM$AULF[SM] = SM$AULF[SM] + GRP$AULF[TOT]; 00957 M00S00956.ssuse +++| SM$AUSF[SM] = SM$AUSF[SM] + GRP$AUSF[TOT]; 00958 M00S00957.ssuse +++| SM$FA[SM] = SM$FA[SM] + GRP$FA[TOT]; 00959 M00S00958.ssuse +++| SM$FB[SM] = SM$FB[SM] + GRP$FB[TOT]; 00960 M00S00959.ssuse +++| SM$FC[SM] = SM$FC[SM] + GRP$FC[TOT]; 00961 M00S00960.ssuse +++| SM$FRC[SM] = SM$FRC[SM] + GRP$FRC[TOT]; 00962 M00S00961.ssuse +++| SM$INH[SM] = SM$INH[SM] + GRP$INH[TOT]; 00963 M00S00962.ssuse +++| SM$LOC[SM] = SM$LOC[SM] + GRP$LOC[TOT]; 00964 M00S00963.ssuse +++| SM$LOST[SM] = SM$LOST[SM] + GRP$LOST[TOT]; 00965 M00S00964.ssuse +++| SM$OCL[SM] = SM$OCL[SM] + GRP$OCL[TOT]; 00966 M00S00965.ssuse +++| SM$RES[SM] = SM$RES[SM] + GRP$RES[TOT]; 00967 M00S00966.ssuse +++| SM$SE[SM] = SM$SE[SM] + GRP$SE[TOT]; 00968 M00S00967.ssuse +++| SM$SF[SM] = SM$SF[SM] + GRP$SF[TOT]; 00969 M00S00968.ssuse +++| SM$XPE[SM] = SM$XPE[SM] + GRP$XPE[TOT]; 00970 M00S00969.ssuse +++| 00971 M00S00970.ssuse +++|# 00972 M00S00971.ssuse +++|* ACCUMULATE SUBFAMILY TOTALS. 00973 M00S00972.ssuse +++|# 00974 M00S00973.ssuse +++| 00975 M00S00974.ssuse +++| SF$AUC[SUBFAM] = SF$AUC[SUBFAM] + GRP$AUC[TOT]; 00976 M00S00975.ssuse +++| SF$AULF[SUBFAM] = SF$AULF[SUBFAM] + GRP$AULF[TOT]; 00977 M00S00976.ssuse +++| SF$AUSF[SUBFAM] = SF$AUSF[SUBFAM] + GRP$AUSF[TOT]; 00978 M00S00977.ssuse +++| SF$FA[SUBFAM] = SF$FA[SUBFAM] + GRP$FA[TOT]; 00979 M00S00978.ssuse +++| SF$FB[SUBFAM] = SF$FB[SUBFAM] + GRP$FB[TOT]; 00980 M00S00979.ssuse +++| SF$FC[SUBFAM] = SF$FC[SUBFAM] + GRP$FC[TOT]; 00981 M00S00980.ssuse +++| SF$FRC[SUBFAM] = SF$FRC[SUBFAM] + GRP$FRC[TOT]; 00982 M00S00981.ssuse +++| SF$INH[SUBFAM] = SF$INH[SUBFAM] + GRP$INH[TOT]; 00983 M00S00982.ssuse +++| SF$LOC[SUBFAM] = SF$LOC[SUBFAM] + GRP$LOC[TOT]; 00984 M00S00983.ssuse +++| SF$LOST[SUBFAM] = SF$LOST[SUBFAM] + GRP$LOST[TOT]; 00985 M00S00984.ssuse +++| SF$OCL[SUBFAM] = SF$OCL[SUBFAM] + GRP$OCL[TOT]; 00986 M00S00985.ssuse +++| SF$RES[SUBFAM] = SF$RES[SUBFAM] + GRP$RES[TOT]; 00987 M00S00986.ssuse +++| SF$SE[SUBFAM] = SF$SE[SUBFAM] + GRP$SE[TOT]; 00988 M00S00987.ssuse +++| SF$SF[SUBFAM] = SF$SF[SUBFAM] + GRP$SF[TOT]; 00989 M00S00988.ssuse +++| SF$XPE[SUBFAM] = SF$XPE[SUBFAM] + GRP$XPE[TOT]; 00990 M00S00989.ssuse +++| 00991 M00S00990.ssuse +++| RETURN; 00992 M00S00991.ssuse +++| 00993 M00S00992.ssuse +++| END # USBASLN # 00994 M00S00993.ssuse +++| 00995 M00S00994.ssuse +++| TERM 00996 M00S00995.ssuse +++|PROC USBASTOT; 00997 M00S00996.ssuse +++|# TITLE USBASTOT - WRITES SM AND SUBFAMILY TOTALS TO THE REPORT FILE. # 00998 M00S00997.ssuse +++| 00999 M00S00998.ssuse +++| BEGIN # USBASTOT # 01000 M00S00999.ssuse +++| 01001 M00S01000.ssuse +++|# 01002 M00S01001.ssuse +++|** USBASTOT - WRITES SM AND SUBFAMILY TOTALS TO THE REPORT FILE. 01003 M00S01002.ssuse +++|* 01004 M00S01003.ssuse +++|* PROC USBASTOT. 01005 M00S01004.ssuse +++|* 01006 M00S01005.ssuse +++|* ENTRY. (SEL$SB) = BITS SET FOR THE SELECTED SUBFAMILIES. 01007 M00S01006.ssuse +++|* (SEL$SM) = BITS SET FOR THE SELECTED SM-S. 01008 M00S01007.ssuse +++|* 01009 M00S01008.ssuse +++|* EXIT. TOTALS HAVE BEEN WRITTEN TO REPORT FILE. 01010 M00S01009.ssuse +++|* 01011 M00S01010.ssuse +++|* NOTES. PROC *USBASTOT* CALLS *XCDD* TO CONVERT THE VARIOUS 01012 M00S01011.ssuse +++|* FIELDS IN THE *SM$TOT* AND *SF$TOT* ARRAYS FROM 01013 M00S01012.ssuse +++|* INTEGER TO DISPLAY CODE. THE CONVERTED VALUES ARE 01014 M00S01013.ssuse +++|* WRITTEN TO THE REPORT FILE. 01015 M00S01014.ssuse +++|# 01016 M00S01015.ssuse +++| 01017 M00S01016.ssuse +++|# 01018 M00S01017.ssuse +++|**** PROC USBASTOT - XREF LIST BEGIN. 01019 M00S01018.ssuse +++|# 01020 M00S01019.ssuse +++| 01021 M00S01020.ssuse +++| XREF 01022 M00S01021.ssuse +++| BEGIN 01023 M00S01022.ssuse +++| PROC BZFILL; # BLANK FILL CHARACTERS # 01024 M00S01023.ssuse +++| PROC RPEJECT; # PAGE EJECTS FOR REPORT FILE # 01025 M00S01024.ssuse +++| PROC RPLINE; # WRITES A LINE TO REPORT FILE # 01026 M00S01025.ssuse +++| PROC RPSPACE; # PUTS BLANK LINE ON REPORT FILE # 01027 M00S01026.ssuse +++| FUNC XCDD C(10); # CONVERTS INTEGER TO DISPLAY # 01028 M00S01027.ssuse +++| END 01029 M00S01028.ssuse +++| 01030 M00S01029.ssuse +++|# 01031 M00S01030.ssuse +++|**** PROC USBASTOT - XREF LIST END. 01032 M00S01031.ssuse +++|# 01033 M00S01032.ssuse +++| 01034 M00S01033.ssuse +++| DEF LISTCON #0#; # DO NOT LIST COMDECKS # 01035 M00S01034.ssuse +++|*CALL COMBFAS 01036 M00S01035.ssuse +++|*CALL COMBBZF 01037 M00S01036.ssuse +++|*CALL COMBMCT 01038 M00S01037.ssuse +++|*CALL COMXMSC 01039 M00S01038.ssuse +++|*CALL COMTOUT 01040 M00S01039.ssuse +++|*CALL COMTUSE 01041 M00S01040.ssuse +++|*CALL COMTUSP 01042 M00S01041.ssuse +++| 01043 M00S01042.ssuse +++| ITEM SM I; # SM IDENTIFIER # 01044 M00S01043.ssuse +++| ITEM SUBFAM I; # SUBFAMILY IDENTIFIER # 01045 M00S01044.ssuse +++| ITEM TEMP$FAM C(7); # FAMILY CHARACTER # 01046 M00S01045.ssuse +++| ITEM TEMP$SM C(1); # SM CHARACTER # 01047 M00S01046.ssuse +++| CONTROL EJECT; 01048 M00S01047.ssuse +++| 01049 M00S01048.ssuse +++| TEMP$FAM = USARG$FM[0]; 01050 M00S01049.ssuse +++| BZFILL(TEMP$FAM,TYPFILL"BFILL",7); 01051 M00S01050.ssuse +++| 01052 M00S01051.ssuse +++|# 01053 M00S01052.ssuse +++|* WRITE COLUMN HEADINGS TO REPORT FILE. 01054 M00S01053.ssuse +++|# 01055 M00S01054.ssuse +++| 01056 M00S01055.ssuse +++| RPEJECT(OUT$FETP); 01057 M00S01056.ssuse +++| RPLINE(OUT$FETP,"SSUSE BASIC REPORT",5,18,1); 01058 M00S01057.ssuse +++| RPLINE(OUT$FETP,"SM AND SUBFAMILY TOTALS",27,23,1); 01059 M00S01058.ssuse +++| RPLINE(OUT$FETP,"FAMILY = ",54,9,1); 01060 M00S01059.ssuse +++| RPLINE(OUT$FETP,TEMP$FAM,63,7,0); 01061 M00S01060.ssuse +++| RPSPACE(OUT$FETP,SP"SPACE",1); 01062 M00S01061.ssuse +++| RPLINE(OUT$FETP,"----AVAILABLE----",24,17,1); 01063 M00S01062.ssuse +++| RPLINE(OUT$FETP,"-----NUMBER CARTRIDGES FLAGGED----",43,34,1); 01064 M00S01063.ssuse +++| RPLINE(OUT$FETP,"-------------NUMBER AU FLAGGED",81,30,1); 01065 M00S01064.ssuse +++| RPLINE(OUT$FETP,"-------------",111,13,0); 01066 M00S01065.ssuse +++| RPLINE(OUT$FETP,"SUB SM GR",1,9,1); 01067 M00S01066.ssuse +++| RPLINE(OUT$FETP,"CUBE CART",12,10,1); 01068 M00S01067.ssuse +++| RPLINE(OUT$FETP,"AU AU",26,12,1); 01069 M00S01068.ssuse +++| RPLINE(OUT$FETP,"M I F L P E",46,31,1); 01070 M00S01069.ssuse +++| RPLINE(OUT$FETP,"FA FU",86,11,1); 01071 M00S01070.ssuse +++| RPLINE(OUT$FETP,"SF FC AC",104,20,0); 01072 M00S01071.ssuse +++| RPLINE(OUT$FETP,"(SMALL) (LARGE)",24,17,0); 01073 M00S01072.ssuse +++| RPSPACE(OUT$FETP,SP"SPACE",1); 01074 M00S01073.ssuse +++| RPLINE(OUT$FETP,"SM TOTALS FOR SPECIFIED SUBFAMILIES",1,35,0); 01075 M00S01074.ssuse +++| 01076 M00S01075.ssuse +++|# 01077 M00S01076.ssuse +++|* WRITE SM TOTALS TO REPORT FILE. 01078 M00S01077.ssuse +++|# 01079 M00S01078.ssuse +++| 01080 M00S01079.ssuse +++| SLOWFOR SM = 1 STEP 1 UNTIL MAXSM 01081 M00S01080.ssuse +++| DO 01082 M00S01081.ssuse +++| BEGIN # FOR EACH SM # 01083 M00S01082.ssuse +++| IF B<SM,1>SEL$SM EQ 0 01084 M00S01083.ssuse +++| THEN 01085 M00S01084.ssuse +++| BEGIN 01086 M00S01085.ssuse +++| TEST SM; 01087 M00S01086.ssuse +++| END 01088 M00S01087.ssuse +++| 01089 M00S01088.ssuse +++| TEMP$SM = SM; 01090 M00S01089.ssuse +++| 01091 M00S01090.ssuse +++|# 01092 M00S01091.ssuse +++|* CONVERT VALUES TO DISPLAY CODE AND PRINT THEM. 01093 M00S01092.ssuse +++|# 01094 M00S01093.ssuse +++| 01095 M00S01094.ssuse +++| RPSPACE(OUT$FETP,SP"SPACE",1); 01096 M00S01095.ssuse +++| RPLINE(OUT$FETP,"**",2,2,1); 01097 M00S01096.ssuse +++| RPLINE(OUT$FETP,TEMP$SM,5,1,1); 01098 M00S01097.ssuse +++| RPLINE(OUT$FETP,"**",8,2,1); 01099 M00S01098.ssuse +++| 01100 M00S01099.ssuse +++| CHAR$10[0] = XCDD(SM$LOC[SM]); 01101 M00S01100.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],12,4,1); 01102 M00S01101.ssuse +++| 01103 M00S01102.ssuse +++| CHAR$10[0] = XCDD(SM$RES[SM]); 01104 M00S01103.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],18,4,1); 01105 M00S01104.ssuse +++| 01106 M00S01105.ssuse +++| CHAR$10[0] = XCDD(SM$AUSF[SM]); 01107 M00S01106.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],24,7,1); 01108 M00S01107.ssuse +++| 01109 M00S01108.ssuse +++| CHAR$10[0] = XCDD(SM$AULF[SM]); 01110 M00S01109.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],34,7,1); 01111 M00S01110.ssuse +++| 01112 M00S01111.ssuse +++| CHAR$10[0] = XCDD(SM$LOST[SM]); 01113 M00S01112.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],43,4,1); 01114 M00S01113.ssuse +++| 01115 M00S01114.ssuse +++| CHAR$10[0] = XCDD(SM$INH[SM]); 01116 M00S01115.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],49,4,1); 01117 M00S01116.ssuse +++| 01118 M00S01117.ssuse +++| CHAR$10[0] = XCDD(SM$FRC[SM]); 01119 M00S01118.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],55,4,1); 01120 M00S01119.ssuse +++| 01121 M00S01120.ssuse +++| CHAR$10[0] = XCDD(SM$OCL[SM]); 01122 M00S01121.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],61,4,1); 01123 M00S01122.ssuse +++| 01124 M00S01123.ssuse +++| CHAR$10[0] = XCDD(SM$XPE[SM]); 01125 M00S01124.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],67,4,1); 01126 M00S01125.ssuse +++| 01127 M00S01126.ssuse +++| CHAR$10[0] = XCDD(SM$SE[SM]); 01128 M00S01127.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],73,4,1); 01129 M00S01128.ssuse +++| 01130 M00S01129.ssuse +++| CHAR$10[0] = XCDD(SM$FB[SM]); 01131 M00S01130.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],81,7,1); 01132 M00S01131.ssuse +++| 01133 M00S01132.ssuse +++| CHAR$10[0] = XCDD(SM$FA[SM]); 01134 M00S01133.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],90,7,1); 01135 M00S01134.ssuse +++| 01136 M00S01135.ssuse +++| CHAR$10[0] = XCDD(SM$SF[SM]); 01137 M00S01136.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],99,7,1); 01138 M00S01137.ssuse +++| 01139 M00S01138.ssuse +++| CHAR$10[0] = XCDD(SM$FC[SM]); 01140 M00S01139.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],108,7,1); 01141 M00S01140.ssuse +++| 01142 M00S01141.ssuse +++| CHAR$10[0] = XCDD(SM$AUC[SM]); 01143 M00S01142.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],117,7,0); 01144 M00S01143.ssuse +++| END # FOR EACH SM # 01145 M00S01144.ssuse +++| 01146 M00S01145.ssuse +++| RPSPACE(OUT$FETP,SP"SPACE",2); 01147 M00S01146.ssuse +++| RPLINE(OUT$FETP,"SUBFAMILY TOTALS FOR SPECIFIED SM-S",1,35,0); 01148 M00S01147.ssuse +++| 01149 M00S01148.ssuse +++|# 01150 M00S01149.ssuse +++|* WRITE SUBFAMILY TOTALS TO REPORT FILE. 01151 M00S01150.ssuse +++|# 01152 M00S01151.ssuse +++| 01153 M00S01152.ssuse +++| SLOWFOR SUBFAM = 0 STEP 1 UNTIL MAXSF 01154 M00S01153.ssuse +++| DO 01155 M00S01154.ssuse +++| BEGIN # FOR EACH SUBFAMILY # 01156 M00S01155.ssuse +++| IF B<SUBFAM,1>SEL$SB EQ 0 01157 M00S01156.ssuse +++| THEN 01158 M00S01157.ssuse +++| BEGIN 01159 M00S01158.ssuse +++| TEST SUBFAM; 01160 M00S01159.ssuse +++| END 01161 M00S01160.ssuse +++| 01162 M00S01161.ssuse +++|# 01163 M00S01162.ssuse +++|* CONVERT VALUES TO DISPLAY CODE AND PRINT THEM. 01164 M00S01163.ssuse +++|# 01165 M00S01164.ssuse +++| 01166 M00S01165.ssuse +++| RPSPACE(OUT$FETP,SP"SPACE",1); 01167 M00S01166.ssuse +++| CHAR$10[0] = XCDD(SUBFAM); 01168 M00S01167.ssuse +++| RPLINE(OUT$FETP,CHAR$R1[0],2,1,1); 01169 M00S01168.ssuse +++| RPLINE(OUT$FETP,"**",5,2,1); 01170 M00S01169.ssuse +++| RPLINE(OUT$FETP,"**",8,2,1); 01171 M00S01170.ssuse +++| 01172 M00S01171.ssuse +++| CHAR$10[0] = XCDD(SF$LOC[SUBFAM]); 01173 M00S01172.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],12,4,1); 01174 M00S01173.ssuse +++| 01175 M00S01174.ssuse +++| CHAR$10[0] = XCDD(SF$RES[SUBFAM]); 01176 M00S01175.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],18,4,1); 01177 M00S01176.ssuse +++| 01178 M00S01177.ssuse +++| CHAR$10[0] = XCDD(SF$AUSF[SUBFAM]); 01179 M00S01178.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],24,7,1); 01180 M00S01179.ssuse +++| 01181 M00S01180.ssuse +++| CHAR$10[0] = XCDD(SF$AULF[SUBFAM]); 01182 M00S01181.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],34,7,1); 01183 M00S01182.ssuse +++| 01184 M00S01183.ssuse +++| CHAR$10[0] = XCDD(SF$LOST[SUBFAM]); 01185 M00S01184.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],43,4,1); 01186 M00S01185.ssuse +++| 01187 M00S01186.ssuse +++| CHAR$10[0] = XCDD(SF$INH[SUBFAM]); 01188 M00S01187.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],49,4,1); 01189 M00S01188.ssuse +++| 01190 M00S01189.ssuse +++| CHAR$10[0] = XCDD(SF$FRC[SUBFAM]); 01191 M00S01190.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],55,4,1); 01192 M00S01191.ssuse +++| 01193 M00S01192.ssuse +++| CHAR$10[0] = XCDD(SF$OCL[SUBFAM]); 01194 M00S01193.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],61,4,1); 01195 M00S01194.ssuse +++| 01196 M00S01195.ssuse +++| CHAR$10[0] = XCDD(SF$XPE[SUBFAM]); 01197 M00S01196.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],67,4,1); 01198 M00S01197.ssuse +++| 01199 M00S01198.ssuse +++| CHAR$10[0] = XCDD(SF$SE[SUBFAM]); 01200 M00S01199.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],73,4,1); 01201 M00S01200.ssuse +++| 01202 M00S01201.ssuse +++| CHAR$10[0] = XCDD(SF$FB[SUBFAM]); 01203 M00S01202.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],81,7,1); 01204 M00S01203.ssuse +++| 01205 M00S01204.ssuse +++| CHAR$10[0] = XCDD(SF$FA[SUBFAM]); 01206 M00S01205.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],90,7,1); 01207 M00S01206.ssuse +++| 01208 M00S01207.ssuse +++| CHAR$10[0] = XCDD(SF$SF[SUBFAM]); 01209 M00S01208.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],99,7,1); 01210 M00S01209.ssuse +++| 01211 M00S01210.ssuse +++| CHAR$10[0] = XCDD(SF$FC[SUBFAM]); 01212 M00S01211.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],108,7,1); 01213 M00S01212.ssuse +++| 01214 M00S01213.ssuse +++| CHAR$10[0] = XCDD(SF$AUC[SUBFAM]); 01215 M00S01214.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],117,7,0); 01216 M00S01215.ssuse +++| END # FOR EACH SUBFAMILY # 01217 M00S01216.ssuse +++| 01218 M00S01217.ssuse +++| RETURN; 01219 M00S01218.ssuse +++| 01220 M00S01219.ssuse +++| END # USBASTOT # 01221 M00S01220.ssuse +++| 01222 M00S01221.ssuse +++| TERM 01223 M00S01222.ssuse +++|PROC USHEAD((FETP)); 01224 M00S01223.ssuse +++|# TITLE USHEAD - WRITES HEADER ON OUTPUT FILE. # 01225 M00S01224.ssuse +++| 01226 M00S01225.ssuse +++| BEGIN # USHEAD # 01227 M00S01226.ssuse +++| 01228 M00S01227.ssuse +++|# 01229 M00S01228.ssuse +++|** USHEAD - WRITES HEADER LINE ON OUTPUT FILE. 01230 M00S01229.ssuse +++|* 01231 M00S01230.ssuse +++|* PROC USHEAD((FETP)). 01232 M00S01231.ssuse +++|* 01233 M00S01232.ssuse +++|* ENTRY (FETP) = AN ITEM CONTAINING THE FWA OF THE FET. 01234 M00S01233.ssuse +++|* 01235 M00S01234.ssuse +++|* EXIT HEADER IS WRITTEN ON THE OUTPUT FILE. 01236 M00S01235.ssuse +++|* 01237 M00S01236.ssuse +++|* NOTES THE REPORT FORMATTER IS USED TO 01238 M00S01237.ssuse +++|* PRINT THE HEADER LINES. 01239 M00S01238.ssuse +++|# 01240 M00S01239.ssuse +++| 01241 M00S01240.ssuse +++| ITEM FETP I; # FWA OF THE FET # 01242 M00S01241.ssuse +++| 01243 M00S01242.ssuse +++|# 01244 M00S01243.ssuse +++|**** PROC USHEAD - XREF LIST BEGIN. 01245 M00S01244.ssuse +++|# 01246 M00S01245.ssuse +++| 01247 M00S01246.ssuse +++| XREF 01248 M00S01247.ssuse +++| BEGIN 01249 M00S01248.ssuse +++| PROC RPLINEX; # PRINTS A REPORT LINE # 01250 M00S01249.ssuse +++| END 01251 M00S01250.ssuse +++| 01252 M00S01251.ssuse +++|# 01253 M00S01252.ssuse +++|**** PROC USHEAD - XREF LIST END. 01254 M00S01253.ssuse +++|# 01255 M00S01254.ssuse +++| 01256 M00S01255.ssuse +++| DEF LISTCON #0#; # DO NOT LIST COMDECKS # 01257 M00S01256.ssuse +++|*CALL COMBFAS 01258 M00S01257.ssuse +++| 01259 M00S01258.ssuse +++| CONTROL EJECT; 01260 M00S01259.ssuse +++| 01261 M00S01260.ssuse +++|# 01262 M00S01261.ssuse +++|* PRINT THE HEADER LINE. 01263 M00S01262.ssuse +++|# 01264 M00S01263.ssuse +++| 01265 M00S01264.ssuse +++| RPLINEX(FETP,"SSUSE REPORT FILE",2,17,0); 01266 M00S01265.ssuse +++| RPLINEX(FETP," ",1,1,0); # WRITE A BLANK LINE # 01267 M00S01266.ssuse +++| RETURN; 01268 M00S01267.ssuse +++| 01269 M00S01268.ssuse +++| END # USHEAD # 01270 M00S01269.ssuse +++| 01271 M00S01270.ssuse +++| TERM 01272 M00S01271.ssuse +++|PROC USOPT; 01273 M00S01272.ssuse +++|# TITLE USOPT - CONVERTS PARAMETERS AND CHECKS FOR VALID OPTIONS. # 01274 M00S01273.ssuse +++| 01275 M00S01274.ssuse +++| BEGIN # USOPT # 01276 M00S01275.ssuse +++| 01277 M00S01276.ssuse +++|# 01278 M00S01277.ssuse +++|** USOPT - CONVERTS AND CHECKS PARAMETERS FOR ALL VALID OPTIONS. 01279 M00S01278.ssuse +++|* 01280 M00S01279.ssuse +++|* THIS PROC CHECKS PARAMETERS FOR LEGALITY. IF INVALID OPTIONS ARE 01281 M00S01280.ssuse +++|* FOUND IT ISSUES A DAYFILE MESSAGE AND THEN ABORTS. 01282 M00S01281.ssuse +++|* 01283 M00S01282.ssuse +++|* ENTRY PARAMETERS PROCESSED AND SET UP IN *TUSPCOM*. 01284 M00S01283.ssuse +++|* 01285 M00S01284.ssuse +++|* EXIT ALL OPTIONS HAVE BEEN VALIDATED, OR IF VALID 01286 M00S01285.ssuse +++|* OPTIONS HAVE BEEN MISUSED, THE PROC ISSUES A 01287 M00S01286.ssuse +++|* DAYFILE MESSAGE AND THEN ABORTS. 01288 M00S01287.ssuse +++|* 01289 M00S01288.ssuse +++|* MESSAGES 1) INCORRECT SM. 01290 M00S01289.ssuse +++|* 2) INCORRECT SUBFAMILY. 01291 M00S01290.ssuse +++|* 3) INCORRECT REPORT OPTION. 01292 M00S01291.ssuse +++|* 4) DUPLICATE SM. 01293 M00S01292.ssuse +++|* 5) DUPLICATE SUBFAMILY. 01294 M00S01293.ssuse +++|* 6) DUPLICATE OPTION. 01295 M00S01294.ssuse +++|* 7) CN NOT SPECIFIED. 01296 M00S01295.ssuse +++|* 01297 M00S01296.ssuse +++|* NOTES ALL PARAMETER OPTIONS ARE TESTED FOR INVALID OPTIONS. 01298 M00S01297.ssuse +++|* THE VALID OPTIONS ON *SSUSE* CALLS ARE 01299 M00S01298.ssuse +++|* 1. *OP* MUST EITHER CONTAIN ANY COMBINATION OF THE 01300 M00S01299.ssuse +++|* VALID CHARACTERS A, B, C, OR D, OR IT CAN BE 01301 M00S01300.ssuse +++|* OMITTED. 01302 M00S01301.ssuse +++|* 2. *SM* MUST BE A VALID SM NAME OR A VALID 01303 M00S01302.ssuse +++|* COMBINATION OF VALID SM NAMES, OR IT CAN BE 01304 M00S01303.ssuse +++|* OMITTED. 01305 M00S01304.ssuse +++|* 3. *SB* MUST BE FROM 0 TO 7 OR A VALID COMBINATION 01306 M00S01305.ssuse +++|* OF LEGAL SUBFAMILY NUMBERS, OR IT CAN BE OMITTED 01307 M00S01306.ssuse +++|* 4. *CN* MUST BE SPECIFIED IF REPORT D IS SELECTED. 01308 M00S01307.ssuse +++|* ANY VIOLATION OF THE VALID OPTIONS CAUSES A MESSAGE 01309 M00S01308.ssuse +++|* TO BE PRINTED IN THE DAYFILE AND CAUSES PROC 01310 M00S01309.ssuse +++|* *USOPT* TO ABORT. 01311 M00S01310.ssuse +++|# 01312 M00S01311.ssuse +++| 01313 M00S01312.ssuse +++|# 01314 M00S01313.ssuse +++|**** PROC USOPT - XREF LIST BEGIN. 01315 M00S01314.ssuse +++|# 01316 M00S01315.ssuse +++| 01317 M00S01316.ssuse +++| XREF 01318 M00S01317.ssuse +++| BEGIN 01319 M00S01318.ssuse +++| PROC BZFILL; # BLANK FILLS CHARACTERS # 01320 M00S01319.ssuse +++| PROC MESSAGE; # DISPLAYS MESSAGE IN DAYFILE # 01321 M00S01320.ssuse +++| PROC RESTPFP; # RESTORE USER-S *PFP* AND ABORT 01322 M00S01321.ssuse +++| OR RETURN # 01323 M00S01322.ssuse +++| END 01324 M00S01323.ssuse +++| 01325 M00S01324.ssuse +++|# 01326 M00S01325.ssuse +++|**** PROC USOPT - XREF LIST END. 01327 M00S01326.ssuse +++|# 01328 M00S01327.ssuse +++| 01329 M00S01328.ssuse +++| DEF LISTCON #0#; # DO NOT LIST COMDECKS # 01330 M00S01329.ssuse +++|*CALL COMBFAS 01331 M00S01330.ssuse +++|*CALL,COMBBZF 01332 M00S01331.ssuse +++|*CALL COMBMCT 01333 M00S01332.ssuse +++|*CALL COMXMSC 01334 M00S01333.ssuse +++|*CALL COMTUSE 01335 M00S01334.ssuse +++|*CALL COMTUSP 01336 M00S01335.ssuse +++| 01337 M00S01336.ssuse +++| ITEM I I; # LOOP VARIABLE # 01338 M00S01337.ssuse +++| ITEM MORE B; # MORE SM-ID/SUBFAMILY INDICATOR # 01339 M00S01338.ssuse +++| ITEM SMARG C(10); # SM ARGUMENTS # 01340 M00S01339.ssuse +++| ITEM TEMPC C(1); # TEMPORARY CHARACTER # 01341 M00S01340.ssuse +++| 01342 M00S01341.ssuse +++| CONTROL EJECT; 01343 M00S01342.ssuse +++| 01344 M00S01343.ssuse +++|# 01345 M00S01344.ssuse +++|* CHECK ALL SPECIFIED VALUES OF *SM*. 01346 M00S01345.ssuse +++|# 01347 M00S01346.ssuse +++| 01348 M00S01347.ssuse +++| MORE = TRUE; 01349 M00S01348.ssuse +++| SMARG = USARG$SM[0]; 01350 M00S01349.ssuse +++| BZFILL(SMARG,TYPFILL"BFILL",10); 01351 M00S01350.ssuse +++| SLOWFOR I = 0 STEP 1 WHILE I LS MAXSM AND MORE 01352 M00S01351.ssuse +++| DO 01353 M00S01352.ssuse +++| BEGIN # CHECK SPECIFIED SM-ID-S # 01354 M00S01353.ssuse +++| TEMPC = C<I,1>SMARG; 01355 M00S01354.ssuse +++| IF TEMPC EQ " " 01356 M00S01355.ssuse +++| THEN # NO MORE SM-ID-S # 01357 M00S01356.ssuse +++| BEGIN 01358 M00S01357.ssuse +++| MORE = FALSE; 01359 M00S01358.ssuse +++| TEST I; 01360 M00S01359.ssuse +++| END 01361 M00S01360.ssuse +++| 01362 M00S01361.ssuse +++| IF TEMPC GR "H" OR TEMPC LS "A" 01363 M00S01362.ssuse +++| THEN # INCORRECT SM # 01364 M00S01363.ssuse +++| BEGIN 01365 M00S01364.ssuse +++| SSMSG$LINE[0] = " INCORRECT SM."; 01366 M00S01365.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 01367 M00S01366.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 01368 M00S01367.ssuse +++| END 01369 M00S01368.ssuse +++| 01370 M00S01369.ssuse +++| IF B<TEMPC,1>SEL$SM EQ 1 01371 M00S01370.ssuse +++| THEN # DUPLICATE SM # 01372 M00S01371.ssuse +++| BEGIN 01373 M00S01372.ssuse +++| SSMSG$LINE[0] = " DUPLICATE SM."; 01374 M00S01373.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 01375 M00S01374.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 01376 M00S01375.ssuse +++| END 01377 M00S01376.ssuse +++| 01378 M00S01377.ssuse +++| B<TEMPC,1>SEL$SM = 1; # TURN SM BIT ON # 01379 M00S01378.ssuse +++| END # CHECK SPECIFIED SM-ID-S # 01380 M00S01379.ssuse +++| 01381 M00S01380.ssuse +++|# 01382 M00S01381.ssuse +++|* CHECK ALL SPECIFIED VALUES OF *SB*. 01383 M00S01382.ssuse +++|# 01384 M00S01383.ssuse +++| 01385 M00S01384.ssuse +++| MORE = TRUE; 01386 M00S01385.ssuse +++| SLOWFOR I = 0 STEP 1 WHILE I LQ MAXSF AND MORE 01387 M00S01386.ssuse +++| DO 01388 M00S01387.ssuse +++| BEGIN # CHECK SPECIFIED SUBFAMILIES # 01389 M00S01388.ssuse +++| TEMPC = C<I,1>USARG$SB[0]; 01390 M00S01389.ssuse +++| IF TEMPC EQ 0 01391 M00S01390.ssuse +++| THEN # NO MORE SUBFAMILIES # 01392 M00S01391.ssuse +++| BEGIN 01393 M00S01392.ssuse +++| MORE = FALSE; 01394 M00S01393.ssuse +++| TEST I; 01395 M00S01394.ssuse +++| END 01396 M00S01395.ssuse +++| 01397 M00S01396.ssuse +++| IF TEMPC LS "0" OR TEMPC GR "7" 01398 M00S01397.ssuse +++| THEN # INCORRECT SUBFAMILY # 01399 M00S01398.ssuse +++| BEGIN 01400 M00S01399.ssuse +++| SSMSG$LINE[0] = " INCORRECT SUBFAMILY."; 01401 M00S01400.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 01402 M00S01401.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 01403 M00S01402.ssuse +++| END 01404 M00S01403.ssuse +++| 01405 M00S01404.ssuse +++| IF B<TEMPC - "0",1>SEL$SB EQ 1 01406 M00S01405.ssuse +++| THEN # DUPLICATE SUBFAMILY # 01407 M00S01406.ssuse +++| BEGIN 01408 M00S01407.ssuse +++| SSMSG$LINE[0] = " DUPLICATE SUBFAMILY."; 01409 M00S01408.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 01410 M00S01409.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 01411 M00S01410.ssuse +++| END 01412 M00S01411.ssuse +++| 01413 M00S01412.ssuse +++| B<TEMPC - "0",1>SEL$SB = 1; # TURN SUBFAMILY BIT ON # 01414 M00S01413.ssuse +++| END # CHECK SPECIFIED SUBFAMILIES # 01415 M00S01414.ssuse +++| 01416 M00S01415.ssuse +++|# 01417 M00S01416.ssuse +++|* CHECK THE VALUES OF *OP*. 01418 M00S01417.ssuse +++|# 01419 M00S01418.ssuse +++| 01420 M00S01419.ssuse +++| REPORT$A = FALSE; 01421 M00S01420.ssuse +++| REPORT$B = FALSE; 01422 M00S01421.ssuse +++| REPORT$C = FALSE; 01423 M00S01422.ssuse +++| REPORT$D = FALSE; 01424 M00S01423.ssuse +++| 01425 M00S01424.ssuse +++| SLOWFOR I = 0 STEP 1 UNTIL 9 01426 M00S01425.ssuse +++| DO 01427 M00S01426.ssuse +++| BEGIN # CHECK ALL VALUES OF *OP* # 01428 M00S01427.ssuse +++| TEMPC = C<I,1>USARG$OP[0]; 01429 M00S01428.ssuse +++| IF TEMPC NQ 0 01430 M00S01429.ssuse +++| THEN 01431 M00S01430.ssuse +++| BEGIN # CHECK SPECIFIED *OP* # 01432 M00S01431.ssuse +++| IF TEMPC GR "D" OR TEMPC LS "A" 01433 M00S01432.ssuse +++| THEN 01434 M00S01433.ssuse +++| BEGIN 01435 M00S01434.ssuse +++| SSMSG$LINE[0] = " INCORRECT REPORT OPTION."; 01436 M00S01435.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 01437 M00S01436.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 01438 M00S01437.ssuse +++| END 01439 M00S01438.ssuse +++| 01440 M00S01439.ssuse +++| ELSE 01441 M00S01440.ssuse +++| BEGIN # SET APPROPRIATE FLAG # 01442 M00S01441.ssuse +++| IF TEMPC EQ "A" 01443 M00S01442.ssuse +++| THEN # REPORT A SELECTED # 01444 M00S01443.ssuse +++| BEGIN 01445 M00S01444.ssuse +++| IF NOT REPORT$A 01446 M00S01445.ssuse +++| THEN # UNIQUE OPTION # 01447 M00S01446.ssuse +++| BEGIN 01448 M00S01447.ssuse +++| REPORT$A = TRUE; 01449 M00S01448.ssuse +++| TEST I; 01450 M00S01449.ssuse +++| END 01451 M00S01450.ssuse +++| 01452 M00S01451.ssuse +++| ELSE # DUPLICATE OPTION # 01453 M00S01452.ssuse +++| BEGIN 01454 M00S01453.ssuse +++| SSMSG$LINE[0] = " DUPLICATE OPTION."; 01455 M00S01454.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 01456 M00S01455.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 01457 M00S01456.ssuse +++| END 01458 M00S01457.ssuse +++| 01459 M00S01458.ssuse +++| END 01460 M00S01459.ssuse +++| 01461 M00S01460.ssuse +++| IF TEMPC EQ "B" 01462 M00S01461.ssuse +++| THEN # REPORT B SELECTED # 01463 M00S01462.ssuse +++| BEGIN 01464 M00S01463.ssuse +++| IF NOT REPORT$B 01465 M00S01464.ssuse +++| THEN # UNIQUE OPTION # 01466 M00S01465.ssuse +++| BEGIN 01467 M00S01466.ssuse +++| REPORT$B = TRUE; 01468 M00S01467.ssuse +++| TEST I; 01469 M00S01468.ssuse +++| END 01470 M00S01469.ssuse +++| 01471 M00S01470.ssuse +++| ELSE # DUPLICATE OPTION # 01472 M00S01471.ssuse +++| BEGIN 01473 M00S01472.ssuse +++| SSMSG$LINE[0] = " DUPLICATE OPTION."; 01474 M00S01473.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 01475 M00S01474.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 01476 M00S01475.ssuse +++| END 01477 M00S01476.ssuse +++| 01478 M00S01477.ssuse +++| END 01479 M00S01478.ssuse +++| 01480 M00S01479.ssuse +++| IF TEMPC EQ "C" 01481 M00S01480.ssuse +++| THEN # REPORT C SELECTED # 01482 M00S01481.ssuse +++| BEGIN 01483 M00S01482.ssuse +++| IF NOT REPORT$C 01484 M00S01483.ssuse +++| THEN # UNIQUE OPTION # 01485 M00S01484.ssuse +++| BEGIN 01486 M00S01485.ssuse +++| REPORT$C = TRUE; 01487 M00S01486.ssuse +++| TEST I; 01488 M00S01487.ssuse +++| END 01489 M00S01488.ssuse +++| 01490 M00S01489.ssuse +++| ELSE # DUPLICATE OPTION # 01491 M00S01490.ssuse +++| BEGIN 01492 M00S01491.ssuse +++| SSMSG$LINE[0] = " DUPLICATE OPTION."; 01493 M00S01492.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 01494 M00S01493.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 01495 M00S01494.ssuse +++| END 01496 M00S01495.ssuse +++| 01497 M00S01496.ssuse +++| END 01498 M00S01497.ssuse +++| 01499 M00S01498.ssuse +++| IF TEMPC EQ "D" 01500 M00S01499.ssuse +++| THEN # REPORT D SELECTED # 01501 M00S01500.ssuse +++| BEGIN 01502 M00S01501.ssuse +++| IF NOT REPORT$D 01503 M00S01502.ssuse +++| THEN # UNIQUE OPTION # 01504 M00S01503.ssuse +++| BEGIN 01505 M00S01504.ssuse +++| REPORT$D = TRUE; 01506 M00S01505.ssuse +++| TEST I; 01507 M00S01506.ssuse +++| END 01508 M00S01507.ssuse +++| 01509 M00S01508.ssuse +++| ELSE # DUPLICATE OPTION # 01510 M00S01509.ssuse +++| BEGIN 01511 M00S01510.ssuse +++| SSMSG$LINE[0] = " DUPLICATE OPTION."; 01512 M00S01511.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 01513 M00S01512.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 01514 M00S01513.ssuse +++| END 01515 M00S01514.ssuse +++| 01516 M00S01515.ssuse +++| END 01517 M00S01516.ssuse +++| 01518 M00S01517.ssuse +++| END # SET APPROPRIATE FLAG # 01519 M00S01518.ssuse +++| 01520 M00S01519.ssuse +++| END # CHECK SPECIFIED *OP* # 01521 M00S01520.ssuse +++| 01522 M00S01521.ssuse +++| END # CHECK ALL VALUES OF *OP* # 01523 M00S01522.ssuse +++| 01524 M00S01523.ssuse +++|# 01525 M00S01524.ssuse +++|* CHECK THAT *CN* IS SPECIFIED IF REPORT D IS SELECTED. 01526 M00S01525.ssuse +++|# 01527 M00S01526.ssuse +++| 01528 M00S01527.ssuse +++| IF REPORT$D 01529 M00S01528.ssuse +++| THEN 01530 M00S01529.ssuse +++| BEGIN # CHECK *CN* # 01531 M00S01530.ssuse +++| IF USARG$CN[0] EQ 0 01532 M00S01531.ssuse +++| THEN 01533 M00S01532.ssuse +++| BEGIN 01534 M00S01533.ssuse +++| SSMSG$LINE[0] = " CN NOT SPECIFIED."; 01535 M00S01534.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 01536 M00S01535.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 01537 M00S01536.ssuse +++| END 01538 M00S01537.ssuse +++| 01539 M00S01538.ssuse +++| END # CHECK *CN* # 01540 M00S01539.ssuse +++| 01541 M00S01540.ssuse +++| IF USARG$CM[0] NQ 0 01542 M00S01541.ssuse +++| THEN 01543 M00S01542.ssuse +++| BEGIN 01544 M00S01543.ssuse +++| C<1,1>USARG$CM[0] = "-"; 01545 M00S01544.ssuse +++| END 01546 M00S01545.ssuse +++| 01547 M00S01546.ssuse +++| RETURN; 01548 M00S01547.ssuse +++| 01549 M00S01548.ssuse +++| END # USOPT # 01550 M00S01549.ssuse +++| 01551 M00S01550.ssuse +++| TERM 01552 M00S01551.ssuse +++|PROC USRPBAS; 01553 M00S01552.ssuse +++|# TITLE USRPBAS - GENERATES BASIC AND SPECIFIED OPTIONAL REPORTS. # 01554 M00S01553.ssuse +++| 01555 M00S01554.ssuse +++| BEGIN # USRPBAS # 01556 M00S01555.ssuse +++| 01557 M00S01556.ssuse +++|# 01558 M00S01557.ssuse +++|** USRPBAS - GENERATES BASIC AND SPECIFIED OPTIONAL REPORTS. 01559 M00S01558.ssuse +++|* 01560 M00S01559.ssuse +++|* THIS PROCEDURE GENERATES THE BASIC REPORT AND ANY OPTIONAL 01561 M00S01560.ssuse +++|* REPORTS SELECTED FOR ALL THE SM-S AND SUBFAMILIES SPECIFIED. 01562 M00S01561.ssuse +++|* 01563 M00S01562.ssuse +++|* PROC USRPBAS. 01564 M00S01563.ssuse +++|* 01565 M00S01564.ssuse +++|* ENTRY PROCESSED AND SYNTAX-CHECKED PARAMETERS SET UP IN 01566 M00S01565.ssuse +++|* *TUSPCOM*. 01567 M00S01566.ssuse +++|* (USARG$FM) = FAMILY NAME. 01568 M00S01567.ssuse +++|* (SEL$SM) = BITS SET FOR THE SELECTED SM-S. 01569 M00S01568.ssuse +++|* (SEL$SB) = BITS SET FOR THE SELECTED SUBFAMILIES. 01570 M00S01569.ssuse +++|* (REPORT$A) = OPTIONAL REPORT SELECTION CODE, 01571 M00S01570.ssuse +++|* TRUE, REPORT A SELECTED, 01572 M00S01571.ssuse +++|* FALSE, REPORT A NOT SELECTED. 01573 M00S01572.ssuse +++|* (REPORT$B) = OPTIONAL REPORT SELECTION CODE, 01574 M00S01573.ssuse +++|* TRUE, REPORT B SELECTED, 01575 M00S01574.ssuse +++|* FALSE, REPORT B NOT SELECTED. 01576 M00S01575.ssuse +++|* (REPORT$C) = OPTIONAL REPORT SELECTION CODE, 01577 M00S01576.ssuse +++|* TRUE, REPORT C SELECTED, 01578 M00S01577.ssuse +++|* FALSE, REPORT C NOT SELECTED. 01579 M00S01578.ssuse +++|* (REPORT$D) = OPTIONAL REPORT SELECTION CODE, 01580 M00S01579.ssuse +++|* TRUE, REPORT D SELECTED, 01581 M00S01580.ssuse +++|* FALSE, REPORT D NOT SELECTED. 01582 M00S01581.ssuse +++|* 01583 M00S01582.ssuse +++|* EXIT ALL SPECIFIED REPORTS HAVE BEEN GENERATED. 01584 M00S01583.ssuse +++|* 01585 M00S01584.ssuse +++|* MESSAGES 1) FAMILY NOT FOUND. 01586 M00S01585.ssuse +++|* 2) UNABLE TO OPEN CATALOG. 01587 M00S01586.ssuse +++|* 3) SSUSE ABNORMAL, USRPBAS. 01588 M00S01587.ssuse +++|* 4) SFM CATALOG PARITY ERROR. 01589 M00S01588.ssuse +++|* 01590 M00S01589.ssuse +++|* NOTES *USRPBAS* GENERATES THE BASIC REPORT FOR ALL SM-S 01591 M00S01590.ssuse +++|* SPECIFIED FOR ALL OF THE SUBFAMILIES SPECIFIED IN 01592 M00S01591.ssuse +++|* THE BITS OF *SEL$SB*. IF ANY OPTIONAL REPORTS 01593 M00S01592.ssuse +++|* ARE DESIRED, *USRPBAS* CALLS THE APPROPRIATE ROUTINES 01594 M00S01593.ssuse +++|* TO GENERATE THOSE REPORTS. 01595 M00S01594.ssuse +++|# 01596 M00S01595.ssuse +++| 01597 M00S01596.ssuse +++|# 01598 M00S01597.ssuse +++|**** PROC USRPBAS - XREF LIST BEGIN. 01599 M00S01598.ssuse +++|# 01600 M00S01599.ssuse +++| 01601 M00S01600.ssuse +++| XREF 01602 M00S01601.ssuse +++| BEGIN 01603 M00S01602.ssuse +++| PROC BZFILL; # BLANK FILLS CHARACTERS # 01604 M00S01603.ssuse +++| PROC CCLOSE; # CLOSES THE CATALOG # 01605 M00S01604.ssuse +++| PROC COPEN; # OPENS THE CATALOG # 01606 M00S01605.ssuse +++| PROC LOFPROC; # LIST OF FILES PROCESSOR # 01607 M00S01606.ssuse +++| PROC MESSAGE; # DISPLAYS MESSAGE IN DAYFILE # 01608 M00S01607.ssuse +++| PROC RESTPFP; # RESTORE USER-S *PFP* AND ABORT 01609 M00S01608.ssuse +++| OR RETURN # 01610 M00S01609.ssuse +++| PROC RPCLOSE; # CLOSES THE REPORT FILE # 01611 M00S01610.ssuse +++| PROC RPEJECT; # PAGE EJECTS THE REPORT FILE # 01612 M00S01611.ssuse +++| PROC RPLINE; # WRITES LINE TO REPORT FILE # 01613 M00S01612.ssuse +++| PROC RPOPEN; # OPENS THE REPORT FILE # 01614 M00S01613.ssuse +++| PROC RPSPACE; # PUTS BLANK LINE ON REPORT FILE # 01615 M00S01614.ssuse +++| PROC SETPFP; # SET FAMILY AND USER INDEX # 01616 M00S01615.ssuse +++| PROC USANALS; # ANALYZE *FCT* ENTRIES FOR A SM # 01617 M00S01616.ssuse +++| PROC USBASLN; # PRINTS LINE ON BASIC REPORT # 01618 M00S01617.ssuse +++| PROC USBASTOT; # PRINTS TOTAL ON BASIC REPORT # 01619 M00S01618.ssuse +++| PROC USHEAD; # WRITES HEADER ON OUTPUT FILE # 01620 M00S01619.ssuse +++| PROC USRPTA; # GENERATES OPTIONAL REPORT A # 01621 M00S01620.ssuse +++| PROC USRPTB; # GENERATES OPTIONAL REPORT B # 01622 M00S01621.ssuse +++| PROC USRPTC; # GENERATES OPTIONAL REPORT C # 01623 M00S01622.ssuse +++| PROC USRPTD; # GENERATES OPTIONAL REPORT D # 01624 M00S01623.ssuse +++| PROC ZFILL; # ZERO FILL ARRAY # 01625 M00S01624.ssuse +++| FUNC XCDD C(10); # CONVERTS INTEGERS TO DISPLAY # 01626 M00S01625.ssuse +++| END 01627 M00S01626.ssuse +++| 01628 M00S01627.ssuse +++|# 01629 M00S01628.ssuse +++|**** PROC USRPBAS - XREF LIST END. 01630 M00S01629.ssuse +++|# 01631 M00S01630.ssuse +++| 01632 M00S01631.ssuse +++| DEF PROCNAME #"USRPBAS."#; # PROC NAME # 01633 M00S01632.ssuse +++| DEF LISTCON #0#; # DO NOT LIST COMDECKS # 01634 M00S01633.ssuse +++|*CALL COMBFAS 01635 M00S01634.ssuse +++|*CALL COMBBZF 01636 M00S01635.ssuse +++|*CALL COMBCMD 01637 M00S01636.ssuse +++|*CALL COMBCMS 01638 M00S01637.ssuse +++|*CALL COMBMCT 01639 M00S01638.ssuse +++|*CALL COMBPFP 01640 M00S01639.ssuse +++|*CALL COMXMSC 01641 M00S01640.ssuse +++|*CALL COMSPFM 01642 M00S01641.ssuse +++|*CALL COMTOUT 01643 M00S01642.ssuse +++|*CALL COMTUSE 01644 M00S01643.ssuse +++|*CALL COMTUSP 01645 M00S01644.ssuse +++| 01646 M00S01645.ssuse +++| ITEM EJEC$FLAG B; # FLAG TO TEST FOR EJECT # 01647 M00S01646.ssuse +++| ITEM FLAG I; # ERROR FLAG # 01648 M00S01647.ssuse +++| ITEM GROUP I; # LOOP VARIABLE # 01649 M00S01648.ssuse +++| ITEM SM I; # LOOP VARIABLE # 01650 M00S01649.ssuse +++| ITEM SUBFAM I; # LOOP VARIABLE # 01651 M00S01650.ssuse +++| ITEM TEMP$FAM C(7); # HOLDS FAMILY NAME # 01652 M00S01651.ssuse +++| ITEM TEMP$SM C(1); # SM CHARACTER # 01653 M00S01652.ssuse +++| 01654 M00S01653.ssuse +++| ARRAY OUT$FET [0:0] S(SFETL);; # FET FOR OUTPUT FILE # 01655 M00S01654.ssuse +++| 01656 M00S01655.ssuse +++| CONTROL EJECT; 01657 M00S01656.ssuse +++| 01658 M00S01657.ssuse +++|# 01659 M00S01658.ssuse +++|* SET THE FET POINTER FOR THE OUTPUT FILE. 01660 M00S01659.ssuse +++|# 01661 M00S01660.ssuse +++| 01662 M00S01661.ssuse +++| IF USARG$LZ[0] EQ 0 01663 M00S01662.ssuse +++| THEN # NO OUTPUT FILE # 01664 M00S01663.ssuse +++| BEGIN 01665 M00S01664.ssuse +++| OUT$FETP = 0; 01666 M00S01665.ssuse +++| END 01667 M00S01666.ssuse +++| 01668 M00S01667.ssuse +++| ELSE # SET UP THE FWA OF THE FET # 01669 M00S01668.ssuse +++| BEGIN 01670 M00S01669.ssuse +++| OUT$FETP = LOC(OUT$FET[0]); 01671 M00S01670.ssuse +++| END 01672 M00S01671.ssuse +++| 01673 M00S01672.ssuse +++|# 01674 M00S01673.ssuse +++|* OPEN THE OUTPUT FILE. 01675 M00S01674.ssuse +++|# 01676 M00S01675.ssuse +++| 01677 M00S01676.ssuse +++| RPOPEN(USARG$L[0],OUT$FETP,USHEAD); 01678 M00S01677.ssuse +++| 01679 M00S01678.ssuse +++|# 01680 M00S01679.ssuse +++|* CHANGE ZERO-FILL TO SPACE-FILL FOR FAMILY. 01681 M00S01680.ssuse +++|# 01682 M00S01681.ssuse +++| 01683 M00S01682.ssuse +++| TEMP$FAM = USARG$FM[0]; 01684 M00S01683.ssuse +++| BZFILL(TEMP$FAM,TYPFILL"BFILL",7); 01685 M00S01684.ssuse +++| 01686 M00S01685.ssuse +++|# 01687 M00S01686.ssuse +++|* GENERATE THE BASIC REPORT ON EACH SUBFAMILY SPECIFIED. 01688 M00S01687.ssuse +++|# 01689 M00S01688.ssuse +++| 01690 M00S01689.ssuse +++| EJEC$FLAG = FALSE; # DO NOT EJECT ON FIRST PAGE # 01691 M00S01690.ssuse +++| SLOWFOR SUBFAM = 0 STEP 1 UNTIL MAXSF 01692 M00S01691.ssuse +++| DO 01693 M00S01692.ssuse +++| BEGIN # PROCESS EACH SUBFAMILY # 01694 M00S01693.ssuse +++| IF B<SUBFAM,1>SEL$SB EQ 0 01695 M00S01694.ssuse +++| THEN # SUBFAMILY NOT SELECTED # 01696 M00S01695.ssuse +++| BEGIN 01697 M00S01696.ssuse +++| TEST SUBFAM; 01698 M00S01697.ssuse +++| END 01699 M00S01698.ssuse +++| 01700 M00S01699.ssuse +++|# 01701 M00S01700.ssuse +++|* SWITCH TO THE SPECIFIED FAMILY AND USER INDEX FOR 01702 M00S01701.ssuse +++|* THE SELECTED SUBFAMILY. 01703 M00S01702.ssuse +++|# 01704 M00S01703.ssuse +++| 01705 M00S01704.ssuse +++| PFP$WRD0[0] = 0; 01706 M00S01705.ssuse +++| PFP$FAM[0] = USARG$FM[0]; 01707 M00S01706.ssuse +++| PFP$UI[0] = DEF$UI + SUBFAM; 01708 M00S01707.ssuse +++| PFP$FG1[0] = TRUE; 01709 M00S01708.ssuse +++| PFP$FG4[0] = TRUE; 01710 M00S01709.ssuse +++| SETPFP(PFP[0]); 01711 M00S01710.ssuse +++| IF PFP$STAT[0] NQ 0 01712 M00S01711.ssuse +++| THEN # FAMILY NOT FOUND # 01713 M00S01712.ssuse +++| BEGIN 01714 M00S01713.ssuse +++| SSMSG$LINE[0] = " FAMILY NOT FOUND."; 01715 M00S01714.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 01716 M00S01715.ssuse +++| RPCLOSE(OUT$FETP); 01717 M00S01716.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 01718 M00S01717.ssuse +++| END 01719 M00S01718.ssuse +++| 01720 M00S01719.ssuse +++|# 01721 M00S01720.ssuse +++|* OPEN THE CATALOG FOR THE SUBFAMILY AND CHECK THE RETURNED 01722 M00S01721.ssuse +++|* ERROR STATUS. 01723 M00S01722.ssuse +++|# 01724 M00S01723.ssuse +++| 01725 M00S01724.ssuse +++| CHAR$10[0] = XCDD(SUBFAM); 01726 M00S01725.ssuse +++| SFMCAT$LST[0] = CHAR$R1[0]; 01727 M00S01726.ssuse +++| COPEN(USARG$FM[0],SUBFAM,SFMCATNM[0],"RM",TRUE,FLAG); 01728 M00S01727.ssuse +++| IF FLAG EQ CMASTAT"NOERR" 01729 M00S01728.ssuse +++| THEN 01730 M00S01729.ssuse +++| BEGIN 01731 M00S01730.ssuse +++| LOFPROC(OCT$LFN[1]); # ADD LFN TO LIST OF FILES # 01732 M00S01731.ssuse +++| END 01733 M00S01732.ssuse +++| 01734 M00S01733.ssuse +++| IF FLAG NQ CMASTAT"NOERR" 01735 M00S01734.ssuse +++| THEN 01736 M00S01735.ssuse +++| BEGIN # CHECK FOR ERROR TYPE # 01737 M00S01736.ssuse +++| IF FLAG EQ CMASTAT"INTLK" ## 01738 M00S01737.ssuse +++| OR FLAG EQ CMASTAT"ATTERR" 01739 M00S01738.ssuse +++| THEN 01740 M00S01739.ssuse +++| BEGIN 01741 M00S01740.ssuse +++| SSMSG$LINE[0] = " UNABLE TO OPEN CATALOG."; 01742 M00S01741.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 01743 M00S01742.ssuse +++| RPCLOSE(OUT$FETP); 01744 M00S01743.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 01745 M00S01744.ssuse +++| END 01746 M00S01745.ssuse +++| 01747 M00S01746.ssuse +++| IF FLAG EQ CMASTAT"CIOERR" 01748 M00S01747.ssuse +++| THEN 01749 M00S01748.ssuse +++| BEGIN 01750 M00S01749.ssuse +++| SSMSG$LINE[0] = " SFMCATALOG PARITY ERROR."; 01751 M00S01750.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 01752 M00S01751.ssuse +++| RPCLOSE(OUT$FETP); 01753 M00S01752.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 01754 M00S01753.ssuse +++| END 01755 M00S01754.ssuse +++| 01756 M00S01755.ssuse +++| ELSE 01757 M00S01756.ssuse +++| BEGIN 01758 M00S01757.ssuse +++| SSMSG$PROC[0] = PROCNAME; 01759 M00S01758.ssuse +++| MESSAGE(SSMSG[0],SYSUDF1); 01760 M00S01759.ssuse +++| RPCLOSE(OUT$FETP); 01761 M00S01760.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 01762 M00S01761.ssuse +++| END 01763 M00S01762.ssuse +++| 01764 M00S01763.ssuse +++| END # CHECK FOR ERROR TYPE # 01765 M00S01764.ssuse +++| 01766 M00S01765.ssuse +++|# 01767 M00S01766.ssuse +++|* GENERATE BASIC REPORT DETAIL LINES FOR EACH SM SPECIFIED. 01768 M00S01767.ssuse +++|# 01769 M00S01768.ssuse +++| 01770 M00S01769.ssuse +++| SLOWFOR SM = 1 STEP 1 UNTIL MAXSM 01771 M00S01770.ssuse +++| DO 01772 M00S01771.ssuse +++| BEGIN # PROCESS EACH SM # 01773 M00S01772.ssuse +++| IF B<SM,1>SEL$SM EQ 0 01774 M00S01773.ssuse +++| THEN # SM NOT SELECTED # 01775 M00S01774.ssuse +++| BEGIN 01776 M00S01775.ssuse +++| TEST SM; 01777 M00S01776.ssuse +++| END 01778 M00S01777.ssuse +++| 01779 M00S01778.ssuse +++| TEMP$SM = SM; 01780 M00S01779.ssuse +++| 01781 M00S01780.ssuse +++|# 01782 M00S01781.ssuse +++|* CLEAR THE SUB-TOTAL COUNTERS FOR EACH GROUP. 01783 M00S01782.ssuse +++|# 01784 M00S01783.ssuse +++| 01785 M00S01784.ssuse +++| ZFILL(GRP$TOT,8*MAXGP); 01786 M00S01785.ssuse +++| 01787 M00S01786.ssuse +++| IF EJEC$FLAG 01788 M00S01787.ssuse +++| THEN # NOT FIRST PAGE # 01789 M00S01788.ssuse +++| BEGIN 01790 M00S01789.ssuse +++| RPEJECT(OUT$FETP); 01791 M00S01790.ssuse +++| END 01792 M00S01791.ssuse +++| 01793 M00S01792.ssuse +++|# 01794 M00S01793.ssuse +++|* CHECK THE NUMBER OF *FCT* ENTRIES FOR THIS SM. IF NONE, PRINT 01795 M00S01794.ssuse +++|* AN APPROPRIATE MESSAGE AND PROCESS THE NEXT SPECIFIED SM. 01796 M00S01795.ssuse +++|# 01797 M00S01796.ssuse +++| 01798 M00S01797.ssuse +++| P<PREAMBLE> = PRMBADR; # SET PREAMBLE TABLE ADDRESS # 01799 M00S01798.ssuse +++| IF PRM$SCW1[SM] EQ 0 01800 M00S01799.ssuse +++| THEN # SM NOT ASSIGNED TO SUBFAMILY # 01801 M00S01800.ssuse +++| BEGIN 01802 M00S01801.ssuse +++| RPLINE(OUT$FETP,"SM ",3,3,1); 01803 M00S01802.ssuse +++| RPLINE(OUT$FETP,TEMP$SM,6,1,1); 01804 M00S01803.ssuse +++| RPLINE(OUT$FETP," NOT ASSIGNED TO SUBFAMILY .",7,29,1); 01805 M00S01804.ssuse +++| CHAR$10[0] = XCDD(SUBFAM); 01806 M00S01805.ssuse +++| RPLINE(OUT$FETP,CHAR$R1[0],34,1,0); 01807 M00S01806.ssuse +++| RPSPACE(OUT$FETP,SP"SPACE",1); 01808 M00S01807.ssuse +++| TEST SM; 01809 M00S01808.ssuse +++| END 01810 M00S01809.ssuse +++| 01811 M00S01810.ssuse +++|# 01812 M00S01811.ssuse +++|* ANALYZE THE *AST* AND *FCT* ENTRIES FOR THE SELECTED SM. SET UP 01813 M00S01812.ssuse +++|* THE SUB-TOTALS COUNTERS. 01814 M00S01813.ssuse +++|# 01815 M00S01814.ssuse +++| 01816 M00S01815.ssuse +++| USANALS(SUBFAM,SM); 01817 M00S01816.ssuse +++| 01818 M00S01817.ssuse +++|# 01819 M00S01818.ssuse +++|* DISPLAY THE SUB-TOTALS COUNTERS ON THE REPORT FILE. 01820 M00S01819.ssuse +++|# 01821 M00S01820.ssuse +++| 01822 M00S01821.ssuse +++| USBASLN(SUBFAM,SM); 01823 M00S01822.ssuse +++| 01824 M00S01823.ssuse +++| END # PROCESS EACH SM # 01825 M00S01824.ssuse +++| 01826 M00S01825.ssuse +++|# 01827 M00S01826.ssuse +++|* CLOSE THE SFM CATALOG. 01828 M00S01827.ssuse +++|# 01829 M00S01828.ssuse +++| 01830 M00S01829.ssuse +++| CCLOSE(USARG$FM[0],SUBFAM,0,FLAG); 01831 M00S01830.ssuse +++| IF FLAG NQ CMASTAT"NOERR" 01832 M00S01831.ssuse +++| THEN # UNABLE TO CLOSE CATALOG # 01833 M00S01832.ssuse +++| BEGIN 01834 M00S01833.ssuse +++| SSMSG$PROC[0] = PROCNAME; 01835 M00S01834.ssuse +++| MESSAGE(SSMSG[0],SYSUDF1); 01836 M00S01835.ssuse +++| RPCLOSE(OUT$FETP); 01837 M00S01836.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 01838 M00S01837.ssuse +++| END 01839 M00S01838.ssuse +++| 01840 M00S01839.ssuse +++| ZFILL(FCTBUFCW,1); # CLEAR CONTROL BUFFER # 01841 M00S01840.ssuse +++| 01842 M00S01841.ssuse +++| END # PROCESS EACH SUBFAMILY # 01843 M00S01842.ssuse +++| 01844 M00S01843.ssuse +++|# 01845 M00S01844.ssuse +++|* WRITE SM AND SUBFAMILY TOTALS TO REPORT FILE. 01846 M00S01845.ssuse +++|# 01847 M00S01846.ssuse +++| 01848 M00S01847.ssuse +++| USBASTOT; 01849 M00S01848.ssuse +++| 01850 M00S01849.ssuse +++|# 01851 M00S01850.ssuse +++|* CALL SPECIFIED OPTIONAL REPORTS. 01852 M00S01851.ssuse +++|# 01853 M00S01852.ssuse +++| 01854 M00S01853.ssuse +++| IF REPORT$A 01855 M00S01854.ssuse +++| THEN # OPTIONAL REPORT A SPECIFIED # 01856 M00S01855.ssuse +++| BEGIN 01857 M00S01856.ssuse +++| USRPTA; 01858 M00S01857.ssuse +++| END 01859 M00S01858.ssuse +++| 01860 M00S01859.ssuse +++| IF REPORT$B 01861 M00S01860.ssuse +++| THEN # OPTIONAL REPORT B SPECIFIED # 01862 M00S01861.ssuse +++| BEGIN 01863 M00S01862.ssuse +++| USRPTB; 01864 M00S01863.ssuse +++| END 01865 M00S01864.ssuse +++| 01866 M00S01865.ssuse +++| IF REPORT$C 01867 M00S01866.ssuse +++| THEN # OPTIONAL REPORT C SPECIFIED # 01868 M00S01867.ssuse +++| BEGIN 01869 M00S01868.ssuse +++| USRPTC; 01870 M00S01869.ssuse +++| END 01871 M00S01870.ssuse +++| 01872 M00S01871.ssuse +++| IF REPORT$D 01873 M00S01872.ssuse +++| THEN # OPTIONAL REPORT D SPECIFIED # 01874 M00S01873.ssuse +++| BEGIN 01875 M00S01874.ssuse +++| USRPTD; 01876 M00S01875.ssuse +++| END 01877 M00S01876.ssuse +++| 01878 M00S01877.ssuse +++|# 01879 M00S01878.ssuse +++|* CLOSE THE REPORT FILE. 01880 M00S01879.ssuse +++|# 01881 M00S01880.ssuse +++| 01882 M00S01881.ssuse +++| RPCLOSE(OUT$FETP); 01883 M00S01882.ssuse +++| 01884 M00S01883.ssuse +++| RETURN; 01885 M00S01884.ssuse +++| 01886 M00S01885.ssuse +++| END # USRPBAS # 01887 M00S01886.ssuse +++| 01888 M00S01887.ssuse +++| TERM 01889 M00S01888.ssuse +++|PROC USRPTA; 01890 M00S01889.ssuse +++|# TITLE USRPTA - GENERATES OPTIONAL REPORT A. # 01891 M00S01890.ssuse +++| 01892 M00S01891.ssuse +++| BEGIN # USRPTA # 01893 M00S01892.ssuse +++| 01894 M00S01893.ssuse +++|# 01895 M00S01894.ssuse +++|** USRPTA - GENERATES OPTIONAL REPORT A. 01896 M00S01895.ssuse +++|* 01897 M00S01896.ssuse +++|* THIS PROC LISTS THE CONTENTS OF A STORAGE MODULE AS DESCRIBED 01898 M00S01897.ssuse +++|* IN THE SMMAP. 01899 M00S01898.ssuse +++|* 01900 M00S01899.ssuse +++|* PROC USRPTA. 01901 M00S01900.ssuse +++|* 01902 M00S01901.ssuse +++|* ENTRY. (SEL$SB) = BITS SET FOR THE SELECTED SUBFAMILIES. 01903 M00S01902.ssuse +++|* (SEL$SM) = BITS SET FOR THE SELECTED SM-S. 01904 M00S01903.ssuse +++|* 01905 M00S01904.ssuse +++|* EXIT. OPTIONAL REPORT A GENERATED. 01906 M00S01905.ssuse +++|* 01907 M00S01906.ssuse +++|* MESSAGES. 1) SMMAP PARITY ERROR. 01908 M00S01907.ssuse +++|* 2) UNABLE TO OPEN SMMAP. 01909 M00S01908.ssuse +++|* 3) SSUSE ABNORMAL, USRPTA. 01910 M00S01909.ssuse +++|* 4) FAMILY NOT FOUND. 01911 M00S01910.ssuse +++|* 01912 M00S01911.ssuse +++|* NOTES. FOR EACH SELECTED SM, PROC *USRPTA* OPENS THE 01913 M00S01912.ssuse +++|* CORRESPONDING SMMAP AND PRINTS THE CONTENTS 01914 M00S01913.ssuse +++|* OF THE Y,Z COORDINATES. THE COLUMN CONTAINING 01915 M00S01914.ssuse +++|* THE DRD-S IS NOT REPORTED ON. THIS REPORT IS FIFTEEN 01916 M00S01915.ssuse +++|* PAGES LONG WITH 1 Z AND 22 Y COORDINATES 01917 M00S01916.ssuse +++|* LISTED PER PAGE. 01918 M00S01917.ssuse +++|# 01919 M00S01918.ssuse +++| 01920 M00S01919.ssuse +++|# 01921 M00S01920.ssuse +++|**** PROC USRPTA - XREF LIST BEGIN. 01922 M00S01921.ssuse +++|# 01923 M00S01922.ssuse +++| 01924 M00S01923.ssuse +++| XREF 01925 M00S01924.ssuse +++| BEGIN 01926 M00S01925.ssuse +++| PROC BZFILL; # BLANK FILLS CHARACTERS # 01927 M00S01926.ssuse +++| PROC LOFPROC; # LIST OF FILES PROCESSOR # 01928 M00S01927.ssuse +++| PROC MCLOSE; # CLOSES SMMAP # 01929 M00S01928.ssuse +++| PROC MESSAGE; # PRINTS MESSAGE IN DAYFILE # 01930 M00S01929.ssuse +++| PROC MGETENT; # GETS SMMAP ENTRY # 01931 M00S01930.ssuse +++| PROC MOPEN; # OPENS SMMAP # 01932 M00S01931.ssuse +++| PROC RESTPFP; # RESTORE USER-S *PFP* AND ABORT 01933 M00S01932.ssuse +++| OR RETURN # 01934 M00S01933.ssuse +++| PROC RPCLOSE; # CLOSES THE REPORT FILE # 01935 M00S01934.ssuse +++| PROC RPEJECT; # PAGE EJECTS FOR REPORT FILE # 01936 M00S01935.ssuse +++| PROC RPLINE; # WRITES LINE TO REPORT FILE # 01937 M00S01936.ssuse +++| PROC RPSPACE; # PUTS BLANK LINE ON REPORT FILE # 01938 M00S01937.ssuse +++| PROC SETPFP; # SET FAMILY AND USER INDEX # 01939 M00S01938.ssuse +++| FUNC XCDD C(10); # CONVERTS INTEGER TO DISPLAY # 01940 M00S01939.ssuse +++| END 01941 M00S01940.ssuse +++| 01942 M00S01941.ssuse +++|# 01943 M00S01942.ssuse +++|**** PROC USRPTA - XREF LIST END. 01944 M00S01943.ssuse +++|# 01945 M00S01944.ssuse +++| 01946 M00S01945.ssuse +++| DEF PROCNAME #"USRPTA."#; # PROC NAME # 01947 M00S01946.ssuse +++| DEF LISTCON #0#; # DO NOT LIST COMDECKS # 01948 M00S01947.ssuse +++|*CALL COMBFAS 01949 M00S01948.ssuse +++|*CALL COMBBZF 01950 M00S01949.ssuse +++|*CALL COMBCMD 01951 M00S01950.ssuse +++|*CALL COMBCMS 01952 M00S01951.ssuse +++|*CALL COMBMAP 01953 M00S01952.ssuse +++|*CALL COMBMCT 01954 M00S01953.ssuse +++|*CALL COMBPFP 01955 M00S01954.ssuse +++|*CALL COMSPFM 01956 M00S01955.ssuse +++|*CALL COMTOUT 01957 M00S01956.ssuse +++|*CALL COMTUSE 01958 M00S01957.ssuse +++|*CALL COMTUSP 01959 M00S01958.ssuse +++| 01960 M00S01959.ssuse +++| ITEM FLAG I; # ERROR FLAG # 01961 M00S01960.ssuse +++| ITEM GP I; # GROUP # 01962 M00S01961.ssuse +++| ITEM GRT I; # GROUP ORDINAL # 01963 M00S01962.ssuse +++| ITEM MAP$ORD I; # SMMAP ORDINAL # 01964 M00S01963.ssuse +++| ITEM RPTFLAG C(7); # REPORT FLAG # 01965 M00S01964.ssuse +++| ITEM SM I; # LOOP VARIABLE # 01966 M00S01965.ssuse +++| ITEM SM$ADDR I; # ADDRESS OF SMMAP # 01967 M00S01966.ssuse +++| ITEM TEMP$SM C(1); # SM CHARACTER # 01968 M00S01967.ssuse +++| ITEM Y I; # LOOP VARIABLE # 01969 M00S01968.ssuse +++| ITEM Z I; # LOOP VARIABLE # 01970 M00S01969.ssuse +++| 01971 M00S01970.ssuse +++| ARRAY SMMAP$NM [0:0] P(1); # ARRAY TO BUILD SMMAP # 01972 M00S01971.ssuse +++| BEGIN 01973 M00S01972.ssuse +++| ITEM SMAP$NAME C(00,00,07); # SMMAP FILE NAME # 01974 M00S01973.ssuse +++| ITEM SMAP$CHAR C(00,00,05); # FIRST FIVE CHARACTERS # 01975 M00S01974.ssuse +++| ITEM SMAP$SMID C(00,30,01); # SM-ID # 01976 M00S01975.ssuse +++| ITEM SMAP$Z U(00,36,24) = [0]; # ZERO FILL FILE NAME # 01977 M00S01976.ssuse +++| END 01978 M00S01977.ssuse +++| 01979 M00S01978.ssuse +++| 01980 M00S01979.ssuse +++| CONTROL EJECT; 01981 M00S01980.ssuse +++| 01982 M00S01981.ssuse +++|# 01983 M00S01982.ssuse +++|* SET DEFAULT FAMILY AND USER INDEX. 01984 M00S01983.ssuse +++|# 01985 M00S01984.ssuse +++| 01986 M00S01985.ssuse +++| PFP$WRD0[0] =0; 01987 M00S01986.ssuse +++| PFP$FAM[0] = DEF$FAM; 01988 M00S01987.ssuse +++| PFP$UI[0] = DEF$UI; 01989 M00S01988.ssuse +++| PFP$FG1[0] = TRUE; 01990 M00S01989.ssuse +++| PFP$FG4[0] = TRUE; 01991 M00S01990.ssuse +++| SETPFP(PFP[0]); 01992 M00S01991.ssuse +++| IF PFP$STAT NQ 0 01993 M00S01992.ssuse +++| THEN # FAMILY NOT FOUND # 01994 M00S01993.ssuse +++| BEGIN 01995 M00S01994.ssuse +++| SSMSG$LINE[0] = " FAMILY NOT FOUND."; 01996 M00S01995.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 01997 M00S01996.ssuse +++| RPCLOSE(OUT$FETP); 01998 M00S01997.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 01999 M00S01998.ssuse +++| END 02000 M00S01999.ssuse +++| 02001 M00S02000.ssuse +++|# 02002 M00S02001.ssuse +++|* PROCESS EACH SPECIFIED SM. 02003 M00S02002.ssuse +++|# 02004 M00S02003.ssuse +++| 02005 M00S02004.ssuse +++| SLOWFOR SM = 1 STEP 1 UNTIL MAXSM 02006 M00S02005.ssuse +++| DO 02007 M00S02006.ssuse +++| BEGIN # PROCESS EACH SM # 02008 M00S02007.ssuse +++| IF B<SM,1>SEL$SM EQ 0 02009 M00S02008.ssuse +++| THEN # SM NOT SELECTED # 02010 M00S02009.ssuse +++| BEGIN 02011 M00S02010.ssuse +++| TEST SM; 02012 M00S02011.ssuse +++| END 02013 M00S02012.ssuse +++| 02014 M00S02013.ssuse +++| TEMP$SM = SM; 02015 M00S02014.ssuse +++| SMAP$SMID[0] = TEMP$SM; 02016 M00S02015.ssuse +++| SMAP$CHAR[0] = SMMAP; 02017 M00S02016.ssuse +++| 02018 M00S02017.ssuse +++|# 02019 M00S02018.ssuse +++|* OPEN THE SMMAP AND CHECK THE RETURNED ERROR STATUS. 02020 M00S02019.ssuse +++|# 02021 M00S02020.ssuse +++| 02022 M00S02021.ssuse +++| MOPEN(SM,SMAP$NAME[0],"RM",FLAG); 02023 M00S02022.ssuse +++| IF FLAG EQ CMASTAT"NOERR" 02024 M00S02023.ssuse +++| THEN 02025 M00S02024.ssuse +++| BEGIN 02026 M00S02025.ssuse +++| LOFPROC(SMAP$NAME[0]); # ADD LFN TO LIST OF FILES # 02027 M00S02026.ssuse +++| END 02028 M00S02027.ssuse +++| 02029 M00S02028.ssuse +++| SM$ADDR = LOC(MAPBUFR[0]); 02030 M00S02029.ssuse +++| P<SMUMAP> = SM$ADDR; 02031 M00S02030.ssuse +++| 02032 M00S02031.ssuse +++| IF FLAG NQ CMASTAT"NOERR" 02033 M00S02032.ssuse +++| THEN 02034 M00S02033.ssuse +++| BEGIN # SMMAP NOT OPENED SUCCESSFULLY # 02035 M00S02034.ssuse +++| IF FLAG EQ CMASTAT"CIOERR" 02036 M00S02035.ssuse +++| THEN 02037 M00S02036.ssuse +++| BEGIN 02038 M00S02037.ssuse +++| SSMSG$LINE[0] = " SMMAP PARITY ERROR."; 02039 M00S02038.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 02040 M00S02039.ssuse +++| RPCLOSE(OUT$FETP); 02041 M00S02040.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 02042 M00S02041.ssuse +++| END 02043 M00S02042.ssuse +++| 02044 M00S02043.ssuse +++| IF FLAG EQ CMASTAT"INTLK" ## 02045 M00S02044.ssuse +++| OR FLAG EQ CMASTAT"ATTERR" 02046 M00S02045.ssuse +++| THEN 02047 M00S02046.ssuse +++| BEGIN 02048 M00S02047.ssuse +++| SSMSG$LINE[0] = " UNABLE TO OPEN SMMAP."; 02049 M00S02048.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 02050 M00S02049.ssuse +++| RPCLOSE(OUT$FETP); 02051 M00S02050.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 02052 M00S02051.ssuse +++| END 02053 M00S02052.ssuse +++| 02054 M00S02053.ssuse +++| ELSE 02055 M00S02054.ssuse +++| BEGIN 02056 M00S02055.ssuse +++| SSMSG$PROC[0] = PROCNAME; 02057 M00S02056.ssuse +++| MESSAGE(SSMSG[0],SYSUDF1); 02058 M00S02057.ssuse +++| RPCLOSE(OUT$FETP); 02059 M00S02058.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 02060 M00S02059.ssuse +++| END 02061 M00S02060.ssuse +++| 02062 M00S02061.ssuse +++| END # SMMAP NOT OPENED SUCCESSFULLY # 02063 M00S02062.ssuse +++| 02064 M00S02063.ssuse +++|# 02065 M00S02064.ssuse +++|* PROCESS EACH Y,Z PAIR. 02066 M00S02065.ssuse +++|# 02067 M00S02066.ssuse +++| 02068 M00S02067.ssuse +++| SLOWFOR Z = 0 STEP 1 UNTIL MAX$Z 02069 M00S02068.ssuse +++| DO 02070 M00S02069.ssuse +++| BEGIN # PROCESS EACH Z COORDINATE # 02071 M00S02070.ssuse +++| 02072 M00S02071.ssuse +++|# 02073 M00S02072.ssuse +++|* DO NOT PROCESS THE COLUMN CONTAINING THE DRD-S. 02074 M00S02073.ssuse +++|# 02075 M00S02074.ssuse +++| 02076 M00S02075.ssuse +++| IF Z EQ Z$NO$CUBE 02077 M00S02076.ssuse +++| THEN 02078 M00S02077.ssuse +++| BEGIN 02079 M00S02078.ssuse +++| TEST Z; 02080 M00S02079.ssuse +++| END 02081 M00S02080.ssuse +++| 02082 M00S02081.ssuse +++|# 02083 M00S02082.ssuse +++|* WRITE HEADER TO REPORT FILE. 02084 M00S02083.ssuse +++|# 02085 M00S02084.ssuse +++| 02086 M00S02085.ssuse +++| RPEJECT(OUT$FETP); 02087 M00S02086.ssuse +++| RPLINE(OUT$FETP,"SSUSE OPTIONAL REPORT A - ",5,26,1); 02088 M00S02087.ssuse +++| RPLINE(OUT$FETP,"STORAGE MODULE MAP FOR SM = ",31,28,1); 02089 M00S02088.ssuse +++| RPLINE(OUT$FETP,TEMP$SM,59,1,0); 02090 M00S02089.ssuse +++| RPSPACE(OUT$FETP,SP"SPACE",1); 02091 M00S02090.ssuse +++| RPLINE(OUT$FETP,"FLAGS:",5,6,1); 02092 M00S02091.ssuse +++| RPLINE(OUT$FETP,"P = CARTRIDGE EXISTS IN POOL",15,28,1); 02093 M00S02092.ssuse +++| RPLINE(OUT$FETP,"S = RESERVED FOR SYSTEM USE",49,27,1); 02094 M00S02093.ssuse +++| RPLINE(OUT$FETP,"C = RESERVED FOR CUSTOMER ",81,26,1); 02095 M00S02094.ssuse +++| RPLINE(OUT$FETP,"ENGINEERING",107,11,0); 02096 M00S02095.ssuse +++| RPLINE(OUT$FETP,"F = NOT ASSIGNED TO THIS FAMILY",15,31,1); 02097 M00S02096.ssuse +++| RPLINE(OUT$FETP,"E = ERROR FLAG",49,14,1); 02098 M00S02097.ssuse +++| RPLINE(OUT$FETP,"N = (Y,Z) DOES NOT EXIST",81,24,1); 02099 M00S02098.ssuse +++| RPLINE(OUT$FETP," IN SMMAP",105,9,0); 02100 M00S02099.ssuse +++| RPLINE(OUT$FETP,"R = RESERVED FOR ALTERNATE SMMAP",15,32,1); 02101 M00S02100.ssuse +++| RPLINE(OUT$FETP,"GPORD = ORDINAL IN GROUP",81,24,0); 02102 M00S02101.ssuse +++| RPSPACE(OUT$FETP,SP"SPACE",1); 02103 M00S02102.ssuse +++| RPLINE(OUT$FETP,"Y Z CM CSN",6,18,1); 02104 M00S02103.ssuse +++| RPLINE(OUT$FETP,"FAMILY SUBFAMILY",30,21,1); 02105 M00S02104.ssuse +++| RPLINE(OUT$FETP,"GROUP GPORD FLAGS",56,24,0); 02106 M00S02105.ssuse +++| RPSPACE(OUT$FETP,SP"SPACE",1); 02107 M00S02106.ssuse +++| 02108 M00S02107.ssuse +++| SLOWFOR Y = 0 STEP 1 UNTIL MAX$Y 02109 M00S02108.ssuse +++| DO 02110 M00S02109.ssuse +++| BEGIN # PROCESS EACH Y COORDINATE # 02111 M00S02110.ssuse +++| 02112 M00S02111.ssuse +++|# 02113 M00S02112.ssuse +++|* CALCULATE THE ORDINAL OF THE SMMAP ENTRY. 02114 M00S02113.ssuse +++|# 02115 M00S02114.ssuse +++| 02116 M00S02115.ssuse +++| MAP$ORD = MAXORD - Z - (Y * 16); 02117 M00S02116.ssuse +++| 02118 M00S02117.ssuse +++|# 02119 M00S02118.ssuse +++|* GET THE SMMAP ENTRY AND CHECK THE RETURNED ERROR STATUS. 02120 M00S02119.ssuse +++|# 02121 M00S02120.ssuse +++| 02122 M00S02121.ssuse +++| MGETENT(SM,MAP$ORD,SM$ADDR,FLAG); 02123 M00S02122.ssuse +++| IF FLAG NQ CMASTAT"NOERR" 02124 M00S02123.ssuse +++| THEN 02125 M00S02124.ssuse +++| BEGIN # CHECK FOR TYPE OF ERROR # 02126 M00S02125.ssuse +++| IF FLAG EQ CMASTAT"CIOERR" 02127 M00S02126.ssuse +++| THEN 02128 M00S02127.ssuse +++| BEGIN 02129 M00S02128.ssuse +++| SSMSG$LINE[0] = " SMMAP PARITY ERROR."; 02130 M00S02129.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 02131 M00S02130.ssuse +++| RPCLOSE(OUT$FETP); 02132 M00S02131.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 02133 M00S02132.ssuse +++| END 02134 M00S02133.ssuse +++| 02135 M00S02134.ssuse +++| ELSE 02136 M00S02135.ssuse +++| BEGIN 02137 M00S02136.ssuse +++| SSMSG$PROC[0] = PROCNAME; 02138 M00S02137.ssuse +++| MESSAGE(SSMSG[0],SYSUDF1); 02139 M00S02138.ssuse +++| RPCLOSE(OUT$FETP); 02140 M00S02139.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 02141 M00S02140.ssuse +++| END 02142 M00S02141.ssuse +++| 02143 M00S02142.ssuse +++| END # CHECK FOR TYPE OF ERROR # 02144 M00S02143.ssuse +++| 02145 M00S02144.ssuse +++|# 02146 M00S02145.ssuse +++|* CHECK CARTRIDGE FLAGS AND SET THE APPROPRIATE CHARACTERS 02147 M00S02146.ssuse +++|* INTO THE REPORT FLAG. 02148 M00S02147.ssuse +++|# 02149 M00S02148.ssuse +++| 02150 M00S02149.ssuse +++| RPTFLAG = " "; 02151 M00S02150.ssuse +++| IF CM$FLAG1[0] 02152 M00S02151.ssuse +++| THEN 02153 M00S02152.ssuse +++| BEGIN 02154 M00S02153.ssuse +++| C<0,1>RPTFLAG = "E"; 02155 M00S02154.ssuse +++| END 02156 M00S02155.ssuse +++| 02157 M00S02156.ssuse +++| IF CM$CODE[0] EQ CUBSTAT"CEUSE" 02158 M00S02157.ssuse +++| THEN # RESERVED FOR CUSTOMER ENGINEER # 02159 M00S02158.ssuse +++| BEGIN 02160 M00S02159.ssuse +++| C<1,1>RPTFLAG = "C"; 02161 M00S02160.ssuse +++| END 02162 M00S02161.ssuse +++| 02163 M00S02162.ssuse +++| IF CM$CODE[0] EQ CUBSTAT"SCRPOOL" 02164 M00S02163.ssuse +++| THEN # ASSIGNED TO POOL # 02165 M00S02164.ssuse +++| BEGIN 02166 M00S02165.ssuse +++| C<2,1>RPTFLAG = "P"; 02167 M00S02166.ssuse +++| END 02168 M00S02167.ssuse +++| 02169 M00S02168.ssuse +++| IF CM$CODE[0] EQ CUBSTAT"SYSUSE" 02170 M00S02169.ssuse +++| THEN # RESERVED FOR SYSTEM USE # 02171 M00S02170.ssuse +++| BEGIN 02172 M00S02171.ssuse +++| C<3,1>RPTFLAG = "S"; 02173 M00S02172.ssuse +++| END 02174 M00S02173.ssuse +++| 02175 M00S02174.ssuse +++| IF CM$CODE[0] EQ CUBSTAT"NOCUBE" 02176 M00S02175.ssuse +++| THEN # NO CUBICLE AT THIS ORDINAL # 02177 M00S02176.ssuse +++| BEGIN 02178 M00S02177.ssuse +++| C<4,1>RPTFLAG = "N"; 02179 M00S02178.ssuse +++| END 02180 M00S02179.ssuse +++| 02181 M00S02180.ssuse +++| IF CM$FMLYNM[0] NQ USARG$FM[0] 02182 M00S02181.ssuse +++| THEN # NOT IN THIS FAMILY # 02183 M00S02182.ssuse +++| BEGIN 02184 M00S02183.ssuse +++| C<5,1>RPTFLAG = "F"; 02185 M00S02184.ssuse +++| END 02186 M00S02185.ssuse +++| 02187 M00S02186.ssuse +++| IF CM$CODE[0] EQ CUBSTAT"ALTCSU" 02188 M00S02187.ssuse +++| THEN # RESERVED FOR OTHER SMMAP # 02189 M00S02188.ssuse +++| BEGIN 02190 M00S02189.ssuse +++| C<6,1>RPTFLAG = "R"; 02191 M00S02190.ssuse +++| END 02192 M00S02191.ssuse +++| 02193 M00S02192.ssuse +++|# 02194 M00S02193.ssuse +++|* CONVERT VALUES TO DISPLAY CODE AND WRITE THEM TO THE 02195 M00S02194.ssuse +++|* REPORT FILE. 02196 M00S02195.ssuse +++|# 02197 M00S02196.ssuse +++| 02198 M00S02197.ssuse +++| CHAR$10[0] = XCDD(Y); 02199 M00S02198.ssuse +++| RPLINE(OUT$FETP,CHAR$R2[0],5,2,1); 02200 M00S02199.ssuse +++| 02201 M00S02200.ssuse +++| CHAR$10[0] = XCDD(Z); 02202 M00S02201.ssuse +++| RPLINE(OUT$FETP,CHAR$R2[0],11,2,1); 02203 M00S02202.ssuse +++|
Proceed to Part 1
cdc/nos2.source/opl.opl871/deck/ssuse.txt ยท Last modified: by 127.0.0.1