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