00001 IDENTIFICATION DIVISION. 11/11/02 00002 PROGRAM-ID. DTSBD341. DTSBD341 00003 AUTHOR. TRICOASTAL CONSULTING LTD. LV004 00004 DATE-WRITTEN. JANUARY 1991. DTSBD341 00005 DATE-COMPILED. DTSBD341 00006 SKIP3 DTSBD341 00007 ***** DTSBD341 00008 * DTSBD341 00009 * FUNCTION: RATE EXISTENCE CHECK. DTSBD341 00010 * DTSBD341 00011 * DTSBD341 00012 * MODIFICATION LOG: DTSBD341 00013 * DTSBD341 00014 * 01/10/92 INITIAL DEVELOPMENT. DTSBD341 00015 * WORK ORDER: PROGRAMMER: TCL DTSBD341 00016 * DTSBD341 00017 * 01/16/1998 REVIEWED AND MODIFIED FOR DC. DTSBD341 00018 * REFERENCE: DC DEVELOPMENT PROGRAMMER: EHH DTSBD341 00019 * DTSBD341 00020 * 08/12/2002 MODIFIED TO REPORT ESTIMATED RATES. DTSBD341 00021 * REFERENCE: HOUSEHOLD PROGRAMMER: GD DTSBD341 00022 * DTSBD341 00023 * MM/DD/YYYY XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSBD341 00024 * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSBD341 00025 * REFERENCE: XXXXXXXXXXXXXXX PROGRAMMER: XXX DTSBD341 00026 * DTSBD341 00027 * DTSBD341 00028 * DESCRIPTION: DTSBD341 00029 * DTSBD341 00030 * IF MPRF-CLASS-SELF-INS-88, THEN IGNORE THE CALL. DTSBD341 00031 * DTSBD341 00032 * DTSBD341 00033 * IF T006-RTE-EXIST-CHK: DTSBD341 00034 * DTSBD341 00035 * FOR EACH YRQ FOR WHICH: DTSBD341 00036 * DTSBD341 00037 * (YRQ >= T006-START-YRQ AND YRQ <= T006-END-YRQ) DTSBD341 00038 * AND DTSBD341 00039 * (EMPLOYER ACTIVE DURING YRQ) DTSBD341 00040 * AND DTSBD341 00041 * (YRQ > MPRF-RECENT-PURGED-YRQ) DTSBD341 00042 * AND DTSBD341 00043 * (YRQ <= LBCM-LAST-*-RATE-END-YRQ) DTSBD341 00044 * DTSBD341 00045 * VERIFY THAT A MRTE RECORD COVERING YRQ EXISTS. DTSBD341 00046 * IF NO MRTE RECORD COVERING YRQ EXISTS, THEN WRITE DTSBD341 00047 * AN R502 RECORD. DTSBD341 00048 * DTSBD341 00049 * IF AN MRTE RECORD EXISTS, BUT THE RATE IS DTSBD341 00050 * ESTIMATED, WRITE AN R502 RECORD. DTSBD341 00051 * DTSBD341 00052 * IT IS POSSIBLE THAT T006-START-YRQ WILL EQUAL 0 DTSBD341 00053 * AND/OR T006-END-YRQ = 99999. THUS, IT WILL BE DTSBD341 00054 * NECESSARY TO USE A LITTLE COMMON SENSE TO SET UP DTSBD341 00055 * T006-RTE-EXIST-CHK. DTSBD341 00056 * DTSBD341 00057 * DTSBD341 00058 * MASTER FILE RECORDS READ: DTSBD341 00059 * DTSBD341 00060 * MSOL DTSBD341 00061 * MRTE DTSBD341 00062 * DTSBD341 00063 * DTSBD341 00064 * MASTER FILE RECORDS UPDATED: DTSBD341 00065 * DTSBD341 00066 * NONE. DTSBD341 00067 * DTSBD341 00068 * DTSBD341 00069 * REPORT RECORDS WRITTEN: DTSBD341 00070 * DTSBD341 00071 * R502 RATE DISCRIPANCY LIST. DTSBD341 00072 * DTSBD341 00073 * DTSBD341 00074 * MODULES CALLED: DTSBD341 00075 * DTSBD341 00076 * DTSBU001 DATE CONVERSION/EDIT. DTSBD341 00077 * DTSBU004 QUARTER CONVERSION/EDIT. DTSBD341 00078 * DTSBU006 RATING YEAR PERIOD START/END. DTSBD341 00079 * DTSBU910 MASTER FILE I/O. DTSBD341 00080 * DTSBU946 VARIABLE LENGTH RECORD SEQUENTIAL OUTPUT 1. DTSBD341 00081 * DTSBD341 00082 * DTSBD341 00083 ***** DTSBD341 00084 SKIP3 DTSBD341 00085 ENVIRONMENT DIVISION. DTSBD341 00086 EJECT DTSBD341 00087 DATA DIVISION. DTSBD341 00088 SKIP3 DTSBD341 00089 WORKING-STORAGE SECTION. DTSBD341 000895 77 PAN-VALET PICTURE X(24) VALUE '004DTSBD341 11/11/02'. DTSBD341 00090 SKIP3 DTSBD341 00091 01 WRK-AREA. DTSBD341 00092 05 WRK-ABEND-CD PIC S9(04) COMP VALUE +341.DTSBD341 00093 DTSBD341 00094 05 WRK-MOD-NAME PIC X(08) VALUE 'DTSBD341'.DTSBD341 00095 DTSBD341 00096 05 WRK-YRQ PIC S9(05) COMP-3. DTSBD341 00097 DTSBD341 00098 05 WRK-START-YRQ PIC S9(05) COMP-3. DTSBD341 00099 DTSBD341 00100 05 WRK-END-YRQ PIC S9(05) COMP-3. DTSBD341 00101 DTSBD341 00102 05 FIRST-TIME-IND PIC X(01) VALUE 'Y'. DTSBD341 00103 DTSBD341 00104 05 WRK-EMP-NO PIC S9(07) COMP-3. DTSBD341 00105 DTSBD341 00106 05 WRK-YRQS-REPORTED. DTSBD341 00107 10 WRK-YRQ-REPORTED-IND OCCURS 400 TIMES DTSBD341 00108 PIC X(01). DTSBD341 00109 SKIP3 DTSBD341 00110 01 MSG-TABLE. DTSBD341 00111 05 MSG-ID1 PIC X(03) VALUE '501'. DTSBD341 00112 05 MSG-TEXT1. DTSBD341 00113 10 FILLER PIC X(44) VALUE DTSBD341 00114 'EMPLOYER ACTIVE, BUT NO RATE EXISTS. YRQ = '. DTSBD341 00115 10 MSG-YRQ1 PIC X(04). DTSBD341 00116 05 MSG-ID2 PIC X(03) VALUE '501'. DTSBD341 00117 05 MSG-TEXT2. DTSBD341 00118 10 FILLER PIC X(46) VALUE DTSBD341 00119 'EMPLOYER ACTIVE, BUT RATE IS ESTIMATED. YRQ = '. DTSBD341 00120 10 MSG-YRQ2 PIC X(04). DTSBD341 00121 EJECT DTSBD341 00122 01 L910-LINK-AREA. DTSBD341 00123 ++INCLUDE DTSIL910 DTSBD341 00124 EJECT DTSBD341 00125 01 MSKL-REC. DTSBD341 00126 ++INCLUDE DTSIMSKL DTSBD341 00127 EJECT DTSBD341 00128 01 MRTE-REC. DTSBD341 00129 ++INCLUDE DTSIMRTE DTSBD341 00130 EJECT DTSBD341 00131 01 MSOL-REC. DTSBD341 00132 ++INCLUDE DTSIMSOL DTSBD341 00133 EJECT DTSBD341 00134 01 L001-LINK-AREA. DTSBD341 00135 ++INCLUDE DTSIL001 DTSBD341 00136 EJECT DTSBD341 00137 01 L004-LINK-AREA. DTSBD341 00138 ++INCLUDE DTSIL004 DTSBD341 00139 EJECT DTSBD341 00140 01 L006-LINK-AREA. DTSBD341 00141 ++INCLUDE DTSIL006 DTSBD341 00142 EJECT DTSBD341 00143 01 R502-REC. DTSBD341 00144 ++INCLUDE DTSIR502 DTSBD341 00145 EJECT DTSBD341 00146 LINKAGE SECTION. DTSBD341 00147 SKIP3 DTSBD341 00148 01 LBCM-LINK-AREA. DTSBD341 00149 ++INCLUDE DTSILBCM DTSBD341 00150 EJECT DTSBD341 00151 01 MPRF-REC. DTSBD341 00152 ++INCLUDE DTSIMPRF DTSBD341 00153 EJECT DTSBD341 00154 01 T006-REC. DTSBD341 00155 ++INCLUDE DTSIT006 DTSBD341 00156 EJECT DTSBD341 00157 PROCEDURE DIVISION USING LBCM-LINK-AREA DTSBD341 00158 MPRF-REC DTSBD341 00159 T006-REC. DTSBD341 00160 DTSBD341 00161 DTSBD341 00162 IF FIRST-TIME-IND = 'Y' DTSBD341 00163 PERFORM I0000-INITIATE THRU I0000-EXIT DTSBD341 00164 MOVE 'N' TO FIRST-TIME-IND. DTSBD341 00165 DTSBD341 00166 DTSBD341 00167 IF MPRF-EMP-NO = WRK-EMP-NO DTSBD341 00168 NEXT SENTENCE DTSBD341 00169 ELSE DTSBD341 00170 MOVE MPRF-EMP-NO TO WRK-EMP-NO DTSBD341 00171 MOVE ALL 'N' TO WRK-YRQS-REPORTED. DTSBD341 00172 DTSBD341 00173 DTSBD341 00174 PERFORM P0000-PROCESS THRU P0000-EXIT. DTSBD341 00175 DTSBD341 00176 DTSBD341 00177 GOBACK. DTSBD341 00178 EJECT DTSBD341 00179 I0000-INITIATE. DTSBD341 00180 MOVE LBCM-TRACE-IND TO L910-TRACE-IND. DTSBD341 00181 DTSBD341 00182 MOVE WRK-MOD-NAME TO L910-MOD-NAME. DTSBD341 00183 DTSBD341 00184 MOVE LENGTH OF R502-REC TO R502-LENGTH. DTSBD341 00185 DTSBD341 00186 MOVE +0 TO WRK-EMP-NO. DTSBD341 00187 I0000-EXIT. DTSBD341 00188 EXIT. DTSBD341 00189 EJECT DTSBD341 00190 P0000-PROCESS. DTSBD341 00191 IF MPRF-CLASS-RATED-88 DTSBD341 00192 NEXT SENTENCE DTSBD341 00193 ELSE DTSBD341 00194 GO TO P0000-EXIT. DTSBD341 00195 DTSBD341 00196 DTSBD341 00197 MOVE LOW-VALUES TO MSOL-KEY-AREA. DTSBD341 00198 DTSBD341 00199 MOVE MPRF-EMP-NO TO MSOL-EMP-NO. DTSBD341 00200 DTSBD341 00201 SET MSOL-SOL-88 TO TRUE. DTSBD341 00202 DTSBD341 00203 MOVE MSOL-KEY-AREA TO MSKL-KEY-AREA. DTSBD341 00204 DTSBD341 00205 PERFORM S910-START-BROWSE THRU S910-EXIT. DTSBD341 00206 DTSBD341 00207 PERFORM P2100-SCAN-SOL THRU P2100-EXIT DTSBD341 00208 UNTIL L910-NO-REC-88. DTSBD341 00209 P0000-EXIT. DTSBD341 00210 EXIT. DTSBD341 00211 SKIP3 DTSBD341 00212 P2100-SCAN-SOL. DTSBD341 00213 MOVE MSKL-REC TO MSOL-REC. DTSBD341 00214 DTSBD341 00215 IF MSOL-FIRST-LIAB-YRQ = +0 DTSBD341 00216 NEXT SENTENCE DTSBD341 00217 ELSE DTSBD341 00218 PERFORM P2110-MRTE-FND THRU P2110-EXIT DTSBD341 00219 MOVE MSOL-KEY-AREA TO MSKL-KEY-AREA DTSBD341 00220 PERFORM S910-READ THRU S910-EXIT. DTSBD341 00221 DTSBD341 00222 PERFORM S910-READ-NEXT THRU S910-EXIT. DTSBD341 00223 P2100-EXIT. DTSBD341 00224 EXIT. DTSBD341 00225 SKIP3 DTSBD341 00226 P2110-MRTE-FND. DTSBD341 00227 MOVE MSOL-FIRST-LIAB-YRQ TO WRK-START-YRQ. DTSBD341 00228 DTSBD341 00229 MOVE MSOL-LAST-LIAB-YRQ TO WRK-END-YRQ. DTSBD341 00230 DTSBD341 00231 IF T006-START-YRQ > WRK-START-YRQ DTSBD341 00232 MOVE T006-START-YRQ TO WRK-START-YRQ. DTSBD341 00233 DTSBD341 00234 IF MPRF-LAST-ARCHIVED-YRQ > 0 DTSBD341 00235 MOVE MPRF-LAST-ARCHIVED-YRQ TO L004-QTR-5-9 DTSBD341 00236 PERFORM S004-FROM-5 THRU S004-EXIT DTSBD341 00237 ADD +1 TO L004-ABS-QTR DTSBD341 00238 PERFORM S004-FROM-ABS THRU S004-EXIT DTSBD341 00239 IF L004-QTR-5-9 > WRK-START-YRQ DTSBD341 00240 MOVE L004-QTR-5-9 TO WRK-START-YRQ. DTSBD341 00241 DTSBD341 00242 IF T006-END-YRQ < WRK-END-YRQ DTSBD341 00243 MOVE T006-END-YRQ TO WRK-END-YRQ. DTSBD341 00244 DTSBD341 00245 IF LBCM-LAST-RATE-END-YRQ < WRK-END-YRQ DTSBD341 00246 MOVE LBCM-LAST-RATE-END-YRQ TO WRK-END-YRQ. DTSBD341 00247 DTSBD341 00248 IF WRK-START-YRQ > WRK-END-YRQ DTSBD341 00249 GO TO P2110-EXIT. DTSBD341 00250 DTSBD341 00251 DTSBD341 00252 MOVE WRK-START-YRQ TO L004-QTR-5-9. DTSBD341 00253 DTSBD341 00254 PERFORM S004-FROM-5 THRU S004-EXIT. DTSBD341 00255 DTSBD341 00256 PERFORM P2111-YRQ-LOOP THRU P2111-EXIT DTSBD341 00257 UNTIL (L004-INVALID-QTR) DTSBD341 00258 OR (L004-QTR-5-9 > WRK-END-YRQ). DTSBD341 00259 P2110-EXIT. DTSBD341 00260 EXIT. DTSBD341 00261 SKIP3 DTSBD341 00262 P2111-YRQ-LOOP. DTSBD341 00263 IF (L004-ABS-QTR < +1) DTSBD341 00264 OR DTSBD341 00265 (L004-ABS-QTR > +400) DTSBD341 00266 PERFORM P2112-CHECK-QTR THRU P2112-EXIT DTSBD341 00267 ELSE DTSBD341 00268 IF WRK-YRQ-REPORTED-IND (L004-ABS-QTR) = 'Y' DTSBD341 00269 NEXT SENTENCE DTSBD341 00270 ELSE DTSBD341 00271 PERFORM P2112-CHECK-QTR THRU P2112-EXIT DTSBD341 00272 MOVE 'Y' TO WRK-YRQ-REPORTED-IND (L004-ABS-QTR). DTSBD341 00273 DTSBD341 00274 ADD +1 TO L004-ABS-QTR. DTSBD341 00275 DTSBD341 00276 PERFORM S004-FROM-ABS THRU S004-EXIT. DTSBD341 00277 P2111-EXIT. DTSBD341 00278 EXIT. DTSBD341 00279 SKIP3 DTSBD341 00280 P2112-CHECK-QTR. DTSBD341 00281 MOVE L004-QTR-5-9 TO L006-YRQ. DTSBD341 00282 DTSBD341 00283 PERFORM S006-FROM-QTR THRU S006-EXIT. DTSBD341 00284 DTSBD341 00285 DTSBD341 00286 MOVE LOW-VALUES TO MRTE-KEY-AREA. DTSBD341 00287 DTSBD341 00288 MOVE MPRF-EMP-NO TO MRTE-EMP-NO. DTSBD341 00289 DTSBD341 00290 SET MRTE-RTE-88 TO TRUE. DTSBD341 00291 DTSBD341 00292 MOVE L006-RTE-YR-START-YRQ TO MRTE-EFF-YRQ. DTSBD341 00293 DTSBD341 00294 MOVE MRTE-KEY-AREA TO MSKL-KEY-AREA. DTSBD341 00295 DTSBD341 00296 PERFORM S910-READ THRU S910-EXIT. DTSBD341 00297 DTSBD341 00298 IF L910-OK-88 DTSBD341 00299 PERFORM P2112A-CHK-FOR-ESTIMATE THRU P2112A-EXIT DTSBD341 00300 GO TO P2112-EXIT. DTSBD341 00301 DTSBD341 00302 DTSBD341 00303 MOVE MSG-ID1 TO R502-MSG-IDENTIFIER. DTSBD341 00304 DTSBD341 00305 MOVE MPRF-EMP-NO TO R502-EMP-NO. DTSBD341 00306 DTSBD341 00307 MOVE MRTE-EFF-YRQ TO R502-EFFECTIVE-QTR. DTSBD341 00308 DTSBD341 00309 MOVE MPRF-PRIMARY-NAME TO R502-PRIMARY-NAME. DTSBD341 00310 DTSBD341 00311 *****MOVE MPRF-SIC-DIVISION TO R502-NEW-SIC-DIVISION. DTSBD341 00312 DTSBD341 00313 *****MOVE SPACE TO R502-RATE-TYPE. DTSBD341 00314 DTSBD341 00315 SET R502-NO-RATE-88 TO TRUE. DTSBD341 00316 DTSBD341 00317 MOVE L004-SLASH-QTR TO MSG-YRQ1. DTSBD341 00318 DTSBD341 00319 MOVE MSG-TEXT1 TO R502-MSG-TEXT. DTSBD341 00320 DTSBD341 00321 PERFORM S946-R502-REC THRU S946-EXIT. DTSBD341 00322 P2112-EXIT. DTSBD341 00323 EXIT. DTSBD341 00324 DTSBD341 00325 P2112A-CHK-FOR-ESTIMATE. DTSBD341 00326 IF MRTE-RATE-TYPE-ESTIM-88 DTSBD341 00327 MOVE MSG-ID2 TO R502-MSG-IDENTIFIER DTSBD341 00328 MOVE MPRF-EMP-NO TO R502-EMP-NO DTSBD341 00329 MOVE MRTE-EFF-YRQ TO R502-EFFECTIVE-QTR DTSBD341 00330 MOVE MPRF-PRIMARY-NAME TO R502-PRIMARY-NAME DTSBD341 00331 SET R502-NO-RATE-88 TO TRUE DTSBD341 00332 MOVE L004-SLASH-QTR TO MSG-YRQ2 DTSBD341 00333 MOVE MSG-TEXT2 TO R502-MSG-TEXT DTSBD341 00334 PERFORM S946-R502-REC THRU S946-EXIT. DTSBD341 00335 DTSBD341 00336 P2112A-EXIT. DTSBD341 00337 EXIT. DTSBD341 00338 DTSBD341 00339 EJECT DTSBD341 00340 S001-FROM-FED-8. DTSBD341 00341 SET L001-FROM-FED-8 TO TRUE. DTSBD341 00342 GO TO S001-DATE. DTSBD341 00343 DTSBD341 00344 S001-FROM-ABS-DAY. DTSBD341 00345 SET L001-FROM-ABS-DAY TO TRUE. DTSBD341 00346 GO TO S001-DATE. DTSBD341 00347 DTSBD341 00348 S001-DATE. DTSBD341 00349 CALL 'DTSBU001' USING L001-LINK-AREA. DTSBD341 00350 S001-EXIT. DTSBD341 00351 EXIT. DTSBD341 00352 SKIP3 DTSBD341 00353 S004-FROM-5. DTSBD341 00354 SET L004-FROM-5 TO TRUE. DTSBD341 00355 GO TO S004-QTR. DTSBD341 00356 DTSBD341 00357 S004-FROM-ABS. DTSBD341 00358 SET L004-FROM-ABS TO TRUE. DTSBD341 00359 GO TO S004-QTR. DTSBD341 00360 DTSBD341 00361 S004-QTR. DTSBD341 00362 CALL 'DTSBU004' USING L004-LINK-AREA. DTSBD341 00363 S004-EXIT. DTSBD341 00364 EXIT. DTSBD341 00365 SKIP3 DTSBD341 00366 S006-FROM-QTR. DTSBD341 00367 SET L006-FROM-QTR TO TRUE. DTSBD341 00368 GO TO S006-RATE-YR. DTSBD341 00369 DTSBD341 00370 S006-RATE-YR. DTSBD341 00371 CALL 'DTSBU006' USING L006-LINK-AREA. DTSBD341 00372 S006-EXIT. DTSBD341 00373 EXIT. DTSBD341 00374 SKIP3 DTSBD341 00375 S910-READ. DTSBD341 00376 SET L910-READ-88 TO TRUE. DTSBD341 00377 GO TO S910-MSTR-IO. DTSBD341 00378 DTSBD341 00379 S910-START-BROWSE. DTSBD341 00380 SET L910-START-BROWSE-88 TO TRUE. DTSBD341 00381 GO TO S910-MSTR-IO. DTSBD341 00382 DTSBD341 00383 S910-READ-NEXT. DTSBD341 00384 SET L910-READ-NEXT-88 TO TRUE. DTSBD341 00385 GO TO S910-MSTR-IO. DTSBD341 00386 DTSBD341 00387 S910-COUNT. DTSBD341 00388 SET L910-COUNT-88 TO TRUE. DTSBD341 00389 GO TO S910-MSTR-IO. DTSBD341 00390 DTSBD341 00391 S910-MSTR-IO. DTSBD341 00392 CALL 'DTSBU910' USING L910-LINK-AREA DTSBD341 00393 MSKL-REC. DTSBD341 00394 S910-EXIT. DTSBD341 00395 EXIT. DTSBD341 00396 SKIP3 DTSBD341 00397 S946-R502-REC. DTSBD341 00398 CALL 'DTSBU946' USING R502-REC. DTSBD341 00399 S946-EXIT. DTSBD341 00400 EXIT. DTSBD341 00401 SKIP3 DTSBD341 00402 S999-ABEND. DTSBD341 00403 CALL 'DTSBU999' USING WRK-ABEND-CD. DTSBD341 00404 S999-EXIT. DTSBD341 00405 EXIT. DTSBD341