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