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