00001 IDENTIFICATION DIVISION. 02/19/10 00002 PROGRAM-ID. DTSBU621. DTSBU621 00003 AUTHOR. NGI. LV001 00004 DATE-WRITTEN. DEC 2009. DTSBU621 00005 DATE-COMPILED. DTSBU621 00006 SKIP3 DTSBU621 00007 ****** DTSBU621 00008 * DTSBU621 00009 * CALLING SEQUENCE: DTSBU111 CALLS DTSBU621 00010 * DTSBU112 WHICH FORMATS THE ADDRESS DTSBU621 00011 * DTSBU621 00012 * FUNCTION: FIND AND RETURN EMPLOYER ADDRESS. DTSBU621 00013 * DTSBU621 00014 * MODIFICATION LOG: DTSBU621 00015 * DTSBU621 00016 * DTSBU621 00017 * 08/12/2009 REMOVED OR CHANGED RULES FOR SELECTING EMPLYRS DTSBU621 00018 * AND QUARTERS ON BILLS. DTSBU621 00019 * - SEND BILL ONLY IF TOTAL BALANCE DUE IS DTSBU621 00020 * MORE THAN $15.00 DTSBU621 00021 * REFERENCE: RULE CHANGES PROGRAMMER: ZL1 DTSBU621 00022 * DTSBU621 00023 * XX/XX/XXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSBU621 00024 * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSBU621 00025 * WORK ORDER: PROGRAMMER: XXX DTSBU621 00026 * DTSBU621 00027 * DTSBU621 00028 * DESCRIPTION: DTSBU621 00029 * DTSBU621 00030 * DTSBU621 00031 * INITIATION: DTSBU621 00032 * DTSBU621 00033 * DTSBU621 00034 * NO PARAMETERS ARE INPUT. DTSBU621 00035 * DTSBU621 00036 * DTSBU621 00037 * RECORDS READ: DTSBU621 00038 * DTSBU621 00039 * MASTER: DTSBU621 00040 * DTSBU621 00041 * MTAD DTSBU621 00042 * MTAA DTSBU621 00043 * MOPO DTSBU621 00044 * DTSBU621 00045 * DTSBU621 00046 * ALTERNATE INDEX: DTSBU621 00047 * DTSBU621 00048 * NONE. DTSBU621 00049 * DTSBU621 00050 * DTSBU621 00051 * REFERENCE: DTSBU621 00052 * DTSBU621 00053 * NONE. DTSBU621 00054 * DTSBU621 00055 * DTSBU621 00056 * RECORDS UPDATED: DTSBU621 00057 * DTSBU621 00058 * NONE DTSBU621 00059 * DTSBU621 00060 * DTSBU621 00061 * DTSBU621 00062 * BATCH TRANSACTION COLLECTION RECORDS WRITTEN: DTSBU621 00063 * DTSBU621 00064 * NONE. DTSBU621 00065 * DTSBU621 00066 * DTSBU621 00067 * MODULES CALLED: DTSBU621 00068 * DTSBU621 00069 * DTSBU111 FIND EMPLOYER ADDRESS DTSBU621 00070 * DTSBU112 ADDRESS FORMAT. DTSBU621 00071 * DTSBU910 MASTER FILE I/O DRIVER. DTSBU621 00072 * DTSBU621 00073 * DTSBU621 00074 SKIP3 DTSBU621 00075 ENVIRONMENT DIVISION. DTSBU621 00076 EJECT DTSBU621 00077 DATA DIVISION. DTSBU621 00078 SKIP3 DTSBU621 00079 WORKING-STORAGE SECTION. DTSBU621 000795 77 PAN-VALET PICTURE X(24) VALUE '001DTSBU621 02/19/10'. DTSBU621 00080 SKIP3 DTSBU621 00081 01 WRK-AREA. DTSBU621 00082 *& DTSBU621 00083 05 WRK-ABEND-CD PIC S9(04) COMP VALUE +621.DTSBU621 00084 SKIP1 DTSBU621 00085 05 WRK-MOD-NAME PIC X(08) VALUE 'DTSBU621'.DTSBU621 00086 SKIP3 DTSBU621 00087 05 ABEND-MSG PIC X(60). DTSBU621 00088 DTSBU621 00089 05 TAD-FORM-CNT PIC S9(04) COMP. DTSBU621 00090 05 TAA-FORM-CNT PIC S9(04) COMP. DTSBU621 00091 05 OPO-FORM-CNT PIC S9(04) COMP. DTSBU621 00092 DTSBU621 00093 05 WRK-SUB PIC S9(04) COMP. DTSBU621 00094 DTSBU621 00095 01 L111-LINK-AREA. DTSBU621 00096 ++INCLUDE DTSIL111 DTSBU621 00097 EJECT DTSBU621 00098 01 L112-LINK-AREA. DTSBU621 00099 ++INCLUDE DTSIL112 DTSBU621 00100 EJECT DTSBU621 00101 01 L910-LINK-AREA. DTSBU621 00102 ++INCLUDE DTSIL910 DTSBU621 00103 EJECT DTSBU621 00104 01 MSKL-REC. DTSBU621 00105 ++INCLUDE DTSIMSKL DTSBU621 00106 SKIP3 DTSBU621 00107 01 MTAD-REC. DTSBU621 00108 ++INCLUDE DTSIMTAD DTSBU621 00109 SKIP3 DTSBU621 00110 01 MTAA-REC. DTSBU621 00111 ++INCLUDE DTSIMTAA DTSBU621 00112 SKIP3 DTSBU621 00113 01 MOPO-REC. DTSBU621 00114 ++INCLUDE DTSIMOPO DTSBU621 00115 EJECT DTSBU621 00116 01 MBAA-REC. DTSBU621 00117 ++INCLUDE DTSIMBAA DTSBU621 00118 EJECT DTSBU621 00119 LINKAGE SECTION. DTSBU621 00120 01 L621-LINK-AREA. DTSBU621 00121 ++INCLUDE DTSIL621 DTSBU621 00122 EJECT DTSBU621 00123 *************************************************************** DTSBU621 00124 * THE PROCEDURE DIVISION FOR DTSBE621 STARTS HERE. DTSBU621 00125 *************************************************************** DTSBU621 00126 DTSBU621 00127 PROCEDURE DIVISION USING L621-LINK-AREA. DTSBU621 00128 DTSBU621 00129 SET L621-ADDR-NOT-FOUND-88 TO TRUE. DTSBU621 00130 MOVE SPACE TO L621-RETURN-AREA DTSBU621 00131 L621-MSG-AREA. DTSBU621 00132 DTSBU621 00133 EVALUATE TRUE DTSBU621 00134 WHEN L621-LOOKUP-TAD-88 DTSBU621 00135 DISPLAY 'TAD' DTSBU621 00136 PERFORM P1000-MTAD THRU P1000-EXIT DTSBU621 00137 WHEN L621-LOOKUP-OPO-88 DTSBU621 00138 DISPLAY 'OPO' DTSBU621 00139 PERFORM P3000-MOPO THRU P3000-EXIT DTSBU621 00140 WHEN L621-LOOKUP-TAA-88 DTSBU621 00141 PERFORM P4000-MTAA THRU P4000-EXIT DTSBU621 00142 WHEN L621-LOOKUP-BAA-88 DTSBU621 00143 PERFORM P5000-BAA THRU P5000-EXIT DTSBU621 00144 WHEN OTHER DTSBU621 00145 PERFORM S999-ABEND THRU S999-EXIT. DTSBU621 00146 GOBACK. DTSBU621 00147 EJECT DTSBU621 00148 DTSBU621 00149 *************************************************************** DTSBU621 00150 * THIS PARAGRAPH CAUSES THE MTAD RECORDS TO BE PROCESSED. DTSBU621 00151 *************************************************************** DTSBU621 00152 DTSBU621 00153 P1000-MTAD. DTSBU621 00154 DISPLAY '1000 TAD' DTSBU621 00155 MOVE LOW-VALUES TO MTAD-KEY-AREA. DTSBU621 00156 MOVE L621-EMP-NO TO MTAD-EMP-NO. DTSBU621 00157 SET MTAD-TAD-88 TO TRUE. DTSBU621 00158 MOVE MTAD-KEY-AREA TO MSKL-KEY-AREA. DTSBU621 00159 DTSBU621 00160 PERFORM S910-START-BROWSE THRU S910-EXIT. DTSBU621 00161 DTSBU621 00162 PERFORM P1100-SCAN-MTAD THRU P1100-EXIT DTSBU621 00163 UNTIL L910-NO-REC-88. DTSBU621 00164 DTSBU621 00165 P1000-EXIT. DTSBU621 00166 EXIT. DTSBU621 00167 EJECT DTSBU621 00168 *************************************************************** DTSBU621 00169 * THIS PARAGRAPH SCANS THE MTAD RECORDS. DTSBU621 00170 *************************************************************** DTSBU621 00171 DTSBU621 00172 P1100-SCAN-MTAD. DTSBU621 00173 DISPLAY '1100 TAD' DTSBU621 00174 DTSBU621 00175 MOVE MSKL-REC TO MTAD-REC. DTSBU621 00176 DTSBU621 00177 PERFORM P1200-WRITE-MTAD-REC THRU P1200-EXIT. DTSBU621 00178 DTSBU621 00179 PERFORM S910-READ-NEXT THRU S910-EXIT. DTSBU621 00180 DTSBU621 00181 P1100-EXIT. DTSBU621 00182 EXIT. DTSBU621 00183 EJECT DTSBU621 00184 *************************************************************** DTSBU621 00185 * THIS PARAGRAPH FORMATS AND WRITES THE EXTRACT RECORDS DTSBU621 00186 * FOR THE MTAD RECORDS. DTSBU621 00187 *************************************************************** DTSBU621 00188 DTSBU621 00189 P1200-WRITE-MTAD-REC. DTSBU621 00190 MOVE MTAD-UC223-IND TO L621-UC223-IND. DTSBU621 00191 MOVE LOW-VALUES TO L111-RETURN-AREA. DTSBU621 00192 MOVE MTAD-EMP-NO TO L111-EMP-NO. DTSBU621 00193 SET L111-LOOKUP-TAD-88 TO TRUE. DTSBU621 00194 MOVE MTAD-ID-NO TO L111-ID-NO. DTSBU621 00195 DTSBU621 00196 DISPLAY '1200 TAD' DTSBU621 00197 PERFORM S111-LOOKUP-ADDR THRU S111-EXIT. DTSBU621 00198 DTSBU621 00199 IF L111-ADDR-FOUND-88 DTSBU621 00200 SET L621-ADDR-FOUND-88 TO TRUE DTSBU621 00201 SET L112-TAD-ADDR-88 TO TRUE DTSBU621 00202 MOVE L111-RETURN-AREA TO L112-NAME-ADDRESS-AREA DTSBU621 00203 PERFORM P2000-FORMAT-ADDR THRU P2000-EXIT DTSBU621 00204 ELSE DTSBU621 00205 MOVE ALL '?' TO L621-FMT-ADDR DTSBU621 00206 L621-ZIP DTSBU621 00207 L621-ADVANCED-BARCODE. DTSBU621 00208 DTSBU621 00209 MOVE MTAD-KEY-AREA TO MSKL-KEY-AREA. DTSBU621 00210 PERFORM S910-READ THRU S910-EXIT. DTSBU621 00211 IF L910-NO-REC-88 DTSBU621 00212 PERFORM S999-ABEND THRU S999-EXIT. DTSBU621 00213 DTSBU621 00214 P1200-EXIT. DTSBU621 00215 EXIT. DTSBU621 00216 EJECT DTSBU621 00217 *************************************************************** DTSBU621 00218 * THIS PARAGRAPH FORMATS THE ADDRESS. DTSBU621 00219 *************************************************************** DTSBU621 00220 DTSBU621 00221 P2000-FORMAT-ADDR. DTSBU621 00222 DTSBU621 00223 DISPLAY '2000 TAD' DTSBU621 00224 SET L112-ANCHOR-FIRST-88 TO TRUE. DTSBU621 00225 MOVE L621-NAME TO L112-PRIMARY-NAME. DTSBU621 00226 DTSBU621 00227 PERFORM S112-FORMAT-ADDR THRU S112-EXIT. DTSBU621 00228 DTSBU621 00229 MOVE L112-MAILING-ADDRESS TO L621-FMT-ADDR. DTSBU621 00230 MOVE L112-ZIP TO L621-ZIP. DTSBU621 00231 MOVE L112-ADVANCED-BARCODE TO L621-ADVANCED-BARCODE. DTSBU621 00232 DTSBU621 00233 P2000-EXIT. DTSBU621 00234 EXIT. DTSBU621 00235 EJECT DTSBU621 00236 *************************************************************** DTSBU621 00237 * THIS PARAGRAPH CAUSES THE MOPO RECORDS TO BE PROCESSED. DTSBU621 00238 *************************************************************** DTSBU621 00239 DTSBU621 00240 P3000-MOPO. DTSBU621 00241 DTSBU621 00242 MOVE LOW-VALUES TO MOPO-KEY-AREA. DTSBU621 00243 MOVE L621-EMP-NO TO MOPO-EMP-NO. DTSBU621 00244 SET MOPO-OPO-88 TO TRUE. DTSBU621 00245 MOVE MOPO-KEY-AREA TO MSKL-KEY-AREA. DTSBU621 00246 DTSBU621 00247 PERFORM S910-START-BROWSE THRU S910-EXIT. DTSBU621 00248 DTSBU621 00249 PERFORM P3100-SCAN-MOPO THRU P3100-EXIT DTSBU621 00250 UNTIL L910-NO-REC-88. DTSBU621 00251 DTSBU621 00252 P3000-EXIT. DTSBU621 00253 EXIT. DTSBU621 00254 EJECT DTSBU621 00255 *************************************************************** DTSBU621 00256 * THIS PARAGRAPH SCANS THE MOPO RECORDS. DTSBU621 00257 *************************************************************** DTSBU621 00258 DTSBU621 00259 P3100-SCAN-MOPO. DTSBU621 00260 DTSBU621 00261 MOVE MSKL-REC TO MOPO-REC. DTSBU621 00262 DTSBU621 00263 PERFORM P3200-WRITE-MOPO-REC THRU P3200-EXIT. DTSBU621 00264 DTSBU621 00265 PERFORM S910-READ-NEXT THRU S910-EXIT. DTSBU621 00266 DTSBU621 00267 P3100-EXIT. DTSBU621 00268 EXIT. DTSBU621 00269 EJECT DTSBU621 00270 *************************************************************** DTSBU621 00271 * THIS PARAGRAPH WRITES THE EXTRACT RECORDS FOR MOPO RECORDS. DTSBU621 00272 *************************************************************** DTSBU621 00273 DTSBU621 00274 P3200-WRITE-MOPO-REC. DTSBU621 00275 DTSBU621 00276 SET L621-ADDR-FOUND-88 TO TRUE DTSBU621 00277 MOVE LOW-VALUES TO L112-NAME-ADDRESS-AREA. DTSBU621 00278 SET L112-OPO-ADDR-88 TO TRUE. DTSBU621 00279 MOVE MOPO-NAME TO L112-NAME. DTSBU621 00280 MOVE MOPO-TITLE TO L112-TITLE. DTSBU621 00281 MOVE MOPO-ADDRESS TO L112-ADDRESS. DTSBU621 00282 DTSBU621 00283 PERFORM P2000-FORMAT-ADDR THRU P2000-EXIT. DTSBU621 00284 DTSBU621 00285 MOVE MOPO-KEY-AREA TO MSKL-KEY-AREA. DTSBU621 00286 PERFORM S910-READ THRU S910-EXIT. DTSBU621 00287 IF L910-NO-REC-88 DTSBU621 00288 PERFORM S999-ABEND THRU S999-EXIT. DTSBU621 00289 DTSBU621 00290 P3200-EXIT. DTSBU621 00291 EXIT. DTSBU621 00292 EJECT DTSBU621 00293 *************************************************************** DTSBU621 00294 * THIS PARAGRAPH CAUSES THE MTAA RECORDS TO BE PROCESSED. DTSBU621 00295 *************************************************************** DTSBU621 00296 DTSBU621 00297 P4000-MTAA. DTSBU621 00298 DTSBU621 00299 MOVE LOW-VALUES TO MTAA-KEY-AREA. DTSBU621 00300 MOVE L621-EMP-NO TO MTAA-EMP-NO. DTSBU621 00301 SET MTAA-TAA-88 TO TRUE. DTSBU621 00302 MOVE MTAA-KEY-AREA TO MSKL-KEY-AREA. DTSBU621 00303 DTSBU621 00304 PERFORM S910-START-BROWSE THRU S910-EXIT. DTSBU621 00305 DTSBU621 00306 PERFORM P4100-SCAN-MTAA THRU P4100-EXIT DTSBU621 00307 UNTIL L910-NO-REC-88. DTSBU621 00308 DTSBU621 00309 P4000-EXIT. DTSBU621 00310 EXIT. DTSBU621 00311 EJECT DTSBU621 00312 *************************************************************** DTSBU621 00313 * THIS PARAGRAPH SCANS THE MTAA RECORDS. DTSBU621 00314 *************************************************************** DTSBU621 00315 DTSBU621 00316 P4100-SCAN-MTAA. DTSBU621 00317 DTSBU621 00318 MOVE MSKL-REC TO MTAA-REC. DTSBU621 00319 DTSBU621 00320 PERFORM P4200-WRITE-MTAA-REC THRU P4200-EXIT. DTSBU621 00321 DTSBU621 00322 PERFORM S910-READ-NEXT THRU S910-EXIT. DTSBU621 00323 DTSBU621 00324 P4100-EXIT. DTSBU621 00325 EXIT. DTSBU621 00326 EJECT DTSBU621 00327 *************************************************************** DTSBU621 00328 * THIS PARAGRAPH WRITES THE EXTRACT RECORDS FOR MTAA RECORDS. DTSBU621 00329 *************************************************************** DTSBU621 00330 DTSBU621 00331 P4200-WRITE-MTAA-REC. DTSBU621 00332 DTSBU621 00333 DTSBU621 00334 SET L621-ADDR-FOUND-88 TO TRUE DTSBU621 00335 MOVE LOW-VALUES TO L112-NAME-ADDRESS-AREA. DTSBU621 00336 SET L112-TAA-ADDR-88 TO TRUE. DTSBU621 00337 IF MTAA-NAME = SPACES DTSBU621 00338 MOVE L621-NAME TO L112-NAME DTSBU621 00339 ELSE DTSBU621 00340 MOVE MTAA-NAME TO L112-NAME. DTSBU621 00341 MOVE MTAA-ADDRESS TO L112-ADDRESS. DTSBU621 00342 DTSBU621 00343 PERFORM P2000-FORMAT-ADDR THRU P2000-EXIT. DTSBU621 00344 DTSBU621 00345 MOVE MTAA-KEY-AREA TO MSKL-KEY-AREA. DTSBU621 00346 PERFORM S910-READ THRU S910-EXIT. DTSBU621 00347 IF L910-NO-REC-88 DTSBU621 00348 PERFORM S999-ABEND THRU S999-EXIT. DTSBU621 00349 DTSBU621 00350 P4200-EXIT. DTSBU621 00351 EXIT. DTSBU621 00352 EJECT DTSBU621 00353 *************************************************************** DTSBU621 00354 * THIS PARAGRAPH READS THE BAA ADDRESS RECORD DTSBU621 00355 *************************************************************** DTSBU621 00356 P5000-BAA. DTSBU621 00357 MOVE LOW-VALUES TO MBAA-KEY-AREA. DTSBU621 00358 DTSBU621 00359 MOVE L621-EMP-NO TO MBAA-EMP-NO. DTSBU621 00360 DTSBU621 00361 SET MBAA-BAA-88 TO TRUE. DTSBU621 00362 DTSBU621 00363 MOVE L621-ID-NO TO MBAA-ID-NO. DTSBU621 00364 DTSBU621 00365 MOVE MBAA-KEY-AREA TO MSKL-KEY-AREA. DTSBU621 00366 DTSBU621 00367 PERFORM S910-READ THRU S910-EXIT. DTSBU621 00368 IF L910-OK-88 DTSBU621 00369 MOVE MSKL-REC TO MBAA-REC DTSBU621 00370 IF MBAA-ADDRESS = SPACES OR LOW-VALUES DTSBU621 00371 SET L621-ADDR-NOT-FOUND-88 TO TRUE DTSBU621 00372 ELSE DTSBU621 00373 SET L621-ADDR-FOUND-88 TO TRUE DTSBU621 00374 MOVE MBAA-NAME TO L112-NAME DTSBU621 00375 MOVE MBAA-ADDRESS TO L112-ADDRESS DTSBU621 00376 SET L112-BAA-ADDR-88 TO TRUE DTSBU621 00377 PERFORM P2000-FORMAT-ADDR THRU P2000-EXIT. DTSBU621 00378 P5000-EXIT. DTSBU621 00379 EXIT. DTSBU621 00380 EJECT DTSBU621 00381 DTSBU621 00382 DTSBU621 00383 S111-LOOKUP-ADDR. DTSBU621 00384 CALL 'DTSBU111' USING L111-LINK-AREA. DTSBU621 00385 S111-EXIT. DTSBU621 00386 EXIT. DTSBU621 00387 SKIP3 DTSBU621 00388 S112-FORMAT-ADDR. DTSBU621 00389 CALL 'DTSBU112' USING L112-LINK-AREA. DTSBU621 00390 S112-EXIT. DTSBU621 00391 EXIT. DTSBU621 00392 SKIP3 DTSBU621 00393 S910-READ. DTSBU621 00394 SET L910-READ-88 TO TRUE. DTSBU621 00395 GO TO S910-MSTR-IO. DTSBU621 00396 SKIP1 DTSBU621 00397 S910-START-BROWSE. DTSBU621 00398 SET L910-START-BROWSE-88 TO TRUE. DTSBU621 00399 GO TO S910-MSTR-IO. DTSBU621 00400 SKIP1 DTSBU621 00401 S910-READ-NEXT. DTSBU621 00402 SET L910-READ-NEXT-88 TO TRUE. DTSBU621 00403 GO TO S910-MSTR-IO. DTSBU621 00404 SKIP1 DTSBU621 00405 S910-COUNT. DTSBU621 00406 SET L910-COUNT-88 TO TRUE. DTSBU621 00407 GO TO S910-MSTR-IO. DTSBU621 00408 SKIP1 DTSBU621 00409 S910-WRITE. DTSBU621 00410 SET L910-WRITE-88 TO TRUE. DTSBU621 00411 GO TO S910-MSTR-IO. DTSBU621 00412 SKIP1 DTSBU621 00413 S910-REWRITE. DTSBU621 00414 SET L910-REWRITE-88 TO TRUE. DTSBU621 00415 GO TO S910-MSTR-IO. DTSBU621 00416 SKIP1 DTSBU621 00417 S910-DELETE. DTSBU621 00418 SET L910-DELETE-88 TO TRUE. DTSBU621 00419 GO TO S910-MSTR-IO. DTSBU621 00420 SKIP1 DTSBU621 00421 S910-MSTR-IO. DTSBU621 00422 CALL 'DTSBU910' USING L910-LINK-AREA DTSBU621 00423 MSKL-REC. DTSBU621 00424 S910-EXIT. DTSBU621 00425 EXIT. DTSBU621 00426 SKIP3 DTSBU621 00427 S999-ABEND. DTSBU621 00428 DISPLAY '*** DTSBU621 ABENDING. ' DTSBU621 00429 ABEND-MSG. DTSBU621 00430 SKIP1 DTSBU621 00431 CALL 'DTSBU999' USING WRK-ABEND-CD. DTSBU621 00432 S999-EXIT. DTSBU621 00433 EXIT. DTSBU621