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