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

355 lines
28 KiB
COBOL

00001 IDENTIFICATION DIVISION. 11/11/02
00002 PROGRAM-ID. DTSBU054. DTSBU054
00003 AUTHOR. TRICOASTAL CONSULTING LTD. LV013
00004 DATE-WRITTEN. NOVEMBER 1991. DTSBU054
00005 DATE-COMPILED. DTSBU054
00006 SKIP3 DTSBU054
00007 ***** DTSBU054
00008 * DTSBU054
00009 * FUNCTION: UI RATE DETERMINATION. DTSBU054
00010 * DTSBU054
00011 * DTSBU054
00012 * MODIFICATION LOG: DTSBU054
00013 * DTSBU054
00014 * 11/25/91 INITIAL DEVELOPMENT. DTSBU054
00015 * WORK ORDER: PROGRAMMER: TCL DTSBU054
00016 * DTSBU054
00017 * 11/09/1998 REVIEWED AND MODIFIED FOR DC. DTSBU054
00018 * REFERENCE: DC DEVELOPMENT PROGRAMMER: EHH DTSBU054
00019 * DTSBU054
00020 * 11/11/1998 CLONED FROM DTSCU054. DTSBU054
00021 * REFERENCE: DC DEVELOPMENT PROGRAMMER: EHH DTSBU054
00022 * DTSBU054
00023 * 07/08/2002 MODIFIED FOR ESTIMATED RATE REQUIREMENT FOR DTSBU054
00024 * HOUSEHOLD EMPLOYERS FILING ANNUALLY. DTSBU054
00025 * REFERENCE: HOUSEHOLD PROGRAMMER: GD DTSBU054
00026 * DTSBU054
00027 * MM/DD/YYYY XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSBU054
00028 * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSBU054
00029 * REFERENCE: XXXXXXXXXXXXXXX PROGRAMMER: XXX DTSBU054
00030 * DTSBU054
00031 * DTSBU054
00032 * DESCRIPTION: DTSBU054
00033 * DTSBU054
00034 * INTERPRETS INFORMATION IN AN MRCT RECORD. DTSBU054
00035 * DTSBU054
00036 ***** DTSBU054
00037 SKIP3 DTSBU054
00038 ENVIRONMENT DIVISION. DTSBU054
00039 SKIP3 DTSBU054
00040 DATA DIVISION. DTSBU054
00041 SKIP3 DTSBU054
00042 WORKING-STORAGE SECTION. DTSBU054
000425 77 PAN-VALET PICTURE X(24) VALUE '013DTSBU054 11/11/02'. DTSBU054
00043 SKIP3 DTSBU054
00044 01 WRK-AREA. DTSBU054
00045 05 WRK-ABEND-CODE PIC S9(04) COMP VALUE +054. DTSBU054
00046 DTSBU054
00047 DTSBU054
00048 05 WRK-TAX-WAGE PIC S9(11)V9(02) COMP-3. DTSBU054
00049 DTSBU054
00050 05 WRK-TRUNCATE-RATIO PIC SV9(03) COMP-3. DTSBU054
00051 EJECT DTSBU054
00052 01 L053-LINK-AREA. DTSBU054
00053 ++INCLUDE DTSIL053 DTSBU054
00054 EJECT DTSBU054
00055 01 L055-LINK-AREA. DTSBU054
00056 ++INCLUDE DTSIL055 DTSBU054
00057 EJECT DTSBU054
00058 01 L931-LINK-AREA. DTSBU054
00059 ++INCLUDE DTSIL931 DTSBU054
00060 SKIP3 DTSBU054
00061 01 FSKL-REC. DTSBU054
00062 ++INCLUDE DTSIFSKL DTSBU054
00063 SKIP3 DTSBU054
00064 01 FUIR-REC REDEFINES FSKL-REC. DTSBU054
00065 ++INCLUDE DTSIFUIR DTSBU054
00066 EJECT DTSBU054
00067 01 MMAX-LITERALS. DTSBU054
00068 ++INCLUDE DTSIMMAX DTSBU054
00069 EJECT DTSBU054
00070 LINKAGE SECTION. DTSBU054
00071 SKIP3 DTSBU054
00072 01 L054-LINK-AREA. DTSBU054
00073 ++INCLUDE DTSIL054 DTSBU054
00074 SKIP3 DTSBU054
00075 01 MRCT-REC. DTSBU054
00076 ++INCLUDE DTSIMRCT DTSBU054
00077 EJECT DTSBU054
00078 PROCEDURE DIVISION USING L054-LINK-AREA DTSBU054
00079 MRCT-REC. DTSBU054
00080 DTSBU054
00081 DTSBU054
00082 SET L054-OK-88 TO TRUE. DTSBU054
00083 DTSBU054
00084 MOVE +0 TO L054-CURRENT-RESERVE-AMT DTSBU054
00085 L054-AVG-TAX-WAGE DTSBU054
00086 L054-RATIO. DTSBU054
00087 DTSBU054
00088 MOVE SPACE TO L054-UI-RATE-CATEGORY. DTSBU054
00089 DTSBU054
00090 MOVE +0 TO L054-UI-CALC-RATE. DTSBU054
00091 DTSBU054
00092 SET L054-UI-PEN-RATE-NO-88 TO TRUE. DTSBU054
00093 DTSBU054
00094 MOVE +0 TO L054-UI-PEN-RATE. DTSBU054
00095 DTSBU054
00096 MOVE SPACES TO L054-MSG-AREA. DTSBU054
00097 DTSBU054
00098 DTSBU054
00099 PERFORM P1000-FIND-RATE-CATEGORY THRU P1000-EXIT. DTSBU054
00100 DTSBU054
00101 IF L054-RATE-LOOKUP-YES-88 DTSBU054
00102 PERFORM P2000-LOOKUP-RATE THRU P2000-EXIT DTSBU054
00103 ELSE DTSBU054
00104 PERFORM P2200-PENALTY-RATE THRU P2200-EXIT. DTSBU054
00105 DTSBU054
00106 DTSBU054
00107 GOBACK. DTSBU054
00108 EJECT DTSBU054
00109 P1000-FIND-RATE-CATEGORY. DTSBU054
00110 COMPUTE L054-CURRENT-RESERVE-AMT DTSBU054
00111 = MRCT-PRIOR-RESERVE-AMT DTSBU054
00112 + MRCT-UI-TAX-PAID-AMT DTSBU054
00113 + MRCT-TRUST-FUND-INTEREST-AMT DTSBU054
00114 - MRCT-BENEFITS-CHARGED-AMT. DTSBU054
00115 DTSBU054
00116 MOVE MRCT-EFF-YRQ TO L055-EFF-YRQ. DTSBU054
00117 DTSBU054
00118 PERFORM S055-FROM-EFF-YRQ THRU S055-EXIT. DTSBU054
00119 DTSBU054
00120 DTSBU054
00121 IF MRCT-EARLIEST-LIAB-DATE = +0 DTSBU054
00122 SET L054-NONCLASSIFIED-88 TO TRUE DTSBU054
00123 ELSE DTSBU054
00124 IF MRCT-EARLIEST-LIAB-DATE < L055-NONCLASSIFIED-FROM-DATE DTSBU054
00125 IF (MRCT-TOT-WAGE (2) > +0.00) DTSBU054
00126 OR DTSBU054
00127 (MRCT-TOT-WAGE (3) > +0.00) DTSBU054
00128 SET L054-CLASSIFIED-88 TO TRUE DTSBU054
00129 ELSE DTSBU054
00130 SET L054-NONCLASSIFIED-88 TO TRUE DTSBU054
00131 ELSE DTSBU054
00132 SET L054-NONCLASSIFIED-88 TO TRUE. DTSBU054
00133 DTSBU054
00134 MOVE +0 TO WRK-TAX-WAGE. DTSBU054
00135 DTSBU054
00136 PERFORM DTSBU054
00137 VARYING MRCT-WAGES-IDX FROM 1 BY 1 DTSBU054
00138 UNTIL MRCT-WAGES-IDX > MMAX-RCT-EXP-MAX DTSBU054
00139 COMPUTE WRK-TAX-WAGE DTSBU054
00140 = WRK-TAX-WAGE + MRCT-TAX-WAGE (MRCT-WAGES-IDX) DTSBU054
00141 END-PERFORM. DTSBU054
00142 DTSBU054
00143 IF L054-CLASSIFIED-88 DTSBU054
00144 IF L054-ESTIMATED-RATE-YES-88 DTSBU054
00145 ADD MRCT-QTR1-ESTIM-TAX-WAGE TO WRK-TAX-WAGE. DTSBU054
00146 DTSBU054
00147 IF WRK-TAX-WAGE < +0.00 DTSBU054
00148 MOVE +0.00 TO WRK-TAX-WAGE. DTSBU054
00149 DTSBU054
00150 COMPUTE L054-AVG-TAX-WAGE ROUNDED DTSBU054
00151 = WRK-TAX-WAGE / MMAX-RCT-EXP-MAX DTSBU054
00152 ON SIZE ERROR DTSBU054
00153 MOVE +0 TO L054-AVG-TAX-WAGE. DTSBU054
00154 DTSBU054
00155 DTSBU054
00156 PERFORM P1100-COMPUTE-RATIO THRU P1100-EXIT. DTSBU054
00157 DTSBU054
00158 DTSBU054
00159 P1000-EXIT. DTSBU054
00160 EXIT. DTSBU054
00161 P1100-COMPUTE-RATIO. DTSBU054
00162 ***** DTSBU054
00163 * DTSBU054
00164 * THE RATHER ODD RESERVE RATIO COMPUTATION PERFORMED IN DTSBU054
00165 * THIS PARAGRAPH IS COMPATIBLE WITH HOW RESERVE RATIO VALUES DTSBU054
00166 * ARE STORED IN THE FUIR RECORD AND WITH THE DISPLAY OF RESERVEDTSBU054
00167 * RATIO VALUES ON SCREENS AND ON PRINTED OUTPUTS. THIS DTSBU054
00168 * PARAGRAPH ENFORCES THE FOLLOWING RULES. DTSBU054
00169 * DTSBU054
00170 * 1. THE MAXIMUM RESERVE RATIO VALUE ALLOWED IS +99.9% DTSBU054
00171 * (00.99900). DTSBU054
00172 * DTSBU054
00173 * 2. THE MINIMUM RESERVE RATIO VALUE ALLOWED IS -99.9% DTSBU054
00174 * (00.99900-). DTSBU054
00175 * DTSBU054
00176 * 3. RESERVE RATIO VALUES ARE ROUNDED AND STORED TO THE DTSBU054
00177 * NEAREST TENTH OF A PERCENT (00.NNN00). DTSBU054
00178 * DTSBU054
00179 ***** DTSBU054
00180 DTSBU054
00181 IF L054-CURRENT-RESERVE-AMT = +0.00 DTSBU054
00182 MOVE +0 TO L054-RATIO DTSBU054
00183 GO TO P1100-EXIT. DTSBU054
00184 DTSBU054
00185 IF L054-CURRENT-RESERVE-AMT > +0.00 DTSBU054
00186 IF L054-CURRENT-RESERVE-AMT >= L054-AVG-TAX-WAGE DTSBU054
00187 MOVE +00.99900 TO L054-RATIO DTSBU054
00188 GO TO P1100-EXIT DTSBU054
00189 ELSE DTSBU054
00190 CONTINUE DTSBU054
00191 ELSE DTSBU054
00192 IF L054-CURRENT-RESERVE-AMT <= (L054-AVG-TAX-WAGE * -1) DTSBU054
00193 MOVE -00.99900 TO L054-RATIO DTSBU054
00194 GO TO P1100-EXIT DTSBU054
00195 ELSE DTSBU054
00196 CONTINUE. DTSBU054
00197 DTSBU054
00198 COMPUTE L054-RATIO ROUNDED DTSBU054
00199 = L054-CURRENT-RESERVE-AMT / L054-AVG-TAX-WAGE DTSBU054
00200 ON SIZE ERROR DTSBU054
00201 MOVE +0 TO L054-RATIO. DTSBU054
00202 DTSBU054
00203 IF L054-RATIO >= +0 DTSBU054
00204 ADD +00.00050 TO L054-RATIO DTSBU054
00205 IF L054-RATIO > +00.99900 DTSBU054
00206 MOVE +00.99900 TO L054-RATIO DTSBU054
00207 ELSE DTSBU054
00208 MOVE L054-RATIO TO WRK-TRUNCATE-RATIO DTSBU054
00209 MOVE WRK-TRUNCATE-RATIO TO L054-RATIO DTSBU054
00210 ELSE DTSBU054
00211 ADD -00.00050 TO L054-RATIO DTSBU054
00212 IF L054-RATIO < -00.99900 DTSBU054
00213 MOVE -00.99900 TO L054-RATIO DTSBU054
00214 ELSE DTSBU054
00215 MOVE L054-RATIO TO WRK-TRUNCATE-RATIO DTSBU054
00216 MOVE WRK-TRUNCATE-RATIO TO L054-RATIO. DTSBU054
00217 P1100-EXIT. DTSBU054
00218 EXIT. DTSBU054
00219 EJECT DTSBU054
00220 P2000-LOOKUP-RATE. DTSBU054
00221 PERFORM P2100-COMPUTED-RATE THRU P2100-EXIT. DTSBU054
00222 DTSBU054
00223 *****IF L054-FILE-CLOSED-88 DTSBU054
00224 *********GO TO P2000-EXIT. DTSBU054
00225 DTSBU054
00226 PERFORM P2200-PENALTY-RATE THRU P2200-EXIT. DTSBU054
00227 P2000-EXIT. DTSBU054
00228 EXIT. DTSBU054
00229 SKIP3 DTSBU054
00230 P2100-COMPUTED-RATE. DTSBU054
00231 MOVE MRCT-EFF-YRQ TO L053-EFF-YRQ. DTSBU054
00232 DTSBU054
00233 IF L054-CLASSIFIED-88 DTSBU054
00234 SET L053-CLASSIFIED-88 TO TRUE DTSBU054
00235 ELSE DTSBU054
00236 SET L053-NONCLASSIFIED-88 TO TRUE. DTSBU054
00237 DTSBU054
00238 SET L053-STANDARD-LOOKUP-88 TO TRUE. DTSBU054
00239 DTSBU054
00240 MOVE L054-RATIO TO L053-RATIO. DTSBU054
00241 DTSBU054
00242 PERFORM S053-RATE-LOOKUP THRU S053-EXIT. DTSBU054
00243 DTSBU054
00244 *****IF L053-FILE-CLOSED DTSBU054
00245 *********SET L054-FILE-CLOSED-88 TO TRUE DTSBU054
00246 *********MOVE L053-MSG-AREA TO L054-MSG-AREA DTSBU054
00247 *****ELSE DTSBU054
00248 IF L053-RATE-FOUND DTSBU054
00249 MOVE L053-UI-RATE TO L054-UI-CALC-RATE DTSBU054
00250 ELSE DTSBU054
00251 SET L054-NO-FUIR-88 TO TRUE. DTSBU054
00252 P2100-EXIT. DTSBU054
00253 EXIT. DTSBU054
00254 SKIP3 DTSBU054
00255 P2200-PENALTY-RATE. DTSBU054
00256 IF (MRCT-MISS-RPT-CNT = +0) DTSBU054
00257 AND DTSBU054
00258 (MRCT-TOT-UI-TAX-BALANCE-AMT = +0) DTSBU054
00259 SET L054-UI-PEN-RATE-NO-88 TO TRUE DTSBU054
00260 GO TO P2200-EXIT. DTSBU054
00261 DTSBU054
00262 DTSBU054
00263 MOVE LOW-VALUES TO FUIR-KEY-AREA. DTSBU054
00264 DTSBU054
00265 SET FUIR-UIR-88 TO TRUE. DTSBU054
00266 DTSBU054
00267 MOVE MRCT-EFF-YRQ TO FUIR-EFF-YRQ. DTSBU054
00268 DTSBU054
00269 SET L931-READ-88 TO TRUE. DTSBU054
00270 DTSBU054
00271 PERFORM S931-REF-IO THRU S931-EXIT. DTSBU054
00272 DTSBU054
00273 *****IF L931-FILE-CLOSED-88 DTSBU054
00274 *********MOVE L931-MSG-AREA TO L054-MSG-AREA DTSBU054
00275 *********SET L054-FILE-CLOSED-88 TO TRUE DTSBU054
00276 *********GO TO P2200-EXIT. DTSBU054
00277 DTSBU054
00278 IF L931-NO-REC-88 DTSBU054
00279 SET L054-UI-PEN-RATE-UNDETER-88 TO TRUE DTSBU054
00280 GO TO P2200-EXIT. DTSBU054
00281 DTSBU054
00282 DTSBU054
00283 IF (MRCT-MISS-RPT-CNT < FUIR-MIN-MISS-RPT-CNT) DTSBU054
00284 AND DTSBU054
00285 (MRCT-TOT-UI-TAX-BALANCE-AMT < FUIR-MIN-TAX-BAL-DUE-AMT) DTSBU054
00286 SET L054-UI-PEN-RATE-NO-88 TO TRUE DTSBU054
00287 GO TO P2200-EXIT. DTSBU054
00288 DTSBU054
00289 DTSBU054
00290 IF L054-RATE-LOOKUP-NO-88 DTSBU054
00291 SET L054-UI-PEN-RATE-UNDETER-88 TO TRUE DTSBU054
00292 GO TO P2200-EXIT. DTSBU054
00293 DTSBU054
00294 DTSBU054
00295 IF L054-NO-FUIR-88 DTSBU054
00296 SET L054-UI-PEN-RATE-UNDETER-88 TO TRUE DTSBU054
00297 GO TO P2200-EXIT. DTSBU054
00298 DTSBU054
00299 DTSBU054
00300 MOVE MRCT-EFF-YRQ TO L053-EFF-YRQ. DTSBU054
00301 DTSBU054
00302 IF L054-CLASSIFIED-88 DTSBU054
00303 SET L053-CLASSIFIED-88 TO TRUE DTSBU054
00304 ELSE DTSBU054
00305 SET L053-NONCLASSIFIED-88 TO TRUE. DTSBU054
00306 DTSBU054
00307 SET L053-PENALTY-LOOKUP-88 TO TRUE. DTSBU054
00308 DTSBU054
00309 MOVE L054-RATIO TO L053-RATIO. DTSBU054
00310 DTSBU054
00311 PERFORM S053-RATE-LOOKUP THRU S053-EXIT. DTSBU054
00312 DTSBU054
00313 *****IF L053-FILE-CLOSED DTSBU054
00314 *********MOVE L053-MSG-AREA TO L054-MSG-AREA DTSBU054
00315 *********SET L054-FILE-CLOSED-88 TO TRUE DTSBU054
00316 *********GO TO P2200-EXIT. DTSBU054
00317 DTSBU054
00318 IF L053-RATE-NOT-FOUND DTSBU054
00319 SET L054-UI-PEN-RATE-UNDETER-88 TO TRUE DTSBU054
00320 GO TO P2200-EXIT. DTSBU054
00321 DTSBU054
00322 IF L053-UI-RATE > L054-UI-CALC-RATE DTSBU054
00323 SET L054-UI-PEN-RATE-YES-88 TO TRUE DTSBU054
00324 MOVE L053-UI-RATE TO L054-UI-PEN-RATE DTSBU054
00325 ELSE DTSBU054
00326 SET L054-UI-PEN-RATE-INEFF-88 TO TRUE. DTSBU054
00327 P2200-EXIT. DTSBU054
00328 EXIT. DTSBU054
00329 EJECT DTSBU054
00330 S053-RATE-LOOKUP. DTSBU054
00331 CALL 'DTSBU053' USING L053-LINK-AREA. DTSBU054
00332 S053-EXIT. DTSBU054
00333 EXIT. DTSBU054
00334 SKIP3 DTSBU054
00335 S055-FROM-EFF-YRQ. DTSBU054
00336 SET L055-FROM-EFF-YRQ-88 TO TRUE. DTSBU054
00337 GO TO S055-EXP-PERIOD. DTSBU054
00338 DTSBU054
00339 S055-EXP-PERIOD. DTSBU054
00340 CALL 'DTSBU055' USING L055-LINK-AREA. DTSBU054
00341 S055-EXIT. DTSBU054
00342 EXIT. DTSBU054
00343 SKIP3 DTSBU054
00344 S931-REF-IO. DTSBU054
00345 CALL 'DTSBU931' USING L931-LINK-AREA DTSBU054
00346 FSKL-REC. DTSBU054
00347 S931-EXIT. DTSBU054
00348 EXIT. DTSBU054
00349 SKIP3 DTSBU054
00350 *S999-ABEND. DTSBU054
00351 *****CALL 'DTSBU999' USING WRK-ABEND-CODE. DTSBU054
00352 *S999-EXIT. DTSBU054
00353 *****EXIT. DTSBU054