00001 IDENTIFICATION DIVISION. 11/12/04 00002 PROGRAM-ID. DTSBE330. DTSBE330 00003 AUTHOR. NGC. LV001 00004 DATE-WRITTEN. OCTOBER 2004. DTSBE330 00005 DATE-COMPILED. DTSBE330 00006 SKIP3 DTSBE330 00007 ***** DTSBE330 00008 * DTSBE330 00009 * FUNCTION: EXTRACT ACCOUTING DATA FOR REPORT OF DAILY DTSBE330 00010 * CREDITS AND DEBITS ESTABLISHED. DTSBE330 00011 * DTSBE330 00012 * MODIFICATION LOG: DTSBE330 00013 * DTSBE330 00014 * 10/28/2004 INITIAL DEVELOPMENT. DTSBE330 00015 * REFERENCE: PROGRAMMER: GD DTSBE330 00016 * DTSBE330 00017 * MM/DD/YYYY XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSBE330 00018 * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSBE330 00019 * REFERENCE: XXXXXXXXXXXXXXX PROGRAMMER: XXX DTSBE330 00020 * DTSBE330 00021 * DTSBE330 00022 * DESCRIPTION: DTSBE330 00023 * DTSBE330 00024 * DTSBE330 00025 * INITIATION: DTSBE330 00026 * DTSBE330 00027 * SET LECM-MST-OPEN-READ-88 TO TRUE. DTSBE330 00028 * SET LECM-REF-OPEN-READ-88 TO TRUE. DTSBE330 00029 * DTSBE330 00030 * EDIT AND DEFAULT PARAMETERS. DTSBE330 00031 * DTSBE330 00032 * DTSBE330 00033 * PROCESSING: DTSBE330 00034 * DTSBE330 00035 * SEE PRINTED OUTPUTS DESCRIPTION AND LAYOUTS (DTSBX330) DTSBE330 00036 * DTSBE330 00037 * THIS PROGRAM RUNS DAILY, FOLLOWING THE DAILY UPDATE. DTSBE330 00038 * IT SELECTS EMPLOYERS WITH EITHER A BALANCE DUE OR A CREDIT.DTSBE330 00039 * FOR EACH EMPLOYER SELECTED, IT READS MJRN RECORDS CREATED DTSBE330 00040 * DURING THE MOST RECENT DAILY UPDATE. IT SUMMARIZES THE DTSBE330 00041 * RESULTS OF EACH TRANSACTION, AND WRITES AN OUTPUT RECORD DTSBE330 00042 * (DTSIX330) FOR EACH THAT RESULTED IN EITHER A DEBIT OR DTSBE330 00043 * CREDIT. THESE RECORDS ARE PASSED TO DTSBX330, WHICH DTSBE330 00044 * PRODUCES DTSIR330 REPORT RECORDS. DTSBE330 00045 * DTSBE330 00046 * TERMINATION: DTSBE330 00047 * DTSBE330 00048 * DTSBE330 00049 * DTSBE330 00050 * RECORDS READ: DTSBE330 00051 * DTSBE330 00052 * MASTER: DTSBE330 00053 * DTSBE330 00054 * MSOL DTSBE330 00055 * MQTR DTSBE330 00056 * DTSBE330 00057 * DTSBE330 00058 * ALTERNATE INDEX: DTSBE330 00059 * DTSBE330 00060 * NONE. DTSBE330 00061 * DTSBE330 00062 * DTSBE330 00063 * REFERENCE: DTSBE330 00064 * DTSBE330 00065 * DTSBE330 00066 * DTSBE330 00067 * RECORDS UPDATED: DTSBE330 00068 * DTSBE330 00069 * NONE DTSBE330 00070 * DTSBE330 00071 * DTSBE330 00072 * OUTPUT RECORDS WRITTEN: DTSBE330 00073 * DTSBE330 00074 * DTSBX330 DTSBE330 00075 * DTSBE330 00076 * DTSBE330 00077 * BATCH TRANSACTION COLLECTION RECORDS WRITTEN: DTSBE330 00078 * DTSBE330 00079 * NONE. DTSBE330 00080 * DTSBE330 00081 * DTSBE330 00082 * MODULES CALLED: DTSBE330 00083 * DTSBE330 00084 * DTSBU001 DATE EDIT/CONVERSION. DTSBE330 00085 * DTSBU004 QUARTER EDIT/CONVERSION. DTSBE330 00086 * DTSBU910 MASTER FILE I/O. DTSBE330 00087 * DTSBE330 00088 * DTSBE330 00089 * DTSBE330 00090 ***** DTSBE330 00091 SKIP3 DTSBE330 00092 ENVIRONMENT DIVISION. DTSBE330 00093 INPUT-OUTPUT SECTION. DTSBE330 00094 FILE-CONTROL. DTSBE330 00095 SELECT X330-FILE ASSIGN TO X330FILE DTSBE330 00096 FILE STATUS IS X330-STATUS. DTSBE330 00097 DTSBE330 00098 SELECT BE330-PARM-FILE ASSIGN TO BE330PRM DTSBE330 00099 FILE STATUS IS PARM-STATUS. DTSBE330 00100 DTSBE330 00101 DATA DIVISION. DTSBE330 00102 FILE SECTION. DTSBE330 00103 FD X330-FILE DTSBE330 00104 RECORDING MODE IS F DTSBE330 00105 LABEL RECORDS ARE STANDARD DTSBE330 00106 BLOCK CONTAINS 0 CHARACTERS. DTSBE330 00107 DTSBE330 00108 01 X330-REC. DTSBE330 00109 ++INCLUDE DTSIX330 DTSBE330 00110 DTSBE330 00111 FD BE330-PARM-FILE DTSBE330 00112 RECORDING MODE IS F DTSBE330 00113 LABEL RECORDS ARE STANDARD DTSBE330 00114 BLOCK CONTAINS 0 CHARACTERS. DTSBE330 00115 DTSBE330 00116 01 BE330-PARM-REC PIC S9(09) COMP-3. DTSBE330 00117 DTSBE330 00118 WORKING-STORAGE SECTION. DTSBE330 001185 77 PAN-VALET PICTURE X(24) VALUE '001DTSBE330 11/12/04'. DTSBE330 00119 SKIP3 DTSBE330 00120 01 WRK-AREA. DTSBE330 00121 05 WRK-ABEND-CD PIC S9(04) COMP VALUE +330.DTSBE330 00122 DTSBE330 00123 05 WRK-MOD-NAME PIC X(08) VALUE 'DTSBE330'.DTSBE330 00124 DTSBE330 00125 05 ABEND-MSG PIC X(60). DTSBE330 00126 DTSBE330 00127 05 X330-STATUS PIC X(02). DTSBE330 00128 88 X330-STATUS-OK-88 VALUE '00'. DTSBE330 00129 DTSBE330 00130 05 PARM-STATUS PIC X(02). DTSBE330 00131 88 PARM-STATUS-OK-88 VALUE '00'. DTSBE330 00132 DTSBE330 00133 05 WRK-SUBJECT-DATE PIC S9(09) COMP-3 VALUE +0. DTSBE330 00134 05 WRK-ABSTIME PIC S9(15) COMP-3 VALUE +0. DTSBE330 00135 DTSBE330 00136 05 QTR-FIRST PIC S9(04) COMP VALUE +400. DTSBE330 00137 05 QTR-LAST PIC S9(04) COMP VALUE +0. DTSBE330 00138 05 QTR-SUB PIC S9(04) COMP. DTSBE330 00139 05 WRK-JRN-TABLE OCCURS 400 TIMES. DTSBE330 00140 10 WRK-JRN-YRQ PIC S9(05) COMP-3. DTSBE330 00141 10 WRK-JRN-AMT PIC S9(09)V99 COMP-3. DTSBE330 00142 DTSBE330 00143 05 CR-LAST PIC S9(04) COMP VALUE +0. DTSBE330 00144 05 CR-MAX PIC S9(04) COMP VALUE +400. DTSBE330 00145 05 CR-SUB PIC S9(04) COMP. DTSBE330 00146 05 WRK-CREDIT-TABLE OCCURS 400 TIMES. DTSBE330 00147 10 WRK-CREDIT-AMT PIC S9(09)V99 COMP-3. DTSBE330 00148 DTSBE330 00149 05 WRK-MJRN-READ-CNT PIC S9(07) COMP-3 DTSBE330 00150 VALUE +0. DTSBE330 00151 DTSBE330 00152 05 WRK-AMT PIC S9(09)V99 COMP-3. DTSBE330 00153 05 WRK-QTR-BAL PIC S9(11)V99 COMP-3. DTSBE330 00154 DTSBE330 00155 DTSBE330 00156 05 WRK-X330-CNT PIC S9(07) COMP-3 DTSBE330 00157 VALUE +0. DTSBE330 00158 DTSBE330 00159 05 WRK-DISP-EMP PIC S9(07) COMP-3 DTSBE330 00160 VALUE +010169. DTSBE330 00161 DTSBE330 00162 05 DISPLAY-CNT PIC Z(06)9. DTSBE330 00163 DTSBE330 00164 05 DISPLAY-AMT-X PIC X(15). DTSBE330 00165 05 DISPLAY-AMT REDEFINES DISPLAY-AMT-X DTSBE330 00166 PIC ZZZ,ZZZ,ZZ9.99-. DTSBE330 00167 EJECT DTSBE330 00168 01 L001-LINK-AREA. DTSBE330 00169 ++INCLUDE DTSIL001 DTSBE330 00170 EJECT DTSBE330 00171 01 L004-LINK-AREA. DTSBE330 00172 ++INCLUDE DTSIL004 DTSBE330 00173 EJECT DTSBE330 00174 01 L005-LINK-AREA. DTSBE330 00175 ++INCLUDE DTSIL005 DTSBE330 00176 DTSBE330 00177 01 L910-LINK-AREA. DTSBE330 00178 ++INCLUDE DTSIL910 DTSBE330 00179 SKIP3 DTSBE330 00180 01 MSKL-REC. DTSBE330 00181 ++INCLUDE DTSIMSKL DTSBE330 00182 SKIP3 DTSBE330 00183 01 MQTR-REC. DTSBE330 00184 ++INCLUDE DTSIMQTR DTSBE330 00185 SKIP3 DTSBE330 00186 01 MJRN-REC. DTSBE330 00187 ++INCLUDE DTSIMJRN DTSBE330 00188 SKIP3 DTSBE330 00189 01 L931-LINK-AREA. DTSBE330 00190 ++INCLUDE DTSIL931 DTSBE330 00191 SKIP3 DTSBE330 00192 01 FSKL-REC. DTSBE330 00193 ++INCLUDE DTSIFSKL DTSBE330 00194 SKIP3 DTSBE330 00195 01 FQTR-REC. DTSBE330 00196 ++INCLUDE DTSIFQTR DTSBE330 00197 DTSBE330 00198 LINKAGE SECTION. DTSBE330 00199 SKIP3 DTSBE330 00200 01 LECM-LINK-AREA. DTSBE330 00201 ++INCLUDE DTSILECM DTSBE330 00202 SKIP3 DTSBE330 00203 10 FILLER REDEFINES LECM-EXTRACT-PARMS. DTSBE330 00204 15 LECM-PARM-SUBJECT-DATE PIC X(06). DTSBE330 00205 15 FILLER PIC X(62). DTSBE330 00206 EJECT DTSBE330 00207 01 MPRF-LINK-REC. DTSBE330 00208 ++INCLUDE DTSIMPRF DTSBE330 00209 EJECT DTSBE330 00210 PROCEDURE DIVISION USING LECM-LINK-AREA DTSBE330 00211 MPRF-LINK-REC. DTSBE330 00212 DTSBE330 00213 IF LECM-PROCESS-88 DTSBE330 00214 PERFORM P0000-PROCESS THRU P0000-EXIT DTSBE330 00215 ELSE DTSBE330 00216 IF LECM-INITIALIZE-88 DTSBE330 00217 PERFORM I0000-INITIALIZE THRU I0000-EXIT DTSBE330 00218 ELSE DTSBE330 00219 IF LECM-TERMINATE-88 DTSBE330 00220 PERFORM T0000-TERMINATE THRU T0000-EXIT DTSBE330 00221 ELSE DTSBE330 00222 MOVE 'INVALID LECM-CALL-TYPE-IND ENCOUNTERED' DTSBE330 00223 TO ABEND-MSG DTSBE330 00224 PERFORM S999-ABEND THRU S999-EXIT. DTSBE330 00225 SKIP2 DTSBE330 00226 GOBACK. DTSBE330 00227 EJECT DTSBE330 00228 I0000-INITIALIZE. DTSBE330 00229 SKIP2 DTSBE330 00230 MOVE LECM-TRACE-IND TO L910-TRACE-IND. DTSBE330 00231 DTSBE330 00232 MOVE WRK-MOD-NAME TO L910-MOD-NAME. DTSBE330 00233 DTSBE330 00234 DTSBE330 00235 PERFORM I1000-EDIT-AND-DEFAULT-PARMS THRU I1000-EXIT. DTSBE330 00236 DTSBE330 00237 PERFORM I2000-OPEN-FILES THRU I2000-EXIT. DTSBE330 00238 DTSBE330 00239 PERFORM I3000-WRITE-PARM THRU I3000-EXIT. DTSBE330 00240 DTSBE330 00241 SET LECM-MST-OPEN-READ-88 TO TRUE. DTSBE330 00242 DTSBE330 00243 SET LECM-REF-OPEN-READ-88 TO TRUE. DTSBE330 00244 DTSBE330 00245 I0000-EXIT. DTSBE330 00246 EXIT. DTSBE330 00247 EJECT DTSBE330 00248 I1000-EDIT-AND-DEFAULT-PARMS. DTSBE330 00249 IF LECM-PARM-SUBJECT-DATE = SPACES DTSBE330 00250 MOVE LECM-PRIOR-RUN-DATE TO WRK-SUBJECT-DATE DTSBE330 00251 PERFORM I1100-SET-DATES THRU I1100-EXIT DTSBE330 00252 ELSE DTSBE330 00253 MOVE LECM-PARM-SUBJECT-DATE TO L001-CAL-6-DATE-X DTSBE330 00254 PERFORM S001-FROM-CAL-6 THRU S001-EXIT DTSBE330 00255 IF L001-VALID-DATE DTSBE330 00256 IF L001-FED-8-DATE-9 <= LECM-PRIOR-RUN-DATE DTSBE330 00257 MOVE L001-FED-8-DATE-9 TO WRK-SUBJECT-DATE DTSBE330 00258 PERFORM I1100-SET-DATES THRU I1100-EXIT DTSBE330 00259 ELSE DTSBE330 00260 PERFORM I1202-ERROR THRU I1202-EXIT DTSBE330 00261 ELSE DTSBE330 00262 PERFORM I1201-ERROR THRU I1201-EXIT DTSBE330 00263 END-IF DTSBE330 00264 END-IF. DTSBE330 00265 DTSBE330 00266 DTSBE330 00267 I1000-EXIT. DTSBE330 00268 EXIT. DTSBE330 00269 DTSBE330 00270 I1100-SET-DATES. DTSBE330 00271 MOVE WRK-SUBJECT-DATE TO L005-DATE. DTSBE330 00272 MOVE ZERO TO L005-TIME. DTSBE330 00273 PERFORM S005-FROM-DATE-TIME THRU S005-EXIT. DTSBE330 00274 MOVE L005-ABSTIME TO WRK-ABSTIME. DTSBE330 00275 DTSBE330 00276 DISPLAY 'SUBJECT DATE ' WRK-SUBJECT-DATE. DTSBE330 00277 DISPLAY 'ABSTIME ' WRK-ABSTIME. DTSBE330 00278 I1100-EXIT. DTSBE330 00279 EXIT. DTSBE330 00280 DTSBE330 00281 I1201-ERROR. DTSBE330 00282 DISPLAY 'INVALID PARM DATE ' L001-FED-8-DATE-X. DTSBE330 00283 MOVE 'INVALID PARM DATE' TO ABEND-MSG. DTSBE330 00284 PERFORM S999-ABEND THRU S999-EXIT. DTSBE330 00285 I1201-EXIT. DTSBE330 00286 EXIT. DTSBE330 00287 DTSBE330 00288 DTSBE330 00289 I1202-ERROR. DTSBE330 00290 DISPLAY 'SUBJECT DATE CANNOT BE > PRIOR RUN DATE ' DTSBE330 00291 L001-FED-8-DATE-X. DTSBE330 00292 MOVE 'FUTURE DATE' TO ABEND-MSG. DTSBE330 00293 PERFORM S999-ABEND THRU S999-EXIT. DTSBE330 00294 I1202-EXIT. DTSBE330 00295 EXIT. DTSBE330 00296 DTSBE330 00297 I2000-OPEN-FILES. DTSBE330 00298 OPEN OUTPUT X330-FILE. DTSBE330 00299 IF NOT X330-STATUS-OK-88 DTSBE330 00300 DISPLAY 'X330 FILE OPEN ERROR: ' X330-STATUS DTSBE330 00301 MOVE 'FILE OPEN ERROR' DTSBE330 00302 TO ABEND-MSG DTSBE330 00303 PERFORM S999-ABEND THRU S999-EXIT DTSBE330 00304 END-IF. DTSBE330 00305 DTSBE330 00306 I2000-EXIT. DTSBE330 00307 EXIT. DTSBE330 00308 DTSBE330 00309 I3000-WRITE-PARM. DTSBE330 00310 OPEN OUTPUT BE330-PARM-FILE. DTSBE330 00311 IF NOT PARM-STATUS-OK-88 DTSBE330 00312 DISPLAY 'PARM FILE OPEN ERROR: ' PARM-STATUS DTSBE330 00313 PERFORM S999-ABEND THRU S999-EXIT DTSBE330 00314 END-IF. DTSBE330 00315 DTSBE330 00316 WRITE BE330-PARM-REC FROM WRK-SUBJECT-DATE. DTSBE330 00317 IF NOT PARM-STATUS-OK-88 DTSBE330 00318 DISPLAY 'PARM FILE WRITE ERROR: ' PARM-STATUS DTSBE330 00319 PERFORM S999-ABEND THRU S999-EXIT DTSBE330 00320 END-IF. DTSBE330 00321 DTSBE330 00322 CLOSE BE330-PARM-FILE. DTSBE330 00323 IF NOT PARM-STATUS-OK-88 DTSBE330 00324 DISPLAY 'PARM FILE CLOSE ERROR: ' PARM-STATUS DTSBE330 00325 PERFORM S999-ABEND THRU S999-EXIT DTSBE330 00326 END-IF. DTSBE330 00327 DTSBE330 00328 I3000-EXIT. DTSBE330 00329 EXIT. DTSBE330 00330 DTSBE330 00331 P0000-PROCESS. DTSBE330 00332 IF MPRF-TOT-BALANCE-AMT > ZERO DTSBE330 00333 OR MPRF-TOT-CREDIT-AMT > ZERO DTSBE330 00334 NEXT SENTENCE DTSBE330 00335 ELSE DTSBE330 00336 GO TO P0000-EXIT. DTSBE330 00337 DTSBE330 00338 PERFORM P4000-ACCTS-RECEIVABLE THRU P4000-EXIT. DTSBE330 00339 DTSBE330 00340 P0000-EXIT. DTSBE330 00341 EXIT. DTSBE330 00342 DTSBE330 00343 P4000-ACCTS-RECEIVABLE. DTSBE330 00344 *& DTSBE330 00345 * IF MPRF-EMP-NO = 079042 OR 052388 DTSBE330 00346 * DISPLAY 'P4000 ' MPRF-EMP-NO ' ' MJRN-BATCH-NO DTSBE330 00347 * ' ' MJRN-ITEM-NO ' ' MJRN-ESTB-DATE DTSBE330 00348 * END-IF. DTSBE330 00349 *& DTSBE330 00350 MOVE LOW-VALUES TO MJRN-KEY-AREA. DTSBE330 00351 MOVE MPRF-EMP-NO TO MJRN-EMP-NO. DTSBE330 00352 MOVE WRK-ABSTIME TO MJRN-ESTB-ABSTIME. DTSBE330 00353 SET MJRN-JRN-88 TO TRUE. DTSBE330 00354 MOVE MJRN-KEY-AREA TO MSKL-KEY-AREA. DTSBE330 00355 PERFORM S910-START-BROWSE THRU S910-EXIT. DTSBE330 00356 PERFORM UNTIL L910-NO-REC-88 DTSBE330 00357 MOVE MSKL-REC TO MJRN-REC DTSBE330 00358 ADD +1 TO WRK-MJRN-READ-CNT DTSBE330 00359 IF MJRN-ESTB-DATE = WRK-SUBJECT-DATE DTSBE330 00360 PERFORM P4200-ACCT-TABLE THRU P4200-EXIT DTSBE330 00361 END-IF DTSBE330 00362 PERFORM S910-READ-NEXT THRU S910-EXIT DTSBE330 00363 END-PERFORM. DTSBE330 00364 DTSBE330 00365 DTSBE330 00366 P4000-EXIT. DTSBE330 00367 EXIT. DTSBE330 00368 DTSBE330 00369 P4200-ACCT-TABLE. DTSBE330 00370 MOVE +400 TO QTR-FIRST DTSBE330 00371 MOVE +0 TO QTR-LAST DTSBE330 00372 CR-LAST DTSBE330 00373 CR-SUB. DTSBE330 00374 DTSBE330 00375 PERFORM DTSBE330 00376 VARYING QTR-SUB FROM +1 BY +1 DTSBE330 00377 UNTIL QTR-SUB > +400 DTSBE330 00378 MOVE +0 TO WRK-JRN-YRQ (QTR-SUB) DTSBE330 00379 WRK-JRN-AMT (QTR-SUB) DTSBE330 00380 WRK-CREDIT-AMT (QTR-SUB) DTSBE330 00381 END-PERFORM. DTSBE330 00382 DTSBE330 00383 IF MJRN-TRAN-CNVR-88 DTSBE330 00384 GO TO P4200-EXIT. DTSBE330 00385 DTSBE330 00386 PERFORM P4210-ACCT-ENTRY THRU P4210-EXIT DTSBE330 00387 VARYING MJRN-OCC-IDX FROM +1 BY +1 DTSBE330 00388 UNTIL MJRN-OCC-IDX > MJRN-OCC-CNT. DTSBE330 00389 DTSBE330 00390 PERFORM P4300-WRITE-DEBITS THRU P4300-EXIT. DTSBE330 00391 DTSBE330 00392 PERFORM P4400-WRITE-CREDITS THRU P4400-EXIT. DTSBE330 00393 DTSBE330 00394 P4200-EXIT. DTSBE330 00395 EXIT. DTSBE330 00396 DTSBE330 00397 DTSBE330 00398 P4210-ACCT-ENTRY. DTSBE330 00399 IF MJRN-YRQ (MJRN-OCC-IDX) = LECM-PICKUP-YRQ DTSBE330 00400 GO TO P4210-EXIT. DTSBE330 00401 DTSBE330 00402 IF MJRN-ROW-UI-88 (MJRN-OCC-IDX) DTSBE330 00403 PERFORM P4211-TAX THRU P4211-EXIT DTSBE330 00404 ELSE DTSBE330 00405 IF MJRN-YRQ-CREDIT-88 (MJRN-OCC-IDX) DTSBE330 00406 PERFORM P4212-CREDIT THRU P4212-EXIT DTSBE330 00407 GO TO P4210-EXIT DTSBE330 00408 END-IF DTSBE330 00409 END-IF. DTSBE330 00410 DTSBE330 00411 P4210-EXIT. DTSBE330 00412 EXIT. DTSBE330 00413 DTSBE330 00414 P4211-TAX. DTSBE330 00415 MOVE MJRN-YRQ (MJRN-OCC-IDX) TO L004-QTR-5-9. DTSBE330 00416 PERFORM S004-FROM-5 THRU S004-EXIT. DTSBE330 00417 MOVE L004-ABS-QTR TO QTR-SUB. DTSBE330 00418 MOVE L004-QTR-5-9 TO WRK-JRN-YRQ (QTR-SUB). DTSBE330 00419 DTSBE330 00420 IF QTR-SUB < QTR-FIRST DTSBE330 00421 MOVE QTR-SUB TO QTR-FIRST DTSBE330 00422 END-IF. DTSBE330 00423 DTSBE330 00424 IF QTR-SUB > QTR-LAST DTSBE330 00425 MOVE QTR-SUB TO QTR-LAST DTSBE330 00426 END-IF. DTSBE330 00427 DTSBE330 00428 IF MJRN-COL-PAID-88 (MJRN-OCC-IDX) DTSBE330 00429 OR MJRN-COL-TOLERATED-88 (MJRN-OCC-IDX) DTSBE330 00430 OR MJRN-COL-WAIVED-88 (MJRN-OCC-IDX) DTSBE330 00431 OR MJRN-COL-WRITTEN-OFF-88 (MJRN-OCC-IDX) DTSBE330 00432 SUBTRACT MJRN-AMT (MJRN-OCC-IDX) DTSBE330 00433 FROM WRK-JRN-AMT (QTR-SUB) DTSBE330 00434 ELSE DTSBE330 00435 ADD MJRN-AMT (MJRN-OCC-IDX) DTSBE330 00436 TO WRK-JRN-AMT (QTR-SUB) DTSBE330 00437 END-IF. DTSBE330 00438 DTSBE330 00439 P4211-EXIT. DTSBE330 00440 EXIT. DTSBE330 00441 DTSBE330 00442 P4212-CREDIT. DTSBE330 00443 IF CR-SUB < CR-MAX DTSBE330 00444 ADD +1 TO CR-SUB DTSBE330 00445 MOVE CR-SUB TO CR-LAST DTSBE330 00446 ELSE DTSBE330 00447 DISPLAY 'CREDIT TABLE LENGTH EXCEEDED ' DTSBE330 00448 MJRN-EMP-NO ' ' MJRN-BATCH-NO ' ' MJRN-ITEM-NO DTSBE330 00449 GO TO P4212-EXIT DTSBE330 00450 END-IF. DTSBE330 00451 DTSBE330 00452 ADD MJRN-AMT (MJRN-OCC-IDX) TO WRK-CREDIT-AMT (CR-SUB). DTSBE330 00453 DTSBE330 00454 *& DTSBE330 00455 * MOVE MJRN-AMT (MJRN-OCC-IDX) TO DISPLAY-AMT. DTSBE330 00456 * DISPLAY 'P4412 ' MJRN-EMP-NO ' ' MJRN-BATCH-NO DTSBE330 00457 * ' ' MJRN-ITEM-NO ' ' DISPLAY-AMT. DTSBE330 00458 * DISPLAY SPACE. DTSBE330 00459 *& DTSBE330 00460 P4212-EXIT. DTSBE330 00461 EXIT. DTSBE330 00462 DTSBE330 00463 DTSBE330 00464 P4300-WRITE-DEBITS. DTSBE330 00465 PERFORM DTSBE330 00466 VARYING QTR-SUB FROM QTR-FIRST BY +1 DTSBE330 00467 UNTIL QTR-SUB > QTR-LAST DTSBE330 00468 IF WRK-JRN-AMT (QTR-SUB) NOT = ZERO DTSBE330 00469 PERFORM P4310-WRITE-X330 THRU P4310-EXIT DTSBE330 00470 END-IF DTSBE330 00471 END-PERFORM. DTSBE330 00472 DTSBE330 00473 P4300-EXIT. DTSBE330 00474 EXIT. DTSBE330 00475 DTSBE330 00476 P4310-WRITE-X330. DTSBE330 00477 MOVE MPRF-EMP-NO TO X330-EMP-NO. DTSBE330 00478 MOVE WRK-JRN-YRQ (QTR-SUB) TO X330-YRQ. DTSBE330 00479 MOVE MJRN-ESTB-DATE TO X330-ESTB-DATE. DTSBE330 00480 MOVE MJRN-BATCH-NO TO X330-BATCH-NO. DTSBE330 00481 MOVE MJRN-ITEM-NO TO X330-ITEM-NO. DTSBE330 00482 MOVE MJRN-TRAN-TYPE TO X330-TRAN-TYPE. DTSBE330 00483 DTSBE330 00484 MOVE WRK-JRN-AMT (QTR-SUB) TO X330-AMT. DTSBE330 00485 *& DTSBE330 00486 * IF MPRF-EMP-NO = 079042 OR 052388 DTSBE330 00487 * DISPLAY 'P4311 ' X330-EMP-NO ' ' X330-BATCH-NO DTSBE330 00488 * ' ' X330-ITEM-NO ' ' X330-AMT DTSBE330 00489 * DISPLAY SPACE DTSBE330 00490 * END-IF. DTSBE330 00491 *& DTSBE330 00492 WRITE X330-REC. DTSBE330 00493 IF X330-STATUS-OK-88 DTSBE330 00494 ADD +1 TO WRK-X330-CNT DTSBE330 00495 ELSE DTSBE330 00496 DISPLAY 'CANNOT WRITE X330 ' MPRF-EMP-NO DTSBE330 00497 ' ' MJRN-BATCH-NO ' ' MJRN-ITEM-NO DTSBE330 00498 END-IF. DTSBE330 00499 DTSBE330 00500 P4310-EXIT. DTSBE330 00501 EXIT. DTSBE330 00502 DTSBE330 00503 P4400-WRITE-CREDITS. DTSBE330 00504 PERFORM DTSBE330 00505 VARYING CR-SUB FROM +1 BY +1 DTSBE330 00506 UNTIL CR-SUB > CR-LAST DTSBE330 00507 IF WRK-CREDIT-AMT (CR-SUB) NOT = ZERO DTSBE330 00508 PERFORM P4410-WRITE-X330 THRU P4410-EXIT DTSBE330 00509 END-IF DTSBE330 00510 END-PERFORM. DTSBE330 00511 DTSBE330 00512 P4400-EXIT. DTSBE330 00513 EXIT. DTSBE330 00514 DTSBE330 00515 P4410-WRITE-X330. DTSBE330 00516 MOVE MPRF-EMP-NO TO X330-EMP-NO. DTSBE330 00517 MOVE +99999 TO X330-YRQ. DTSBE330 00518 MOVE MJRN-ESTB-DATE TO X330-ESTB-DATE. DTSBE330 00519 MOVE MJRN-BATCH-NO TO X330-BATCH-NO. DTSBE330 00520 MOVE MJRN-ITEM-NO TO X330-ITEM-NO. DTSBE330 00521 MOVE MJRN-TRAN-TYPE TO X330-TRAN-TYPE. DTSBE330 00522 DTSBE330 00523 MOVE WRK-CREDIT-AMT (CR-SUB) TO X330-AMT. DTSBE330 00524 *& DTSBE330 00525 * DISPLAY 'P4410 ' X330-EMP-NO ' ' X330-BATCH-NO DTSBE330 00526 * ' ' X330-ITEM-NO ' ' X330-AMT ' ' X330-YRQ. DTSBE330 00527 * DISPLAY SPACE. DTSBE330 00528 *& DTSBE330 00529 WRITE X330-REC. DTSBE330 00530 IF X330-STATUS-OK-88 DTSBE330 00531 ADD +1 TO WRK-X330-CNT DTSBE330 00532 ELSE DTSBE330 00533 DISPLAY 'CANNOT WRITE X330 ' MPRF-EMP-NO DTSBE330 00534 ' ' MJRN-BATCH-NO ' ' MJRN-ITEM-NO DTSBE330 00535 END-IF. DTSBE330 00536 DTSBE330 00537 P4410-EXIT. DTSBE330 00538 EXIT. DTSBE330 00539 DTSBE330 00540 T0000-TERMINATE. DTSBE330 00541 CLOSE X330-FILE. DTSBE330 00542 DTSBE330 00543 MOVE WRK-X330-CNT TO DISPLAY-CNT. DTSBE330 00544 DTSBE330 00545 DISPLAY '*********************************************'. DTSBE330 00546 DISPLAY '** DTSBE330 TERMINATION STATISTICS **'. DTSBE330 00547 DISPLAY '** **'. DTSBE330 00548 DISPLAY '** X330 COUNT ' DISPLAY-CNT DTSBE330 00549 ' **'. DTSBE330 00550 DISPLAY '** **'. DTSBE330 00551 DISPLAY '*********************************************'. DTSBE330 00552 DTSBE330 00553 T0000-EXIT. DTSBE330 00554 EXIT. DTSBE330 00555 DTSBE330 00556 S001-FROM-FED-8. DTSBE330 00557 SET L001-FROM-FED-8 TO TRUE. DTSBE330 00558 GO TO S001-DATE. DTSBE330 00559 DTSBE330 00560 S001-FROM-ABS-DAY. DTSBE330 00561 SET L001-FROM-ABS-DAY TO TRUE. DTSBE330 00562 GO TO S001-DATE. DTSBE330 00563 DTSBE330 00564 S001-FROM-CAL-6. DTSBE330 00565 SET L001-FROM-CAL-6 TO TRUE. DTSBE330 00566 GO TO S001-DATE. DTSBE330 00567 DTSBE330 00568 S001-DATE. DTSBE330 00569 CALL 'DTSBU001' USING L001-LINK-AREA. DTSBE330 00570 S001-EXIT. DTSBE330 00571 EXIT. DTSBE330 00572 SKIP3 DTSBE330 00573 S004-FROM-5. DTSBE330 00574 SET L004-FROM-5 TO TRUE. DTSBE330 00575 GO TO S004-QTR. DTSBE330 00576 DTSBE330 00577 S004-FROM-ABS. DTSBE330 00578 SET L004-FROM-ABS TO TRUE. DTSBE330 00579 GO TO S004-QTR. DTSBE330 00580 DTSBE330 00581 S004-FROM-3. DTSBE330 00582 SET L004-FROM-3 TO TRUE. DTSBE330 00583 GO TO S004-QTR. DTSBE330 00584 DTSBE330 00585 S004-FROM-DATE. DTSBE330 00586 SET L004-FROM-DATE TO TRUE. DTSBE330 00587 GO TO S004-QTR. DTSBE330 00588 DTSBE330 00589 S004-QTR. DTSBE330 00590 DTSBE330 00591 CALL 'DTSBU004' USING L004-LINK-AREA. DTSBE330 00592 DTSBE330 00593 S004-EXIT. DTSBE330 00594 EXIT. DTSBE330 00595 SKIP3 DTSBE330 00596 S005-FROM-DATE-TIME. DTSBE330 00597 SET L005-FROM-DATE-TIME TO TRUE. DTSBE330 00598 CALL 'DTSBU005' USING L005-LINK-AREA. DTSBE330 00599 S005-EXIT. DTSBE330 00600 EXIT. DTSBE330 00601 DTSBE330 00602 S910-READ. DTSBE330 00603 SET L910-READ-88 TO TRUE. DTSBE330 00604 GO TO S910-MSTR-IO. DTSBE330 00605 DTSBE330 00606 S910-START-BROWSE. DTSBE330 00607 SET L910-START-BROWSE-88 TO TRUE. DTSBE330 00608 GO TO S910-MSTR-IO. DTSBE330 00609 DTSBE330 00610 S910-READ-NEXT. DTSBE330 00611 SET L910-READ-NEXT-88 TO TRUE. DTSBE330 00612 GO TO S910-MSTR-IO. DTSBE330 00613 DTSBE330 00614 *S910-COUNT. DTSBE330 00615 *****SET L910-COUNT-88 TO TRUE. DTSBE330 00616 *****GO TO S910-MSTR-IO. DTSBE330 00617 DTSBE330 00618 S910-REWRITE. DTSBE330 00619 SET L910-REWRITE-88 TO TRUE. DTSBE330 00620 SET LECM-EMP-UPDATED-YES-88 TO TRUE. DTSBE330 00621 GO TO S910-MSTR-IO. DTSBE330 00622 DTSBE330 00623 S910-MSTR-IO. DTSBE330 00624 CALL 'DTSBU910' USING L910-LINK-AREA DTSBE330 00625 MSKL-REC. DTSBE330 00626 S910-EXIT. DTSBE330 00627 EXIT. DTSBE330 00628 SKIP3 DTSBE330 00629 DTSBE330 00630 S931-READ. DTSBE330 00631 SET L931-READ-88 TO TRUE. DTSBE330 00632 GO TO S931-REF-IO. DTSBE330 00633 DTSBE330 00634 S931-REF-IO. DTSBE330 00635 CALL 'DTSBU931' USING L931-LINK-AREA DTSBE330 00636 FSKL-REC. DTSBE330 00637 S931-EXIT. DTSBE330 00638 EXIT. DTSBE330 00639 DTSBE330 00640 S999-ABEND. DTSBE330 00641 DISPLAY '*** DTSBE330 ABENDING. ' DTSBE330 00642 ABEND-MSG. DTSBE330 00643 DTSBE330 00644 CALL 'DTSBU999' USING WRK-ABEND-CD. DTSBE330 00645 S999-EXIT. DTSBE330 00646 EXIT. DTSBE330