cdc:nos2.source:opl.opl871:deck:ssuse
Deck SSUSE
1 Modification
Listing Sections
- Deck SSUSE Start
- Deck SSUSE Part 1 (Line 2207)
Source
Seq # *Modification Id* Act ----------------------------+ 00001 M01S00001.ssuse +++|PRGM SSUSE; 00002 M01S00002.ssuse +++|# TITLE SSUSE - INITIALIZES *SSUSE*. # 00003 M01S00003.ssuse +++| 00004 M01S00004.ssuse +++| BEGIN # SSUSE # 00005 M01S00005.ssuse +++| 00006 M01S00006.ssuse +++|# 00007 M01S00007.ssuse +++|*** SSUSE - INITIALIZES *SSUSE*. 00008 M01S00008.ssuse +++|* 00009 M01S00009.ssuse +++|* THIS PRGM DOES THE INITIALIZATION FOR THE *SSUSE* 00010 M01S00010.ssuse +++|* UTILITY BY PROCESSING THE CONTROL CARD AND SETTING 00011 M01S00011.ssuse +++|* UP POINTERS AND DEFAULT VALUES. 00012 M01S00012.ssuse +++|* 00013 M01S00013.ssuse +++|* SSUSE,OP,FM,SM,SB,CN,CM,L. 00014 M01S00014.ssuse +++|* 00015 M01S00015.ssuse +++|* PRGM SSUSE. 00016 M01S00016.ssuse +++|* 00017 M01S00017.ssuse +++|* ENTRY. INPUTS TO SSUSE ARE- 00018 M01S00018.ssuse +++|* OP SELECTS BASIC USAGE REPORT. 00019 M01S00019.ssuse +++|* OP=A OPTIONAL REPORT A AND THE BASIC REPORT. 00020 M01S00020.ssuse +++|* OP=B OPTIONAL REPORT B AND THE BASIC REPORT. 00021 M01S00021.ssuse +++|* OP=C OPTIONAL REPORT C AND THE BASIC REPORT. 00022 M01S00022.ssuse +++|* OP=D OPTIONAL REPORT D AND THE BASIC REPORT. 00023 M01S00023.ssuse +++|* OP=ABCD OPTIONAL REPORTS A, B, C, AND D AND ANY 00024 M01S00024.ssuse +++|* COMBINATION OF A, B, C, AND D MAY 00025 M01S00025.ssuse +++|* BE USED. 00026 M01S00026.ssuse +++|* OP OMITTED SAME AS OP. 00027 M01S00027.ssuse +++|* 00028 M01S00028.ssuse +++|* FM USE DEFAULT FAMILY. 00029 M01S00029.ssuse +++|* FM=FAMILY THE SPECIFIED FAMILY WILL BE REPORTED. 00030 M01S00030.ssuse +++|* FM OMITTED SAME AS FM. 00031 M01S00031.ssuse +++|* 00032 M01S00032.ssuse +++|* SB ALL SUBFAMILIES ARE TO BE PROCESSED. 00033 M01S00033.ssuse +++|* SB=CHARS SELECT UP TO EIGHT SUBFAMILIES. THERE 00034 M01S00034.ssuse +++|* ARE EIGHT POSSIBLE SUBFAMILIES FROM 0 00035 M01S00035.ssuse +++|* TO 7 (E.G. SB=723 SELECTS SUBFAMILIES 00036 M01S00036.ssuse +++|* 2, 3, AND 7). 00037 M01S00037.ssuse +++|* SB OMITTED SAME AS SB. 00038 M01S00038.ssuse +++|* 00039 M01S00039.ssuse +++|* SM SM A WILL BE REPORTED. 00040 M01S00040.ssuse +++|* SM=CHARS SELECT UP TO EIGHT SM-S, WHICH CAN 00041 M01S00041.ssuse +++|* BE ANY OF THE FOLLOWING (E.G. SM=AGC 00042 M01S00042.ssuse +++|* SELECTS SM A, C, AND G): 00043 M01S00043.ssuse +++|* A - SM A 00044 M01S00044.ssuse +++|* B - SM B 00045 M01S00045.ssuse +++|* C - SM C 00046 M01S00046.ssuse +++|* D - SM D 00047 M01S00047.ssuse +++|* E - SM E 00048 M01S00048.ssuse +++|* F - SM F 00049 M01S00049.ssuse +++|* G - SM G 00050 M01S00050.ssuse +++|* H - SM H 00051 M01S00051.ssuse +++|* SM OMITTED SAME AS SM. 00052 M01S00052.ssuse +++|* 00053 M01S00053.ssuse +++|* L LISTABLE OUTPUT ON FILE *OUTPUT*. 00054 M01S00054.ssuse +++|* L=LFN LISTABLE OUTPUT ON FILE *LFN*. 00055 M01S00055.ssuse +++|* L=0 NO OUTPUT FILE GENERATED. 00056 M01S00056.ssuse +++|* L OMITTED SAME AS L. 00057 M01S00057.ssuse +++|* 00058 M01S00058.ssuse +++|* CN NOT PERMITTED. 00059 M01S00059.ssuse +++|* CN=CSN THE SELECTED CSN WILL BE REPORTED IN 00060 M01S00060.ssuse +++|* REPORT D. 00061 M01S00061.ssuse +++|* CN OMITTED NOT PERMITTED. 00062 M01S00062.ssuse +++|* 00063 M01S00063.ssuse +++|* CM MANUFACTURER OF CARTRIDGE *CN*. DEFAULT 00064 M01S00064.ssuse +++|* MANUFACTURER IS USED. 00065 M01S00065.ssuse +++|* CM=A MANUFACTURER *A-* IS USED, (A- = IBM). 00066 M01S00066.ssuse +++|* CM OMITTED SAME AS *CM*. 00067 M01S00067.ssuse +++|* 00068 M01S00068.ssuse +++|* EXIT. *SSUSE* PROCESSING COMPLETE OR AN ERROR 00069 M01S00069.ssuse +++|* CONDITION ENCOUNTERED. 00070 M01S00070.ssuse +++|* 00071 M01S00071.ssuse +++|* MESSAGES. 1. SSUSE COMPLETE. 00072 M01S00072.ssuse +++|* 2. SSUSE - ARGUMENT ERROR. 00073 M01S00073.ssuse +++|* 3. SSUSE - MUST BE SYSTEM ORIGIN. 00074 M01S00074.ssuse +++|* 00075 M01S00075.ssuse +++|* NOTES. PRGM *SSUSE* INITIALIZES *SSUSE*. A PARAMETER 00076 M01S00076.ssuse +++|* TABLE IS SET UP BEFORE ANY PROCESSING IS DONE. 00077 M01S00077.ssuse +++|* *SSUSE* THEN PROCESSES THE CONTROL CARD, WHERE THE 00078 M01S00078.ssuse +++|* PROCESSED PARAMETERS ARE RETURNED IN THE COMMON 00079 M01S00079.ssuse +++|* AREA *TUSPCOM*. ANY SYNTAX ERROR IN THE CONTROL 00080 M01S00080.ssuse +++|* CARD CAUSES *SSUSE* TO ABORT. AFTER THE PARAMETERS 00081 M01S00081.ssuse +++|* ARE PROCESSED AND SYNTAX CHECKED, THEY ARE THEN 00082 M01S00082.ssuse +++|* CHECKED BY *USOPT* TO SEE IF THE OPTIONS SPECIFIED 00083 M01S00083.ssuse +++|* ARE VALID. *USOPT* ABORTS WITH A DESCRIPTIVE 00084 M01S00084.ssuse +++|* ERROR MESSAGE WHENEVER IT ENCOUNTERS AN 00085 M01S00085.ssuse +++|* ERROR CONDITION. PROC *USRPBAS* IS CALLED TO 00086 M01S00086.ssuse +++|* GENERATE THE BASIC AND OPTIONAL REPORTS. AN 00087 M01S00087.ssuse +++|* *SSUSE COMPLETE* MESSAGE IS ISSUED TO THE DAYFILE 00088 M01S00088.ssuse +++|* IF ALL REPORTS HAVE BEEN GENERATED SUCCESSFULLY.
Line S00089 Modification History | |
---|---|
M01 (Added by) | ssuse |
M02 (Updated by) | 281l803 |
Seq # *Modification Id* Act ----------------------------+ 00089 M02S00089.281l803 ---|* COPYRIGHT CONTROL DATA CORP., 1983. 00090 M01S00001.281l803 +++|* COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. 00091 M01S00090.ssuse +++|# 00092 M01S00091.ssuse +++| 00093 M01S00092.ssuse +++|# 00094 M01S00093.ssuse +++|**** PROC SSUSE - XREF LIST BEGIN. 00095 M01S00094.ssuse +++|# 00096 M01S00095.ssuse +++| 00097 M01S00096.ssuse +++| XREF 00098 M01S00097.ssuse +++| BEGIN 00099 M01S00098.ssuse +++| PROC ABORT; # CALLS *ABORT* MACRO # 00100 M01S00099.ssuse +++| PROC GETFAM; # GETS DEFAULT FAMILY # 00101 M01S00100.ssuse +++| PROC GETPFP; # GET USER INDEX AND FAMILY # 00102 M01S00101.ssuse +++| PROC GETSPS; # GET SYSTEM ORIGIN STATUS # 00103 M01S00102.ssuse +++| PROC MESSAGE; # DISPLAYS MESSAGE IN DAYFILE # 00104 M01S00103.ssuse +++| PROC RESTPFP; # RESTORE USER-S *PFP* AND ABORT 00105 M01S00104.ssuse +++| OR RETURN # 00106 M01S00105.ssuse +++| PROC SSINIT; # SETS UP TABLES AND POINTERS # 00107 M01S00106.ssuse +++| PROC USOPT; # CHECKS FOR VALID OPTIONS # 00108 M01S00107.ssuse +++| PROC USRPBAS; # GENERATES BASIC AND OPTIONAL 00109 M01S00108.ssuse +++| REPORTS # 00110 M01S00109.ssuse +++| PROC USTAB; # SETS UP PARAMETER TABLE # 00111 M01S00110.ssuse +++| PROC XARG; # CRACK PARAMETER LIST # 00112 M01S00111.ssuse +++| END 00113 M01S00112.ssuse +++| 00114 M01S00113.ssuse +++|# 00115 M01S00114.ssuse +++|**** PROC SSUSE - XREF LIST END. 00116 M01S00115.ssuse +++|# 00117 M01S00116.ssuse +++| 00118 M01S00117.ssuse +++| DEF RSLEN #1#; # RETURN STATUS WORD LENGTH # 00119 M01S00118.ssuse +++| DEF LISTCON #0#; # DO NOT LIST COMDECKS # 00120 M01S00119.ssuse +++| CONTROL PRESET; 00121 M01S00120.ssuse +++|*CALL COMBFAS 00122 M01S00121.ssuse +++|*CALL COMBCMD 00123 M01S00122.ssuse +++|*CALL COMBMCT 00124 M01S00123.ssuse +++|*CALL COMBPFP 00125 M01S00124.ssuse +++|*CALL COMXMSC 00126 M01S00125.ssuse +++|*CALL COMSPFM 00127 M01S00126.ssuse +++|*CALL COMTFMT 00128 M01S00127.ssuse +++|*CALL COMTUSE 00129 M01S00128.ssuse +++|*CALL COMTUSP 00130 M01S00129.ssuse +++| 00131 M01S00130.ssuse +++| ITEM ARGLIST U; # ADDRESS OF ARGUMENT TABLE # 00132 M01S00131.ssuse +++| ITEM DEFAULT I; # DEFAULT FAMILY ORDINAL # 00133 M01S00132.ssuse +++| ITEM FAM$NUM I; # NUMBER OF FAMILIES # 00134 M01S00133.ssuse +++| ITEM FLAG I; # ERROR FLAG # 00135 M01S00134.ssuse +++| ITEM LINK I; # LINK FAMILY ORDINAL # 00136 M01S00135.ssuse +++| ITEM SSID I; # SUBSYSTEM ID # 00137 M01S00136.ssuse +++| 00138 M01S00137.ssuse +++| ARRAY SPSSTAT [0:0] S(RSLEN); 00139 M01S00138.ssuse +++| BEGIN 00140 M01S00139.ssuse +++| ITEM SPS$STATUS U(00,48,12); # RETURN STATUS # 00141 M01S00140.ssuse +++| END 00142 M01S00141.ssuse +++| 00143 M01S00142.ssuse +++| CONTROL EJECT; 00144 M01S00143.ssuse +++| 00145 M01S00144.ssuse +++|# 00146 M01S00145.ssuse +++|* IF THE USER JOB HAS SYSTEM ORIGIN PRIVILEGES THEN SAVE THE USER-S 00147 M01S00146.ssuse +++|* CURRENT FAMILY AND INDEX IN COMMON. 00148 M01S00147.ssuse +++|# 00149 M01S00148.ssuse +++| 00150 M01S00149.ssuse +++| GETSPS(SPSSTAT); # GET SYSTEM ORIGIN STATUS # 00151 M01S00150.ssuse +++| IF SPS$STATUS NQ 0 00152 M01S00151.ssuse +++| THEN 00153 M01S00152.ssuse +++| BEGIN 00154 M01S00153.ssuse +++| SSMSG$LINE[0] = " SSUSE - MUST BE SYSTEM ORIGIN."; 00155 M01S00154.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 00156 M01S00155.ssuse +++| ABORT; 00157 M01S00156.ssuse +++| END 00158 M01S00157.ssuse +++| 00159 M01S00158.ssuse +++| GETPFP(PFP[0]); 00160 M01S00159.ssuse +++| USER$FAM[0] = PFP$FAM[0]; 00161 M01S00160.ssuse +++| USER$UI[0] = PFP$UI[0]; 00162 M01S00161.ssuse +++| 00163 M01S00162.ssuse +++|# 00164 M01S00163.ssuse +++|* PROCESS THE PARAMETERS ON *SSUSE* CALL. 00165 M01S00164.ssuse +++|# 00166 M01S00165.ssuse +++| 00167 M01S00166.ssuse +++| USTAB(ARGLIST); # SET UP THE ARGUMENT LIST # 00168 M01S00167.ssuse +++| XARG(ARGLIST,0,FLAG); # PROCESS THE CONTROL STATEMENT # 00169 M01S00168.ssuse +++| IF FLAG NQ 0 00170 M01S00169.ssuse +++| THEN # SYNTAX ERROR # 00171 M01S00170.ssuse +++| BEGIN 00172 M01S00171.ssuse +++| SSMSG$LINE[0] = " SSUSE - ARGUMENT ERROR."; 00173 M01S00172.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 00174 M01S00173.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 00175 M01S00174.ssuse +++| END 00176 M01S00175.ssuse +++| 00177 M01S00176.ssuse +++|# 00178 M01S00177.ssuse +++|* CONVERT PARAMETERS AND CHECK FOR ALL THE VALID 00179 M01S00178.ssuse +++|* OPTIONS ON THE CONTROL CARD. 00180 M01S00179.ssuse +++|# 00181 M01S00180.ssuse +++| 00182 M01S00181.ssuse +++| USOPT; 00183 M01S00182.ssuse +++| 00184 M01S00183.ssuse +++|# 00185 M01S00184.ssuse +++|* IF *FM* IS NOT SPECIFIED, USE THE DEFAULT FAMILY. 00186 M01S00185.ssuse +++|# 00187 M01S00186.ssuse +++| 00188 M01S00187.ssuse +++| SSID = ATAS; 00189 M01S00188.ssuse +++| GETFAM(FAMT[1],FAM$NUM,LINK,DEFAULT,SSID); 00190 M01S00189.ssuse +++| DEF$FAM = FAM$NAME[DEFAULT]; 00191 M01S00190.ssuse +++| IF USARG$FM[0] EQ 0 00192 M01S00191.ssuse +++| THEN 00193 M01S00192.ssuse +++| BEGIN 00194 M01S00193.ssuse +++| USARG$FM[0] = DEF$FAM; 00195 M01S00194.ssuse +++| END 00196 M01S00195.ssuse +++| 00197 M01S00196.ssuse +++|# 00198 M01S00197.ssuse +++|* INITIALIZE TABLES AND POINTERS NEEDED BY 00199 M01S00198.ssuse +++|* CATALOG/MAP ACCESS ROUTINES. 00200 M01S00199.ssuse +++|# 00201 M01S00200.ssuse +++| 00202 M01S00201.ssuse +++| SSINIT; 00203 M01S00202.ssuse +++| 00204 M01S00203.ssuse +++|# 00205 M01S00204.ssuse +++|* GENERATE THE BASIC AND OPTIONAL REPORTS REQUESTED BY 00206 M01S00205.ssuse +++|* THE CONTROL CARD PARAMETERS. 00207 M01S00206.ssuse +++|# 00208 M01S00207.ssuse +++| 00209 M01S00208.ssuse +++| USRPBAS; 00210 M01S00209.ssuse +++| 00211 M01S00210.ssuse +++|# 00212 M01S00211.ssuse +++|* DISPLAY *SSUSE COMPLETE* IN THE DAYFILE. 00213 M01S00212.ssuse +++|# 00214 M01S00213.ssuse +++| 00215 M01S00214.ssuse +++| SSMSG$LINE[0] = " SSUSE COMPLETE."; 00216 M01S00215.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 00217 M01S00216.ssuse +++| RESTPFP(PFP$END); # RESTORE USER-S *PFP* # 00218 M01S00217.ssuse +++| 00219 M01S00218.ssuse +++| END # SSUSE # 00220 M01S00219.ssuse +++| 00221 M01S00220.ssuse +++| TERM 00222 M01S00221.ssuse +++|PROC USANALS((SUBFAM),(SMID)); 00223 M01S00222.ssuse +++|# TITLE USANALS - ANALYZES SFMCATALOG ENTRIES FOR A SM. # 00224 M01S00223.ssuse +++| 00225 M01S00224.ssuse +++| BEGIN # USANALS # 00226 M01S00225.ssuse +++| 00227 M01S00226.ssuse +++|# 00228 M01S00227.ssuse +++|** USANALS - ANALYZES SFM CATALOG ENTRIES FOR A SM. 00229 M01S00228.ssuse +++|* 00230 M01S00229.ssuse +++|* THIS PROCEDURE ANALYZES THE *AST* AND *FCT* ENTRIES FOR A SM. 00231 M01S00230.ssuse +++|* 00232 M01S00231.ssuse +++|* PROC USANALS((SUBFAM),(SMID)). 00233 M01S00232.ssuse +++|* 00234 M01S00233.ssuse +++|* ENTRY (SUBFAM) = SUBFAMILY IDENTIFIER. 00235 M01S00234.ssuse +++|* (SMID) = SM IDENTIFIER. 00236 M01S00235.ssuse +++|* 00237 M01S00236.ssuse +++|* EXIT SUB-TOTALS COUNTERS ARE UPDATED IN THE COMMON 00238 M01S00237.ssuse +++|* AREA. 00239 M01S00238.ssuse +++|* 00240 M01S00239.ssuse +++|* MESSAGES 1. SFMCATALOG PARITY ERROR. 00241 M01S00240.ssuse +++|* 2. FAMILY NOT FOUND. 00242 M01S00241.ssuse +++|* 3. SMMAP PARITY ERROR. 00243 M01S00242.ssuse +++|* 4. UNABLE TO OPEN SMMAP. 00244 M01S00243.ssuse +++|* 5. SSUSE ABNORMAL, USANALS. 00245 M01S00244.ssuse +++|* 00246 M01S00245.ssuse +++|* NOTES PROC *USANALS* CALLS *CRDAST* TO GET THE *AST* FOR THE 00247 M01S00246.ssuse +++|* SPECIFIED SM. IT THEN CALLS *CGETFCT* TO GET AN *FCT* 00248 M01S00247.ssuse +++|* ENTRY. THE VARIOUS FIELDS WITHIN EACH *AST* AND *FCT* 00249 M01S00248.ssuse +++|* ENTRY ARE CHECKED FOR CERTAIN CONDITIONS AND THE 00250 M01S00249.ssuse +++|* APPROPRIATE COUNTERS ARE UPDATED. THE SMMAP IS 00251 M01S00250.ssuse +++|* SEARCHED FOR EMPTY CUBICLES ASSIGNED TO THIS SUBFAMILY. 00252 M01S00251.ssuse +++|# 00253 M01S00252.ssuse +++| 00254 M01S00253.ssuse +++| ITEM SUBFAM I; # SUBFAMILY IDENTIFIER # 00255 M01S00254.ssuse +++| ITEM SMID U; # SM IDENTIFIER # 00256 M01S00255.ssuse +++| 00257 M01S00256.ssuse +++|# 00258 M01S00257.ssuse +++|**** PROC USANALS - XREF LIST BEGIN. 00259 M01S00258.ssuse +++|# 00260 M01S00259.ssuse +++| 00261 M01S00260.ssuse +++| XREF 00262 M01S00261.ssuse +++| BEGIN 00263 M01S00262.ssuse +++| PROC CGETFCT; # GETS *FCT* ENTRY # 00264 M01S00263.ssuse +++| PROC CRDAST; # READS *AST* # 00265 M01S00264.ssuse +++| PROC LOFPROC; # LIST OF FILES PROCESSOR # 00266 M01S00265.ssuse +++| PROC MCLOSE; # CLOSE SMMAP # 00267 M01S00266.ssuse +++| PROC MESSAGE; # ISSUES MESSAGE IN DAYFILE # 00268 M01S00267.ssuse +++| PROC MGETENT; # GETS MAP ENTRY # 00269 M01S00268.ssuse +++| PROC MOPEN; # OPENS SMMAP # 00270 M01S00269.ssuse +++| PROC RESTPFP; # RESTORE USER-S *PFP* AND ABORT 00271 M01S00270.ssuse +++| OR RETURN # 00272 M01S00271.ssuse +++| PROC RPCLOSE; # CLOSES THE REPORT FILE # 00273 M01S00272.ssuse +++| PROC SETPFP; # SET FAMILY AND USER INDEX # 00274 M01S00273.ssuse +++| END 00275 M01S00274.ssuse +++| 00276 M01S00275.ssuse +++|# 00277 M01S00276.ssuse +++|**** PROC USANALS - XREF LIST END. 00278 M01S00277.ssuse +++|# 00279 M01S00278.ssuse +++| 00280 M01S00279.ssuse +++| DEF PROCNAME #"USANALS."#; # PROC NAME # 00281 M01S00280.ssuse +++| DEF LISTCON #0#; # DO NOT LIST COMDECKS # 00282 M01S00281.ssuse +++|*CALL COMBFAS 00283 M01S00282.ssuse +++|*CALL COMBCMD 00284 M01S00283.ssuse +++|*CALL COMBCMS 00285 M01S00284.ssuse +++|*CALL,COMBMAP 00286 M01S00285.ssuse +++|*CALL,COMBPFP 00287 M01S00286.ssuse +++|*CALL,COMSPFM 00288 M01S00287.ssuse +++|*CALL COMBMCT 00289 M01S00288.ssuse +++|*CALL COMXMSC 00290 M01S00289.ssuse +++|*CALL COMTOUT 00291 M01S00290.ssuse +++|*CALL COMTUSE 00292 M01S00291.ssuse +++|*CALL COMTUSP 00293 M01S00292.ssuse +++| 00294 M01S00293.ssuse +++| ITEM BADDR I; # *AST* BUFFER ADDRESS # 00295 M01S00294.ssuse +++| ITEM BFADDR I; # *FCT* BUFFER ADDRESS # 00296 M01S00295.ssuse +++| ITEM FLAG I; # ERROR FLAG # 00297 M01S00296.ssuse +++| ITEM GP I; # GROUP # 00298 M01S00297.ssuse +++| ITEM I I; # LOOP VARIABLE # 00299 M01S00298.ssuse +++| ITEM N I; # LOOP VARIABLE # 00300 M01S00299.ssuse +++| ITEM MAP$ORD I; # SMMAP ORDINAL # 00301 M01S00300.ssuse +++| ITEM SM$ADDR I; # ADDRESS OF SMMAP # 00302 M01S00301.ssuse +++| ITEM Y I; # Y COORDINATE # 00303 M01S00302.ssuse +++| ITEM Z I; # Z COORDINATE # 00304 M01S00303.ssuse +++| 00305 M01S00304.ssuse +++| ARRAY SMMAP$NM [0:0] P(1); # ARRAY TO BUILD SMMAP # 00306 M01S00305.ssuse +++| BEGIN 00307 M01S00306.ssuse +++| ITEM SMAP$NAME C(00,00,07); # SMMAP FILE NAME # 00308 M01S00307.ssuse +++| ITEM SMAP$CHAR C(00,00,05); # FIRST FIVE CHARACTERS # 00309 M01S00308.ssuse +++| ITEM SMAP$SMID C(00,30,01); # SM-ID # 00310 M01S00309.ssuse +++| ITEM SMAP$Z U(00,36,24) = [0]; # ZERO FILL FILE NAME # 00311 M01S00310.ssuse +++| END 00312 M01S00311.ssuse +++| 00313 M01S00312.ssuse +++| CONTROL EJECT; 00314 M01S00313.ssuse +++| 00315 M01S00314.ssuse +++|# 00316 M01S00315.ssuse +++|* GET THE *AST* AND CHECK THE RETURNED ERROR STATUS. 00317 M01S00316.ssuse +++|# 00318 M01S00317.ssuse +++| 00319 M01S00318.ssuse +++| BADDR = LOC(US$ASTENT[0]); 00320 M01S00319.ssuse +++| CRDAST(USARG$FM[0],SUBFAM,SMID,BADDR,0,FLAG); 00321 M01S00320.ssuse +++| IF FLAG NQ CMASTAT"NOERR" 00322 M01S00321.ssuse +++| THEN # UNABLE TO GET *AST* # 00323 M01S00322.ssuse +++| BEGIN 00324 M01S00323.ssuse +++| SSMSG$LINE[0] = " SFMCATALOG PARITY ERROR."; 00325 M01S00324.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 00326 M01S00325.ssuse +++| RPCLOSE(OUT$FETP); 00327 M01S00326.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 00328 M01S00327.ssuse +++| END 00329 M01S00328.ssuse +++| 00330 M01S00329.ssuse +++| P<AST> = BADDR; 00331 M01S00330.ssuse +++| 00332 M01S00331.ssuse +++|# 00333 M01S00332.ssuse +++|* PROCESS ALL *AST* AND *FCT* ENTRIES. 00334 M01S00333.ssuse +++|# 00335 M01S00334.ssuse +++| 00336 M01S00335.ssuse +++| SLOWFOR I = 16 STEP 1 UNTIL PRM$ENTRC[SMID] + 15 00337 M01S00336.ssuse +++| DO 00338 M01S00337.ssuse +++| BEGIN # PROCESS AN *AST* AND *FCT* ENTRY # 00339 M01S00338.ssuse +++| 00340 M01S00339.ssuse +++|# 00341 M01S00340.ssuse +++|* GET AN *FCT* ENTRY AND CHECK THE RETURNED ERROR STATUS. 00342 M01S00341.ssuse +++|# 00343 M01S00342.ssuse +++| 00344 M01S00343.ssuse +++| BFADDR = LOC(US$FCTENT[0]); 00345 M01S00344.ssuse +++| CGETFCT(USARG$FM[0],SUBFAM,SMID,I,BFADDR,0,FLAG); 00346 M01S00345.ssuse +++| IF FLAG NQ CMASTAT"NOERR" 00347 M01S00346.ssuse +++| THEN # UNABLE TO GET *FCT* # 00348 M01S00347.ssuse +++| BEGIN 00349 M01S00348.ssuse +++| SSMSG$LINE[0] = " SFMCATALOG PARITY ERROR."; 00350 M01S00349.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 00351 M01S00350.ssuse +++| RPCLOSE(OUT$FETP); 00352 M01S00351.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 00353 M01S00352.ssuse +++| END 00354 M01S00353.ssuse +++| 00355 M01S00354.ssuse +++| P<FCT> = BFADDR; 00356 M01S00355.ssuse +++| GP = I / MAXGRT; # SET GROUP INDEX # 00357 M01S00356.ssuse +++| 00358 M01S00357.ssuse +++|# 00359 M01S00358.ssuse +++|* UPDATE CUBE COUNTER AND CHECK CUBE STATUS. IF NO CARTRIDGE 00360 M01S00359.ssuse +++|* ASSIGNED TO THIS CUBICLE, GET NEXT ENTRY. 00361 M01S00360.ssuse +++|# 00362 M01S00361.ssuse +++| 00363 M01S00362.ssuse +++| IF FCT$CSND[0] EQ " " 00364 M01S00363.ssuse +++| OR FCT$CSNI[0] EQ 0 00365 M01S00364.ssuse +++| THEN # NO CARTRIDGE ASSIGNED TO CUBE # 00366 M01S00365.ssuse +++| BEGIN 00367 M01S00366.ssuse +++| TEST I; 00368 M01S00367.ssuse +++| END 00369 M01S00368.ssuse +++| 00370 M01S00369.ssuse +++| GRP$LOC[GP] = GRP$LOC[GP] + 1; 00371 M01S00370.ssuse +++| GRP$RES[GP] = GRP$RES[GP] + 1; # NUM CARTRIDGES IN GROUP # 00372 M01S00371.ssuse +++| 00373 M01S00372.ssuse +++|# 00374 M01S00373.ssuse +++|* UPDATE THE AVAILABLE AU FOR SMALL AND LARGE FILES. 00375 M01S00374.ssuse +++|# 00376 M01S00375.ssuse +++| 00377 M01S00376.ssuse +++| GRP$AUSF[GP] = GRP$AUSF[GP] + AST$AUSF[I]; 00378 M01S00377.ssuse +++| GRP$AULF[GP] = GRP$AULF[GP] + AST$AULF[I]; 00379 M01S00378.ssuse +++| 00380 M01S00379.ssuse +++|# 00381 M01S00380.ssuse +++|* CHECK FOR AVAILABLE OFF CARTRIDGE LINKS AND UPDATE THE COUNTER. 00382 M01S00381.ssuse +++|# 00383 M01S00382.ssuse +++| 00384 M01S00383.ssuse +++| IF NOT AST$NOCLF[I] 00385 M01S00384.ssuse +++| THEN # OFF CARTRIDGE LINKS AVAILABLE # 00386 M01S00385.ssuse +++| BEGIN 00387 M01S00386.ssuse +++| GRP$OCL[GP] = GRP$OCL[GP] + 1; 00388 M01S00387.ssuse +++| END 00389 M01S00388.ssuse +++| 00390 M01S00389.ssuse +++|# 00391 M01S00390.ssuse +++|* CHECK *FCT* FLAGS AND UPDATE THE APPROPRIATE COUNTERS. 00392 M01S00391.ssuse +++|# 00393 M01S00392.ssuse +++| 00394 M01S00393.ssuse +++| IF FCT$IAF[0] 00395 M01S00394.ssuse +++| THEN # INHIBIT ALLOCATION # 00396 M01S00395.ssuse +++| BEGIN 00397 M01S00396.ssuse +++| GRP$INH[GP] = GRP$INH[GP] + 1; 00398 M01S00397.ssuse +++| END 00399 M01S00398.ssuse +++| 00400 M01S00399.ssuse +++| IF FCT$LCF[0] 00401 M01S00400.ssuse +++| THEN # CARTRIDGE LOST # 00402 M01S00401.ssuse +++| BEGIN 00403 M01S00402.ssuse +++| GRP$LOST[GP] = GRP$LOST[GP] + 1; 00404 M01S00403.ssuse +++| END 00405 M01S00404.ssuse +++| 00406 M01S00405.ssuse +++| IF FCT$EEF[0] 00407 M01S00406.ssuse +++| THEN # EXCESSIVE ERRORS # 00408 M01S00407.ssuse +++| BEGIN 00409 M01S00408.ssuse +++| GRP$XPE[GP] = GRP$XPE[GP] + 1; 00410 M01S00409.ssuse +++| END 00411 M01S00410.ssuse +++| 00412 M01S00411.ssuse +++| IF FCT$SEF[0] 00413 M01S00412.ssuse +++| THEN # SMMAP ERROR # 00414 M01S00413.ssuse +++| BEGIN 00415 M01S00414.ssuse +++| GRP$SE[GP] = GRP$SE[GP] + 1; 00416 M01S00415.ssuse +++| END 00417 M01S00416.ssuse +++| 00418 M01S00417.ssuse +++| IF FCT$FCF[0] 00419 M01S00418.ssuse +++| THEN # FREE CARTRIDGE # 00420 M01S00419.ssuse +++| BEGIN 00421 M01S00420.ssuse +++| GRP$FRC[GP] = GRP$FRC[GP] + 1; 00422 M01S00421.ssuse +++| END 00423 M01S00422.ssuse +++| 00424 M01S00423.ssuse +++|# 00425 M01S00424.ssuse +++|* CHECK EACH AU FOR ERRORS AND AVAILABILITY. UPDATE THE 00426 M01S00425.ssuse +++|* APPROPRIATE COUNTERS. 00427 M01S00426.ssuse +++|# 00428 M01S00427.ssuse +++| 00429 M01S00428.ssuse +++| SLOWFOR N = 1 STEP 1 UNTIL INAVOT 00430 M01S00429.ssuse +++| DO 00431 M01S00430.ssuse +++| BEGIN # FOR EACH AU # 00432 M01S00431.ssuse +++| 00433 M01S00432.ssuse +++|# 00434 M01S00433.ssuse +++|* CHECK AU FLAGS, UPDATE COUNTERS IF NECESSARY. 00435 M01S00434.ssuse +++|# 00436 M01S00435.ssuse +++| 00437 M01S00436.ssuse +++| SETFCTX(N); # SET *FWD* AND *FPS* VALUES # 00438 M01S00437.ssuse +++| IF FCT$AUCF(FWD,FPS) NQ 0 00439 M01S00438.ssuse +++| THEN # AU CONFLICT # 00440 M01S00439.ssuse +++| BEGIN 00441 M01S00440.ssuse +++| GRP$AUC[GP] = GRP$AUC[GP] + 1; 00442 M01S00441.ssuse +++| END 00443 M01S00442.ssuse +++| 00444 M01S00443.ssuse +++| IF FCT$FRCF(FWD,FPS) NQ 0 00445 M01S00444.ssuse +++| THEN # FROZEN CHAIN # 00446 M01S00445.ssuse +++| BEGIN 00447 M01S00446.ssuse +++| GRP$FC[GP] = GRP$FC[GP] + 1; 00448 M01S00447.ssuse +++| END 00449 M01S00448.ssuse +++| 00450 M01S00449.ssuse +++| IF FCT$SFF(FWD,FPS) NQ 0 00451 M01S00450.ssuse +++| THEN # START OF FRAGMENT # 00452 M01S00451.ssuse +++| BEGIN 00453 M01S00452.ssuse +++| GRP$SF[GP] = GRP$SF[GP] + 1; 00454 M01S00453.ssuse +++| END 00455 M01S00454.ssuse +++| 00456 M01S00455.ssuse +++| IF FCT$FAUF(FWD,FPS) NQ 0 00457 M01S00456.ssuse +++| THEN # FLAWED AU # 00458 M01S00457.ssuse +++| BEGIN 00459 M01S00458.ssuse +++| IF FCT$FBF(FWD,FPS) NQ 0 00460 M01S00459.ssuse +++| THEN # FLAWED AND ALLOCATED # 00461 M01S00460.ssuse +++| BEGIN 00462 M01S00461.ssuse +++| GRP$FB[GP] = GRP$FB[GP] + 1; 00463 M01S00462.ssuse +++| END 00464 M01S00463.ssuse +++| 00465 M01S00464.ssuse +++| ELSE # FLAWED AND UNALLOCATED # 00466 M01S00465.ssuse +++| BEGIN 00467 M01S00466.ssuse +++| GRP$FA[GP] = GRP$FA[GP] +1; 00468 M01S00467.ssuse +++| END 00469 M01S00468.ssuse +++| 00470 M01S00469.ssuse +++| END 00471 M01S00470.ssuse +++| 00472 M01S00471.ssuse +++| END # FOR EACH AU # 00473 M01S00472.ssuse +++| 00474 M01S00473.ssuse +++| END # PROCESS AN *AST* AND AN *FCT* ENTRY # 00475 M01S00474.ssuse +++| 00476 M01S00475.ssuse +++|# 00477 M01S00476.ssuse +++|* SEARCH THE SMMAP FOR ANY EMPTY CUBICLES ASSIGNED 00478 M01S00477.ssuse +++|* TO THIS SUBFAMILY. 00479 M01S00478.ssuse +++|# 00480 M01S00479.ssuse +++| 00481 M01S00480.ssuse +++| PFP$WRD0[0] = 0; 00482 M01S00481.ssuse +++| PFP$FAM[0] = DEF$FAM; 00483 M01S00482.ssuse +++| PFP$UI[0] = DEF$UI; 00484 M01S00483.ssuse +++| PFP$FG1[0] = TRUE; 00485 M01S00484.ssuse +++| PFP$FG4[0] = TRUE; 00486 M01S00485.ssuse +++| SETPFP(PFP[0]); 00487 M01S00486.ssuse +++| IF PFP$STAT NQ 0 00488 M01S00487.ssuse +++| THEN # FAMILY NOT FOUND # 00489 M01S00488.ssuse +++| BEGIN 00490 M01S00489.ssuse +++| SSMSG$LINE[0] = " FAMILY NOT FOUND."; 00491 M01S00490.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 00492 M01S00491.ssuse +++| RPCLOSE(OUT$FETP); 00493 M01S00492.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 00494 M01S00493.ssuse +++| END 00495 M01S00494.ssuse +++| 00496 M01S00495.ssuse +++| 00497 M01S00496.ssuse +++| SMAP$SMID[0] = SMID; 00498 M01S00497.ssuse +++| SMAP$CHAR[0] = SMMAP; 00499 M01S00498.ssuse +++| 00500 M01S00499.ssuse +++|# 00501 M01S00500.ssuse +++|* OPEN THE SMMAP AND CHECK THE RETURNED ERROR STATUS. 00502 M01S00501.ssuse +++|# 00503 M01S00502.ssuse +++| 00504 M01S00503.ssuse +++| MOPEN(SMID,SMAP$NAME[0],"RM",FLAG); 00505 M01S00504.ssuse +++| IF FLAG EQ CMASTAT"NOERR" 00506 M01S00505.ssuse +++| THEN 00507 M01S00506.ssuse +++| BEGIN 00508 M01S00507.ssuse +++| LOFPROC(SMAP$NAME[0]); # ADD LFN TO LIST OF FILES # 00509 M01S00508.ssuse +++| END 00510 M01S00509.ssuse +++| 00511 M01S00510.ssuse +++| SM$ADDR = LOC(MAPBUFR[0]); 00512 M01S00511.ssuse +++| P<SMUMAP> = SM$ADDR; 00513 M01S00512.ssuse +++| 00514 M01S00513.ssuse +++| IF FLAG NQ CMASTAT"NOERR" 00515 M01S00514.ssuse +++| THEN 00516 M01S00515.ssuse +++| BEGIN # SMMAP NOT OPENED SUCCESSFULLY # 00517 M01S00516.ssuse +++| IF FLAG EQ CMASTAT"CIOERR" 00518 M01S00517.ssuse +++| THEN 00519 M01S00518.ssuse +++| BEGIN 00520 M01S00519.ssuse +++| SSMSG$LINE[0] = " SMMAP PARITY ERROR."; 00521 M01S00520.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 00522 M01S00521.ssuse +++| RPCLOSE(OUT$FETP); 00523 M01S00522.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 00524 M01S00523.ssuse +++| END 00525 M01S00524.ssuse +++| 00526 M01S00525.ssuse +++| IF FLAG EQ CMASTAT"INTLK" ## 00527 M01S00526.ssuse +++| OR FLAG EQ CMASTAT"ATTERR" 00528 M01S00527.ssuse +++| THEN 00529 M01S00528.ssuse +++| BEGIN 00530 M01S00529.ssuse +++| SSMSG$LINE[0] = " UNABLE TO OPEN SMMAP."; 00531 M01S00530.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 00532 M01S00531.ssuse +++| RPCLOSE(OUT$FETP); 00533 M01S00532.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 00534 M01S00533.ssuse +++| END 00535 M01S00534.ssuse +++| 00536 M01S00535.ssuse +++| ELSE 00537 M01S00536.ssuse +++| BEGIN 00538 M01S00537.ssuse +++| SSMSG$PROC[0] = PROCNAME; 00539 M01S00538.ssuse +++| MESSAGE(SSMSG[0],SYSUDF1); 00540 M01S00539.ssuse +++| RPCLOSE(OUT$FETP); 00541 M01S00540.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 00542 M01S00541.ssuse +++| END 00543 M01S00542.ssuse +++| 00544 M01S00543.ssuse +++| END # SMMAP NOT OPENED SUCCESSFULLY # 00545 M01S00544.ssuse +++| 00546 M01S00545.ssuse +++|# 00547 M01S00546.ssuse +++|* PROCESS EACH Y,Z PAIR. 00548 M01S00547.ssuse +++|# 00549 M01S00548.ssuse +++| 00550 M01S00549.ssuse +++| SLOWFOR Y = 0 STEP 1 UNTIL MAX$Y 00551 M01S00550.ssuse +++| DO 00552 M01S00551.ssuse +++| BEGIN # PROCESS EACH Y COORDINATE # 00553 M01S00552.ssuse +++| 00554 M01S00553.ssuse +++| SLOWFOR Z = 0 STEP 1 UNTIL MAX$Z 00555 M01S00554.ssuse +++| DO 00556 M01S00555.ssuse +++| BEGIN # PROCESS EACH Z COORDINATE # 00557 M01S00556.ssuse +++| 00558 M01S00557.ssuse +++|# 00559 M01S00558.ssuse +++|* DO NOT PROCESS THE COORDINATES CONTAINING THE DRD-S 00560 M01S00559.ssuse +++|* OR THE ENTRY-EXIT TRAY. 00561 M01S00560.ssuse +++|# 00562 M01S00561.ssuse +++| 00563 M01S00562.ssuse +++| IF (Z LQ 1 ## 00564 M01S00563.ssuse +++| AND (Y LQ 15 AND Y GQ 11)) ## 00565 M01S00564.ssuse +++| OR Z EQ Z$NO$CUBE 00566 M01S00565.ssuse +++| THEN 00567 M01S00566.ssuse +++| BEGIN 00568 M01S00567.ssuse +++| TEST Z; 00569 M01S00568.ssuse +++| END 00570 M01S00569.ssuse +++| 00571 M01S00570.ssuse +++|# 00572 M01S00571.ssuse +++|* CALCULATE THE ORDINAL OF THE SMMAP ENTRY. 00573 M01S00572.ssuse +++|# 00574 M01S00573.ssuse +++| 00575 M01S00574.ssuse +++| MAP$ORD = MAXORD - Z - (Y * 16); 00576 M01S00575.ssuse +++| 00577 M01S00576.ssuse +++|# 00578 M01S00577.ssuse +++|* GET THE SMMAP ENTRY AND CHECK THE RETURNED ERROR STATUS. 00579 M01S00578.ssuse +++|# 00580 M01S00579.ssuse +++| 00581 M01S00580.ssuse +++| MGETENT(SMID,MAP$ORD,SM$ADDR,FLAG); 00582 M01S00581.ssuse +++| IF FLAG NQ CMASTAT"NOERR" 00583 M01S00582.ssuse +++| THEN 00584 M01S00583.ssuse +++| BEGIN # CHECK FOR TYPE OF ERROR # 00585 M01S00584.ssuse +++| IF FLAG EQ CMASTAT"CIOERR" 00586 M01S00585.ssuse +++| THEN 00587 M01S00586.ssuse +++| BEGIN 00588 M01S00587.ssuse +++| SSMSG$LINE[0] = " SMMAP PARITY ERROR."; 00589 M01S00588.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 00590 M01S00589.ssuse +++| RPCLOSE(OUT$FETP); 00591 M01S00590.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 00592 M01S00591.ssuse +++| END 00593 M01S00592.ssuse +++| 00594 M01S00593.ssuse +++| ELSE 00595 M01S00594.ssuse +++| BEGIN 00596 M01S00595.ssuse +++| SSMSG$PROC[0] = PROCNAME; 00597 M01S00596.ssuse +++| MESSAGE(SSMSG[0],SYSUDF1); 00598 M01S00597.ssuse +++| RPCLOSE(OUT$FETP); 00599 M01S00598.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 00600 M01S00599.ssuse +++| END 00601 M01S00600.ssuse +++| 00602 M01S00601.ssuse +++| END # CHECK FOR TYPE OF ERROR # 00603 M01S00602.ssuse +++| 00604 M01S00603.ssuse +++|# 00605 M01S00604.ssuse +++|* SEARCH FOR EMPTY CUBICLES ASSIGNED TO THIS SUBFAMILY. 00606 M01S00605.ssuse +++|# 00607 M01S00606.ssuse +++| 00608 M01S00607.ssuse +++| IF CM$CODE[0] NQ CUBSTAT"SUBFAM" 00609 M01S00608.ssuse +++| THEN # NOT IN ANY SUBFAMILY # 00610 M01S00609.ssuse +++| BEGIN 00611 M01S00610.ssuse +++| TEST Z; 00612 M01S00611.ssuse +++| END 00613 M01S00612.ssuse +++| 00614 M01S00613.ssuse +++| IF CM$FMLYNM[0] EQ USARG$FM[0] ## 00615 M01S00614.ssuse +++| AND CM$SUB[0] EQ SUBFAM ## 00616 M01S00615.ssuse +++| AND CM$FCTORD[0] EQ 0 00617 M01S00616.ssuse +++| THEN # FOUND EMPTY CUBICLE # 00618 M01S00617.ssuse +++| BEGIN 00619 M01S00618.ssuse +++| GRP$LOC[0] = GRP$LOC[0] + 1; 00620 M01S00619.ssuse +++| END 00621 M01S00620.ssuse +++| 00622 M01S00621.ssuse +++| END # PROCESS EACH Z COORDINATE # 00623 M01S00622.ssuse +++| 00624 M01S00623.ssuse +++| END # PROCESS EACH Y COORDINATE # 00625 M01S00624.ssuse +++| 00626 M01S00625.ssuse +++|# 00627 M01S00626.ssuse +++|* CLOSE THE SMMAP. 00628 M01S00627.ssuse +++|# 00629 M01S00628.ssuse +++| 00630 M01S00629.ssuse +++| MCLOSE(SMID,FLAG); 00631 M01S00630.ssuse +++| IF FLAG NQ CMASTAT"NOERR" 00632 M01S00631.ssuse +++| THEN 00633 M01S00632.ssuse +++| BEGIN 00634 M01S00633.ssuse +++| SSMSG$PROC[0] = PROCNAME; 00635 M01S00634.ssuse +++| MESSAGE(SSMSG[0],SYSUDF1); 00636 M01S00635.ssuse +++| RPCLOSE(OUT$FETP); 00637 M01S00636.ssuse +++| RESTPFP(PFP$ABORT); 00638 M01S00637.ssuse +++| END 00639 M01S00638.ssuse +++| 00640 M01S00639.ssuse +++| END # USANALS # 00641 M01S00640.ssuse +++| 00642 M01S00641.ssuse +++| TERM 00643 M01S00642.ssuse +++|PROC USBASLN((SUBFAM),(SM)); 00644 M01S00643.ssuse +++|# TITLE USBASLN - PRINTS DETAIL LINES FOR THE BASIC REPORT. # 00645 M01S00644.ssuse +++| 00646 M01S00645.ssuse +++| BEGIN # USBASLN # 00647 M01S00646.ssuse +++| 00648 M01S00647.ssuse +++|# 00649 M01S00648.ssuse +++|** USBASLN - PRINTS DETAIL LINES FOR THE BASIC REPORT. 00650 M01S00649.ssuse +++|* 00651 M01S00650.ssuse +++|* THIS PROCEDURE PRINTS OUT THE BASIC USAGE REPORT INFORMATION 00652 M01S00651.ssuse +++|* TO THE REPORT FILE. 00653 M01S00652.ssuse +++|* 00654 M01S00653.ssuse +++|* PROC USBASLN((SUBFAM),(SM)). 00655 M01S00654.ssuse +++|* 00656 M01S00655.ssuse +++|* ENTRY. (SUBFAM) = SUBFAMILY IDENTIFIER. 00657 M01S00656.ssuse +++|* (SM) = SM IDENTIFIER. 00658 M01S00657.ssuse +++|* 00659 M01S00658.ssuse +++|* EXIT BASIC REPORT LINES HAVE BEEN WRITTEN TO 00660 M01S00659.ssuse +++|* THE REPORT FILE. 00661 M01S00660.ssuse +++|* 00662 M01S00661.ssuse +++|* NOTES PROC *USBASLN* CALLS *XCDD* TO CONVERT THE 00663 M01S00662.ssuse +++|* GROUP TOTALS IN THE *GRP$TOT* ARRAY FROM INTEGER 00664 M01S00663.ssuse +++|* TO DISPLAY CODE. THESE VALUES ARE THEN DISPLAYED 00665 M01S00664.ssuse +++|* IN THE REPORT FILE. TOTALS ARE ACCUMULATED FOR 00666 M01S00665.ssuse +++|* THE SM AND SUBFAMILY. 00667 M01S00666.ssuse +++|# 00668 M01S00667.ssuse +++| 00669 M01S00668.ssuse +++|# 00670 M01S00669.ssuse +++|**** PROC USBASLN - XREF LIST BEGIN. 00671 M01S00670.ssuse +++|# 00672 M01S00671.ssuse +++| 00673 M01S00672.ssuse +++| XREF 00674 M01S00673.ssuse +++| BEGIN 00675 M01S00674.ssuse +++| PROC BZFILL; # BLANK FILL CHARACTERS # 00676 M01S00675.ssuse +++| PROC RPEJECT; # PAGE EJECTS FOR REPORT FILE # 00677 M01S00676.ssuse +++| PROC RPLINE; # WRITES A LINE TO REPORT FILE # 00678 M01S00677.ssuse +++| PROC RPSPACE; # PUT BLANK LINE ON REPORT FILE # 00679 M01S00678.ssuse +++| FUNC XCDD C(10); # CONVERTS INTEGERS TO DISPLAY # 00680 M01S00679.ssuse +++| END 00681 M01S00680.ssuse +++| 00682 M01S00681.ssuse +++|# 00683 M01S00682.ssuse +++|**** PROC USBASLN - XREF LIST END. 00684 M01S00683.ssuse +++|# 00685 M01S00684.ssuse +++| 00686 M01S00685.ssuse +++| DEF LISTCON #0#; # DO NOT LIST COMDECKS # 00687 M01S00686.ssuse +++|*CALL COMBFAS 00688 M01S00687.ssuse +++|*CALL COMBBZF 00689 M01S00688.ssuse +++|*CALL COMBMCT 00690 M01S00689.ssuse +++|*CALL COMXMSC 00691 M01S00690.ssuse +++|*CALL COMTOUT 00692 M01S00691.ssuse +++|*CALL COMTUSE 00693 M01S00692.ssuse +++|*CALL COMTUSP 00694 M01S00693.ssuse +++| 00695 M01S00694.ssuse +++| ITEM GP I; # LOOP VARIABLE # 00696 M01S00695.ssuse +++| ITEM LN$CNT I; # LINE COUNT # 00697 M01S00696.ssuse +++| ITEM SM I; # SM IDENTIFIER # 00698 M01S00697.ssuse +++| ITEM SUBFAM I; # SUBFAMILY IDENTIFIER # 00699 M01S00698.ssuse +++| ITEM TEMP$FAM C(7); # HOLDS FAMILY NAME # 00700 M01S00699.ssuse +++| ITEM TEMP$SM C(1); # SM CHARACTER # 00701 M01S00700.ssuse +++| ITEM TOT I; # ARRAY INDEX FOR TOTALS # 00702 M01S00701.ssuse +++| CONTROL EJECT; 00703 M01S00702.ssuse +++| 00704 M01S00703.ssuse +++| TEMP$FAM = USARG$FM[0]; 00705 M01S00704.ssuse +++| BZFILL(TEMP$FAM,TYPFILL"BFILL",7); 00706 M01S00705.ssuse +++| TEMP$SM = SM; 00707 M01S00706.ssuse +++| 00708 M01S00707.ssuse +++|# 00709 M01S00708.ssuse +++|* WRITE HEADER TO REPORT FILE IF NEW PAGE. 00710 M01S00709.ssuse +++|# 00711 M01S00710.ssuse +++| 00712 M01S00711.ssuse +++| IF (LN$CNT / MAX$LN) * MAX$LN EQ LN$CNT 00713 M01S00712.ssuse +++| THEN # PAGE EJECT AND PRINT HEADER # 00714 M01S00713.ssuse +++| BEGIN 00715 M01S00714.ssuse +++| RPEJECT(OUT$FETP); 00716 M01S00715.ssuse +++| RPLINE(OUT$FETP,"SSUSE BASIC REPORT",5,18,1); 00717 M01S00716.ssuse +++| RPLINE(OUT$FETP,"FAMILY = ",35,9,1); 00718 M01S00717.ssuse +++| RPLINE(OUT$FETP,TEMP$FAM,44,7,0); 00719 M01S00718.ssuse +++| 00720 M01S00719.ssuse +++|# 00721 M01S00720.ssuse +++|* WRITE NOTES TO REPORT FILE. 00722 M01S00721.ssuse +++|# 00723 M01S00722.ssuse +++| 00724 M01S00723.ssuse +++| RPSPACE(OUT$FETP,SP"SPACE",1); 00725 M01S00724.ssuse +++| RPLINE(OUT$FETP,"CUBE = CUBICLES",5,15,1); 00726 M01S00725.ssuse +++| RPLINE(OUT$FETP,"CARTRIDGE FLAGS",36,15,1); 00727 M01S00726.ssuse +++| RPLINE(OUT$FETP,"AU FLAGS",86,8,0); 00728 M01S00727.ssuse +++| RPLINE(OUT$FETP,"CART = CARTRIDGES",5,17,1); 00729 M01S00728.ssuse +++| RPLINE(OUT$FETP,"M = MISSING",37,11,1); 00730 M01S00729.ssuse +++| RPLINE(OUT$FETP,"FA = FLAWED AND ALLOCATED",87,25,0); 00731 M01S00730.ssuse +++| RPLINE(OUT$FETP,"I = INHIBIT ALLOCATION",37,22,1); 00732 M01S00731.ssuse +++| RPLINE(OUT$FETP,"FU = FLAWED AND UNALLOCATED",87,27,0); 00733 M01S00732.ssuse +++| RPLINE(OUT$FETP,"** = SUBFAMILY TOTAL",5,20,1); 00734 M01S00733.ssuse +++| RPLINE(OUT$FETP,"F = FREE CARTRIDGE",37,18,1); 00735 M01S00734.ssuse +++| RPLINE(OUT$FETP,"SF = START OF FRAGMENT",87,22,0); 00736 M01S00735.ssuse +++| RPLINE(OUT$FETP,"- = UNASSIGNED GROUP",5,21,1); 00737 M01S00736.ssuse +++| RPLINE(OUT$FETP,"L = OFF CARTRIDGE LINKS AVAILABLE",37,33,1); 00738 M01S00737.ssuse +++| RPLINE(OUT$FETP,"FC = FROZEN CHAIN",87,17,0); 00739 M01S00738.ssuse +++| RPLINE(OUT$FETP,"P = EXCESSIVE PARITY ERRORS",37,27,1); 00740 M01S00739.ssuse +++| RPLINE(OUT$FETP,"AC = AU CONFLICT",87,16,0); 00741 M01S00740.ssuse +++| RPLINE(OUT$FETP,"E = MAP ERROR(AS DETECTED BY SSVAL)",37,36,0); 00742 M01S00741.ssuse +++| RPSPACE(OUT$FETP,SP"SPACE",1); 00743 M01S00742.ssuse +++| 00744 M01S00743.ssuse +++|# 00745 M01S00744.ssuse +++|* WRITE COLUMN HEADINGS TO REPORT FILE. 00746 M01S00745.ssuse +++|# 00747 M01S00746.ssuse +++| 00748 M01S00747.ssuse +++| RPLINE(OUT$FETP,"----AVAILABLE----",24,17,1); 00749 M01S00748.ssuse +++| RPLINE(OUT$FETP,"-----NUMBER CARTRIDGES FLAGGED----",43,34,1); 00750 M01S00749.ssuse +++| RPLINE(OUT$FETP,"-------------NUMBER AU FLAGGED",81,30,1); 00751 M01S00750.ssuse +++| RPLINE(OUT$FETP,"-------------",111,13,0); 00752 M01S00751.ssuse +++| RPLINE(OUT$FETP,"SUB SM GR",1,9,1); 00753 M01S00752.ssuse +++| RPLINE(OUT$FETP,"CUBE CART",12,10,1); 00754 M01S00753.ssuse +++| RPLINE(OUT$FETP,"AU AU",26,12,1); 00755 M01S00754.ssuse +++| RPLINE(OUT$FETP,"M I F L P E",46,31,1); 00756 M01S00755.ssuse +++| RPLINE(OUT$FETP,"FA FU",86,11,1); 00757 M01S00756.ssuse +++| RPLINE(OUT$FETP,"SF FC AC",104,20,0); 00758 M01S00757.ssuse +++| RPLINE(OUT$FETP,"(SMALL) (LARGE)",24,17,0); 00759 M01S00758.ssuse +++| RPSPACE(OUT$FETP,SP"SPACE",1); 00760 M01S00759.ssuse +++| LN$CNT = 16; 00761 M01S00760.ssuse +++| END 00762 M01S00761.ssuse +++| 00763 M01S00762.ssuse +++|# 00764 M01S00763.ssuse +++|* SET INDEX TO ACCUMULATE TOTALS. 00765 M01S00764.ssuse +++|# 00766 M01S00765.ssuse +++| 00767 M01S00766.ssuse +++| TOT = MAXGP + 1; 00768 M01S00767.ssuse +++| 00769 M01S00768.ssuse +++|# 00770 M01S00769.ssuse +++|* CONVERT THE TOTALS FOR EACH GROUP TO DISPLAY CODE AND WRITE 00771 M01S00770.ssuse +++|* THEM TO THE REPORT FILE. THE FIRST TIME THROUGH (GP = 0) 00772 M01S00771.ssuse +++|* THE NUMBER OF EMPTY CUBICLES ASSIGNED TO THIS SUBFAMILY WILL 00773 M01S00772.ssuse +++|* BE PRINTED. THE LAST TIME THROUGH (GP = MAXGP + 1) THE SM 00774 M01S00773.ssuse +++|* TOTALS WILL BE PRINTED. 00775 M01S00774.ssuse +++|# 00776 M01S00775.ssuse +++| 00777 M01S00776.ssuse +++| SLOWFOR GP = 0 STEP 1 UNTIL MAXGP + 1 00778 M01S00777.ssuse +++| DO 00779 M01S00778.ssuse +++| BEGIN # FOR EACH GROUP # 00780 M01S00779.ssuse +++| 00781 M01S00780.ssuse +++|# 00782 M01S00781.ssuse +++|* WRITE GROUP SUBTOTALS TO REPORT FILE. IF NO CUBICLES ARE 00783 M01S00782.ssuse +++|* ASSIGNED TO THIS GROUP, PROCESS THE NEXT GROUP. 00784 M01S00783.ssuse +++|# 00785 M01S00784.ssuse +++| 00786 M01S00785.ssuse +++| IF GP EQ MAXGP + 1 00787 M01S00786.ssuse +++| THEN # PRINT TOTAL FOR ALL GROUPS # 00788 M01S00787.ssuse +++| BEGIN 00789 M01S00788.ssuse +++| CHAR$10[0] = XCDD(SUBFAM); 00790 M01S00789.ssuse +++| RPLINE(OUT$FETP,CHAR$R1[0],2,1,1); 00791 M01S00790.ssuse +++| RPLINE(OUT$FETP,TEMP$SM,5,1,1); 00792 M01S00791.ssuse +++| RPLINE(OUT$FETP,"**",8,2,1); 00793 M01S00792.ssuse +++| END 00794 M01S00793.ssuse +++| 00795 M01S00794.ssuse +++| ELSE # PRINT ONE GROUP AT A TIME # 00796 M01S00795.ssuse +++| BEGIN 00797 M01S00796.ssuse +++| IF GRP$LOC[GP] EQ 0 00798 M01S00797.ssuse +++| THEN # NO CUBICLES IN THIS GROUP # 00799 M01S00798.ssuse +++| BEGIN 00800 M01S00799.ssuse +++| TEST GP; 00801 M01S00800.ssuse +++| END 00802 M01S00801.ssuse +++| 00803 M01S00802.ssuse +++| CHAR$10[0] = XCDD(SUBFAM); 00804 M01S00803.ssuse +++| RPLINE(OUT$FETP,CHAR$R1[0],2,1,1); 00805 M01S00804.ssuse +++| RPLINE(OUT$FETP,TEMP$SM,5,1,1); 00806 M01S00805.ssuse +++| IF GP EQ 0 00807 M01S00806.ssuse +++| THEN 00808 M01S00807.ssuse +++| BEGIN 00809 M01S00808.ssuse +++| RPLINE(OUT$FETP,"-",9,1,1); 00810 M01S00809.ssuse +++| END 00811 M01S00810.ssuse +++| 00812 M01S00811.ssuse +++| ELSE 00813 M01S00812.ssuse +++| BEGIN 00814 M01S00813.ssuse +++| CHAR$10[0] = XCDD(GP); 00815 M01S00814.ssuse +++| RPLINE(OUT$FETP,CHAR$R2[0],8,2,1); 00816 M01S00815.ssuse +++| END 00817 M01S00816.ssuse +++| 00818 M01S00817.ssuse +++| END 00819 M01S00818.ssuse +++| 00820 M01S00819.ssuse +++|# 00821 M01S00820.ssuse +++|* LIST THE NUMBER OF CUBICLES ASSIGNED TO A GROUP. 00822 M01S00821.ssuse +++|# 00823 M01S00822.ssuse +++| 00824 M01S00823.ssuse +++| CHAR$10[0] = XCDD(GRP$LOC[GP]); 00825 M01S00824.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],12,4,1); 00826 M01S00825.ssuse +++| 00827 M01S00826.ssuse +++|# 00828 M01S00827.ssuse +++|* LIST THE NUMBER OF CARTRIDGES IN A GROUP. 00829 M01S00828.ssuse +++|# 00830 M01S00829.ssuse +++| 00831 M01S00830.ssuse +++| CHAR$10[0] = XCDD(GRP$RES[GP]); 00832 M01S00831.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],18,4,1); 00833 M01S00832.ssuse +++| 00834 M01S00833.ssuse +++|# 00835 M01S00834.ssuse +++|* LIST THE NUMBER OF AVAILABLE AU FOR SMALL AND LARGE FILES. 00836 M01S00835.ssuse +++|# 00837 M01S00836.ssuse +++| 00838 M01S00837.ssuse +++| CHAR$10[0] = XCDD(GRP$AUSF[GP]); 00839 M01S00838.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],24,7,1); 00840 M01S00839.ssuse +++| CHAR$10[0] = XCDD(GRP$AULF[GP]); 00841 M01S00840.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],34,7,1); 00842 M01S00841.ssuse +++| 00843 M01S00842.ssuse +++|# 00844 M01S00843.ssuse +++|* LIST THE NUMBER OF LOST CARTRIDGES. 00845 M01S00844.ssuse +++|# 00846 M01S00845.ssuse +++| 00847 M01S00846.ssuse +++| CHAR$10[0] = XCDD(GRP$LOST[GP]); 00848 M01S00847.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],43,4,1); 00849 M01S00848.ssuse +++| 00850 M01S00849.ssuse +++|# 00851 M01S00850.ssuse +++|* LIST THE NUMBER OF CARTRIDGES WITH THE INHIBIT FLAG SET. 00852 M01S00851.ssuse +++|# 00853 M01S00852.ssuse +++| 00854 M01S00853.ssuse +++| CHAR$10[0] = XCDD(GRP$INH[GP]); 00855 M01S00854.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],49,4,1); 00856 M01S00855.ssuse +++| 00857 M01S00856.ssuse +++|# 00858 M01S00857.ssuse +++|* LIST THE NUMBER OF CARTRIDGES WITH FREE CARTRIDGE FLAG SET. 00859 M01S00858.ssuse +++|# 00860 M01S00859.ssuse +++| 00861 M01S00860.ssuse +++| CHAR$10[0] = XCDD(GRP$FRC[GP]); 00862 M01S00861.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],55,4,1); 00863 M01S00862.ssuse +++| 00864 M01S00863.ssuse +++|# 00865 M01S00864.ssuse +++|* LIST THE NUMBER OF CARTRIDGES WITH AVAILABLE OFF-CARTRIDGE LINKS. 00866 M01S00865.ssuse +++|# 00867 M01S00866.ssuse +++| 00868 M01S00867.ssuse +++| CHAR$10[0] = XCDD(GRP$OCL[GP]); 00869 M01S00868.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],61,4,1); 00870 M01S00869.ssuse +++| 00871 M01S00870.ssuse +++|# 00872 M01S00871.ssuse +++|* LIST THE NUMBER OF CARTRIDGES WITH EXCESSIVE PARITY ERRORS. 00873 M01S00872.ssuse +++|# 00874 M01S00873.ssuse +++| 00875 M01S00874.ssuse +++| CHAR$10[0] = XCDD(GRP$XPE[GP]); 00876 M01S00875.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],67,4,1); 00877 M01S00876.ssuse +++| CHAR$10[0] = XCDD(GRP$SE[GP]); 00878 M01S00877.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],73,4,1); 00879 M01S00878.ssuse +++| 00880 M01S00879.ssuse +++|# 00881 M01S00880.ssuse +++|* LIST THE NUMBER OF FLAWED AND ALLOCATED AU. 00882 M01S00881.ssuse +++|# 00883 M01S00882.ssuse +++| 00884 M01S00883.ssuse +++| CHAR$10[0] = XCDD(GRP$FB[GP]); 00885 M01S00884.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],81,7,1); 00886 M01S00885.ssuse +++| 00887 M01S00886.ssuse +++|# 00888 M01S00887.ssuse +++|* LIST THE NUMBER OF FLAWED AND UNALLOCATED AU. 00889 M01S00888.ssuse +++|# 00890 M01S00889.ssuse +++| 00891 M01S00890.ssuse +++| CHAR$10[0] = XCDD(GRP$FA[GP]); 00892 M01S00891.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],90,7,1); 00893 M01S00892.ssuse +++| 00894 M01S00893.ssuse +++|# 00895 M01S00894.ssuse +++|* LIST THE NUMBER OF START OF FRAGMENT AU. 00896 M01S00895.ssuse +++|# 00897 M01S00896.ssuse +++| 00898 M01S00897.ssuse +++| CHAR$10[0] = XCDD(GRP$SF[GP]); 00899 M01S00898.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],99,7,1); 00900 M01S00899.ssuse +++| 00901 M01S00900.ssuse +++|# 00902 M01S00901.ssuse +++|* LIST THE NUMBER OF FROZEN CHAIN AU. 00903 M01S00902.ssuse +++|# 00904 M01S00903.ssuse +++| 00905 M01S00904.ssuse +++| CHAR$10[0] = XCDD(GRP$FC[GP]); 00906 M01S00905.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],108,7,1); 00907 M01S00906.ssuse +++| 00908 M01S00907.ssuse +++|# 00909 M01S00908.ssuse +++|* LIST THE NUMBER OF AU WITH ALLOCATION CONFLICT. 00910 M01S00909.ssuse +++|# 00911 M01S00910.ssuse +++| 00912 M01S00911.ssuse +++| CHAR$10[0] = XCDD(GRP$AUC[GP]); 00913 M01S00912.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],117,7,0); 00914 M01S00913.ssuse +++| LN$CNT = LN$CNT + 1; 00915 M01S00914.ssuse +++| 00916 M01S00915.ssuse +++|# 00917 M01S00916.ssuse +++|* DO NOT ACCUMULATE TOTALS THE LAST TIME THROUGH. 00918 M01S00917.ssuse +++|# 00919 M01S00918.ssuse +++| 00920 M01S00919.ssuse +++| IF GP EQ MAXGP + 1 00921 M01S00920.ssuse +++| THEN # DO NOT ADD TO TOTALS # 00922 M01S00921.ssuse +++| BEGIN 00923 M01S00922.ssuse +++| RPSPACE(OUT$FETP,SP"SPACE",1); 00924 M01S00923.ssuse +++| LN$CNT = LN$CNT + 1; 00925 M01S00924.ssuse +++| TEST GP; 00926 M01S00925.ssuse +++| END 00927 M01S00926.ssuse +++| 00928 M01S00927.ssuse +++|# 00929 M01S00928.ssuse +++|* TOTALS FOR ALL GROUPS IN A SM PER SUBFAMILY ARE ACCUMULATED 00930 M01S00929.ssuse +++|* UNDER THE MAXGP+1 INDEX OF THE GROUP TOTALS ARRAY. 00931 M01S00930.ssuse +++|* *GRP$TOT[MAXGP+1]*. 00932 M01S00931.ssuse +++|# 00933 M01S00932.ssuse +++| 00934 M01S00933.ssuse +++| GRP$AUC[TOT] = GRP$AUC[TOT] + GRP$AUC[GP]; 00935 M01S00934.ssuse +++| GRP$AULF[TOT] = GRP$AULF[TOT] + GRP$AULF[GP]; 00936 M01S00935.ssuse +++| GRP$AUSF[TOT] = GRP$AUSF[TOT] + GRP$AUSF[GP]; 00937 M01S00936.ssuse +++| GRP$FA[TOT] = GRP$FA[TOT] + GRP$FA[GP]; 00938 M01S00937.ssuse +++| GRP$FB[TOT] = GRP$FB[TOT] + GRP$FB[GP]; 00939 M01S00938.ssuse +++| GRP$FC[TOT] = GRP$FC[TOT] + GRP$FC[GP]; 00940 M01S00939.ssuse +++| GRP$FRC[TOT] = GRP$FRC[TOT] + GRP$FRC[GP]; 00941 M01S00940.ssuse +++| GRP$INH[TOT] = GRP$INH[TOT] + GRP$INH[GP]; 00942 M01S00941.ssuse +++| GRP$LOC[TOT] = GRP$LOC[TOT] + GRP$LOC[GP]; 00943 M01S00942.ssuse +++| GRP$LOST[TOT] = GRP$LOST[TOT] + GRP$LOST[GP]; 00944 M01S00943.ssuse +++| GRP$OCL[TOT] = GRP$OCL[TOT] + GRP$OCL[GP]; 00945 M01S00944.ssuse +++| GRP$RES[TOT] = GRP$RES[TOT] + GRP$RES[GP]; 00946 M01S00945.ssuse +++| GRP$SE[TOT] = GRP$SE[TOT] + GRP$SE[GP]; 00947 M01S00946.ssuse +++| GRP$SF[TOT] = GRP$SF[TOT] + GRP$SF[GP]; 00948 M01S00947.ssuse +++| GRP$XPE[TOT] = GRP$XPE[TOT] + GRP$XPE[GP]; 00949 M01S00948.ssuse +++| END # FOR EACH GROUP # 00950 M01S00949.ssuse +++| 00951 M01S00950.ssuse +++|# 00952 M01S00951.ssuse +++|* ACCUMULATE SM TOTALS. 00953 M01S00952.ssuse +++|# 00954 M01S00953.ssuse +++| 00955 M01S00954.ssuse +++| SM$AUC[SM] = SM$AUC[SM] + GRP$AUC[TOT]; 00956 M01S00955.ssuse +++| SM$AULF[SM] = SM$AULF[SM] + GRP$AULF[TOT]; 00957 M01S00956.ssuse +++| SM$AUSF[SM] = SM$AUSF[SM] + GRP$AUSF[TOT]; 00958 M01S00957.ssuse +++| SM$FA[SM] = SM$FA[SM] + GRP$FA[TOT]; 00959 M01S00958.ssuse +++| SM$FB[SM] = SM$FB[SM] + GRP$FB[TOT]; 00960 M01S00959.ssuse +++| SM$FC[SM] = SM$FC[SM] + GRP$FC[TOT]; 00961 M01S00960.ssuse +++| SM$FRC[SM] = SM$FRC[SM] + GRP$FRC[TOT]; 00962 M01S00961.ssuse +++| SM$INH[SM] = SM$INH[SM] + GRP$INH[TOT]; 00963 M01S00962.ssuse +++| SM$LOC[SM] = SM$LOC[SM] + GRP$LOC[TOT]; 00964 M01S00963.ssuse +++| SM$LOST[SM] = SM$LOST[SM] + GRP$LOST[TOT]; 00965 M01S00964.ssuse +++| SM$OCL[SM] = SM$OCL[SM] + GRP$OCL[TOT]; 00966 M01S00965.ssuse +++| SM$RES[SM] = SM$RES[SM] + GRP$RES[TOT]; 00967 M01S00966.ssuse +++| SM$SE[SM] = SM$SE[SM] + GRP$SE[TOT]; 00968 M01S00967.ssuse +++| SM$SF[SM] = SM$SF[SM] + GRP$SF[TOT]; 00969 M01S00968.ssuse +++| SM$XPE[SM] = SM$XPE[SM] + GRP$XPE[TOT]; 00970 M01S00969.ssuse +++| 00971 M01S00970.ssuse +++|# 00972 M01S00971.ssuse +++|* ACCUMULATE SUBFAMILY TOTALS. 00973 M01S00972.ssuse +++|# 00974 M01S00973.ssuse +++| 00975 M01S00974.ssuse +++| SF$AUC[SUBFAM] = SF$AUC[SUBFAM] + GRP$AUC[TOT]; 00976 M01S00975.ssuse +++| SF$AULF[SUBFAM] = SF$AULF[SUBFAM] + GRP$AULF[TOT]; 00977 M01S00976.ssuse +++| SF$AUSF[SUBFAM] = SF$AUSF[SUBFAM] + GRP$AUSF[TOT]; 00978 M01S00977.ssuse +++| SF$FA[SUBFAM] = SF$FA[SUBFAM] + GRP$FA[TOT]; 00979 M01S00978.ssuse +++| SF$FB[SUBFAM] = SF$FB[SUBFAM] + GRP$FB[TOT]; 00980 M01S00979.ssuse +++| SF$FC[SUBFAM] = SF$FC[SUBFAM] + GRP$FC[TOT]; 00981 M01S00980.ssuse +++| SF$FRC[SUBFAM] = SF$FRC[SUBFAM] + GRP$FRC[TOT]; 00982 M01S00981.ssuse +++| SF$INH[SUBFAM] = SF$INH[SUBFAM] + GRP$INH[TOT]; 00983 M01S00982.ssuse +++| SF$LOC[SUBFAM] = SF$LOC[SUBFAM] + GRP$LOC[TOT]; 00984 M01S00983.ssuse +++| SF$LOST[SUBFAM] = SF$LOST[SUBFAM] + GRP$LOST[TOT]; 00985 M01S00984.ssuse +++| SF$OCL[SUBFAM] = SF$OCL[SUBFAM] + GRP$OCL[TOT]; 00986 M01S00985.ssuse +++| SF$RES[SUBFAM] = SF$RES[SUBFAM] + GRP$RES[TOT]; 00987 M01S00986.ssuse +++| SF$SE[SUBFAM] = SF$SE[SUBFAM] + GRP$SE[TOT]; 00988 M01S00987.ssuse +++| SF$SF[SUBFAM] = SF$SF[SUBFAM] + GRP$SF[TOT]; 00989 M01S00988.ssuse +++| SF$XPE[SUBFAM] = SF$XPE[SUBFAM] + GRP$XPE[TOT]; 00990 M01S00989.ssuse +++| 00991 M01S00990.ssuse +++| RETURN; 00992 M01S00991.ssuse +++| 00993 M01S00992.ssuse +++| END # USBASLN # 00994 M01S00993.ssuse +++| 00995 M01S00994.ssuse +++| TERM 00996 M01S00995.ssuse +++|PROC USBASTOT; 00997 M01S00996.ssuse +++|# TITLE USBASTOT - WRITES SM AND SUBFAMILY TOTALS TO THE REPORT FILE. # 00998 M01S00997.ssuse +++| 00999 M01S00998.ssuse +++| BEGIN # USBASTOT # 01000 M01S00999.ssuse +++| 01001 M01S01000.ssuse +++|# 01002 M01S01001.ssuse +++|** USBASTOT - WRITES SM AND SUBFAMILY TOTALS TO THE REPORT FILE. 01003 M01S01002.ssuse +++|* 01004 M01S01003.ssuse +++|* PROC USBASTOT. 01005 M01S01004.ssuse +++|* 01006 M01S01005.ssuse +++|* ENTRY. (SEL$SB) = BITS SET FOR THE SELECTED SUBFAMILIES. 01007 M01S01006.ssuse +++|* (SEL$SM) = BITS SET FOR THE SELECTED SM-S. 01008 M01S01007.ssuse +++|* 01009 M01S01008.ssuse +++|* EXIT. TOTALS HAVE BEEN WRITTEN TO REPORT FILE. 01010 M01S01009.ssuse +++|* 01011 M01S01010.ssuse +++|* NOTES. PROC *USBASTOT* CALLS *XCDD* TO CONVERT THE VARIOUS 01012 M01S01011.ssuse +++|* FIELDS IN THE *SM$TOT* AND *SF$TOT* ARRAYS FROM 01013 M01S01012.ssuse +++|* INTEGER TO DISPLAY CODE. THE CONVERTED VALUES ARE 01014 M01S01013.ssuse +++|* WRITTEN TO THE REPORT FILE. 01015 M01S01014.ssuse +++|# 01016 M01S01015.ssuse +++| 01017 M01S01016.ssuse +++|# 01018 M01S01017.ssuse +++|**** PROC USBASTOT - XREF LIST BEGIN. 01019 M01S01018.ssuse +++|# 01020 M01S01019.ssuse +++| 01021 M01S01020.ssuse +++| XREF 01022 M01S01021.ssuse +++| BEGIN 01023 M01S01022.ssuse +++| PROC BZFILL; # BLANK FILL CHARACTERS # 01024 M01S01023.ssuse +++| PROC RPEJECT; # PAGE EJECTS FOR REPORT FILE # 01025 M01S01024.ssuse +++| PROC RPLINE; # WRITES A LINE TO REPORT FILE # 01026 M01S01025.ssuse +++| PROC RPSPACE; # PUTS BLANK LINE ON REPORT FILE # 01027 M01S01026.ssuse +++| FUNC XCDD C(10); # CONVERTS INTEGER TO DISPLAY # 01028 M01S01027.ssuse +++| END 01029 M01S01028.ssuse +++| 01030 M01S01029.ssuse +++|# 01031 M01S01030.ssuse +++|**** PROC USBASTOT - XREF LIST END. 01032 M01S01031.ssuse +++|# 01033 M01S01032.ssuse +++| 01034 M01S01033.ssuse +++| DEF LISTCON #0#; # DO NOT LIST COMDECKS # 01035 M01S01034.ssuse +++|*CALL COMBFAS 01036 M01S01035.ssuse +++|*CALL COMBBZF 01037 M01S01036.ssuse +++|*CALL COMBMCT 01038 M01S01037.ssuse +++|*CALL COMXMSC 01039 M01S01038.ssuse +++|*CALL COMTOUT 01040 M01S01039.ssuse +++|*CALL COMTUSE 01041 M01S01040.ssuse +++|*CALL COMTUSP 01042 M01S01041.ssuse +++| 01043 M01S01042.ssuse +++| ITEM SM I; # SM IDENTIFIER # 01044 M01S01043.ssuse +++| ITEM SUBFAM I; # SUBFAMILY IDENTIFIER # 01045 M01S01044.ssuse +++| ITEM TEMP$FAM C(7); # FAMILY CHARACTER # 01046 M01S01045.ssuse +++| ITEM TEMP$SM C(1); # SM CHARACTER # 01047 M01S01046.ssuse +++| CONTROL EJECT; 01048 M01S01047.ssuse +++| 01049 M01S01048.ssuse +++| TEMP$FAM = USARG$FM[0]; 01050 M01S01049.ssuse +++| BZFILL(TEMP$FAM,TYPFILL"BFILL",7); 01051 M01S01050.ssuse +++| 01052 M01S01051.ssuse +++|# 01053 M01S01052.ssuse +++|* WRITE COLUMN HEADINGS TO REPORT FILE. 01054 M01S01053.ssuse +++|# 01055 M01S01054.ssuse +++| 01056 M01S01055.ssuse +++| RPEJECT(OUT$FETP); 01057 M01S01056.ssuse +++| RPLINE(OUT$FETP,"SSUSE BASIC REPORT",5,18,1); 01058 M01S01057.ssuse +++| RPLINE(OUT$FETP,"SM AND SUBFAMILY TOTALS",27,23,1); 01059 M01S01058.ssuse +++| RPLINE(OUT$FETP,"FAMILY = ",54,9,1); 01060 M01S01059.ssuse +++| RPLINE(OUT$FETP,TEMP$FAM,63,7,0); 01061 M01S01060.ssuse +++| RPSPACE(OUT$FETP,SP"SPACE",1); 01062 M01S01061.ssuse +++| RPLINE(OUT$FETP,"----AVAILABLE----",24,17,1); 01063 M01S01062.ssuse +++| RPLINE(OUT$FETP,"-----NUMBER CARTRIDGES FLAGGED----",43,34,1); 01064 M01S01063.ssuse +++| RPLINE(OUT$FETP,"-------------NUMBER AU FLAGGED",81,30,1); 01065 M01S01064.ssuse +++| RPLINE(OUT$FETP,"-------------",111,13,0); 01066 M01S01065.ssuse +++| RPLINE(OUT$FETP,"SUB SM GR",1,9,1); 01067 M01S01066.ssuse +++| RPLINE(OUT$FETP,"CUBE CART",12,10,1); 01068 M01S01067.ssuse +++| RPLINE(OUT$FETP,"AU AU",26,12,1); 01069 M01S01068.ssuse +++| RPLINE(OUT$FETP,"M I F L P E",46,31,1); 01070 M01S01069.ssuse +++| RPLINE(OUT$FETP,"FA FU",86,11,1); 01071 M01S01070.ssuse +++| RPLINE(OUT$FETP,"SF FC AC",104,20,0); 01072 M01S01071.ssuse +++| RPLINE(OUT$FETP,"(SMALL) (LARGE)",24,17,0); 01073 M01S01072.ssuse +++| RPSPACE(OUT$FETP,SP"SPACE",1); 01074 M01S01073.ssuse +++| RPLINE(OUT$FETP,"SM TOTALS FOR SPECIFIED SUBFAMILIES",1,35,0); 01075 M01S01074.ssuse +++| 01076 M01S01075.ssuse +++|# 01077 M01S01076.ssuse +++|* WRITE SM TOTALS TO REPORT FILE. 01078 M01S01077.ssuse +++|# 01079 M01S01078.ssuse +++| 01080 M01S01079.ssuse +++| SLOWFOR SM = 1 STEP 1 UNTIL MAXSM 01081 M01S01080.ssuse +++| DO 01082 M01S01081.ssuse +++| BEGIN # FOR EACH SM # 01083 M01S01082.ssuse +++| IF B<SM,1>SEL$SM EQ 0 01084 M01S01083.ssuse +++| THEN 01085 M01S01084.ssuse +++| BEGIN 01086 M01S01085.ssuse +++| TEST SM; 01087 M01S01086.ssuse +++| END 01088 M01S01087.ssuse +++| 01089 M01S01088.ssuse +++| TEMP$SM = SM; 01090 M01S01089.ssuse +++| 01091 M01S01090.ssuse +++|# 01092 M01S01091.ssuse +++|* CONVERT VALUES TO DISPLAY CODE AND PRINT THEM. 01093 M01S01092.ssuse +++|# 01094 M01S01093.ssuse +++| 01095 M01S01094.ssuse +++| RPSPACE(OUT$FETP,SP"SPACE",1); 01096 M01S01095.ssuse +++| RPLINE(OUT$FETP,"**",2,2,1); 01097 M01S01096.ssuse +++| RPLINE(OUT$FETP,TEMP$SM,5,1,1); 01098 M01S01097.ssuse +++| RPLINE(OUT$FETP,"**",8,2,1); 01099 M01S01098.ssuse +++| 01100 M01S01099.ssuse +++| CHAR$10[0] = XCDD(SM$LOC[SM]); 01101 M01S01100.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],12,4,1); 01102 M01S01101.ssuse +++| 01103 M01S01102.ssuse +++| CHAR$10[0] = XCDD(SM$RES[SM]); 01104 M01S01103.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],18,4,1); 01105 M01S01104.ssuse +++| 01106 M01S01105.ssuse +++| CHAR$10[0] = XCDD(SM$AUSF[SM]); 01107 M01S01106.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],24,7,1); 01108 M01S01107.ssuse +++| 01109 M01S01108.ssuse +++| CHAR$10[0] = XCDD(SM$AULF[SM]); 01110 M01S01109.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],34,7,1); 01111 M01S01110.ssuse +++| 01112 M01S01111.ssuse +++| CHAR$10[0] = XCDD(SM$LOST[SM]); 01113 M01S01112.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],43,4,1); 01114 M01S01113.ssuse +++| 01115 M01S01114.ssuse +++| CHAR$10[0] = XCDD(SM$INH[SM]); 01116 M01S01115.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],49,4,1); 01117 M01S01116.ssuse +++| 01118 M01S01117.ssuse +++| CHAR$10[0] = XCDD(SM$FRC[SM]); 01119 M01S01118.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],55,4,1); 01120 M01S01119.ssuse +++| 01121 M01S01120.ssuse +++| CHAR$10[0] = XCDD(SM$OCL[SM]); 01122 M01S01121.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],61,4,1); 01123 M01S01122.ssuse +++| 01124 M01S01123.ssuse +++| CHAR$10[0] = XCDD(SM$XPE[SM]); 01125 M01S01124.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],67,4,1); 01126 M01S01125.ssuse +++| 01127 M01S01126.ssuse +++| CHAR$10[0] = XCDD(SM$SE[SM]); 01128 M01S01127.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],73,4,1); 01129 M01S01128.ssuse +++| 01130 M01S01129.ssuse +++| CHAR$10[0] = XCDD(SM$FB[SM]); 01131 M01S01130.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],81,7,1); 01132 M01S01131.ssuse +++| 01133 M01S01132.ssuse +++| CHAR$10[0] = XCDD(SM$FA[SM]); 01134 M01S01133.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],90,7,1); 01135 M01S01134.ssuse +++| 01136 M01S01135.ssuse +++| CHAR$10[0] = XCDD(SM$SF[SM]); 01137 M01S01136.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],99,7,1); 01138 M01S01137.ssuse +++| 01139 M01S01138.ssuse +++| CHAR$10[0] = XCDD(SM$FC[SM]); 01140 M01S01139.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],108,7,1); 01141 M01S01140.ssuse +++| 01142 M01S01141.ssuse +++| CHAR$10[0] = XCDD(SM$AUC[SM]); 01143 M01S01142.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],117,7,0); 01144 M01S01143.ssuse +++| END # FOR EACH SM # 01145 M01S01144.ssuse +++| 01146 M01S01145.ssuse +++| RPSPACE(OUT$FETP,SP"SPACE",2); 01147 M01S01146.ssuse +++| RPLINE(OUT$FETP,"SUBFAMILY TOTALS FOR SPECIFIED SM-S",1,35,0); 01148 M01S01147.ssuse +++| 01149 M01S01148.ssuse +++|# 01150 M01S01149.ssuse +++|* WRITE SUBFAMILY TOTALS TO REPORT FILE. 01151 M01S01150.ssuse +++|# 01152 M01S01151.ssuse +++| 01153 M01S01152.ssuse +++| SLOWFOR SUBFAM = 0 STEP 1 UNTIL MAXSF 01154 M01S01153.ssuse +++| DO 01155 M01S01154.ssuse +++| BEGIN # FOR EACH SUBFAMILY # 01156 M01S01155.ssuse +++| IF B<SUBFAM,1>SEL$SB EQ 0 01157 M01S01156.ssuse +++| THEN 01158 M01S01157.ssuse +++| BEGIN 01159 M01S01158.ssuse +++| TEST SUBFAM; 01160 M01S01159.ssuse +++| END 01161 M01S01160.ssuse +++| 01162 M01S01161.ssuse +++|# 01163 M01S01162.ssuse +++|* CONVERT VALUES TO DISPLAY CODE AND PRINT THEM. 01164 M01S01163.ssuse +++|# 01165 M01S01164.ssuse +++| 01166 M01S01165.ssuse +++| RPSPACE(OUT$FETP,SP"SPACE",1); 01167 M01S01166.ssuse +++| CHAR$10[0] = XCDD(SUBFAM); 01168 M01S01167.ssuse +++| RPLINE(OUT$FETP,CHAR$R1[0],2,1,1); 01169 M01S01168.ssuse +++| RPLINE(OUT$FETP,"**",5,2,1); 01170 M01S01169.ssuse +++| RPLINE(OUT$FETP,"**",8,2,1); 01171 M01S01170.ssuse +++| 01172 M01S01171.ssuse +++| CHAR$10[0] = XCDD(SF$LOC[SUBFAM]); 01173 M01S01172.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],12,4,1); 01174 M01S01173.ssuse +++| 01175 M01S01174.ssuse +++| CHAR$10[0] = XCDD(SF$RES[SUBFAM]); 01176 M01S01175.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],18,4,1); 01177 M01S01176.ssuse +++| 01178 M01S01177.ssuse +++| CHAR$10[0] = XCDD(SF$AUSF[SUBFAM]); 01179 M01S01178.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],24,7,1); 01180 M01S01179.ssuse +++| 01181 M01S01180.ssuse +++| CHAR$10[0] = XCDD(SF$AULF[SUBFAM]); 01182 M01S01181.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],34,7,1); 01183 M01S01182.ssuse +++| 01184 M01S01183.ssuse +++| CHAR$10[0] = XCDD(SF$LOST[SUBFAM]); 01185 M01S01184.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],43,4,1); 01186 M01S01185.ssuse +++| 01187 M01S01186.ssuse +++| CHAR$10[0] = XCDD(SF$INH[SUBFAM]); 01188 M01S01187.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],49,4,1); 01189 M01S01188.ssuse +++| 01190 M01S01189.ssuse +++| CHAR$10[0] = XCDD(SF$FRC[SUBFAM]); 01191 M01S01190.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],55,4,1); 01192 M01S01191.ssuse +++| 01193 M01S01192.ssuse +++| CHAR$10[0] = XCDD(SF$OCL[SUBFAM]); 01194 M01S01193.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],61,4,1); 01195 M01S01194.ssuse +++| 01196 M01S01195.ssuse +++| CHAR$10[0] = XCDD(SF$XPE[SUBFAM]); 01197 M01S01196.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],67,4,1); 01198 M01S01197.ssuse +++| 01199 M01S01198.ssuse +++| CHAR$10[0] = XCDD(SF$SE[SUBFAM]); 01200 M01S01199.ssuse +++| RPLINE(OUT$FETP,CHAR$R4[0],73,4,1); 01201 M01S01200.ssuse +++| 01202 M01S01201.ssuse +++| CHAR$10[0] = XCDD(SF$FB[SUBFAM]); 01203 M01S01202.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],81,7,1); 01204 M01S01203.ssuse +++| 01205 M01S01204.ssuse +++| CHAR$10[0] = XCDD(SF$FA[SUBFAM]); 01206 M01S01205.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],90,7,1); 01207 M01S01206.ssuse +++| 01208 M01S01207.ssuse +++| CHAR$10[0] = XCDD(SF$SF[SUBFAM]); 01209 M01S01208.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],99,7,1); 01210 M01S01209.ssuse +++| 01211 M01S01210.ssuse +++| CHAR$10[0] = XCDD(SF$FC[SUBFAM]); 01212 M01S01211.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],108,7,1); 01213 M01S01212.ssuse +++| 01214 M01S01213.ssuse +++| CHAR$10[0] = XCDD(SF$AUC[SUBFAM]); 01215 M01S01214.ssuse +++| RPLINE(OUT$FETP,CHAR$R7[0],117,7,0); 01216 M01S01215.ssuse +++| END # FOR EACH SUBFAMILY # 01217 M01S01216.ssuse +++| 01218 M01S01217.ssuse +++| RETURN; 01219 M01S01218.ssuse +++| 01220 M01S01219.ssuse +++| END # USBASTOT # 01221 M01S01220.ssuse +++| 01222 M01S01221.ssuse +++| TERM 01223 M01S01222.ssuse +++|PROC USHEAD((FETP)); 01224 M01S01223.ssuse +++|# TITLE USHEAD - WRITES HEADER ON OUTPUT FILE. # 01225 M01S01224.ssuse +++| 01226 M01S01225.ssuse +++| BEGIN # USHEAD # 01227 M01S01226.ssuse +++| 01228 M01S01227.ssuse +++|# 01229 M01S01228.ssuse +++|** USHEAD - WRITES HEADER LINE ON OUTPUT FILE. 01230 M01S01229.ssuse +++|* 01231 M01S01230.ssuse +++|* PROC USHEAD((FETP)). 01232 M01S01231.ssuse +++|* 01233 M01S01232.ssuse +++|* ENTRY (FETP) = AN ITEM CONTAINING THE FWA OF THE FET. 01234 M01S01233.ssuse +++|* 01235 M01S01234.ssuse +++|* EXIT HEADER IS WRITTEN ON THE OUTPUT FILE. 01236 M01S01235.ssuse +++|* 01237 M01S01236.ssuse +++|* NOTES THE REPORT FORMATTER IS USED TO 01238 M01S01237.ssuse +++|* PRINT THE HEADER LINES. 01239 M01S01238.ssuse +++|# 01240 M01S01239.ssuse +++| 01241 M01S01240.ssuse +++| ITEM FETP I; # FWA OF THE FET # 01242 M01S01241.ssuse +++| 01243 M01S01242.ssuse +++|# 01244 M01S01243.ssuse +++|**** PROC USHEAD - XREF LIST BEGIN. 01245 M01S01244.ssuse +++|# 01246 M01S01245.ssuse +++| 01247 M01S01246.ssuse +++| XREF 01248 M01S01247.ssuse +++| BEGIN 01249 M01S01248.ssuse +++| PROC RPLINEX; # PRINTS A REPORT LINE # 01250 M01S01249.ssuse +++| END 01251 M01S01250.ssuse +++| 01252 M01S01251.ssuse +++|# 01253 M01S01252.ssuse +++|**** PROC USHEAD - XREF LIST END. 01254 M01S01253.ssuse +++|# 01255 M01S01254.ssuse +++| 01256 M01S01255.ssuse +++| DEF LISTCON #0#; # DO NOT LIST COMDECKS # 01257 M01S01256.ssuse +++|*CALL COMBFAS 01258 M01S01257.ssuse +++| 01259 M01S01258.ssuse +++| CONTROL EJECT; 01260 M01S01259.ssuse +++| 01261 M01S01260.ssuse +++|# 01262 M01S01261.ssuse +++|* PRINT THE HEADER LINE. 01263 M01S01262.ssuse +++|# 01264 M01S01263.ssuse +++| 01265 M01S01264.ssuse +++| RPLINEX(FETP,"SSUSE REPORT FILE",2,17,0); 01266 M01S01265.ssuse +++| RPLINEX(FETP," ",1,1,0); # WRITE A BLANK LINE # 01267 M01S01266.ssuse +++| RETURN; 01268 M01S01267.ssuse +++| 01269 M01S01268.ssuse +++| END # USHEAD # 01270 M01S01269.ssuse +++| 01271 M01S01270.ssuse +++| TERM 01272 M01S01271.ssuse +++|PROC USOPT; 01273 M01S01272.ssuse +++|# TITLE USOPT - CONVERTS PARAMETERS AND CHECKS FOR VALID OPTIONS. # 01274 M01S01273.ssuse +++| 01275 M01S01274.ssuse +++| BEGIN # USOPT # 01276 M01S01275.ssuse +++| 01277 M01S01276.ssuse +++|# 01278 M01S01277.ssuse +++|** USOPT - CONVERTS AND CHECKS PARAMETERS FOR ALL VALID OPTIONS. 01279 M01S01278.ssuse +++|* 01280 M01S01279.ssuse +++|* THIS PROC CHECKS PARAMETERS FOR LEGALITY. IF INVALID OPTIONS ARE 01281 M01S01280.ssuse +++|* FOUND IT ISSUES A DAYFILE MESSAGE AND THEN ABORTS. 01282 M01S01281.ssuse +++|* 01283 M01S01282.ssuse +++|* ENTRY PARAMETERS PROCESSED AND SET UP IN *TUSPCOM*. 01284 M01S01283.ssuse +++|* 01285 M01S01284.ssuse +++|* EXIT ALL OPTIONS HAVE BEEN VALIDATED, OR IF VALID 01286 M01S01285.ssuse +++|* OPTIONS HAVE BEEN MISUSED, THE PROC ISSUES A 01287 M01S01286.ssuse +++|* DAYFILE MESSAGE AND THEN ABORTS. 01288 M01S01287.ssuse +++|* 01289 M01S01288.ssuse +++|* MESSAGES 1) INCORRECT SM. 01290 M01S01289.ssuse +++|* 2) INCORRECT SUBFAMILY. 01291 M01S01290.ssuse +++|* 3) INCORRECT REPORT OPTION. 01292 M01S01291.ssuse +++|* 4) DUPLICATE SM. 01293 M01S01292.ssuse +++|* 5) DUPLICATE SUBFAMILY. 01294 M01S01293.ssuse +++|* 6) DUPLICATE OPTION. 01295 M01S01294.ssuse +++|* 7) CN NOT SPECIFIED. 01296 M01S01295.ssuse +++|* 01297 M01S01296.ssuse +++|* NOTES ALL PARAMETER OPTIONS ARE TESTED FOR INVALID OPTIONS. 01298 M01S01297.ssuse +++|* THE VALID OPTIONS ON *SSUSE* CALLS ARE 01299 M01S01298.ssuse +++|* 1. *OP* MUST EITHER CONTAIN ANY COMBINATION OF THE 01300 M01S01299.ssuse +++|* VALID CHARACTERS A, B, C, OR D, OR IT CAN BE 01301 M01S01300.ssuse +++|* OMITTED. 01302 M01S01301.ssuse +++|* 2. *SM* MUST BE A VALID SM NAME OR A VALID 01303 M01S01302.ssuse +++|* COMBINATION OF VALID SM NAMES, OR IT CAN BE 01304 M01S01303.ssuse +++|* OMITTED. 01305 M01S01304.ssuse +++|* 3. *SB* MUST BE FROM 0 TO 7 OR A VALID COMBINATION 01306 M01S01305.ssuse +++|* OF LEGAL SUBFAMILY NUMBERS, OR IT CAN BE OMITTED 01307 M01S01306.ssuse +++|* 4. *CN* MUST BE SPECIFIED IF REPORT D IS SELECTED. 01308 M01S01307.ssuse +++|* ANY VIOLATION OF THE VALID OPTIONS CAUSES A MESSAGE 01309 M01S01308.ssuse +++|* TO BE PRINTED IN THE DAYFILE AND CAUSES PROC 01310 M01S01309.ssuse +++|* *USOPT* TO ABORT. 01311 M01S01310.ssuse +++|# 01312 M01S01311.ssuse +++| 01313 M01S01312.ssuse +++|# 01314 M01S01313.ssuse +++|**** PROC USOPT - XREF LIST BEGIN. 01315 M01S01314.ssuse +++|# 01316 M01S01315.ssuse +++| 01317 M01S01316.ssuse +++| XREF 01318 M01S01317.ssuse +++| BEGIN 01319 M01S01318.ssuse +++| PROC BZFILL; # BLANK FILLS CHARACTERS # 01320 M01S01319.ssuse +++| PROC MESSAGE; # DISPLAYS MESSAGE IN DAYFILE # 01321 M01S01320.ssuse +++| PROC RESTPFP; # RESTORE USER-S *PFP* AND ABORT 01322 M01S01321.ssuse +++| OR RETURN # 01323 M01S01322.ssuse +++| END 01324 M01S01323.ssuse +++| 01325 M01S01324.ssuse +++|# 01326 M01S01325.ssuse +++|**** PROC USOPT - XREF LIST END. 01327 M01S01326.ssuse +++|# 01328 M01S01327.ssuse +++| 01329 M01S01328.ssuse +++| DEF LISTCON #0#; # DO NOT LIST COMDECKS # 01330 M01S01329.ssuse +++|*CALL COMBFAS 01331 M01S01330.ssuse +++|*CALL,COMBBZF 01332 M01S01331.ssuse +++|*CALL COMBMCT 01333 M01S01332.ssuse +++|*CALL COMXMSC 01334 M01S01333.ssuse +++|*CALL COMTUSE 01335 M01S01334.ssuse +++|*CALL COMTUSP 01336 M01S01335.ssuse +++| 01337 M01S01336.ssuse +++| ITEM I I; # LOOP VARIABLE # 01338 M01S01337.ssuse +++| ITEM MORE B; # MORE SM-ID/SUBFAMILY INDICATOR # 01339 M01S01338.ssuse +++| ITEM SMARG C(10); # SM ARGUMENTS # 01340 M01S01339.ssuse +++| ITEM TEMPC C(1); # TEMPORARY CHARACTER # 01341 M01S01340.ssuse +++| 01342 M01S01341.ssuse +++| CONTROL EJECT; 01343 M01S01342.ssuse +++| 01344 M01S01343.ssuse +++|# 01345 M01S01344.ssuse +++|* CHECK ALL SPECIFIED VALUES OF *SM*. 01346 M01S01345.ssuse +++|# 01347 M01S01346.ssuse +++| 01348 M01S01347.ssuse +++| MORE = TRUE; 01349 M01S01348.ssuse +++| SMARG = USARG$SM[0]; 01350 M01S01349.ssuse +++| BZFILL(SMARG,TYPFILL"BFILL",10); 01351 M01S01350.ssuse +++| SLOWFOR I = 0 STEP 1 WHILE I LS MAXSM AND MORE 01352 M01S01351.ssuse +++| DO 01353 M01S01352.ssuse +++| BEGIN # CHECK SPECIFIED SM-ID-S # 01354 M01S01353.ssuse +++| TEMPC = C<I,1>SMARG; 01355 M01S01354.ssuse +++| IF TEMPC EQ " " 01356 M01S01355.ssuse +++| THEN # NO MORE SM-ID-S # 01357 M01S01356.ssuse +++| BEGIN 01358 M01S01357.ssuse +++| MORE = FALSE; 01359 M01S01358.ssuse +++| TEST I; 01360 M01S01359.ssuse +++| END 01361 M01S01360.ssuse +++| 01362 M01S01361.ssuse +++| IF TEMPC GR "H" OR TEMPC LS "A" 01363 M01S01362.ssuse +++| THEN # INCORRECT SM # 01364 M01S01363.ssuse +++| BEGIN 01365 M01S01364.ssuse +++| SSMSG$LINE[0] = " INCORRECT SM."; 01366 M01S01365.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 01367 M01S01366.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 01368 M01S01367.ssuse +++| END 01369 M01S01368.ssuse +++| 01370 M01S01369.ssuse +++| IF B<TEMPC,1>SEL$SM EQ 1 01371 M01S01370.ssuse +++| THEN # DUPLICATE SM # 01372 M01S01371.ssuse +++| BEGIN 01373 M01S01372.ssuse +++| SSMSG$LINE[0] = " DUPLICATE SM."; 01374 M01S01373.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 01375 M01S01374.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 01376 M01S01375.ssuse +++| END 01377 M01S01376.ssuse +++| 01378 M01S01377.ssuse +++| B<TEMPC,1>SEL$SM = 1; # TURN SM BIT ON # 01379 M01S01378.ssuse +++| END # CHECK SPECIFIED SM-ID-S # 01380 M01S01379.ssuse +++| 01381 M01S01380.ssuse +++|# 01382 M01S01381.ssuse +++|* CHECK ALL SPECIFIED VALUES OF *SB*. 01383 M01S01382.ssuse +++|# 01384 M01S01383.ssuse +++| 01385 M01S01384.ssuse +++| MORE = TRUE; 01386 M01S01385.ssuse +++| SLOWFOR I = 0 STEP 1 WHILE I LQ MAXSF AND MORE 01387 M01S01386.ssuse +++| DO 01388 M01S01387.ssuse +++| BEGIN # CHECK SPECIFIED SUBFAMILIES # 01389 M01S01388.ssuse +++| TEMPC = C<I,1>USARG$SB[0]; 01390 M01S01389.ssuse +++| IF TEMPC EQ 0 01391 M01S01390.ssuse +++| THEN # NO MORE SUBFAMILIES # 01392 M01S01391.ssuse +++| BEGIN 01393 M01S01392.ssuse +++| MORE = FALSE; 01394 M01S01393.ssuse +++| TEST I; 01395 M01S01394.ssuse +++| END 01396 M01S01395.ssuse +++| 01397 M01S01396.ssuse +++| IF TEMPC LS "0" OR TEMPC GR "7" 01398 M01S01397.ssuse +++| THEN # INCORRECT SUBFAMILY # 01399 M01S01398.ssuse +++| BEGIN 01400 M01S01399.ssuse +++| SSMSG$LINE[0] = " INCORRECT SUBFAMILY."; 01401 M01S01400.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 01402 M01S01401.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 01403 M01S01402.ssuse +++| END 01404 M01S01403.ssuse +++| 01405 M01S01404.ssuse +++| IF B<TEMPC - "0",1>SEL$SB EQ 1 01406 M01S01405.ssuse +++| THEN # DUPLICATE SUBFAMILY # 01407 M01S01406.ssuse +++| BEGIN 01408 M01S01407.ssuse +++| SSMSG$LINE[0] = " DUPLICATE SUBFAMILY."; 01409 M01S01408.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 01410 M01S01409.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 01411 M01S01410.ssuse +++| END 01412 M01S01411.ssuse +++| 01413 M01S01412.ssuse +++| B<TEMPC - "0",1>SEL$SB = 1; # TURN SUBFAMILY BIT ON # 01414 M01S01413.ssuse +++| END # CHECK SPECIFIED SUBFAMILIES # 01415 M01S01414.ssuse +++| 01416 M01S01415.ssuse +++|# 01417 M01S01416.ssuse +++|* CHECK THE VALUES OF *OP*. 01418 M01S01417.ssuse +++|# 01419 M01S01418.ssuse +++| 01420 M01S01419.ssuse +++| REPORT$A = FALSE; 01421 M01S01420.ssuse +++| REPORT$B = FALSE; 01422 M01S01421.ssuse +++| REPORT$C = FALSE; 01423 M01S01422.ssuse +++| REPORT$D = FALSE; 01424 M01S01423.ssuse +++| 01425 M01S01424.ssuse +++| SLOWFOR I = 0 STEP 1 UNTIL 9 01426 M01S01425.ssuse +++| DO 01427 M01S01426.ssuse +++| BEGIN # CHECK ALL VALUES OF *OP* # 01428 M01S01427.ssuse +++| TEMPC = C<I,1>USARG$OP[0]; 01429 M01S01428.ssuse +++| IF TEMPC NQ 0 01430 M01S01429.ssuse +++| THEN 01431 M01S01430.ssuse +++| BEGIN # CHECK SPECIFIED *OP* # 01432 M01S01431.ssuse +++| IF TEMPC GR "D" OR TEMPC LS "A" 01433 M01S01432.ssuse +++| THEN 01434 M01S01433.ssuse +++| BEGIN 01435 M01S01434.ssuse +++| SSMSG$LINE[0] = " INCORRECT REPORT OPTION."; 01436 M01S01435.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 01437 M01S01436.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 01438 M01S01437.ssuse +++| END 01439 M01S01438.ssuse +++| 01440 M01S01439.ssuse +++| ELSE 01441 M01S01440.ssuse +++| BEGIN # SET APPROPRIATE FLAG # 01442 M01S01441.ssuse +++| IF TEMPC EQ "A" 01443 M01S01442.ssuse +++| THEN # REPORT A SELECTED # 01444 M01S01443.ssuse +++| BEGIN 01445 M01S01444.ssuse +++| IF NOT REPORT$A 01446 M01S01445.ssuse +++| THEN # UNIQUE OPTION # 01447 M01S01446.ssuse +++| BEGIN 01448 M01S01447.ssuse +++| REPORT$A = TRUE; 01449 M01S01448.ssuse +++| TEST I; 01450 M01S01449.ssuse +++| END 01451 M01S01450.ssuse +++| 01452 M01S01451.ssuse +++| ELSE # DUPLICATE OPTION # 01453 M01S01452.ssuse +++| BEGIN 01454 M01S01453.ssuse +++| SSMSG$LINE[0] = " DUPLICATE OPTION."; 01455 M01S01454.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 01456 M01S01455.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 01457 M01S01456.ssuse +++| END 01458 M01S01457.ssuse +++| 01459 M01S01458.ssuse +++| END 01460 M01S01459.ssuse +++| 01461 M01S01460.ssuse +++| IF TEMPC EQ "B" 01462 M01S01461.ssuse +++| THEN # REPORT B SELECTED # 01463 M01S01462.ssuse +++| BEGIN 01464 M01S01463.ssuse +++| IF NOT REPORT$B 01465 M01S01464.ssuse +++| THEN # UNIQUE OPTION # 01466 M01S01465.ssuse +++| BEGIN 01467 M01S01466.ssuse +++| REPORT$B = TRUE; 01468 M01S01467.ssuse +++| TEST I; 01469 M01S01468.ssuse +++| END 01470 M01S01469.ssuse +++| 01471 M01S01470.ssuse +++| ELSE # DUPLICATE OPTION # 01472 M01S01471.ssuse +++| BEGIN 01473 M01S01472.ssuse +++| SSMSG$LINE[0] = " DUPLICATE OPTION."; 01474 M01S01473.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 01475 M01S01474.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 01476 M01S01475.ssuse +++| END 01477 M01S01476.ssuse +++| 01478 M01S01477.ssuse +++| END 01479 M01S01478.ssuse +++| 01480 M01S01479.ssuse +++| IF TEMPC EQ "C" 01481 M01S01480.ssuse +++| THEN # REPORT C SELECTED # 01482 M01S01481.ssuse +++| BEGIN 01483 M01S01482.ssuse +++| IF NOT REPORT$C 01484 M01S01483.ssuse +++| THEN # UNIQUE OPTION # 01485 M01S01484.ssuse +++| BEGIN 01486 M01S01485.ssuse +++| REPORT$C = TRUE; 01487 M01S01486.ssuse +++| TEST I; 01488 M01S01487.ssuse +++| END 01489 M01S01488.ssuse +++| 01490 M01S01489.ssuse +++| ELSE # DUPLICATE OPTION # 01491 M01S01490.ssuse +++| BEGIN 01492 M01S01491.ssuse +++| SSMSG$LINE[0] = " DUPLICATE OPTION."; 01493 M01S01492.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 01494 M01S01493.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 01495 M01S01494.ssuse +++| END 01496 M01S01495.ssuse +++| 01497 M01S01496.ssuse +++| END 01498 M01S01497.ssuse +++| 01499 M01S01498.ssuse +++| IF TEMPC EQ "D" 01500 M01S01499.ssuse +++| THEN # REPORT D SELECTED # 01501 M01S01500.ssuse +++| BEGIN 01502 M01S01501.ssuse +++| IF NOT REPORT$D 01503 M01S01502.ssuse +++| THEN # UNIQUE OPTION # 01504 M01S01503.ssuse +++| BEGIN 01505 M01S01504.ssuse +++| REPORT$D = TRUE; 01506 M01S01505.ssuse +++| TEST I; 01507 M01S01506.ssuse +++| END 01508 M01S01507.ssuse +++| 01509 M01S01508.ssuse +++| ELSE # DUPLICATE OPTION # 01510 M01S01509.ssuse +++| BEGIN 01511 M01S01510.ssuse +++| SSMSG$LINE[0] = " DUPLICATE OPTION."; 01512 M01S01511.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 01513 M01S01512.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 01514 M01S01513.ssuse +++| END 01515 M01S01514.ssuse +++| 01516 M01S01515.ssuse +++| END 01517 M01S01516.ssuse +++| 01518 M01S01517.ssuse +++| END # SET APPROPRIATE FLAG # 01519 M01S01518.ssuse +++| 01520 M01S01519.ssuse +++| END # CHECK SPECIFIED *OP* # 01521 M01S01520.ssuse +++| 01522 M01S01521.ssuse +++| END # CHECK ALL VALUES OF *OP* # 01523 M01S01522.ssuse +++| 01524 M01S01523.ssuse +++|# 01525 M01S01524.ssuse +++|* CHECK THAT *CN* IS SPECIFIED IF REPORT D IS SELECTED. 01526 M01S01525.ssuse +++|# 01527 M01S01526.ssuse +++| 01528 M01S01527.ssuse +++| IF REPORT$D 01529 M01S01528.ssuse +++| THEN 01530 M01S01529.ssuse +++| BEGIN # CHECK *CN* # 01531 M01S01530.ssuse +++| IF USARG$CN[0] EQ 0 01532 M01S01531.ssuse +++| THEN 01533 M01S01532.ssuse +++| BEGIN 01534 M01S01533.ssuse +++| SSMSG$LINE[0] = " CN NOT SPECIFIED."; 01535 M01S01534.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 01536 M01S01535.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 01537 M01S01536.ssuse +++| END 01538 M01S01537.ssuse +++| 01539 M01S01538.ssuse +++| END # CHECK *CN* # 01540 M01S01539.ssuse +++| 01541 M01S01540.ssuse +++| IF USARG$CM[0] NQ 0 01542 M01S01541.ssuse +++| THEN 01543 M01S01542.ssuse +++| BEGIN 01544 M01S01543.ssuse +++| C<1,1>USARG$CM[0] = "-"; 01545 M01S01544.ssuse +++| END 01546 M01S01545.ssuse +++| 01547 M01S01546.ssuse +++| RETURN; 01548 M01S01547.ssuse +++| 01549 M01S01548.ssuse +++| END # USOPT # 01550 M01S01549.ssuse +++| 01551 M01S01550.ssuse +++| TERM 01552 M01S01551.ssuse +++|PROC USRPBAS; 01553 M01S01552.ssuse +++|# TITLE USRPBAS - GENERATES BASIC AND SPECIFIED OPTIONAL REPORTS. # 01554 M01S01553.ssuse +++| 01555 M01S01554.ssuse +++| BEGIN # USRPBAS # 01556 M01S01555.ssuse +++| 01557 M01S01556.ssuse +++|# 01558 M01S01557.ssuse +++|** USRPBAS - GENERATES BASIC AND SPECIFIED OPTIONAL REPORTS. 01559 M01S01558.ssuse +++|* 01560 M01S01559.ssuse +++|* THIS PROCEDURE GENERATES THE BASIC REPORT AND ANY OPTIONAL 01561 M01S01560.ssuse +++|* REPORTS SELECTED FOR ALL THE SM-S AND SUBFAMILIES SPECIFIED. 01562 M01S01561.ssuse +++|* 01563 M01S01562.ssuse +++|* PROC USRPBAS. 01564 M01S01563.ssuse +++|* 01565 M01S01564.ssuse +++|* ENTRY PROCESSED AND SYNTAX-CHECKED PARAMETERS SET UP IN 01566 M01S01565.ssuse +++|* *TUSPCOM*. 01567 M01S01566.ssuse +++|* (USARG$FM) = FAMILY NAME. 01568 M01S01567.ssuse +++|* (SEL$SM) = BITS SET FOR THE SELECTED SM-S. 01569 M01S01568.ssuse +++|* (SEL$SB) = BITS SET FOR THE SELECTED SUBFAMILIES. 01570 M01S01569.ssuse +++|* (REPORT$A) = OPTIONAL REPORT SELECTION CODE, 01571 M01S01570.ssuse +++|* TRUE, REPORT A SELECTED, 01572 M01S01571.ssuse +++|* FALSE, REPORT A NOT SELECTED. 01573 M01S01572.ssuse +++|* (REPORT$B) = OPTIONAL REPORT SELECTION CODE, 01574 M01S01573.ssuse +++|* TRUE, REPORT B SELECTED, 01575 M01S01574.ssuse +++|* FALSE, REPORT B NOT SELECTED. 01576 M01S01575.ssuse +++|* (REPORT$C) = OPTIONAL REPORT SELECTION CODE, 01577 M01S01576.ssuse +++|* TRUE, REPORT C SELECTED, 01578 M01S01577.ssuse +++|* FALSE, REPORT C NOT SELECTED. 01579 M01S01578.ssuse +++|* (REPORT$D) = OPTIONAL REPORT SELECTION CODE, 01580 M01S01579.ssuse +++|* TRUE, REPORT D SELECTED, 01581 M01S01580.ssuse +++|* FALSE, REPORT D NOT SELECTED. 01582 M01S01581.ssuse +++|* 01583 M01S01582.ssuse +++|* EXIT ALL SPECIFIED REPORTS HAVE BEEN GENERATED. 01584 M01S01583.ssuse +++|* 01585 M01S01584.ssuse +++|* MESSAGES 1) FAMILY NOT FOUND. 01586 M01S01585.ssuse +++|* 2) UNABLE TO OPEN CATALOG. 01587 M01S01586.ssuse +++|* 3) SSUSE ABNORMAL, USRPBAS. 01588 M01S01587.ssuse +++|* 4) SFM CATALOG PARITY ERROR. 01589 M01S01588.ssuse +++|* 01590 M01S01589.ssuse +++|* NOTES *USRPBAS* GENERATES THE BASIC REPORT FOR ALL SM-S 01591 M01S01590.ssuse +++|* SPECIFIED FOR ALL OF THE SUBFAMILIES SPECIFIED IN 01592 M01S01591.ssuse +++|* THE BITS OF *SEL$SB*. IF ANY OPTIONAL REPORTS 01593 M01S01592.ssuse +++|* ARE DESIRED, *USRPBAS* CALLS THE APPROPRIATE ROUTINES 01594 M01S01593.ssuse +++|* TO GENERATE THOSE REPORTS. 01595 M01S01594.ssuse +++|# 01596 M01S01595.ssuse +++| 01597 M01S01596.ssuse +++|# 01598 M01S01597.ssuse +++|**** PROC USRPBAS - XREF LIST BEGIN. 01599 M01S01598.ssuse +++|# 01600 M01S01599.ssuse +++| 01601 M01S01600.ssuse +++| XREF 01602 M01S01601.ssuse +++| BEGIN 01603 M01S01602.ssuse +++| PROC BZFILL; # BLANK FILLS CHARACTERS # 01604 M01S01603.ssuse +++| PROC CCLOSE; # CLOSES THE CATALOG # 01605 M01S01604.ssuse +++| PROC COPEN; # OPENS THE CATALOG # 01606 M01S01605.ssuse +++| PROC LOFPROC; # LIST OF FILES PROCESSOR # 01607 M01S01606.ssuse +++| PROC MESSAGE; # DISPLAYS MESSAGE IN DAYFILE # 01608 M01S01607.ssuse +++| PROC RESTPFP; # RESTORE USER-S *PFP* AND ABORT 01609 M01S01608.ssuse +++| OR RETURN # 01610 M01S01609.ssuse +++| PROC RPCLOSE; # CLOSES THE REPORT FILE # 01611 M01S01610.ssuse +++| PROC RPEJECT; # PAGE EJECTS THE REPORT FILE # 01612 M01S01611.ssuse +++| PROC RPLINE; # WRITES LINE TO REPORT FILE # 01613 M01S01612.ssuse +++| PROC RPOPEN; # OPENS THE REPORT FILE # 01614 M01S01613.ssuse +++| PROC RPSPACE; # PUTS BLANK LINE ON REPORT FILE # 01615 M01S01614.ssuse +++| PROC SETPFP; # SET FAMILY AND USER INDEX # 01616 M01S01615.ssuse +++| PROC USANALS; # ANALYZE *FCT* ENTRIES FOR A SM # 01617 M01S01616.ssuse +++| PROC USBASLN; # PRINTS LINE ON BASIC REPORT # 01618 M01S01617.ssuse +++| PROC USBASTOT; # PRINTS TOTAL ON BASIC REPORT # 01619 M01S01618.ssuse +++| PROC USHEAD; # WRITES HEADER ON OUTPUT FILE # 01620 M01S01619.ssuse +++| PROC USRPTA; # GENERATES OPTIONAL REPORT A # 01621 M01S01620.ssuse +++| PROC USRPTB; # GENERATES OPTIONAL REPORT B # 01622 M01S01621.ssuse +++| PROC USRPTC; # GENERATES OPTIONAL REPORT C # 01623 M01S01622.ssuse +++| PROC USRPTD; # GENERATES OPTIONAL REPORT D # 01624 M01S01623.ssuse +++| PROC ZFILL; # ZERO FILL ARRAY # 01625 M01S01624.ssuse +++| FUNC XCDD C(10); # CONVERTS INTEGERS TO DISPLAY # 01626 M01S01625.ssuse +++| END 01627 M01S01626.ssuse +++| 01628 M01S01627.ssuse +++|# 01629 M01S01628.ssuse +++|**** PROC USRPBAS - XREF LIST END. 01630 M01S01629.ssuse +++|# 01631 M01S01630.ssuse +++| 01632 M01S01631.ssuse +++| DEF PROCNAME #"USRPBAS."#; # PROC NAME # 01633 M01S01632.ssuse +++| DEF LISTCON #0#; # DO NOT LIST COMDECKS # 01634 M01S01633.ssuse +++|*CALL COMBFAS 01635 M01S01634.ssuse +++|*CALL COMBBZF 01636 M01S01635.ssuse +++|*CALL COMBCMD 01637 M01S01636.ssuse +++|*CALL COMBCMS 01638 M01S01637.ssuse +++|*CALL COMBMCT 01639 M01S01638.ssuse +++|*CALL COMBPFP 01640 M01S01639.ssuse +++|*CALL COMXMSC 01641 M01S01640.ssuse +++|*CALL COMSPFM 01642 M01S01641.ssuse +++|*CALL COMTOUT 01643 M01S01642.ssuse +++|*CALL COMTUSE 01644 M01S01643.ssuse +++|*CALL COMTUSP 01645 M01S01644.ssuse +++| 01646 M01S01645.ssuse +++| ITEM EJEC$FLAG B; # FLAG TO TEST FOR EJECT # 01647 M01S01646.ssuse +++| ITEM FLAG I; # ERROR FLAG # 01648 M01S01647.ssuse +++| ITEM GROUP I; # LOOP VARIABLE # 01649 M01S01648.ssuse +++| ITEM SM I; # LOOP VARIABLE # 01650 M01S01649.ssuse +++| ITEM SUBFAM I; # LOOP VARIABLE # 01651 M01S01650.ssuse +++| ITEM TEMP$FAM C(7); # HOLDS FAMILY NAME # 01652 M01S01651.ssuse +++| ITEM TEMP$SM C(1); # SM CHARACTER # 01653 M01S01652.ssuse +++| 01654 M01S01653.ssuse +++| ARRAY OUT$FET [0:0] S(SFETL);; # FET FOR OUTPUT FILE # 01655 M01S01654.ssuse +++| 01656 M01S01655.ssuse +++| CONTROL EJECT; 01657 M01S01656.ssuse +++| 01658 M01S01657.ssuse +++|# 01659 M01S01658.ssuse +++|* SET THE FET POINTER FOR THE OUTPUT FILE. 01660 M01S01659.ssuse +++|# 01661 M01S01660.ssuse +++| 01662 M01S01661.ssuse +++| IF USARG$LZ[0] EQ 0 01663 M01S01662.ssuse +++| THEN # NO OUTPUT FILE # 01664 M01S01663.ssuse +++| BEGIN 01665 M01S01664.ssuse +++| OUT$FETP = 0; 01666 M01S01665.ssuse +++| END 01667 M01S01666.ssuse +++| 01668 M01S01667.ssuse +++| ELSE # SET UP THE FWA OF THE FET # 01669 M01S01668.ssuse +++| BEGIN 01670 M01S01669.ssuse +++| OUT$FETP = LOC(OUT$FET[0]); 01671 M01S01670.ssuse +++| END 01672 M01S01671.ssuse +++| 01673 M01S01672.ssuse +++|# 01674 M01S01673.ssuse +++|* OPEN THE OUTPUT FILE. 01675 M01S01674.ssuse +++|# 01676 M01S01675.ssuse +++| 01677 M01S01676.ssuse +++| RPOPEN(USARG$L[0],OUT$FETP,USHEAD); 01678 M01S01677.ssuse +++| 01679 M01S01678.ssuse +++|# 01680 M01S01679.ssuse +++|* CHANGE ZERO-FILL TO SPACE-FILL FOR FAMILY. 01681 M01S01680.ssuse +++|# 01682 M01S01681.ssuse +++| 01683 M01S01682.ssuse +++| TEMP$FAM = USARG$FM[0]; 01684 M01S01683.ssuse +++| BZFILL(TEMP$FAM,TYPFILL"BFILL",7); 01685 M01S01684.ssuse +++| 01686 M01S01685.ssuse +++|# 01687 M01S01686.ssuse +++|* GENERATE THE BASIC REPORT ON EACH SUBFAMILY SPECIFIED. 01688 M01S01687.ssuse +++|# 01689 M01S01688.ssuse +++| 01690 M01S01689.ssuse +++| EJEC$FLAG = FALSE; # DO NOT EJECT ON FIRST PAGE # 01691 M01S01690.ssuse +++| SLOWFOR SUBFAM = 0 STEP 1 UNTIL MAXSF 01692 M01S01691.ssuse +++| DO 01693 M01S01692.ssuse +++| BEGIN # PROCESS EACH SUBFAMILY # 01694 M01S01693.ssuse +++| IF B<SUBFAM,1>SEL$SB EQ 0 01695 M01S01694.ssuse +++| THEN # SUBFAMILY NOT SELECTED # 01696 M01S01695.ssuse +++| BEGIN 01697 M01S01696.ssuse +++| TEST SUBFAM; 01698 M01S01697.ssuse +++| END 01699 M01S01698.ssuse +++| 01700 M01S01699.ssuse +++|# 01701 M01S01700.ssuse +++|* SWITCH TO THE SPECIFIED FAMILY AND USER INDEX FOR 01702 M01S01701.ssuse +++|* THE SELECTED SUBFAMILY. 01703 M01S01702.ssuse +++|# 01704 M01S01703.ssuse +++| 01705 M01S01704.ssuse +++| PFP$WRD0[0] = 0; 01706 M01S01705.ssuse +++| PFP$FAM[0] = USARG$FM[0]; 01707 M01S01706.ssuse +++| PFP$UI[0] = DEF$UI + SUBFAM; 01708 M01S01707.ssuse +++| PFP$FG1[0] = TRUE; 01709 M01S01708.ssuse +++| PFP$FG4[0] = TRUE; 01710 M01S01709.ssuse +++| SETPFP(PFP[0]); 01711 M01S01710.ssuse +++| IF PFP$STAT[0] NQ 0 01712 M01S01711.ssuse +++| THEN # FAMILY NOT FOUND # 01713 M01S01712.ssuse +++| BEGIN 01714 M01S01713.ssuse +++| SSMSG$LINE[0] = " FAMILY NOT FOUND."; 01715 M01S01714.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 01716 M01S01715.ssuse +++| RPCLOSE(OUT$FETP); 01717 M01S01716.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 01718 M01S01717.ssuse +++| END 01719 M01S01718.ssuse +++| 01720 M01S01719.ssuse +++|# 01721 M01S01720.ssuse +++|* OPEN THE CATALOG FOR THE SUBFAMILY AND CHECK THE RETURNED 01722 M01S01721.ssuse +++|* ERROR STATUS. 01723 M01S01722.ssuse +++|# 01724 M01S01723.ssuse +++| 01725 M01S01724.ssuse +++| CHAR$10[0] = XCDD(SUBFAM); 01726 M01S01725.ssuse +++| SFMCAT$LST[0] = CHAR$R1[0]; 01727 M01S01726.ssuse +++| COPEN(USARG$FM[0],SUBFAM,SFMCATNM[0],"RM",TRUE,FLAG); 01728 M01S01727.ssuse +++| IF FLAG EQ CMASTAT"NOERR" 01729 M01S01728.ssuse +++| THEN 01730 M01S01729.ssuse +++| BEGIN 01731 M01S01730.ssuse +++| LOFPROC(OCT$LFN[1]); # ADD LFN TO LIST OF FILES # 01732 M01S01731.ssuse +++| END 01733 M01S01732.ssuse +++| 01734 M01S01733.ssuse +++| IF FLAG NQ CMASTAT"NOERR" 01735 M01S01734.ssuse +++| THEN 01736 M01S01735.ssuse +++| BEGIN # CHECK FOR ERROR TYPE # 01737 M01S01736.ssuse +++| IF FLAG EQ CMASTAT"INTLK" ## 01738 M01S01737.ssuse +++| OR FLAG EQ CMASTAT"ATTERR" 01739 M01S01738.ssuse +++| THEN 01740 M01S01739.ssuse +++| BEGIN 01741 M01S01740.ssuse +++| SSMSG$LINE[0] = " UNABLE TO OPEN CATALOG."; 01742 M01S01741.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 01743 M01S01742.ssuse +++| RPCLOSE(OUT$FETP); 01744 M01S01743.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 01745 M01S01744.ssuse +++| END 01746 M01S01745.ssuse +++| 01747 M01S01746.ssuse +++| IF FLAG EQ CMASTAT"CIOERR" 01748 M01S01747.ssuse +++| THEN 01749 M01S01748.ssuse +++| BEGIN 01750 M01S01749.ssuse +++| SSMSG$LINE[0] = " SFMCATALOG PARITY ERROR."; 01751 M01S01750.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 01752 M01S01751.ssuse +++| RPCLOSE(OUT$FETP); 01753 M01S01752.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 01754 M01S01753.ssuse +++| END 01755 M01S01754.ssuse +++| 01756 M01S01755.ssuse +++| ELSE 01757 M01S01756.ssuse +++| BEGIN 01758 M01S01757.ssuse +++| SSMSG$PROC[0] = PROCNAME; 01759 M01S01758.ssuse +++| MESSAGE(SSMSG[0],SYSUDF1); 01760 M01S01759.ssuse +++| RPCLOSE(OUT$FETP); 01761 M01S01760.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 01762 M01S01761.ssuse +++| END 01763 M01S01762.ssuse +++| 01764 M01S01763.ssuse +++| END # CHECK FOR ERROR TYPE # 01765 M01S01764.ssuse +++| 01766 M01S01765.ssuse +++|# 01767 M01S01766.ssuse +++|* GENERATE BASIC REPORT DETAIL LINES FOR EACH SM SPECIFIED. 01768 M01S01767.ssuse +++|# 01769 M01S01768.ssuse +++| 01770 M01S01769.ssuse +++| SLOWFOR SM = 1 STEP 1 UNTIL MAXSM 01771 M01S01770.ssuse +++| DO 01772 M01S01771.ssuse +++| BEGIN # PROCESS EACH SM # 01773 M01S01772.ssuse +++| IF B<SM,1>SEL$SM EQ 0 01774 M01S01773.ssuse +++| THEN # SM NOT SELECTED # 01775 M01S01774.ssuse +++| BEGIN 01776 M01S01775.ssuse +++| TEST SM; 01777 M01S01776.ssuse +++| END 01778 M01S01777.ssuse +++| 01779 M01S01778.ssuse +++| TEMP$SM = SM; 01780 M01S01779.ssuse +++| 01781 M01S01780.ssuse +++|# 01782 M01S01781.ssuse +++|* CLEAR THE SUB-TOTAL COUNTERS FOR EACH GROUP. 01783 M01S01782.ssuse +++|# 01784 M01S01783.ssuse +++| 01785 M01S01784.ssuse +++| ZFILL(GRP$TOT,8*MAXGP); 01786 M01S01785.ssuse +++| 01787 M01S01786.ssuse +++| IF EJEC$FLAG 01788 M01S01787.ssuse +++| THEN # NOT FIRST PAGE # 01789 M01S01788.ssuse +++| BEGIN 01790 M01S01789.ssuse +++| RPEJECT(OUT$FETP); 01791 M01S01790.ssuse +++| END 01792 M01S01791.ssuse +++| 01793 M01S01792.ssuse +++|# 01794 M01S01793.ssuse +++|* CHECK THE NUMBER OF *FCT* ENTRIES FOR THIS SM. IF NONE, PRINT 01795 M01S01794.ssuse +++|* AN APPROPRIATE MESSAGE AND PROCESS THE NEXT SPECIFIED SM. 01796 M01S01795.ssuse +++|# 01797 M01S01796.ssuse +++| 01798 M01S01797.ssuse +++| P<PREAMBLE> = PRMBADR; # SET PREAMBLE TABLE ADDRESS # 01799 M01S01798.ssuse +++| IF PRM$SCW1[SM] EQ 0 01800 M01S01799.ssuse +++| THEN # SM NOT ASSIGNED TO SUBFAMILY # 01801 M01S01800.ssuse +++| BEGIN 01802 M01S01801.ssuse +++| RPLINE(OUT$FETP,"SM ",3,3,1); 01803 M01S01802.ssuse +++| RPLINE(OUT$FETP,TEMP$SM,6,1,1); 01804 M01S01803.ssuse +++| RPLINE(OUT$FETP," NOT ASSIGNED TO SUBFAMILY .",7,29,1); 01805 M01S01804.ssuse +++| CHAR$10[0] = XCDD(SUBFAM); 01806 M01S01805.ssuse +++| RPLINE(OUT$FETP,CHAR$R1[0],34,1,0); 01807 M01S01806.ssuse +++| RPSPACE(OUT$FETP,SP"SPACE",1); 01808 M01S01807.ssuse +++| TEST SM; 01809 M01S01808.ssuse +++| END 01810 M01S01809.ssuse +++| 01811 M01S01810.ssuse +++|# 01812 M01S01811.ssuse +++|* ANALYZE THE *AST* AND *FCT* ENTRIES FOR THE SELECTED SM. SET UP 01813 M01S01812.ssuse +++|* THE SUB-TOTALS COUNTERS. 01814 M01S01813.ssuse +++|# 01815 M01S01814.ssuse +++| 01816 M01S01815.ssuse +++| USANALS(SUBFAM,SM); 01817 M01S01816.ssuse +++| 01818 M01S01817.ssuse +++|# 01819 M01S01818.ssuse +++|* DISPLAY THE SUB-TOTALS COUNTERS ON THE REPORT FILE. 01820 M01S01819.ssuse +++|# 01821 M01S01820.ssuse +++| 01822 M01S01821.ssuse +++| USBASLN(SUBFAM,SM); 01823 M01S01822.ssuse +++| 01824 M01S01823.ssuse +++| END # PROCESS EACH SM # 01825 M01S01824.ssuse +++| 01826 M01S01825.ssuse +++|# 01827 M01S01826.ssuse +++|* CLOSE THE SFM CATALOG. 01828 M01S01827.ssuse +++|# 01829 M01S01828.ssuse +++| 01830 M01S01829.ssuse +++| CCLOSE(USARG$FM[0],SUBFAM,0,FLAG); 01831 M01S01830.ssuse +++| IF FLAG NQ CMASTAT"NOERR" 01832 M01S01831.ssuse +++| THEN # UNABLE TO CLOSE CATALOG # 01833 M01S01832.ssuse +++| BEGIN 01834 M01S01833.ssuse +++| SSMSG$PROC[0] = PROCNAME; 01835 M01S01834.ssuse +++| MESSAGE(SSMSG[0],SYSUDF1); 01836 M01S01835.ssuse +++| RPCLOSE(OUT$FETP); 01837 M01S01836.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 01838 M01S01837.ssuse +++| END 01839 M01S01838.ssuse +++| 01840 M01S01839.ssuse +++| ZFILL(FCTBUFCW,1); # CLEAR CONTROL BUFFER # 01841 M01S01840.ssuse +++| 01842 M01S01841.ssuse +++| END # PROCESS EACH SUBFAMILY # 01843 M01S01842.ssuse +++| 01844 M01S01843.ssuse +++|# 01845 M01S01844.ssuse +++|* WRITE SM AND SUBFAMILY TOTALS TO REPORT FILE. 01846 M01S01845.ssuse +++|# 01847 M01S01846.ssuse +++| 01848 M01S01847.ssuse +++| USBASTOT; 01849 M01S01848.ssuse +++| 01850 M01S01849.ssuse +++|# 01851 M01S01850.ssuse +++|* CALL SPECIFIED OPTIONAL REPORTS. 01852 M01S01851.ssuse +++|# 01853 M01S01852.ssuse +++| 01854 M01S01853.ssuse +++| IF REPORT$A 01855 M01S01854.ssuse +++| THEN # OPTIONAL REPORT A SPECIFIED # 01856 M01S01855.ssuse +++| BEGIN 01857 M01S01856.ssuse +++| USRPTA; 01858 M01S01857.ssuse +++| END 01859 M01S01858.ssuse +++| 01860 M01S01859.ssuse +++| IF REPORT$B 01861 M01S01860.ssuse +++| THEN # OPTIONAL REPORT B SPECIFIED # 01862 M01S01861.ssuse +++| BEGIN 01863 M01S01862.ssuse +++| USRPTB; 01864 M01S01863.ssuse +++| END 01865 M01S01864.ssuse +++| 01866 M01S01865.ssuse +++| IF REPORT$C 01867 M01S01866.ssuse +++| THEN # OPTIONAL REPORT C SPECIFIED # 01868 M01S01867.ssuse +++| BEGIN 01869 M01S01868.ssuse +++| USRPTC; 01870 M01S01869.ssuse +++| END 01871 M01S01870.ssuse +++| 01872 M01S01871.ssuse +++| IF REPORT$D 01873 M01S01872.ssuse +++| THEN # OPTIONAL REPORT D SPECIFIED # 01874 M01S01873.ssuse +++| BEGIN 01875 M01S01874.ssuse +++| USRPTD; 01876 M01S01875.ssuse +++| END 01877 M01S01876.ssuse +++| 01878 M01S01877.ssuse +++|# 01879 M01S01878.ssuse +++|* CLOSE THE REPORT FILE. 01880 M01S01879.ssuse +++|# 01881 M01S01880.ssuse +++| 01882 M01S01881.ssuse +++| RPCLOSE(OUT$FETP); 01883 M01S01882.ssuse +++| 01884 M01S01883.ssuse +++| RETURN; 01885 M01S01884.ssuse +++| 01886 M01S01885.ssuse +++| END # USRPBAS # 01887 M01S01886.ssuse +++| 01888 M01S01887.ssuse +++| TERM 01889 M01S01888.ssuse +++|PROC USRPTA; 01890 M01S01889.ssuse +++|# TITLE USRPTA - GENERATES OPTIONAL REPORT A. # 01891 M01S01890.ssuse +++| 01892 M01S01891.ssuse +++| BEGIN # USRPTA # 01893 M01S01892.ssuse +++| 01894 M01S01893.ssuse +++|# 01895 M01S01894.ssuse +++|** USRPTA - GENERATES OPTIONAL REPORT A. 01896 M01S01895.ssuse +++|* 01897 M01S01896.ssuse +++|* THIS PROC LISTS THE CONTENTS OF A STORAGE MODULE AS DESCRIBED 01898 M01S01897.ssuse +++|* IN THE SMMAP. 01899 M01S01898.ssuse +++|* 01900 M01S01899.ssuse +++|* PROC USRPTA. 01901 M01S01900.ssuse +++|* 01902 M01S01901.ssuse +++|* ENTRY. (SEL$SB) = BITS SET FOR THE SELECTED SUBFAMILIES. 01903 M01S01902.ssuse +++|* (SEL$SM) = BITS SET FOR THE SELECTED SM-S. 01904 M01S01903.ssuse +++|* 01905 M01S01904.ssuse +++|* EXIT. OPTIONAL REPORT A GENERATED. 01906 M01S01905.ssuse +++|* 01907 M01S01906.ssuse +++|* MESSAGES. 1) SMMAP PARITY ERROR. 01908 M01S01907.ssuse +++|* 2) UNABLE TO OPEN SMMAP. 01909 M01S01908.ssuse +++|* 3) SSUSE ABNORMAL, USRPTA. 01910 M01S01909.ssuse +++|* 4) FAMILY NOT FOUND. 01911 M01S01910.ssuse +++|* 01912 M01S01911.ssuse +++|* NOTES. FOR EACH SELECTED SM, PROC *USRPTA* OPENS THE 01913 M01S01912.ssuse +++|* CORRESPONDING SMMAP AND PRINTS THE CONTENTS 01914 M01S01913.ssuse +++|* OF THE Y,Z COORDINATES. THE COLUMN CONTAINING 01915 M01S01914.ssuse +++|* THE DRD-S IS NOT REPORTED ON. THIS REPORT IS FIFTEEN 01916 M01S01915.ssuse +++|* PAGES LONG WITH 1 Z AND 22 Y COORDINATES 01917 M01S01916.ssuse +++|* LISTED PER PAGE. 01918 M01S01917.ssuse +++|# 01919 M01S01918.ssuse +++| 01920 M01S01919.ssuse +++|# 01921 M01S01920.ssuse +++|**** PROC USRPTA - XREF LIST BEGIN. 01922 M01S01921.ssuse +++|# 01923 M01S01922.ssuse +++| 01924 M01S01923.ssuse +++| XREF 01925 M01S01924.ssuse +++| BEGIN 01926 M01S01925.ssuse +++| PROC BZFILL; # BLANK FILLS CHARACTERS # 01927 M01S01926.ssuse +++| PROC LOFPROC; # LIST OF FILES PROCESSOR # 01928 M01S01927.ssuse +++| PROC MCLOSE; # CLOSES SMMAP # 01929 M01S01928.ssuse +++| PROC MESSAGE; # PRINTS MESSAGE IN DAYFILE # 01930 M01S01929.ssuse +++| PROC MGETENT; # GETS SMMAP ENTRY # 01931 M01S01930.ssuse +++| PROC MOPEN; # OPENS SMMAP # 01932 M01S01931.ssuse +++| PROC RESTPFP; # RESTORE USER-S *PFP* AND ABORT 01933 M01S01932.ssuse +++| OR RETURN # 01934 M01S01933.ssuse +++| PROC RPCLOSE; # CLOSES THE REPORT FILE # 01935 M01S01934.ssuse +++| PROC RPEJECT; # PAGE EJECTS FOR REPORT FILE # 01936 M01S01935.ssuse +++| PROC RPLINE; # WRITES LINE TO REPORT FILE # 01937 M01S01936.ssuse +++| PROC RPSPACE; # PUTS BLANK LINE ON REPORT FILE # 01938 M01S01937.ssuse +++| PROC SETPFP; # SET FAMILY AND USER INDEX # 01939 M01S01938.ssuse +++| FUNC XCDD C(10); # CONVERTS INTEGER TO DISPLAY # 01940 M01S01939.ssuse +++| END 01941 M01S01940.ssuse +++| 01942 M01S01941.ssuse +++|# 01943 M01S01942.ssuse +++|**** PROC USRPTA - XREF LIST END. 01944 M01S01943.ssuse +++|# 01945 M01S01944.ssuse +++| 01946 M01S01945.ssuse +++| DEF PROCNAME #"USRPTA."#; # PROC NAME # 01947 M01S01946.ssuse +++| DEF LISTCON #0#; # DO NOT LIST COMDECKS # 01948 M01S01947.ssuse +++|*CALL COMBFAS 01949 M01S01948.ssuse +++|*CALL COMBBZF 01950 M01S01949.ssuse +++|*CALL COMBCMD 01951 M01S01950.ssuse +++|*CALL COMBCMS 01952 M01S01951.ssuse +++|*CALL COMBMAP 01953 M01S01952.ssuse +++|*CALL COMBMCT 01954 M01S01953.ssuse +++|*CALL COMBPFP 01955 M01S01954.ssuse +++|*CALL COMSPFM 01956 M01S01955.ssuse +++|*CALL COMTOUT 01957 M01S01956.ssuse +++|*CALL COMTUSE 01958 M01S01957.ssuse +++|*CALL COMTUSP 01959 M01S01958.ssuse +++| 01960 M01S01959.ssuse +++| ITEM FLAG I; # ERROR FLAG # 01961 M01S01960.ssuse +++| ITEM GP I; # GROUP # 01962 M01S01961.ssuse +++| ITEM GRT I; # GROUP ORDINAL # 01963 M01S01962.ssuse +++| ITEM MAP$ORD I; # SMMAP ORDINAL # 01964 M01S01963.ssuse +++| ITEM RPTFLAG C(7); # REPORT FLAG # 01965 M01S01964.ssuse +++| ITEM SM I; # LOOP VARIABLE # 01966 M01S01965.ssuse +++| ITEM SM$ADDR I; # ADDRESS OF SMMAP # 01967 M01S01966.ssuse +++| ITEM TEMP$SM C(1); # SM CHARACTER # 01968 M01S01967.ssuse +++| ITEM Y I; # LOOP VARIABLE # 01969 M01S01968.ssuse +++| ITEM Z I; # LOOP VARIABLE # 01970 M01S01969.ssuse +++| 01971 M01S01970.ssuse +++| ARRAY SMMAP$NM [0:0] P(1); # ARRAY TO BUILD SMMAP # 01972 M01S01971.ssuse +++| BEGIN 01973 M01S01972.ssuse +++| ITEM SMAP$NAME C(00,00,07); # SMMAP FILE NAME # 01974 M01S01973.ssuse +++| ITEM SMAP$CHAR C(00,00,05); # FIRST FIVE CHARACTERS # 01975 M01S01974.ssuse +++| ITEM SMAP$SMID C(00,30,01); # SM-ID # 01976 M01S01975.ssuse +++| ITEM SMAP$Z U(00,36,24) = [0]; # ZERO FILL FILE NAME # 01977 M01S01976.ssuse +++| END 01978 M01S01977.ssuse +++| 01979 M01S01978.ssuse +++| 01980 M01S01979.ssuse +++| CONTROL EJECT; 01981 M01S01980.ssuse +++| 01982 M01S01981.ssuse +++|# 01983 M01S01982.ssuse +++|* SET DEFAULT FAMILY AND USER INDEX. 01984 M01S01983.ssuse +++|# 01985 M01S01984.ssuse +++| 01986 M01S01985.ssuse +++| PFP$WRD0[0] =0; 01987 M01S01986.ssuse +++| PFP$FAM[0] = DEF$FAM; 01988 M01S01987.ssuse +++| PFP$UI[0] = DEF$UI; 01989 M01S01988.ssuse +++| PFP$FG1[0] = TRUE; 01990 M01S01989.ssuse +++| PFP$FG4[0] = TRUE; 01991 M01S01990.ssuse +++| SETPFP(PFP[0]); 01992 M01S01991.ssuse +++| IF PFP$STAT NQ 0 01993 M01S01992.ssuse +++| THEN # FAMILY NOT FOUND # 01994 M01S01993.ssuse +++| BEGIN 01995 M01S01994.ssuse +++| SSMSG$LINE[0] = " FAMILY NOT FOUND."; 01996 M01S01995.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 01997 M01S01996.ssuse +++| RPCLOSE(OUT$FETP); 01998 M01S01997.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 01999 M01S01998.ssuse +++| END 02000 M01S01999.ssuse +++| 02001 M01S02000.ssuse +++|# 02002 M01S02001.ssuse +++|* PROCESS EACH SPECIFIED SM. 02003 M01S02002.ssuse +++|# 02004 M01S02003.ssuse +++| 02005 M01S02004.ssuse +++| SLOWFOR SM = 1 STEP 1 UNTIL MAXSM 02006 M01S02005.ssuse +++| DO 02007 M01S02006.ssuse +++| BEGIN # PROCESS EACH SM # 02008 M01S02007.ssuse +++| IF B<SM,1>SEL$SM EQ 0 02009 M01S02008.ssuse +++| THEN # SM NOT SELECTED # 02010 M01S02009.ssuse +++| BEGIN 02011 M01S02010.ssuse +++| TEST SM; 02012 M01S02011.ssuse +++| END 02013 M01S02012.ssuse +++| 02014 M01S02013.ssuse +++| TEMP$SM = SM; 02015 M01S02014.ssuse +++| SMAP$SMID[0] = TEMP$SM; 02016 M01S02015.ssuse +++| SMAP$CHAR[0] = SMMAP; 02017 M01S02016.ssuse +++| 02018 M01S02017.ssuse +++|# 02019 M01S02018.ssuse +++|* OPEN THE SMMAP AND CHECK THE RETURNED ERROR STATUS. 02020 M01S02019.ssuse +++|# 02021 M01S02020.ssuse +++| 02022 M01S02021.ssuse +++| MOPEN(SM,SMAP$NAME[0],"RM",FLAG); 02023 M01S02022.ssuse +++| IF FLAG EQ CMASTAT"NOERR" 02024 M01S02023.ssuse +++| THEN 02025 M01S02024.ssuse +++| BEGIN 02026 M01S02025.ssuse +++| LOFPROC(SMAP$NAME[0]); # ADD LFN TO LIST OF FILES # 02027 M01S02026.ssuse +++| END 02028 M01S02027.ssuse +++| 02029 M01S02028.ssuse +++| SM$ADDR = LOC(MAPBUFR[0]); 02030 M01S02029.ssuse +++| P<SMUMAP> = SM$ADDR; 02031 M01S02030.ssuse +++| 02032 M01S02031.ssuse +++| IF FLAG NQ CMASTAT"NOERR" 02033 M01S02032.ssuse +++| THEN 02034 M01S02033.ssuse +++| BEGIN # SMMAP NOT OPENED SUCCESSFULLY # 02035 M01S02034.ssuse +++| IF FLAG EQ CMASTAT"CIOERR" 02036 M01S02035.ssuse +++| THEN 02037 M01S02036.ssuse +++| BEGIN 02038 M01S02037.ssuse +++| SSMSG$LINE[0] = " SMMAP PARITY ERROR."; 02039 M01S02038.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 02040 M01S02039.ssuse +++| RPCLOSE(OUT$FETP); 02041 M01S02040.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 02042 M01S02041.ssuse +++| END 02043 M01S02042.ssuse +++| 02044 M01S02043.ssuse +++| IF FLAG EQ CMASTAT"INTLK" ## 02045 M01S02044.ssuse +++| OR FLAG EQ CMASTAT"ATTERR" 02046 M01S02045.ssuse +++| THEN 02047 M01S02046.ssuse +++| BEGIN 02048 M01S02047.ssuse +++| SSMSG$LINE[0] = " UNABLE TO OPEN SMMAP."; 02049 M01S02048.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 02050 M01S02049.ssuse +++| RPCLOSE(OUT$FETP); 02051 M01S02050.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 02052 M01S02051.ssuse +++| END 02053 M01S02052.ssuse +++| 02054 M01S02053.ssuse +++| ELSE 02055 M01S02054.ssuse +++| BEGIN 02056 M01S02055.ssuse +++| SSMSG$PROC[0] = PROCNAME; 02057 M01S02056.ssuse +++| MESSAGE(SSMSG[0],SYSUDF1); 02058 M01S02057.ssuse +++| RPCLOSE(OUT$FETP); 02059 M01S02058.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 02060 M01S02059.ssuse +++| END 02061 M01S02060.ssuse +++| 02062 M01S02061.ssuse +++| END # SMMAP NOT OPENED SUCCESSFULLY # 02063 M01S02062.ssuse +++| 02064 M01S02063.ssuse +++|# 02065 M01S02064.ssuse +++|* PROCESS EACH Y,Z PAIR. 02066 M01S02065.ssuse +++|# 02067 M01S02066.ssuse +++| 02068 M01S02067.ssuse +++| SLOWFOR Z = 0 STEP 1 UNTIL MAX$Z 02069 M01S02068.ssuse +++| DO 02070 M01S02069.ssuse +++| BEGIN # PROCESS EACH Z COORDINATE # 02071 M01S02070.ssuse +++| 02072 M01S02071.ssuse +++|# 02073 M01S02072.ssuse +++|* DO NOT PROCESS THE COLUMN CONTAINING THE DRD-S. 02074 M01S02073.ssuse +++|# 02075 M01S02074.ssuse +++| 02076 M01S02075.ssuse +++| IF Z EQ Z$NO$CUBE 02077 M01S02076.ssuse +++| THEN 02078 M01S02077.ssuse +++| BEGIN 02079 M01S02078.ssuse +++| TEST Z; 02080 M01S02079.ssuse +++| END 02081 M01S02080.ssuse +++| 02082 M01S02081.ssuse +++|# 02083 M01S02082.ssuse +++|* WRITE HEADER TO REPORT FILE. 02084 M01S02083.ssuse +++|# 02085 M01S02084.ssuse +++| 02086 M01S02085.ssuse +++| RPEJECT(OUT$FETP); 02087 M01S02086.ssuse +++| RPLINE(OUT$FETP,"SSUSE OPTIONAL REPORT A - ",5,26,1); 02088 M01S02087.ssuse +++| RPLINE(OUT$FETP,"STORAGE MODULE MAP FOR SM = ",31,28,1); 02089 M01S02088.ssuse +++| RPLINE(OUT$FETP,TEMP$SM,59,1,0); 02090 M01S02089.ssuse +++| RPSPACE(OUT$FETP,SP"SPACE",1); 02091 M01S02090.ssuse +++| RPLINE(OUT$FETP,"FLAGS:",5,6,1); 02092 M01S02091.ssuse +++| RPLINE(OUT$FETP,"P = CARTRIDGE EXISTS IN POOL",15,28,1); 02093 M01S02092.ssuse +++| RPLINE(OUT$FETP,"S = RESERVED FOR SYSTEM USE",49,27,1); 02094 M01S02093.ssuse +++| RPLINE(OUT$FETP,"C = RESERVED FOR CUSTOMER ",81,26,1); 02095 M01S02094.ssuse +++| RPLINE(OUT$FETP,"ENGINEERING",107,11,0); 02096 M01S02095.ssuse +++| RPLINE(OUT$FETP,"F = NOT ASSIGNED TO THIS FAMILY",15,31,1); 02097 M01S02096.ssuse +++| RPLINE(OUT$FETP,"E = ERROR FLAG",49,14,1); 02098 M01S02097.ssuse +++| RPLINE(OUT$FETP,"N = (Y,Z) DOES NOT EXIST",81,24,1); 02099 M01S02098.ssuse +++| RPLINE(OUT$FETP," IN SMMAP",105,9,0); 02100 M01S02099.ssuse +++| RPLINE(OUT$FETP,"R = RESERVED FOR ALTERNATE SMMAP",15,32,1); 02101 M01S02100.ssuse +++| RPLINE(OUT$FETP,"GPORD = ORDINAL IN GROUP",81,24,0); 02102 M01S02101.ssuse +++| RPSPACE(OUT$FETP,SP"SPACE",1); 02103 M01S02102.ssuse +++| RPLINE(OUT$FETP,"Y Z CM CSN",6,18,1); 02104 M01S02103.ssuse +++| RPLINE(OUT$FETP,"FAMILY SUBFAMILY",30,21,1); 02105 M01S02104.ssuse +++| RPLINE(OUT$FETP,"GROUP GPORD FLAGS",56,24,0); 02106 M01S02105.ssuse +++| RPSPACE(OUT$FETP,SP"SPACE",1); 02107 M01S02106.ssuse +++| 02108 M01S02107.ssuse +++| SLOWFOR Y = 0 STEP 1 UNTIL MAX$Y 02109 M01S02108.ssuse +++| DO 02110 M01S02109.ssuse +++| BEGIN # PROCESS EACH Y COORDINATE # 02111 M01S02110.ssuse +++| 02112 M01S02111.ssuse +++|# 02113 M01S02112.ssuse +++|* CALCULATE THE ORDINAL OF THE SMMAP ENTRY. 02114 M01S02113.ssuse +++|# 02115 M01S02114.ssuse +++| 02116 M01S02115.ssuse +++| MAP$ORD = MAXORD - Z - (Y * 16); 02117 M01S02116.ssuse +++| 02118 M01S02117.ssuse +++|# 02119 M01S02118.ssuse +++|* GET THE SMMAP ENTRY AND CHECK THE RETURNED ERROR STATUS. 02120 M01S02119.ssuse +++|# 02121 M01S02120.ssuse +++| 02122 M01S02121.ssuse +++| MGETENT(SM,MAP$ORD,SM$ADDR,FLAG); 02123 M01S02122.ssuse +++| IF FLAG NQ CMASTAT"NOERR" 02124 M01S02123.ssuse +++| THEN 02125 M01S02124.ssuse +++| BEGIN # CHECK FOR TYPE OF ERROR # 02126 M01S02125.ssuse +++| IF FLAG EQ CMASTAT"CIOERR" 02127 M01S02126.ssuse +++| THEN 02128 M01S02127.ssuse +++| BEGIN 02129 M01S02128.ssuse +++| SSMSG$LINE[0] = " SMMAP PARITY ERROR."; 02130 M01S02129.ssuse +++| MESSAGE(SSMSG$BUF[0],SYSUDF1); 02131 M01S02130.ssuse +++| RPCLOSE(OUT$FETP); 02132 M01S02131.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 02133 M01S02132.ssuse +++| END 02134 M01S02133.ssuse +++| 02135 M01S02134.ssuse +++| ELSE 02136 M01S02135.ssuse +++| BEGIN 02137 M01S02136.ssuse +++| SSMSG$PROC[0] = PROCNAME; 02138 M01S02137.ssuse +++| MESSAGE(SSMSG[0],SYSUDF1); 02139 M01S02138.ssuse +++| RPCLOSE(OUT$FETP); 02140 M01S02139.ssuse +++| RESTPFP(PFP$ABORT); # RESTORE USER-S *PFP* AND ABORT # 02141 M01S02140.ssuse +++| END 02142 M01S02141.ssuse +++| 02143 M01S02142.ssuse +++| END # CHECK FOR TYPE OF ERROR # 02144 M01S02143.ssuse +++| 02145 M01S02144.ssuse +++|# 02146 M01S02145.ssuse +++|* CHECK CARTRIDGE FLAGS AND SET THE APPROPRIATE CHARACTERS 02147 M01S02146.ssuse +++|* INTO THE REPORT FLAG. 02148 M01S02147.ssuse +++|# 02149 M01S02148.ssuse +++| 02150 M01S02149.ssuse +++| RPTFLAG = " "; 02151 M01S02150.ssuse +++| IF CM$FLAG1[0] 02152 M01S02151.ssuse +++| THEN 02153 M01S02152.ssuse +++| BEGIN 02154 M01S02153.ssuse +++| C<0,1>RPTFLAG = "E"; 02155 M01S02154.ssuse +++| END 02156 M01S02155.ssuse +++| 02157 M01S02156.ssuse +++| IF CM$CODE[0] EQ CUBSTAT"CEUSE" 02158 M01S02157.ssuse +++| THEN # RESERVED FOR CUSTOMER ENGINEER # 02159 M01S02158.ssuse +++| BEGIN 02160 M01S02159.ssuse +++| C<1,1>RPTFLAG = "C"; 02161 M01S02160.ssuse +++| END 02162 M01S02161.ssuse +++| 02163 M01S02162.ssuse +++| IF CM$CODE[0] EQ CUBSTAT"SCRPOOL" 02164 M01S02163.ssuse +++| THEN # ASSIGNED TO POOL # 02165 M01S02164.ssuse +++| BEGIN 02166 M01S02165.ssuse +++| C<2,1>RPTFLAG = "P"; 02167 M01S02166.ssuse +++| END 02168 M01S02167.ssuse +++| 02169 M01S02168.ssuse +++| IF CM$CODE[0] EQ CUBSTAT"SYSUSE" 02170 M01S02169.ssuse +++| THEN # RESERVED FOR SYSTEM USE # 02171 M01S02170.ssuse +++| BEGIN 02172 M01S02171.ssuse +++| C<3,1>RPTFLAG = "S"; 02173 M01S02172.ssuse +++| END 02174 M01S02173.ssuse +++| 02175 M01S02174.ssuse +++| IF CM$CODE[0] EQ CUBSTAT"NOCUBE" 02176 M01S02175.ssuse +++| THEN # NO CUBICLE AT THIS ORDINAL # 02177 M01S02176.ssuse +++| BEGIN 02178 M01S02177.ssuse +++| C<4,1>RPTFLAG = "N"; 02179 M01S02178.ssuse +++| END 02180 M01S02179.ssuse +++| 02181 M01S02180.ssuse +++| IF CM$FMLYNM[0] NQ USARG$FM[0] 02182 M01S02181.ssuse +++| THEN # NOT IN THIS FAMILY # 02183 M01S02182.ssuse +++| BEGIN 02184 M01S02183.ssuse +++| C<5,1>RPTFLAG = "F"; 02185 M01S02184.ssuse +++| END 02186 M01S02185.ssuse +++| 02187 M01S02186.ssuse +++| IF CM$CODE[0] EQ CUBSTAT"ALTCSU" 02188 M01S02187.ssuse +++| THEN # RESERVED FOR OTHER SMMAP # 02189 M01S02188.ssuse +++| BEGIN 02190 M01S02189.ssuse +++| C<6,1>RPTFLAG = "R"; 02191 M01S02190.ssuse +++| END 02192 M01S02191.ssuse +++| 02193 M01S02192.ssuse +++|# 02194 M01S02193.ssuse +++|* CONVERT VALUES TO DISPLAY CODE AND WRITE THEM TO THE 02195 M01S02194.ssuse +++|* REPORT FILE. 02196 M01S02195.ssuse +++|# 02197 M01S02196.ssuse +++| 02198 M01S02197.ssuse +++| CHAR$10[0] = XCDD(Y); 02199 M01S02198.ssuse +++| RPLINE(OUT$FETP,CHAR$R2[0],5,2,1); 02200 M01S02199.ssuse +++| 02201 M01S02200.ssuse +++| CHAR$10[0] = XCDD(Z); 02202 M01S02201.ssuse +++| RPLINE(OUT$FETP,CHAR$R2[0],11,2,1); 02203 M01S02202.ssuse +++| 02204 M01S02203.ssuse +++| CHAR$10[0] = CM$CCOD[0]; 02205 M01S02204.ssuse +++| BZFILL(CHAR,TYPFILL"BFILL",10); 02206 M01S02205.ssuse +++| RPLINE(OUT$FETP,CHAR$L2[0],17,2,1);
Proceed to Part 1
cdc/nos2.source/opl.opl871/deck/ssuse.txt ยท Last modified: by 127.0.0.1