Files
DUTAS/Batch/DTSBU931.cob
2025-07-21 11:20:11 -04:00

417 lines
33 KiB
COBOL

00001 IDENTIFICATION DIVISION. 01/29/02
00002 PROGRAM-ID. DTSBU931. DTSBU931
00003 AUTHOR. TRICOASTAL CONSULTING LTD. LV006
00004 DATE-WRITTEN. DECEMBER 1991. DTSBU931
00005 DATE-COMPILED. DTSBU931
00006 SKIP3 DTSBU931
00007 ***** DTSBU931
00008 * DTSBU931
00009 * FUNCTION: REFERENCE FILE INPUT/OUTPUT. DTSBU931
00010 * DTSBU931
00011 * DTSBU931
00012 * MODIFICATION LOG: DTSBU931
00013 * DTSBU931
00014 * 12/18/91 INITIAL DEVELOPMENT. DTSBU931
00015 * WORK ORDER: PROGRAMMER: TCL DTSBU931
00016 * DTSBU931
00017 * 09/30/1998 REVIEWED AND MODIFIED FOR DC. DTSBU931
00018 * REFERENCE: DC DEVELOPMENT PROGRAMMER: EHH DTSBU931
00019 * DTSBU931
00020 * MM/DD/YYYY XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSBU931
00021 * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSBU931
00022 * REFERENCE: XXXXXXXXXXXXXXX PROGRAMMER: XXX DTSBU931
00023 * DTSBU931
00024 * DTSBU931
00025 * DESCRIPTION: DTSBU931
00026 * DTSBU931
00027 * DTSBU931 PERFORMS ALL REQUIRED REFERENCE FILE DTSBU931
00028 * INPUT/OUTPUT. DTSBU931
00029 * DTSBU931
00030 * DTSBU931
00031 * GENERAL SPECIFICATIONS: DTSBU931
00032 * DTSBU931
00033 * ALL COMMANDS ARE VALID. DTSBU931
00034 * DTSBU931
00035 * IF AN INVALID COMMAND IS REQUESTED, THEN ABEND THE DTSBU931
00036 * MODULE. DTSBU931
00037 * DTSBU931
00038 * IF A FILE-STATUS OF OTHER THAN '00', '10', OR '23' IS DTSBU931
00039 * ENCOUNTERED, THEN ABEND PROCESSING (TOLERATE A DTSBU931
00040 * FILE-STATUS OF '97' FROM AN OPEN COMMAND). DTSBU931
00041 * DTSBU931
00042 * DTSBU931
00043 * DTSBU931
00044 * COMMAND SPECIFIC SPECIFICATIONS: DTSBU931
00045 * DTSBU931
00046 * OPEN-READ DTSBU931
00047 * OPEN INPUT. DTSBU931
00048 * DTSBU931
00049 * OPEN-UPDATE DTSBU931
00050 * OPEN I-O. DTSBU931
00051 * DTSBU931
00052 * CLOSE DTSBU931
00053 * DTSBU931
00054 * READ DTSBU931
00055 * DTSBU931
00056 * START BROWSE DTSBU931
00057 * IF THE START-BROWSE IS SUCCESSFUL, THEN PERFORM THE DTSBU931
00058 * READ-NEXT LOGIC. A SUCCESSFUL START-BROWSE RETURNS DTSBU931
00059 * A RECORD. DTSBU931
00060 * DTSBU931
00061 * READ NEXT DTSBU931
00062 * RETURN L931-NO-REC-88 AT A BREAK IN REC-TYPE. DTSBU931
00063 * DTSBU931
00064 * WRITE DTSBU931
00065 * DTSBU931
00066 * REWRITE DTSBU931
00067 * DTSBU931
00068 * DELETE DTSBU931
00069 * DTSBU931
00070 * DTSBU931
00071 ***** DTSBU931
00072 SKIP3 DTSBU931
00073 ENVIRONMENT DIVISION. DTSBU931
00074 SKIP2 DTSBU931
00075 INPUT-OUTPUT SECTION. DTSBU931
00076 DTSBU931
00077 FILE-CONTROL. DTSBU931
00078 SELECT REF-FILE ASSIGN TO DTSFREF DTSBU931
00079 ORGANIZATION IS INDEXED DTSBU931
00080 RECORD KEY IS FSKL-KEY-AREA OF FILE-SKL-REC DTSBU931
00081 FILE STATUS IS FILE-STATUS DTSBU931
00082 ACCESS IS DYNAMIC. DTSBU931
00083 SKIP3 DTSBU931
00084 DATA DIVISION. DTSBU931
00085 SKIP3 DTSBU931
00086 FILE SECTION. DTSBU931
00087 SKIP3 DTSBU931
00088 FD REF-FILE. DTSBU931
00089 DTSBU931
00090 01 FILE-SKL-REC. DTSBU931
00091 ++INCLUDE DTSIFSKL DTSBU931
00092 SKIP3 DTSBU931
00093 01 FILE-VAR-REC. DTSBU931
00094 05 FILE-VAR-CHAR OCCURS 16 TO 768 TIMES DTSBU931
00095 DEPENDING ON VAR-CHAR-CNT DTSBU931
00096 PIC X(01). DTSBU931
00097 EJECT DTSBU931
00098 WORKING-STORAGE SECTION. DTSBU931
000985 77 PAN-VALET PICTURE X(24) VALUE '006DTSBU931 01/29/02'. DTSBU931
00099 SKIP3 DTSBU931
00100 01 WRK-AREA. DTSBU931
00101 05 WRK-ABEND-CD PIC S9(04) COMP VALUE +931.DTSBU931
00102 DTSBU931
00103 05 VAR-CHAR-CNT PIC S9(04) COMP. DTSBU931
00104 DTSBU931
00105 05 FILE-STATUS PIC X(02). DTSBU931
00106 88 FILE-OK-88 VALUE '00'. DTSBU931
00107 88 FILE-NO-REC-88 VALUE '10' '23'. DTSBU931
00108 88 FILE-VERIFY-88 VALUE '97'. DTSBU931
00109 DTSBU931
00110 05 WRK-REC-PREFIX PIC X(04). DTSBU931
00111 EJECT DTSBU931
00112 01 L991-LINK-AREA. DTSBU931
00113 ++INCLUDE DTSIL991 DTSBU931
00114 EJECT DTSBU931
00115 01 FLEN-LENGTH-LITERALS. DTSBU931
00116 ++INCLUDE DTSIFLEN DTSBU931
00117 EJECT DTSBU931
00118 LINKAGE SECTION. DTSBU931
00119 SKIP3 DTSBU931
00120 01 L931-LINK-AREA. DTSBU931
00121 ++INCLUDE DTSIL931 DTSBU931
00122 EJECT DTSBU931
00123 01 LINK-REC. DTSBU931
00124 05 FSKL-REC. DTSBU931
00125 ++INCLUDE DTSIFSKL DTSBU931
00126 EJECT DTSBU931
00127 PROCEDURE DIVISION USING L931-LINK-AREA DTSBU931
00128 LINK-REC. DTSBU931
00129 DTSBU931
00130 DTSBU931
00131 SET L931-OK-88 TO TRUE. DTSBU931
00132 DTSBU931
00133 IF L931-TRACE-88 DTSBU931
00134 PERFORM S9100-PRE-DISPLAY THRU S9100-EXIT. DTSBU931
00135 DTSBU931
00136 IF L931-READ-NEXT-88 DTSBU931
00137 PERFORM P2300-READ-NEXT THRU P2300-EXIT DTSBU931
00138 ELSE DTSBU931
00139 IF L931-READ-88 DTSBU931
00140 PERFORM P2100-READ THRU P2100-EXIT DTSBU931
00141 ELSE DTSBU931
00142 IF L931-START-BROWSE-88 DTSBU931
00143 PERFORM P2200-START-BROWSE THRU P2200-EXIT DTSBU931
00144 ELSE DTSBU931
00145 IF L931-WRITE-88 DTSBU931
00146 PERFORM P3100-WRITE THRU P3100-EXIT DTSBU931
00147 ELSE DTSBU931
00148 IF L931-REWRITE-88 DTSBU931
00149 PERFORM P3200-REWRITE THRU P3200-EXIT DTSBU931
00150 ELSE DTSBU931
00151 IF L931-DELETE-88 DTSBU931
00152 PERFORM P3300-DELETE THRU P3300-EXIT DTSBU931
00153 ELSE DTSBU931
00154 IF L931-OPEN-READ-88 DTSBU931
00155 OR DTSBU931
00156 L931-OPEN-UPDATE-88 DTSBU931
00157 PERFORM P1100-OPEN THRU P1100-EXIT DTSBU931
00158 ELSE DTSBU931
00159 IF L931-CLOSE-88 DTSBU931
00160 PERFORM P1200-CLOSE THRU P1200-EXIT DTSBU931
00161 ELSE DTSBU931
00162 PERFORM S999-ABEND THRU S999-EXIT. DTSBU931
00163 DTSBU931
00164 IF L931-TRACE-88 DTSBU931
00165 PERFORM S9200-POST-DISPLAY THRU S9200-EXIT. DTSBU931
00166 DTSBU931
00167 DTSBU931
00168 GOBACK. DTSBU931
00169 EJECT DTSBU931
00170 P1100-OPEN. DTSBU931
00171 IF L931-OPEN-UPDATE-88 DTSBU931
00172 OPEN I-O REF-FILE DTSBU931
00173 ELSE DTSBU931
00174 OPEN INPUT REF-FILE. DTSBU931
00175 DTSBU931
00176 IF FILE-OK-88 OR FILE-VERIFY-88 DTSBU931
00177 NEXT SENTENCE DTSBU931
00178 ELSE DTSBU931
00179 PERFORM S999-ABEND THRU S999-EXIT. DTSBU931
00180 P1100-EXIT. DTSBU931
00181 EXIT. DTSBU931
00182 SKIP3 DTSBU931
00183 P1200-CLOSE. DTSBU931
00184 CLOSE REF-FILE. DTSBU931
00185 DTSBU931
00186 IF FILE-OK-88 DTSBU931
00187 NEXT SENTENCE DTSBU931
00188 ELSE DTSBU931
00189 PERFORM S999-ABEND THRU S999-EXIT. DTSBU931
00190 P1200-EXIT. DTSBU931
00191 EXIT. DTSBU931
00192 EJECT DTSBU931
00193 P2100-READ. DTSBU931
00194 MOVE FSKL-KEY-AREA OF LINK-REC DTSBU931
00195 TO FSKL-KEY-AREA OF FILE-SKL-REC. DTSBU931
00196 DTSBU931
00197 READ REF-FILE. DTSBU931
00198 DTSBU931
00199 IF FILE-OK-88 DTSBU931
00200 PERFORM S2200-FILE-TO-LINK THRU S2200-EXIT DTSBU931
00201 ELSE DTSBU931
00202 IF FILE-NO-REC-88 DTSBU931
00203 PERFORM S1100-NO-REC THRU S1100-EXIT DTSBU931
00204 ELSE DTSBU931
00205 PERFORM S999-ABEND THRU S999-EXIT. DTSBU931
00206 P2100-EXIT. DTSBU931
00207 EXIT. DTSBU931
00208 EJECT DTSBU931
00209 P2200-START-BROWSE. DTSBU931
00210 MOVE FSKL-KEY-AREA OF LINK-REC DTSBU931
00211 TO FSKL-KEY-AREA OF FILE-SKL-REC. DTSBU931
00212 DTSBU931
00213 START REF-FILE DTSBU931
00214 KEY IS NOT < FSKL-KEY-AREA OF FILE-SKL-REC. DTSBU931
00215 DTSBU931
00216 IF FILE-OK-88 DTSBU931
00217 PERFORM P2300-READ-NEXT THRU P2300-EXIT DTSBU931
00218 ELSE DTSBU931
00219 IF FILE-NO-REC-88 DTSBU931
00220 PERFORM S1100-NO-REC THRU S1100-EXIT DTSBU931
00221 ELSE DTSBU931
00222 PERFORM S999-ABEND THRU S999-EXIT. DTSBU931
00223 P2200-EXIT. DTSBU931
00224 EXIT. DTSBU931
00225 EJECT DTSBU931
00226 P2300-READ-NEXT. DTSBU931
00227 READ REF-FILE NEXT. DTSBU931
00228 DTSBU931
00229 IF FILE-OK-88 DTSBU931
00230 IF FSKL-REC-TYPE OF FILE-SKL-REC DTSBU931
00231 = FSKL-REC-TYPE OF LINK-REC DTSBU931
00232 PERFORM S2200-FILE-TO-LINK THRU S2200-EXIT DTSBU931
00233 ELSE DTSBU931
00234 PERFORM S1100-NO-REC THRU S1100-EXIT DTSBU931
00235 ELSE DTSBU931
00236 IF FILE-NO-REC-88 DTSBU931
00237 PERFORM S1100-NO-REC THRU S1100-EXIT DTSBU931
00238 ELSE DTSBU931
00239 PERFORM S999-ABEND THRU S999-EXIT. DTSBU931
00240 P2300-EXIT. DTSBU931
00241 EXIT. DTSBU931
00242 EJECT DTSBU931
00243 P3100-WRITE. DTSBU931
00244 PERFORM S2100-LINK-TO-FILE THRU S2100-EXIT. DTSBU931
00245 DTSBU931
00246 WRITE FILE-VAR-REC. DTSBU931
00247 DTSBU931
00248 IF FILE-OK-88 DTSBU931
00249 NEXT SENTENCE DTSBU931
00250 ELSE DTSBU931
00251 PERFORM S999-ABEND THRU S999-EXIT. DTSBU931
00252 P3100-EXIT. DTSBU931
00253 EXIT. DTSBU931
00254 EJECT DTSBU931
00255 P3200-REWRITE. DTSBU931
00256 PERFORM S2100-LINK-TO-FILE THRU S2100-EXIT. DTSBU931
00257 DTSBU931
00258 REWRITE FILE-VAR-REC. DTSBU931
00259 DTSBU931
00260 IF FILE-OK-88 DTSBU931
00261 NEXT SENTENCE DTSBU931
00262 ELSE DTSBU931
00263 PERFORM S999-ABEND THRU S999-EXIT. DTSBU931
00264 P3200-EXIT. DTSBU931
00265 EXIT. DTSBU931
00266 EJECT DTSBU931
00267 P3300-DELETE. DTSBU931
00268 MOVE FSKL-KEY-AREA OF LINK-REC DTSBU931
00269 TO FSKL-KEY-AREA OF FILE-SKL-REC. DTSBU931
00270 DTSBU931
00271 DELETE REF-FILE. DTSBU931
00272 DTSBU931
00273 IF FILE-OK-88 DTSBU931
00274 NEXT SENTENCE DTSBU931
00275 ELSE DTSBU931
00276 PERFORM S999-ABEND THRU S999-EXIT. DTSBU931
00277 P3300-EXIT. DTSBU931
00278 EXIT. DTSBU931
00279 EJECT DTSBU931
00280 S1100-NO-REC. DTSBU931
00281 SET L931-NO-REC-88 TO TRUE. DTSBU931
00282 S1100-EXIT. DTSBU931
00283 EXIT. DTSBU931
00284 SKIP3 DTSBU931
00285 S2100-LINK-TO-FILE. DTSBU931
00286 PERFORM S2310-LINK-REC-LENGTH THRU S2310-EXIT. DTSBU931
00287 DTSBU931
00288 MOVE LINK-REC (1:VAR-CHAR-CNT) TO FILE-VAR-REC. DTSBU931
00289 SKIP2 DTSBU931
00290 S2100-EXIT. DTSBU931
00291 EXIT. DTSBU931
00292 EJECT DTSBU931
00293 S2200-FILE-TO-LINK. DTSBU931
00294 PERFORM S2320-FILE-REC-LENGTH THRU S2320-EXIT. DTSBU931
00295 DTSBU931
00296 MOVE FILE-VAR-REC TO LINK-REC (1:VAR-CHAR-CNT). DTSBU931
00297 S2200-EXIT. DTSBU931
00298 EXIT. DTSBU931
00299 EJECT DTSBU931
00300 S2310-LINK-REC-LENGTH. DTSBU931
00301 IF (FSKL-REC-TYPE OF LINK-REC < +1) DTSBU931
00302 OR DTSBU931
00303 (FSKL-REC-TYPE OF LINK-REC > FLEN-MAX-REC-ID) DTSBU931
00304 PERFORM S999-ABEND THRU S999-EXIT. DTSBU931
00305 DTSBU931
00306 MOVE FLEN-REC-LEN (FSKL-REC-TYPE OF LINK-REC) DTSBU931
00307 TO VAR-CHAR-CNT. DTSBU931
00308 DTSBU931
00309 IF (VAR-CHAR-CNT < +1) DTSBU931
00310 OR DTSBU931
00311 (VAR-CHAR-CNT > FLEN-MAX-REC-LEN) DTSBU931
00312 PERFORM S999-ABEND THRU S999-EXIT. DTSBU931
00313 S2310-EXIT. DTSBU931
00314 EXIT. DTSBU931
00315 SKIP3 DTSBU931
00316 S2320-FILE-REC-LENGTH. DTSBU931
00317 IF (FSKL-REC-TYPE OF FILE-SKL-REC < +1) DTSBU931
00318 OR DTSBU931
00319 (FSKL-REC-TYPE OF FILE-SKL-REC > FLEN-MAX-REC-ID) DTSBU931
00320 PERFORM S999-ABEND THRU S999-EXIT. DTSBU931
00321 DTSBU931
00322 MOVE FLEN-REC-LEN (FSKL-REC-TYPE OF FILE-SKL-REC) DTSBU931
00323 TO VAR-CHAR-CNT. DTSBU931
00324 DTSBU931
00325 IF (VAR-CHAR-CNT < +1) DTSBU931
00326 OR DTSBU931
00327 (VAR-CHAR-CNT > FLEN-MAX-REC-LEN) DTSBU931
00328 PERFORM S999-ABEND THRU S999-EXIT. DTSBU931
00329 S2320-EXIT. DTSBU931
00330 EXIT. DTSBU931
00331 SKIP3 DTSBU931
00332 S9100-PRE-DISPLAY. DTSBU931
00333 DISPLAY ' '. DTSBU931
00334 DTSBU931
00335 DISPLAY ' '. DTSBU931
00336 DTSBU931
00337 DISPLAY '*** DTSBU931 PRE TRACE DISPLAY ***'. DTSBU931
00338 DTSBU931
00339 DISPLAY L931-MOD-NAME DTSBU931
00340 ' = L931-MOD-NAME'. DTSBU931
00341 DTSBU931
00342 DISPLAY L931-CMND-CD DTSBU931
00343 ' = L931-CMND-CD'. DTSBU931
00344 DTSBU931
00345 PERFORM S9300-REC-DISPLAY THRU S9300-EXIT. DTSBU931
00346 S9100-EXIT. DTSBU931
00347 EXIT. DTSBU931
00348 SKIP3 DTSBU931
00349 S9200-POST-DISPLAY. DTSBU931
00350 DISPLAY ' '. DTSBU931
00351 DTSBU931
00352 DISPLAY ' '. DTSBU931
00353 DTSBU931
00354 DISPLAY '*** DTSBU931 POST TRACE DISPLAY ***'. DTSBU931
00355 DTSBU931
00356 DISPLAY L931-RESULT-IND DTSBU931
00357 ' = L931-RESULT-IND'. DTSBU931
00358 DTSBU931
00359 PERFORM S9300-REC-DISPLAY THRU S9300-EXIT. DTSBU931
00360 S9200-EXIT. DTSBU931
00361 EXIT. DTSBU931
00362 SKIP3 DTSBU931
00363 S9300-REC-DISPLAY. DTSBU931
00364 DISPLAY ' '. DTSBU931
00365 DTSBU931
00366 IF (FSKL-REC-TYPE OF LINK-REC < +1) DTSBU931
00367 OR DTSBU931
00368 (FSKL-REC-TYPE OF LINK-REC > FLEN-MAX-REC-ID) DTSBU931
00369 MOVE SPACES TO WRK-REC-PREFIX DTSBU931
00370 ELSE DTSBU931
00371 MOVE FLEN-REC-PREFIX (FSKL-REC-TYPE OF LINK-REC) DTSBU931
00372 TO WRK-REC-PREFIX. DTSBU931
00373 DTSBU931
00374 IF WRK-REC-PREFIX = SPACES DTSBU931
00375 MOVE '????' TO WRK-REC-PREFIX. DTSBU931
00376 DTSBU931
00377 MOVE FLEN-MAX-KEY-LEN TO L991-REQ-CHAR-CNT. DTSBU931
00378 DTSBU931
00379 MOVE FSKL-KEY-AREA OF LINK-REC TO L991-REQ-AREA. DTSBU931
00380 DTSBU931
00381 PERFORM S991-HEX-FORMAT THRU S991-EXIT. DTSBU931
00382 DTSBU931
00383 DISPLAY 'REC TYPE = ' DTSBU931
00384 WRK-REC-PREFIX. DTSBU931
00385 DTSBU931
00386 DISPLAY 'KEY AREA = ' DTSBU931
00387 L991-REPLY-HEX-1-AREA. DTSBU931
00388 DTSBU931
00389 DISPLAY ' ' DTSBU931
00390 L991-REPLY-HEX-2-AREA. DTSBU931
00391 DTSBU931
00392 DISPLAY ' ' DTSBU931
00393 L991-REPLY-AN-AREA. DTSBU931
00394 S9300-EXIT. DTSBU931
00395 EXIT. DTSBU931
00396 EJECT DTSBU931
00397 S991-HEX-FORMAT. DTSBU931
00398 CALL 'DTSBU991' USING L991-LINK-AREA. DTSBU931
00399 S991-EXIT. DTSBU931
00400 EXIT. DTSBU931
00401 SKIP3 DTSBU931
00402 S999-ABEND. DTSBU931
00403 DISPLAY '*** I/O MODULE ABENDING'. DTSBU931
00404 DTSBU931
00405 DISPLAY '*** CMND-CD = ' L931-CMND-CD. DTSBU931
00406 DTSBU931
00407 DISPLAY '*** FILE-STATUS = ' FILE-STATUS. DTSBU931
00408 DTSBU931
00409 DISPLAY '*** CALLING MODULE = ' L931-MOD-NAME. DTSBU931
00410 DTSBU931
00411 PERFORM S9300-REC-DISPLAY THRU S9300-EXIT. DTSBU931
00412 DTSBU931
00413 CALL 'DTSBU999' USING WRK-ABEND-CD. DTSBU931
00414 S999-EXIT. DTSBU931
00415 EXIT. DTSBU931