00001 IDENTIFICATION DIVISION. 03/23/16 00002 PROGRAM-ID. DTSBD525. DTSBD525 00003 AUTHOR. NGC. LV007 00004 DATE-WRITTEN. SEPTEMBER 2006. DTSBD525 00005 DATE-COMPILED. DTSBD525 00006 SKIP3 DTSBD525 00007 ***** DTSBD525 00008 * DTSBD525 00009 * DTSBD525 00010 * FUNCTION: ADD MEVL RECORDS WHEN A SELF-INSURED BILL DTSBD525 00011 * FOR ADMINISTRATIVE ASSESSMENT IS PRINTED. DTSBD525 00012 * DTSBD525 00013 * MODIFICATION HISTORY: DTSBD525 00014 * DTSBD525 00015 * 09-21-2006 INITIAL DEVELOPMENT. DTSBD525 00016 * REFERENCE RFP # ADMIN ASSESS PROGRAMMER: GD DTSBD525 00017 * DTSBD525 00018 * MM-DD-CCYY XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXDTSBD525 00019 * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXDTSBD525 00020 * REFERENCE RFP #**** PROGRAMMER: XXXDTSBD525 00021 * DTSBD525 00022 * DTSBD525 00023 * DESCRIPTION: DTSBD525 00024 * DTSBD525 00025 * THIS PROGRAM RUNS AT THE END OF THE DAILY UPDATE. DTSBD525 00026 * BEFORE THE UPDATE, DTSBE325 CREATES T026 ACCOUNTING DTSBD525 00027 * TRANSACTIONS AND R325 REPORT RECORDS FOR SELF-INSURED DTSBD525 00028 * EMPLOYERS WHO OWE ADMINISTRATIVE ASSESSMENT. DTSBD525 00029 * DTSBD525 READS THE REPORT RECORDS. FOR EACH, IT FINDS DTSBD525 00030 * THE MQTR RECORDS AND DETERMINES THE ACTUAL BALANCE DUE DTSBD525 00031 * (TAKING ACCOUNT OF ANY CREDITS THE EMPLOYER MAY HAVE DTSBD525 00032 * HAD). IF THERE IS STILL A BALANCE DUE, IT UPDATES THE DTSBD525 00033 * R325 RECORD, ADDING THE ACTUAL AMOUNT OWED, AND ADDS DTSBD525 00034 * AN MEVL RECORD. DTSBD525 00035 * DTSBD525 00036 * PROCESSING: DTSBD525 00037 * DTSBD525 00038 * DETAIL: DTSBD525 00039 * DTSBD525 00040 * DTSBD525 00041 * RECORDS READ: DTSBD525 00042 * DTSBD525 00043 * MQTR. DTSBD525 00044 * DTSBD525 00045 * DTSBD525 00046 * PRINTED OUTPUTS: DTSBD525 00047 * DTSBD525 00048 * R325 UPDATED REPORT RECORD. DTSBD525 00049 * DTSBD525 00050 * RECORDS WRITTEN: DTSBD525 00051 * DTSBD525 00052 * NONE. DTSBD525 00053 * DTSBD525 00054 * DTSBD525 00055 * MODULES CALLED: DTSBD525 00056 * DTSBD525 00057 * DTSBU001 DATE EDIT/CONVERSION. DTSBD525 00058 * DTSBD525 00059 ***** DTSBD525 00060 EJECT DTSBD525 00061 ENVIRONMENT DIVISION. DTSBD525 00062 SKIP2 DTSBD525 00063 CONFIGURATION SECTION. DTSBD525 00064 SPECIAL-NAMES. C01 IS TOP-OF-PAGE. DTSBD525 00065 INPUT-OUTPUT SECTION. DTSBD525 00066 SKIP2 DTSBD525 00067 FILE-CONTROL. DTSBD525 00068 DTSBD525 00069 SELECT R325-FILE ASSIGN TO DTSFR325 DTSBD525 00070 FILE STATUS IS R325-STATUS. DTSBD525 00071 DTSBD525 00072 DATA DIVISION. DTSBD525 00073 DTSBD525 00074 FILE SECTION. DTSBD525 00075 DTSBD525 00076 FD R325-FILE DTSBD525 00077 RECORDING MODE IS V DTSBD525 00078 LABEL RECORDS ARE STANDARD. DTSBD525 00079 01 FILE-REC. DTSBD525 00080 ++INCLUDE DTSIRVAR DTSBD525 00081 SKIP3 DTSBD525 00082 01 R325-REC. DTSBD525 00083 ++INCLUDE DTSIR325 DTSBD525 00084 DTSBD525 00085 WORKING-STORAGE SECTION. DTSBD525 000855 77 PAN-VALET PICTURE X(24) VALUE '007DTSBD525 03/23/16'. DTSBD525 00086 77 PAN-VALET PICTURE X(24) VALUE '003DTSBD525 03/23/16'. DTSBD525 00087 77 PAN-VALET PICTURE X(24) VALUE '005DTSBD525 05/28/14'. DTSBD525 00088 77 PAN-VALET PICTURE X(24) VALUE '012DTSBD525 05/28/14'. DTSBD525 00089 77 PAN-VALET PICTURE X(24) VALUE '003DTSBD525 06/18/13'. DTSBD525 00090 77 PAN-VALET PICTURE X(24) VALUE '002DTSBD525 06/17/13'. DTSBD525 00091 77 PAN-VALET PICTURE X(24) VALUE '001DTSBD525 10/04/06'. DTSBD525 00092 DTSBD525 00093 01 WRK-AREA-CONSTANTS. DTSBD525 00094 05 WRK-ABEND-CD PIC S9(04) COMP DTSBD525 00095 VALUE +525. DTSBD525 00096 05 WRK-TRACE-IND PIC X(01). DTSBD525 00097 05 WRK-ABEND-MSG PIC X(60) VALUE SPACES. DTSBD525 00098 05 WRK-MOD-NAME PIC X(08) VALUE 'DTSBD525'.DTSBD525 00099 DTSBD525 00100 05 R325-STATUS PIC X(02). DTSBD525 00101 88 R325-STATUS-OK-88 VALUE '00'. DTSBD525 00102 88 R325-STATUS-EOF-88 VALUE '10'. DTSBD525 00103 DTSBD525 00104 05 WRK-ERROR-IND PIC X(01). DTSBD525 00105 88 WRK-ERROR-YES-88 VALUE 'Y'. DTSBD525 00106 88 WRK-ERROR-NO-88 VALUE 'N'. DTSBD525 00107 DTSBD525 00108 05 VAR-CHAR-CNT PIC S9(04) COMP VALUE +0. DTSBD525 00109 DTSBD525 00110 05 WRK-BALANCE PIC S9(11)V9(02) COMP-3 VALUE +0. DTSBD525 00111 05 WRK-EMP-NO PIC S9(07) COMP-3 VALUE +0. DTSBD525 00112 05 WRK-YRQ PIC S9(05) COMP-3 VALUE +0. DTSBD525 00113 05 WRK-AMT-DISP PIC ZZZ,ZZZ,ZZ9.99. DTSBD525 00114 DTSBD525 00115 05 WRK-READ-CNT PIC S9(07) COMP-3 VALUE +0. DTSBD525 00116 05 WRK-UPDATE-CNT PIC S9(07) COMP-3 VALUE +0. DTSBD525 00117 DTSBD525 00118 05 AMT-DISP1 PIC ---------9.99. DTSBD525 00119 05 AMT-DISP2 PIC ---------9.99. DTSBD525 00120 EJECT DTSBD525 00121 01 L001-LINK-AREA. DTSBD525 00122 ++INCLUDE DTSIL001 DTSBD525 00123 EJECT DTSBD525 00124 01 L004-LINK-AREA. DTSBD525 00125 ++INCLUDE DTSIL004 DTSBD525 00126 EJECT DTSBD525 00127 01 L005-LINK-AREA. DTSBD525 00128 ++INCLUDE DTSIL005 DTSBD525 00129 EJECT DTSBD525 00130 01 L910-LINK-AREA. DTSBD525 00131 ++INCLUDE DTSIL910 DTSBD525 00132 EJECT DTSBD525 00133 01 MSKL-REC. DTSBD525 00134 ++INCLUDE DTSIMSKL DTSBD525 00135 EJECT DTSBD525 00136 01 MHDR-REC. DTSBD525 00137 ++INCLUDE DTSIMHDR DTSBD525 00138 EJECT DTSBD525 00139 01 MQTR-REC. DTSBD525 00140 ++INCLUDE DTSIMQTR DTSBD525 00141 EJECT DTSBD525 00142 01 MEVL-REC. DTSBD525 00143 ++INCLUDE DTSIMEVL DTSBD525 00144 EJECT DTSBD525 00145 DTSBD525 00146 PROCEDURE DIVISION. DTSBD525 00147 PERFORM I0000-INITIATE THRU I0000-EXIT. DTSBD525 00148 DTSBD525 00149 PERFORM P0000-PROCESS THRU P0000-EXIT. DTSBD525 00150 DTSBD525 00151 PERFORM T0000-TERMINATE THRU T0000-EXIT. DTSBD525 00152 DTSBD525 00153 SKIP2 DTSBD525 00154 GOBACK. DTSBD525 00155 EJECT DTSBD525 00156 I0000-INITIATE. DTSBD525 00157 DTSBD525 00158 MOVE 'N' TO WRK-TRACE-IND. DTSBD525 00159 SET WRK-ERROR-NO-88 TO TRUE. DTSBD525 00160 DTSBD525 00161 PERFORM I2000-OPEN-FILES THRU I2000-EXIT. DTSBD525 00162 DTSBD525 00163 PERFORM I3000-CURRENT-DATE THRU I3000-EXIT. DTSBD525 00164 I0000-EXIT. DTSBD525 00165 EXIT. DTSBD525 00166 DTSBD525 00167 I2000-OPEN-FILES. DTSBD525 00168 OPEN I-O R325-FILE. DTSBD525 00169 IF NOT R325-STATUS-OK-88 DTSBD525 00170 DISPLAY 'CANNOT OPEN R325 FILE ' R325-STATUS DTSBD525 00171 SET WRK-ERROR-YES-88 TO TRUE DTSBD525 00172 GO TO I2000-EXIT DTSBD525 00173 END-IF. DTSBD525 00174 DTSBD525 00175 PERFORM S910-OPEN-UPDATE THRU S910-EXIT. DTSBD525 00176 DTSBD525 00177 I2000-EXIT. DTSBD525 00178 EXIT. DTSBD525 00179 DTSBD525 00180 I3000-CURRENT-DATE. DTSBD525 00181 MOVE LOW-VALUES TO MSKL-REC. DTSBD525 00182 MOVE +0 TO MSKL-EMP-NO. DTSBD525 00183 SET MSKL-HDR-88 TO TRUE. DTSBD525 00184 DTSBD525 00185 PERFORM S910-READ THRU S910-EXIT. DTSBD525 00186 IF L910-NO-REC-88 DTSBD525 00187 DISPLAY 'DTSBE325: MHDR RECORD IS MISSING' DTSBD525 00188 SET WRK-ERROR-YES-88 TO TRUE DTSBD525 00189 GO TO I3000-EXIT DTSBD525 00190 ELSE DTSBD525 00191 MOVE MSKL-REC TO MHDR-REC DTSBD525 00192 END-IF. DTSBD525 00193 DTSBD525 00194 MOVE MHDR-PRIOR-RUN-DATE TO L001-FED-8-DATE-9. DTSBD525 00195 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBD525 00196 DISPLAY 'DTSBD325 CURRENT DATE: ' L001-SLASH-8-DATE. DTSBD525 00197 DTSBD525 00198 PERFORM S005-SYS-DATE THRU S005-EXIT. DTSBD525 00199 I3000-EXIT. DTSBD525 00200 EXIT. DTSBD525 00201 DTSBD525 00202 P0000-PROCESS. DTSBD525 00203 READ R325-FILE. DTSBD525 00204 PERFORM UNTIL R325-STATUS-EOF-88 DTSBD525 00205 ADD +1 TO WRK-READ-CNT DTSBD525 00206 IF R325-RPT-CHG-ASSESS-88 DTSBD525 00207 AND R325-STMT-DATE = MHDR-PRIOR-RUN-DATE DTSBD525 00208 MOVE R325-EMP-NO TO WRK-EMP-NO DTSBD525 00209 MOVE R325-QTR TO WRK-YRQ DTSBD525 00210 PERFORM P1000-PROCESS-R325 THRU P1000-EXIT DTSBD525 00211 END-IF DTSBD525 00212 READ R325-FILE DTSBD525 00213 END-PERFORM. DTSBD525 00214 DTSBD525 00215 P0000-EXIT. DTSBD525 00216 EXIT. DTSBD525 00217 DTSBD525 00218 P1000-PROCESS-R325. DTSBD525 00219 MOVE +0 TO WRK-BALANCE. DTSBD525 00220 DTSBD525 00221 MOVE LOW-VALUES TO MQTR-KEY-AREA. DTSBD525 00222 SET MQTR-QTR-88 TO TRUE. DTSBD525 00223 MOVE R325-EMP-NO TO MQTR-EMP-NO. DTSBD525 00224 MOVE R325-QTR TO MQTR-YRQ. DTSBD525 00225 MOVE MQTR-KEY-AREA TO MSKL-KEY-AREA DTSBD525 00226 PERFORM S910-READ THRU S910-EXIT. DTSBD525 00227 IF L910-OK-88 DTSBD525 00228 MOVE MSKL-REC TO MQTR-REC DTSBD525 00229 PERFORM DTSBD525 00230 VARYING MQTR-ACCT-IDX FROM +1 BY +1 DTSBD525 00231 UNTIL MQTR-ACCT-IDX > MQTR-ACCT-CNT DTSBD525 00232 IF MQTR-ACCT-SUR-88 (MQTR-ACCT-IDX) DTSBD525 00233 ADD MQTR-BALANCE-AMT (MQTR-ACCT-IDX) DTSBD525 00234 TO WRK-BALANCE DTSBD525 00235 END-IF DTSBD525 00236 END-PERFORM DTSBD525 00237 IF WRK-BALANCE > +1 DTSBD525 00238 PERFORM P1100-UPDATE-R325 THRU P1100-EXIT DTSBD525 00239 PERFORM P1200-ADD-MEVL THRU P1200-EXIT DTSBD525 00240 ADD +1 TO WRK-UPDATE-CNT DTSBD525 00241 **NH TESTING CREDIT BALANCE FOR SI DTSBD525 00242 ELSE DTSBD525 00243 IF WRK-BALANCE < +1 DTSBD525 00244 PERFORM P1100-UPDATE-R325 THRU P1100-EXIT DTSBD525 00245 PERFORM P1200-ADD-MEVL THRU P1200-EXIT DTSBD525 00246 END-IF DTSBD525 00247 END-IF. DTSBD525 00248 DTSBD525 00249 P1000-EXIT. DTSBD525 00250 EXIT. DTSBD525 00251 DTSBD525 00252 DTSBD525 00253 P1100-UPDATE-R325. DTSBD525 00254 MOVE R325-CALC-ASSESS-DUE TO AMT-DISP1. DTSBD525 00255 DISPLAY SPACE. DTSBD525 00256 DISPLAY WRK-EMP-NO ' ' AMT-DISP1 ' ' R325-QTR. DTSBD525 00257 MOVE WRK-BALANCE TO R325-FINAL-ASSESS-DUE. DTSBD525 00258 MOVE R325-FINAL-ASSESS-DUE TO AMT-DISP2. DTSBD525 00259 DISPLAY ' ' AMT-DISP2. DTSBD525 00260 REWRITE R325-REC. DTSBD525 00261 DTSBD525 00262 P1100-EXIT. DTSBD525 00263 EXIT. DTSBD525 00264 DTSBD525 00265 P1200-ADD-MEVL. DTSBD525 00266 MOVE LOW-VALUES TO MEVL-REC. DTSBD525 00267 MOVE L005-DATE TO MEVL-ESTB-DATE DTSBD525 00268 MEVL-CHNG-DATE DTSBD525 00269 MEVL-DATE. DTSBD525 00270 DTSBD525 00271 ADD +1000 TO L005-ABSTIME. DTSBD525 00272 PERFORM S005-FROM-ABSTIME THRU S005-EXIT. DTSBD525 00273 DTSBD525 00274 MOVE WRK-EMP-NO TO MEVL-EMP-NO. DTSBD525 00275 SET MEVL-EVL-88 TO TRUE. DTSBD525 00276 MOVE +0 TO MEVL-PURGE-DATE. DTSBD525 00277 MOVE WRK-BALANCE TO WRK-AMT-DISP. DTSBD525 00278 MOVE WRK-YRQ TO L004-QTR-5-9. DTSBD525 00279 PERFORM S004-FROM-5 THRU S004-EXIT. DTSBD525 00280 IF L004-INVALID-QTR DTSBD525 00281 DISPLAY 'INVALID QUARTER ' R325-QTR DTSBD525 00282 GO TO P1200-EXIT DTSBD525 00283 END-IF. DTSBD525 00284 DTSBD525 00285 STRING DTSBD525 00286 'SI ADMIN ASSESS BILL SENT: ', DTSBD525 00287 WRK-AMT-DISP, DTSBD525 00288 ' ', DTSBD525 00289 L004-SLASH-5-QTR DTSBD525 00290 DELIMITED BY SIZE DTSBD525 00291 INTO MEVL-TEXT DTSBD525 00292 END-STRING. DTSBD525 00293 MOVE 'DTSBE327' TO MEVL-SOURCE. DTSBD525 00294 SET MEVL-NOT-CONVERTED-88 TO TRUE. DTSBD525 00295 MOVE L005-TIME TO MEVL-TIME. DTSBD525 00296 MOVE MEVL-REC TO MSKL-REC. DTSBD525 00297 PERFORM S910-WRITE THRU S910-EXIT. DTSBD525 00298 DTSBD525 00299 P1200-EXIT. DTSBD525 00300 EXIT. DTSBD525 00301 DTSBD525 00302 T0000-TERMINATE. DTSBD525 00303 DISPLAY ' '. DTSBD525 00304 DTSBD525 00305 DISPLAY '*** DTSBD525 (SI ASSESSMENT MEVL ) ' DTSBD525 00306 'TERMINATION STATISTICS'. DTSBD525 00307 DISPLAY ' '. DTSBD525 00308 DISPLAY ' R325 RECORDS SELECTED : ' WRK-READ-CNT. DTSBD525 00309 DISPLAY ' R325 RECORDS UPDATED : ' WRK-UPDATE-CNT. DTSBD525 00310 DISPLAY ' '. DTSBD525 00311 DTSBD525 00312 CLOSE R325-FILE. DTSBD525 00313 PERFORM S910-CLOSE THRU S910-EXIT. DTSBD525 00314 DTSBD525 00315 T0000-EXIT. DTSBD525 00316 EXIT. DTSBD525 00317 EJECT DTSBD525 00318 S001-FROM-FED-8. DTSBD525 00319 SET L001-FROM-FED-8 TO TRUE. DTSBD525 00320 GO TO S001-DATE. DTSBD525 00321 DTSBD525 00322 S001-DATE. DTSBD525 00323 CALL 'DTSBU001' USING L001-LINK-AREA. DTSBD525 00324 S001-EXIT. DTSBD525 00325 EXIT. DTSBD525 00326 DTSBD525 00327 S004-FROM-5. DTSBD525 00328 SET L004-FROM-5 TO TRUE. DTSBD525 00329 GO TO S004-EDIT-QTR. DTSBD525 00330 DTSBD525 00331 S004-FROM-ABS. DTSBD525 00332 SET L004-FROM-ABS TO TRUE. DTSBD525 00333 GO TO S004-EDIT-QTR. DTSBD525 00334 DTSBD525 00335 S004-EDIT-QTR. DTSBD525 00336 CALL 'DTSBU004' USING L004-LINK-AREA. DTSBD525 00337 DTSBD525 00338 S004-EXIT. DTSBD525 00339 EXIT. DTSBD525 00340 DTSBD525 00341 S005-SYS-DATE. DTSBD525 00342 SET L005-FROM-SYS TO TRUE DTSBD525 00343 GO TO S005-ABSTIME. DTSBD525 00344 S005-FROM-ABSTIME. DTSBD525 00345 SET L005-FROM-ABSTIME TO TRUE. DTSBD525 00346 GO TO S005-ABSTIME. DTSBD525 00347 S005-ABSTIME. DTSBD525 00348 CALL 'DTSBU005' USING L005-LINK-AREA. DTSBD525 00349 S005-EXIT. DTSBD525 00350 EXIT. DTSBD525 00351 DTSBD525 00352 S910-OPEN-UPDATE. DTSBD525 00353 SET L910-OPEN-UPDATE-88 TO TRUE. DTSBD525 00354 GO TO S910-MSTR-IO. DTSBD525 00355 S910-READ. DTSBD525 00356 SET L910-READ-88 TO TRUE. DTSBD525 00357 GO TO S910-MSTR-IO. DTSBD525 00358 S910-WRITE. DTSBD525 00359 SET L910-WRITE-88 TO TRUE DTSBD525 00360 GO TO S910-MSTR-IO. DTSBD525 00361 S910-CLOSE. DTSBD525 00362 SET L910-CLOSE-88 TO TRUE DTSBD525 00363 GO TO S910-MSTR-IO. DTSBD525 00364 S910-MSTR-IO. DTSBD525 00365 CALL 'DTSBU910' USING L910-LINK-AREA DTSBD525 00366 MSKL-REC. DTSBD525 00367 S910-EXIT. DTSBD525 00368 EXIT. DTSBD525 00369 DTSBD525 00370 S999-ABEND. DTSBD525 00371 DISPLAY WRK-ABEND-MSG. DTSBD525 00372 DTSBD525 00373 CALL 'DTSBU999' USING WRK-ABEND-CD. DTSBD525 00374 S999-EXIT. DTSBD525 00375 EXIT. DTSBD525