247 lines
20 KiB
COBOL
247 lines
20 KiB
COBOL
00001 IDENTIFICATION DIVISION. 06/18/13
|
|
00002 PROGRAM-ID. DTSBU963. DTSBU963
|
|
00003 AUTHOR. TRICOASTAL CONSULTING LTD. LV003
|
|
00004 DATE-WRITTEN. OCTOBER 1994. DTSBU963
|
|
00005 DATE-COMPILED. DTSBU963
|
|
00006 SKIP3 DTSBU963
|
|
00007 ***** DTSBU963
|
|
00008 * DTSBU963
|
|
00009 * FUNCTION: SEQUENTIAL MASTER FILE INPUT. DTSBU963
|
|
00010 * DTSBU963
|
|
00011 * >>> SPECIAL VERSION OF BU961. THE NAME OF THE <<< CL**3
|
|
00012 * >>> INPUT FILE HAS BEEN CHANGED TO DTSFMSTO <<< CL**3
|
|
00013 * DTSBU963
|
|
00014 * MODIFICATION LOG: DTSBU963
|
|
00015 * DTSBU963
|
|
00016 * 12/03/98 INITIAL DEVELOPMENT. COPIED FROM MACBU961 DTSBU963
|
|
00017 * WORK ORDER: PROGRAMMER: ZL1 DTSBU963
|
|
00018 * DTSBU963
|
|
00019 * XX/XX/XX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSBU963
|
|
00020 * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSBU963
|
|
00021 * REFERENCE RFP: #XXX PROGRAMMER: XXX DTSBU963
|
|
00022 * DTSBU963
|
|
00023 * DTSBU963
|
|
00024 * DESCRIPTION: DTSBU963
|
|
00025 * DTSBU963
|
|
00026 * DTSBU961 PERFORMS ALL REQUIRED SEQUENTIAL (TAPE) DTSBU963
|
|
00027 * MASTER FILE INPUT. DTSBU963
|
|
00028 * DTSBU963
|
|
00029 * THE "SEQUENTIAL" MASTER FILE WILL USUSALLY DTSBU963
|
|
00030 * BE THE ARCHIVED MASTER FILE. DTSBU963
|
|
00031 * DTSBU963
|
|
00032 * RECORDS RESIDING ON THE SEQUENTIAL MASTER DTSBU963
|
|
00033 * FILE ARE NOT STORED IN A COMPRESSED FORMAT. DTSBU963
|
|
00034 * WITH COMPRESSION BUILT INTO THE TAPE SUBSYSTEM, DTSBU963
|
|
00035 * COMPRESSION IN THE APPLICATION WOULD BE A DTSBU963
|
|
00036 * WASTE OF CPU CYCLES. DTSBU963
|
|
00037 * DTSBU963
|
|
00038 * DTSBU963
|
|
00039 * COMMAND SPECIFIC SPECIFICATIONS: DTSBU963
|
|
00040 * DTSBU963
|
|
00041 * OPEN READ DTSBU963
|
|
00042 * OPEN INPUT. DTSBU963
|
|
00043 * DTSBU963
|
|
00044 * CLOSE DTSBU963
|
|
00045 * DTSBU963
|
|
00046 * READ NEXT DTSBU963
|
|
00047 * DTSBU963
|
|
00048 * DTSBU963
|
|
00049 ***** DTSBU963
|
|
00050 SKIP3 DTSBU963
|
|
00051 ENVIRONMENT DIVISION. DTSBU963
|
|
00052 SKIP2 DTSBU963
|
|
00053 INPUT-OUTPUT SECTION. DTSBU963
|
|
00054 DTSBU963
|
|
00055 FILE-CONTROL. DTSBU963
|
|
00056 SELECT MST-FILE ASSIGN TO DTSFMSTO CL**2
|
|
00057 FILE STATUS IS FILE-STATUS. DTSBU963
|
|
00058 SKIP3 DTSBU963
|
|
00059 DATA DIVISION. DTSBU963
|
|
00060 SKIP3 DTSBU963
|
|
00061 FILE SECTION. DTSBU963
|
|
00062 SKIP3 DTSBU963
|
|
00063 FD MST-FILE DTSBU963
|
|
00064 RECORDING MODE IS V DTSBU963
|
|
00065 BLOCK CONTAINS 0 CHARACTERS DTSBU963
|
|
00066 RECORD IS VARYING DEPENDING ON MST-REC-LEN. DTSBU963
|
|
00067 DTSBU963
|
|
00068 01 FILE-REC. DTSBU963
|
|
00069 ++INCLUDE DTSIMSKL DTSBU963
|
|
00070 DTSBU963
|
|
00071 01 FILE-MIN-LENGTH-REC PIC X(21). DTSBU963
|
|
00072 DTSBU963
|
|
00073 01 FILE-MAX-LENGTH-REC PIC X(4092). DTSBU963
|
|
00074 EJECT DTSBU963
|
|
00075 WORKING-STORAGE SECTION. DTSBU963
|
|
000755 77 PAN-VALET PICTURE X(24) VALUE '003DTSBU963 06/18/13'. DTSBU963
|
|
00076 77 PAN-VALET PICTURE X(24) VALUE '004DTSBU961 11/22/04'. DTSBU963
|
|
00077 SKIP3 DTSBU963
|
|
00078 01 WRK-AREA. DTSBU963
|
|
00079 05 WRK-ABEND-CD PIC S9(04) COMP VALUE +963. CL**3
|
|
00080 DTSBU963
|
|
00081 05 MST-REC-LEN PIC 9(04) COMP. DTSBU963
|
|
00082 DTSBU963
|
|
00083 05 WRK-REC-CNT PIC S9(07) COMP-3. DTSBU963
|
|
00084 DTSBU963
|
|
00085 05 FILE-STATUS PIC X(02). DTSBU963
|
|
00086 88 FILE-OK-88 VALUE '00'. DTSBU963
|
|
00087 88 FILE-NO-REC-88 VALUE '10'. DTSBU963
|
|
00088 DTSBU963
|
|
00089 05 WRK-REC-PREFIX PIC X(04). DTSBU963
|
|
00090 EJECT DTSBU963
|
|
00091 01 L991-LINK-AREA. DTSBU963
|
|
00092 ++INCLUDE DTSIL991 DTSBU963
|
|
00093 EJECT DTSBU963
|
|
00094 01 MLEN-LENGTH-LITERALS. DTSBU963
|
|
00095 ++INCLUDE DTSIMLEN DTSBU963
|
|
00096 EJECT DTSBU963
|
|
00097 LINKAGE SECTION. DTSBU963
|
|
00098 SKIP3 DTSBU963
|
|
00099 01 L961-LINK-AREA. DTSBU963
|
|
00100 ++INCLUDE DTSIL961 DTSBU963
|
|
00101 EJECT DTSBU963
|
|
00102 01 LINK-REC. DTSBU963
|
|
00103 ++INCLUDE DTSIMSKL DTSBU963
|
|
00104 EJECT DTSBU963
|
|
00105 PROCEDURE DIVISION USING L961-LINK-AREA DTSBU963
|
|
00106 LINK-REC. DTSBU963
|
|
00107 DTSBU963
|
|
00108 DTSBU963
|
|
00109 IF L961-TRACE-88 DTSBU963
|
|
00110 PERFORM S9100-PRE-DISPLAY THRU S9100-EXIT. DTSBU963
|
|
00111 DTSBU963
|
|
00112 SET L961-OK-88 TO TRUE. DTSBU963
|
|
00113 DTSBU963
|
|
00114 IF L961-READ-NEXT-88 DTSBU963
|
|
00115 PERFORM P2300-READ-NEXT THRU P2300-EXIT DTSBU963
|
|
00116 ELSE DTSBU963
|
|
00117 IF L961-OPEN-READ-88 DTSBU963
|
|
00118 PERFORM P1100-OPEN-READ THRU P1100-EXIT DTSBU963
|
|
00119 ELSE DTSBU963
|
|
00120 IF L961-CLOSE-88 DTSBU963
|
|
00121 PERFORM P1200-CLOSE THRU P1200-EXIT DTSBU963
|
|
00122 ELSE DTSBU963
|
|
00123 PERFORM S999-ABEND THRU S999-EXIT. DTSBU963
|
|
00124 DTSBU963
|
|
00125 IF L961-TRACE-88 DTSBU963
|
|
00126 PERFORM S9200-POST-DISPLAY THRU S9200-EXIT. DTSBU963
|
|
00127 DTSBU963
|
|
00128 DTSBU963
|
|
00129 GOBACK. DTSBU963
|
|
00130 EJECT DTSBU963
|
|
00131 P1100-OPEN-READ. DTSBU963
|
|
00132 OPEN INPUT MST-FILE. DTSBU963
|
|
00133 DTSBU963
|
|
00134 IF FILE-OK-88 DTSBU963
|
|
00135 NEXT SENTENCE DTSBU963
|
|
00136 ELSE DTSBU963
|
|
00137 PERFORM S999-ABEND THRU S999-EXIT. DTSBU963
|
|
00138 DTSBU963
|
|
00139 MOVE +0 TO WRK-REC-CNT. DTSBU963
|
|
00140 P1100-EXIT. DTSBU963
|
|
00141 EXIT. DTSBU963
|
|
00142 SKIP3 DTSBU963
|
|
00143 P1200-CLOSE. DTSBU963
|
|
00144 CLOSE MST-FILE. DTSBU963
|
|
00145 DTSBU963
|
|
00146 IF NOT FILE-OK-88 DTSBU963
|
|
00147 PERFORM S999-ABEND THRU S999-EXIT. DTSBU963
|
|
00148 DTSBU963
|
|
00149 DISPLAY '*** ' DTSBU963
|
|
00150 WRK-REC-CNT DTSBU963
|
|
00151 ' DTSFMSTI RECORDS READ'. DTSBU963
|
|
00152 P1200-EXIT. DTSBU963
|
|
00153 EXIT. DTSBU963
|
|
00154 EJECT DTSBU963
|
|
00155 P2300-READ-NEXT. DTSBU963
|
|
00156 READ MST-FILE. DTSBU963
|
|
00157 DTSBU963
|
|
00158 IF FILE-NO-REC-88 DTSBU963
|
|
00159 SET L961-NO-REC-88 TO TRUE DTSBU963
|
|
00160 GO TO P2300-EXIT. DTSBU963
|
|
00161 DTSBU963
|
|
00162 IF NOT FILE-OK-88 DTSBU963
|
|
00163 PERFORM S999-ABEND THRU S999-EXIT. DTSBU963
|
|
00164 DTSBU963
|
|
00165 IF (MST-REC-LEN < MLEN-MSKL-NONDATA-LEN) DTSBU963
|
|
00166 OR DTSBU963
|
|
00167 (MST-REC-LEN DTSBU963
|
|
00168 > MLEN-MAX-MSKL-DATA-LEN + MLEN-MSKL-NONDATA-LEN) DTSBU963
|
|
00169 PERFORM S999-ABEND THRU S999-EXIT. DTSBU963
|
|
00170 DTSBU963
|
|
00171 ADD +1 TO WRK-REC-CNT. DTSBU963
|
|
00172 DTSBU963
|
|
00173 MOVE FILE-REC (1:MST-REC-LEN) DTSBU963
|
|
00174 TO LINK-REC (1:MST-REC-LEN). DTSBU963
|
|
00175 P2300-EXIT. DTSBU963
|
|
00176 EXIT. DTSBU963
|
|
00177 EJECT DTSBU963
|
|
00178 S9100-PRE-DISPLAY. DTSBU963
|
|
00179 DISPLAY ' '. DTSBU963
|
|
00180 DISPLAY ' '. DTSBU963
|
|
00181 DISPLAY '*** DTSBU961 PRE TRACE DISPLAY ***'. DTSBU963
|
|
00182 DISPLAY L961-MOD-NAME DTSBU963
|
|
00183 ' = L961-MOD-NAME'. DTSBU963
|
|
00184 DISPLAY L961-CMND-CD DTSBU963
|
|
00185 ' = L961-CMND-CD'. DTSBU963
|
|
00186 S9100-EXIT. DTSBU963
|
|
00187 EXIT. DTSBU963
|
|
00188 SKIP3 DTSBU963
|
|
00189 S9200-POST-DISPLAY. DTSBU963
|
|
00190 DISPLAY ' '. DTSBU963
|
|
00191 DISPLAY '*** DTSBU961 POST TRACE DISPLAY ***'. DTSBU963
|
|
00192 DISPLAY L961-RESULT-IND DTSBU963
|
|
00193 ' = L961-RESULT-IND'. DTSBU963
|
|
00194 DTSBU963
|
|
00195 PERFORM S9300-REC-DISPLAY THRU S9300-EXIT. DTSBU963
|
|
00196 S9200-EXIT. DTSBU963
|
|
00197 EXIT. DTSBU963
|
|
00198 SKIP3 DTSBU963
|
|
00199 S9300-REC-DISPLAY. DTSBU963
|
|
00200 DISPLAY ' '. DTSBU963
|
|
00201 DTSBU963
|
|
00202 IF (MSKL-REC-TYPE OF LINK-REC < +1) DTSBU963
|
|
00203 OR DTSBU963
|
|
00204 (MSKL-REC-TYPE OF LINK-REC > MLEN-MAX-REC-TYPE) DTSBU963
|
|
00205 MOVE SPACES TO WRK-REC-PREFIX DTSBU963
|
|
00206 ELSE DTSBU963
|
|
00207 MOVE MLEN-PREFIX (MSKL-REC-TYPE OF LINK-REC) DTSBU963
|
|
00208 TO WRK-REC-PREFIX. DTSBU963
|
|
00209 DTSBU963
|
|
00210 IF WRK-REC-PREFIX = SPACES DTSBU963
|
|
00211 MOVE '????' TO WRK-REC-PREFIX. DTSBU963
|
|
00212 DTSBU963
|
|
00213 MOVE MLEN-MAX-KEY-LEN TO L991-REQ-CHAR-CNT. DTSBU963
|
|
00214 DTSBU963
|
|
00215 MOVE MSKL-KEY-AREA OF LINK-REC TO L991-REQ-AREA. DTSBU963
|
|
00216 DTSBU963
|
|
00217 PERFORM S991-HEX-FORMAT THRU S991-EXIT. DTSBU963
|
|
00218 DTSBU963
|
|
00219 DISPLAY 'REC TYPE = ' DTSBU963
|
|
00220 WRK-REC-PREFIX. DTSBU963
|
|
00221 DISPLAY 'KEY AREA = ' DTSBU963
|
|
00222 L991-REPLY-HEX-1-AREA. DTSBU963
|
|
00223 DISPLAY ' ' DTSBU963
|
|
00224 L991-REPLY-HEX-2-AREA. DTSBU963
|
|
00225 DISPLAY ' ' DTSBU963
|
|
00226 L991-REPLY-AN-AREA. DTSBU963
|
|
00227 S9300-EXIT. DTSBU963
|
|
00228 EXIT. DTSBU963
|
|
00229 EJECT DTSBU963
|
|
00230 S991-HEX-FORMAT. DTSBU963
|
|
00231 CALL 'DTSBU991' USING L991-LINK-AREA. DTSBU963
|
|
00232 S991-EXIT. DTSBU963
|
|
00233 EXIT. DTSBU963
|
|
00234 SKIP3 DTSBU963
|
|
00235 S999-ABEND. DTSBU963
|
|
00236 DISPLAY '*** MASTER FILE SEQUENTIAL INPUT MODULE ABENDING'. DTSBU963
|
|
00237 DISPLAY '*** CMND-CD = ' L961-CMND-CD. DTSBU963
|
|
00238 DISPLAY '*** FILE-STATUS = ' FILE-STATUS. DTSBU963
|
|
00239 DISPLAY '*** CALLING MODULE = ' L961-MOD-NAME. DTSBU963
|
|
00240 DTSBU963
|
|
00241 PERFORM S9300-REC-DISPLAY THRU S9300-EXIT. DTSBU963
|
|
00242 DTSBU963
|
|
00243 CALL 'DTSBU999' USING WRK-ABEND-CD. DTSBU963
|
|
00244 S999-EXIT. DTSBU963
|
|
00245 EXIT. DTSBU963
|