00001 IDENTIFICATION DIVISION. 05/15/17 00002 PROGRAM-ID. DTSCU072. DTSCU072 00003 AUTHOR. TRICOASTAL CONSULTING LTD. LV025 00004 DATE-WRITTEN. NOVEMBER 1991. DTSCU072 00005 DATE-COMPILED. DTSCU072 00006 SKIP3 DTSCU072 00007 ***** DTSCU072 00008 * DTSCU072 00009 * FUNCTION: ADDRESS EDIT. DTSCU072 00010 * DTSCU072 00011 * MODIFICATION LOG: DTSCU072 00012 * DTSCU072 00013 * 01/16/92 INITIAL DEVELOPMENT. DTSCU072 00014 * WORK ORDER: PROGRAMMER: JME DTSCU072 00015 * DTSCU072 00016 * 04/05/94 CONVERT TO MONTANA. DTSCU072 00017 * WORK ORDER: PROGRAMMER: RHC DTSCU072 00018 * DTSCU072 00019 * 02/08/95 REDUCE THE NUMBER OF ERROR MESSAGES GENERATED. DTSCU072 00020 * WORK ORDER: PROGRAMMER: RHC DTSCU072 00021 * DTSCU072 00022 * 09/18/95 FOREIGN ADDRESS LOGIC ADDED. DTSCU072 00023 * WORK ORDER: JR PROGRAMMER: EHH DTSCU072 00024 * DTSCU072 00025 * 10-20-95 NEW VERSION OF FINALST -- COPY MEMBER LENGTH DTSCU072 00026 * CHANGED, FIELDS MOVED AROUND, RENAMED, ETC. DTSCU072 00027 * ADDED COMM-AREA-LENGTH-FIELD, CHANGED CODE IN DTSCU072 00028 * S1000-LINK-TO-FINALIST TO USE IT. CHANGED CODE DTSCU072 00029 * IN P2120-FINALIST-RESULTS. DTSCU072 00030 * WORK ORDER: NONE PROGRAMMER: EHH DTSCU072 00031 * DTSCU072 00032 * 08/13/96 RECOMPILED FOR NEW VERSION OF FINALIST (REL 670). DTSCU072 00033 * REFERENCE RFP: NONE PROGRAMMER: MJA DTSCU072 00034 * DTSCU072 00035 * 08/20/97 RECOMPILED FOR NEW VERSION OF FINALIST (REL 680). DTSCU072 00036 * REFERENCE RFP: NONE PROGRAMMER: EHH DTSCU072 00037 * DTSCU072 00038 * 12/30/97 INITIALIZE FINAL-FIRMCORR-OPT WITH A VALUE OF DTSCU072 00039 * 'Y' AND FINAL-ALSLBL-OPT WITH A VALUE OF 'N'. DTSCU072 00040 * BATCH TESTING WITH CNFIGAAR INDICATES IN ORDER DTSCU072 00041 * TO FORCE THE ONLINE VERSION OF FINALIST TO YIELD DTSCU072 00042 * THE SAME RESULTS AS THE BATCH VERSION OF FINALIST `DTSCU072 00043 * WITH CNFIGAAR SPECIFIED THESE TWO OPTIONS MUST BE DTSCU072 00044 * SET AS INDICATED. THESE TWO OPTIONS WERE ADDED DTSCU072 00045 * TO FINALIST AFTER SYSTEM IMPLEMENTATION, BUT THE DTSCU072 00046 * MAINTENANCE PROGRAMMERS OVERLOOKED THEM. DTSCU072 00047 * REFERENCE RFP: TCL 214 PROGRAMMER: EHH DTSCU072 00048 * DTSCU072 00049 * 09/08/1998 FINALIST ORIENTED CODE COMMENTED OUT. LPFNCL01 DTSCU072 00050 * COPY MEMBER NOT AVAILABLE. AFTER LPFNCL01 DTSCU072 00051 * BECOMES AVAILABLE AND THE LINK TO FINALIST IS DTSCU072 00052 * WORKING, THIS MODULE MUST BE REVISITED. DTSCU072 00053 * REFERENCE: DC DEVELOPMENT PROGRAMMER: EHH DTSCU072 00054 * DTSCU072 00055 * 09/08/1999 FINALIST ORIENTED CODE UNCOMMENTED AND PROGRAM DTSCU072 00056 * RECOMPILED FOR RELEASE 700. LPFNCL01 TURNED DTSCU072 00057 * OUT TO BE UNCHANGED FROM 680 PROGRAMMER: TKT DTSCU072 00058 * DTSCU072 00059 * 09/20/2000 RECOMPILED FOR NEW VERSION(R720) OF FINALIST. DTSCU072 00060 * REFERENCE: DC DEVELOPMENT PROGRAMMER: ZL1 DTSCU072 00061 * DTSCU072 00062 * DTSCU072 00063 * 04/02/2002 RECOMPILED FOR NEW VERSION(R730) OF FINALIST. DTSCU072 00064 * REFERENCE: DC DEVELOPMENT PROGRAMMER: ZL1 DTSCU072 00065 * DTSCU072 00066 * 99/99/9999 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSCU072 00067 * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSCU072 00068 * REFERENCE: XXXXXXXXXXXXXXX PROGRAMMER: XXX DTSCU072 00069 * DTSCU072 00070 * DTSCU072 00071 * DESCRIPTION: DTSCU072 00072 * DTSCU072 00073 * EDIT AN ADDRESS. DTSCU072 00074 * DTSCU072 00075 * DTSCU072 00076 * SEE ISSUE STATEMENT 12, ISSUE STATEMENT 13, AND DTSCU072 00077 * THE 'FINALIST' MANUAL. DTSCU072 00078 * DTSCU072 00079 * SEE THE COMMENTS IN THE CODE. DTSCU072 00080 * DTSCU072 00081 * DTSCU072 00082 * 04/20/94 THE LOGIC PERMITTING A BLANK DELIVERY LINE DTSCU072 00083 * (IF L072-NAME IS A VALID FIRM NAME) IS DTSCU072 00084 * SUPPRESSED. DTSCU072 00085 * DTSCU072 00086 * STATUS UNIT WORKERS INDICATE THEY "NEVER" DTSCU072 00087 * ENCOUNTER A BLANK DELIVERY LINE. DTSCU072 00088 * DTSCU072 00089 ***** DTSCU072 00090 SKIP3 DTSCU072 00091 ENVIRONMENT DIVISION. DTSCU072 00092 SKIP3 DTSCU072 00093 DATA DIVISION. DTSCU072 00094 SKIP3 DTSCU072 00095 WORKING-STORAGE SECTION. DTSCU072 000955 77 PAN-VALET PICTURE X(24) VALUE '025DTSCU072 05/15/17'. DTSCU072 00096 SKIP3 DTSCU072 00097 01 WRK-AREA. DTSCU072 00098 05 WRK-ABEND-CODE PIC X(04) VALUE 'U072'. DTSCU072 00099 DTSCU072 00100 05 WRK-RESP-CODE PIC S9(08) COMP. DTSCU072 00101 SKIP3 DTSCU072 00102 01 FC-FINALIST-RETURN-CODES. DTSCU072 00103 05 FC-REASON-CODES. DTSCU072 00104 10 FC-REASON-CODE1 PIC 9(01). DTSCU072 00105 88 FC-ZIP-VERIF-88 VALUE 0 . DTSCU072 00106 88 FC-ZIP-GUESSED-88 VALUE 4 . DTSCU072 00107 88 FC-ZIP-FIXED-88 VALUE 5 6 7 . DTSCU072 00108 88 FC-ZIP-RETURNED-88 VALUE 1 . DTSCU072 00109 88 FC-ZIP-BYPASSED-88 VALUE 2 3 . DTSCU072 00110 88 FC-ZIP-BAD-88 VALUE 9. DTSCU072 00111 10 FC-REASON-CODE2 PIC 9(01). DTSCU072 00112 88 FC-CITY-VERIF-88 VALUE 0 . DTSCU072 00113 88 FC-CITY-VANITY-88 VALUE 7 . DTSCU072 00114 88 FC-CITY-STANDARD-88 VALUE 2 3 . DTSCU072 00115 88 FC-CITY-GUESSED-88 VALUE 6 . DTSCU072 00116 88 FC-CITY-FIXED-88 VALUE 5 . DTSCU072 00117 88 FC-CITY-RETURNED-88 VALUE 1 . DTSCU072 00118 88 FC-CITY-BYPASSED-88 VALUE 4 . DTSCU072 00119 88 FC-CITY-BAD-88 VALUE 9. DTSCU072 00120 10 FC-REASON-CODE3-CARRIER-ROUTE PIC 9(01). DTSCU072 00121 10 FC-REASON-CODE4-ZIP-PLUS-4 PIC 9(01). DTSCU072 00122 10 FC-REASON-CODE5 PIC 9(01). DTSCU072 00123 88 FC-STREET-VERIF-88 VALUE 0 . DTSCU072 00124 88 FC-STREET-STANDARD-88 VALUE 1 . DTSCU072 00125 88 FC-STREET-GUESSED-88 VALUE 2 3 4 6 . DTSCU072 00126 88 FC-STREET-BAD-88 VALUE 9. DTSCU072 00127 10 FC-REASON-CODE6 PIC 9(01). DTSCU072 00128 88 FC-RANGE-VERIF-88 VALUE 0 . DTSCU072 00129 88 FC-RANGE-GUESSED-88 VALUE 4 . DTSCU072 00130 88 FC-RANGE-BAD-88 VALUE 1 2 3 9. DTSCU072 00131 10 FC-REASON-CODE7 PIC 9(01). DTSCU072 00132 88 FC-SUFDIR-VERIF-88 VALUE 0 . DTSCU072 00133 88 FC-SUFDIR-MULTI-88 VALUE 4 . DTSCU072 00134 88 FC-SUFDIR-FIXED-88 VALUE 1 2 3 . DTSCU072 00135 88 FC-SUFDIR-BAD-88 VALUE 9. DTSCU072 00136 05 FC-ADDRESS-INFO-CODES. DTSCU072 00137 10 FC-INFO-CODE1 PIC 9(01). DTSCU072 00138 10 FC-INFO-CODE2 PIC 9(01). DTSCU072 00139 10 FC-INFO-CODE3 PIC 9(01). DTSCU072 00140 10 FC-INFO-CODE4 PIC 9(01). DTSCU072 00141 88 FC-BOTH-ADDR-BAD-88 VALUE 9. DTSCU072 00142 10 FC-INFO-CODE5 PIC 9(01). DTSCU072 00143 10 FC-INFO-CODE678 PIC 9(03). DTSCU072 00144 SKIP3 DTSCU072 00145 01 MSG-AREAS. DTSCU072 00146 05 MSG-E081-AREA. DTSCU072 00147 10 MSG-E081-MSG-ID PIC X(04) VALUE 'E081'.DTSCU072 00148 10 MSG-E081-MSG-TXT. DTSCU072 00149 15 FILLER PIC X(25) DTSCU072 00150 VALUE 'FINALIST NOT AVAILABLE'. DTSCU072 00151 15 MSG-E081-CAERRMOD PIC X(08). DTSCU072 00152 15 FILLER PIC X(02) VALUE SPACES.DTSCU072 00153 15 MSG-E081-CAERRSRC PIC X(08). DTSCU072 00154 15 FILLER PIC X(02) VALUE SPACES.DTSCU072 00155 15 MSG-E081-CAERRDSC PIC X(09). DTSCU072 00156 15 FILLER PIC X(06) VALUE SPACES.DTSCU072 00157 05 MSG-E082-AREA. DTSCU072 00158 10 FILLER PIC X(21) VALUE 'E082FINALIST RESULT: '.DTSCU072 00159 10 FILLER PIC X(43) DTSCU072 00160 VALUE 'UNABLE TO DETERMINE ZIP PLUS FOUR'. DTSCU072 00161 05 MSG-E083-AREA. DTSCU072 00162 10 FILLER PIC X(21) VALUE 'E083FINALIST RESULT: '.DTSCU072 00163 10 FILLER PIC X(43) DTSCU072 00164 VALUE 'ZIP CODE FAILED'. DTSCU072 00165 05 MSG-E084-AREA. DTSCU072 00166 10 FILLER PIC X(21) VALUE 'E084FINALIST RESULT: '.DTSCU072 00167 10 FILLER PIC X(43) DTSCU072 00168 VALUE 'CITY FAILED'. DTSCU072 00169 05 MSG-E085-AREA. DTSCU072 00170 10 FILLER PIC X(21) VALUE 'E085FINALIST RESULT: '.DTSCU072 00171 10 FILLER PIC X(43) DTSCU072 00172 VALUE 'STREET ADDRESS FAILED'. DTSCU072 00173 05 MSG-E086-AREA. DTSCU072 00174 10 FILLER PIC X(21) VALUE 'E086FINALIST RESULT: '.DTSCU072 00175 10 FILLER PIC X(43) DTSCU072 00176 VALUE 'ADDRESS FAILED'. DTSCU072 00177 05 MSG-E087-AREA. DTSCU072 00178 10 FILLER PIC X(21) VALUE 'E087FINALIST RESULT: '.DTSCU072 00179 10 FILLER PIC X(43) DTSCU072 00180 VALUE 'ADDRESS LINE LONGER THAN 40 CHARACTERS'. DTSCU072 00181 *****05 MSG-E08Y-AREA. DTSCU072 00182 ***** 10 FILLER PIC X(04) VALUE 'E08Y'. DTSCU072 00183 ***** 10 FILLER PIC X(60) DTSCU072 00184 ***** VALUE 'ILLEGAL NAME FORMAT FOUND ON MASTER FILE'. DTSCU072 00185 *****05 MSG-E08Z-AREA. DTSCU072 00186 ***** 10 FILLER PIC X(04) VALUE 'E08ZFINALIST RESULT: '.DTSCU072 00187 ***** 10 FILLER PIC X(43) DTSCU072 00188 ***** VALUE 'NON-FIRM NAME FOUND ON MASTER FILE'. DTSCU072 00189 EJECT DTSCU072 00190 01 C072-LITERALS. DTSCU072 00191 ++INCLUDE DTSIC072 DTSCU072 00192 SKIP3 DTSCU072 00193 ++INCLUDE LPFNCL01 DTSCU072 00194 EJECT DTSCU072 00195 01 CECD-LITERALS. DTSCU072 00196 ++INCLUDE DTSICECD DTSCU072 00197 EJECT DTSCU072 00198 LINKAGE SECTION. DTSCU072 00199 SKIP3 DTSCU072 00200 01 DFHCOMMAREA. DTSCU072 00201 ++INCLUDE DTSIL072 DTSCU072 00202 EJECT DTSCU072 00203 PROCEDURE DIVISION. DTSCU072 00204 DTSCU072 00205 *& NOTE: THE FOLLOWING LINE DISABLES CASS CERTIFICATION. DTSCU072 00206 *& IT MUST BE REMOVED WHEN FINALIST IS AVAILABLE. DTSCU072 00207 DTSCU072 00208 *& SET L072-NO-CASS-EDITS-88 TO TRUE. DTSCU072 00209 *& DTSCU072 00210 PERFORM I1000-INITIALIZE THROUGH I1000-EXIT. DTSCU072 00211 DTSCU072 00212 MOVE L072-ST TO C072-ST. DTSCU072 00213 IF C072-DC-88 DTSCU072 00214 PERFORM P2000-US-ADDRESS THRU P2000-EXIT DTSCU072 00215 ELSE DTSCU072 00216 IF C072-US-88 DTSCU072 00217 PERFORM P2000-US-ADDRESS THRU P2000-EXIT DTSCU072 00218 ELSE DTSCU072 00219 IF C072-CANADA-88 DTSCU072 00220 PERFORM P1000-CANADA-ADDRESS THRU P1000-EXIT DTSCU072 00221 ELSE DTSCU072 00222 IF C072-FOREIGN-88 DTSCU072 00223 PERFORM P3000-FOREIGN-ADDRESS THRU P3000-EXIT DTSCU072 00224 ELSE DTSCU072 00225 SET L072-ST-NOT-VALID-88 TO TRUE DTSCU072 00226 IF L072-ST = SPACE OR LOW-VALUE DTSCU072 00227 MOVE EMSG-FIELD-REQUIRED TO L072-MSG-AREA DTSCU072 00228 ELSE DTSCU072 00229 MOVE EMSG-FIELD-NOT-VALID TO L072-MSG-AREA. DTSCU072 00230 DTSCU072 00231 IF L072-MSG-ID NOT = SPACE DTSCU072 00232 SET L072-ADDRESS-NOT-VALID-88 TO TRUE. DTSCU072 00233 DTSCU072 00234 IF L072-ADDRESS-NOT-VALID-88 DTSCU072 00235 NEXT SENTENCE DTSCU072 00236 ELSE DTSCU072 00237 IF L072-DELIV-LINE-1-NOT-VALID-88 DTSCU072 00238 OR L072-DELIV-LINE-2-NOT-VALID-88 DTSCU072 00239 OR L072-CITY-NOT-VALID-88 DTSCU072 00240 OR L072-ST-NOT-VALID-88 DTSCU072 00241 OR L072-ZIP-NOT-VALID-88 DTSCU072 00242 SET L072-ADDRESS-NOT-VALID-88 TO TRUE DTSCU072 00243 ELSE DTSCU072 00244 IF L072-DELIV-LINE-1-CHANGED-88 DTSCU072 00245 OR L072-DELIV-LINE-2-CHANGED-88 DTSCU072 00246 OR L072-CITY-CHANGED-88 DTSCU072 00247 OR L072-ST-CHANGED-88 DTSCU072 00248 OR L072-ZIP-CHANGED-88 DTSCU072 00249 SET L072-ADDRESS-CHANGED-88 TO TRUE. DTSCU072 00250 DTSCU072 00251 DTSCU072 00252 EXEC CICS DTSCU072 00253 RETURN DTSCU072 00254 END-EXEC. DTSCU072 00255 DTSCU072 00256 DTSCU072 00257 DTSCU072 00258 GOBACK. DTSCU072 00259 EJECT DTSCU072 00260 I1000-INITIALIZE. DTSCU072 00261 IF L072-NO-CASS-EDITS-88 DTSCU072 00262 NEXT SENTENCE DTSCU072 00263 ELSE DTSCU072 00264 SET L072-CASS-EDITS-88 TO TRUE. DTSCU072 00265 DTSCU072 00266 DTSCU072 00267 SET L072-ADDRESS-UNCHANGED-88 TO TRUE. DTSCU072 00268 DTSCU072 00269 DTSCU072 00270 SET L072-ATTN-LINE-UNCHANGED-88 TO TRUE. DTSCU072 00271 DTSCU072 00272 SET L072-DELIV-LINE-1-UNCHANGED-88 TO TRUE. DTSCU072 00273 DTSCU072 00274 SET L072-DELIV-LINE-2-UNCHANGED-88 TO TRUE. DTSCU072 00275 DTSCU072 00276 SET L072-CITY-UNCHANGED-88 TO TRUE. DTSCU072 00277 DTSCU072 00278 SET L072-ST-UNCHANGED-88 TO TRUE. DTSCU072 00279 DTSCU072 00280 SET L072-ZIP-UNCHANGED-88 TO TRUE. DTSCU072 00281 DTSCU072 00282 DTSCU072 00283 IF L072-ATTN-LINE = LOW-VALUES DTSCU072 00284 MOVE SPACES TO L072-ATTN-LINE. DTSCU072 00285 DTSCU072 00286 IF L072-DELIV-LINE-1 = LOW-VALUES DTSCU072 00287 MOVE SPACES TO L072-DELIV-LINE-1. DTSCU072 00288 DTSCU072 00289 IF L072-DELIV-LINE-2 = LOW-VALUES DTSCU072 00290 MOVE SPACES TO L072-DELIV-LINE-2. DTSCU072 00291 DTSCU072 00292 IF L072-CITY = LOW-VALUES DTSCU072 00293 MOVE SPACES TO L072-CITY. DTSCU072 00294 DTSCU072 00295 IF L072-ST = LOW-VALUES DTSCU072 00296 MOVE SPACES TO L072-ST. DTSCU072 00297 DTSCU072 00298 IF L072-ZIP = LOW-VALUES DTSCU072 00299 MOVE SPACES TO L072-ZIP. DTSCU072 00300 DTSCU072 00301 DTSCU072 00302 MOVE SPACES TO L072-ADVANCED-BARCODE DTSCU072 00303 L072-CASS-RETURN-CODES DTSCU072 00304 L072-MSG-AREA. DTSCU072 00305 DTSCU072 00306 DTSCU072 00307 MOVE L072-ST TO C072-ST. DTSCU072 00308 I1000-EXIT. DTSCU072 00309 EXIT. DTSCU072 00310 EJECT DTSCU072 00311 P1000-CANADA-ADDRESS. DTSCU072 00312 SET L072-NO-CASS-EDITS-88 TO TRUE. DTSCU072 00313 DTSCU072 00314 DTSCU072 00315 * IF (L072-ATTN-LINE NOT = SPACES) DTSCU072 00316 * AND DTSCU072 00317 * (L072-DELIV-LINE-1 NOT = SPACES) DTSCU072 00318 * AND DTSCU072 00319 * (L072-DELIV-LINE-2 NOT = SPACES) DTSCU072 00320 * MOVE EMSG-CROSS-EDIT TO L072-MSG-AREA DTSCU072 00321 * SET L072-ATTN-LINE-NOT-VALID-88 DTSCU072 00322 * L072-DELIV-LINE-1-NOT-VALID-88 DTSCU072 00323 * L072-DELIV-LINE-2-NOT-VALID-88 TO TRUE DTSCU072 00324 * GO TO P1000-EXIT. DTSCU072 00325 DTSCU072 00326 IF (L072-DELIV-LINE-1 NOT = SPACES) DTSCU072 00327 AND DTSCU072 00328 (L072-DELIV-LINE-2 = SPACES) DTSCU072 00329 MOVE L072-DELIV-LINE-1 TO L072-DELIV-LINE-2 DTSCU072 00330 MOVE SPACES TO L072-DELIV-LINE-1 DTSCU072 00331 SET L072-DELIV-LINE-1-CHANGED-88 DTSCU072 00332 L072-DELIV-LINE-2-CHANGED-88 TO TRUE. DTSCU072 00333 DTSCU072 00334 IF L072-DELIV-LINE-2 = SPACES DTSCU072 00335 MOVE EMSG-FIELD-REQUIRED TO L072-MSG-AREA DTSCU072 00336 SET L072-DELIV-LINE-2-NOT-VALID-88 TO TRUE DTSCU072 00337 GO TO P1000-EXIT. DTSCU072 00338 DTSCU072 00339 IF L072-CITY = SPACE DTSCU072 00340 MOVE EMSG-FIELD-REQUIRED TO L072-MSG-AREA DTSCU072 00341 SET L072-CITY-NOT-VALID-88 TO TRUE DTSCU072 00342 GO TO P1000-EXIT. DTSCU072 00343 DTSCU072 00344 IF L072-ZIP = SPACES DTSCU072 00345 MOVE EMSG-FIELD-REQUIRED TO L072-MSG-AREA DTSCU072 00346 SET L072-ZIP-NOT-VALID-88 TO TRUE DTSCU072 00347 GO TO P1000-EXIT. DTSCU072 00348 DTSCU072 00349 IF L072-ZIP (1:1) NOT ALPHABETIC DTSCU072 00350 OR L072-ZIP (2:1) NOT NUMERIC DTSCU072 00351 OR L072-ZIP (3:1) NOT ALPHABETIC DTSCU072 00352 OR L072-ZIP (4:1) NOT = SPACE DTSCU072 00353 OR L072-ZIP (5:1) NOT NUMERIC DTSCU072 00354 OR L072-ZIP (6:1) NOT ALPHABETIC DTSCU072 00355 OR L072-ZIP (7:1) NOT NUMERIC DTSCU072 00356 OR L072-ZIP (8:3) NOT = SPACE DTSCU072 00357 SET L072-ZIP-NOT-VALID-88 TO TRUE DTSCU072 00358 MOVE EMSG-FIELD-NOT-VALID TO L072-MSG-AREA. DTSCU072 00359 P1000-EXIT. DTSCU072 00360 EXIT. DTSCU072 00361 SKIP3 DTSCU072 00362 P2000-US-ADDRESS. DTSCU072 00363 IF L072-CASS-EDITS-88 DTSCU072 00364 PERFORM P2100-CASS THRU P2100-EXIT DTSCU072 00365 ELSE DTSCU072 00366 PERFORM P2200-NO-CASS THRU P2200-EXIT. DTSCU072 00367 P2000-EXIT. DTSCU072 00368 EXIT. DTSCU072 00369 EJECT DTSCU072 00370 P2100-CASS. DTSCU072 00371 MOVE SPACE TO FINAL-ORIGINAL-RETURN-AREA DTSCU072 00372 FINAL-EXPANDED-RETURN-AREA. DTSCU072 00373 MOVE HIGH-VALUE TO FINAL-FILLER. DTSCU072 00374 DTSCU072 00375 MOVE '0' TO FINAL-FUNCTION-CODE. DTSCU072 00376 DTSCU072 00377 *-------------------------------------------------------------- DTSCU072 00378 * FINALIST ONLINE DOES NOT ACCEPT VALID CASS CONFIGURATIONS DTSCU072 00379 * (CONFIGXXX). HOWEVER, THE FOLLOWING CODE SETS THE DTSCU072 00380 * INDIVIDUAL TAILORING OPTIONS TO DUPLICATE (WHEN COMBINED DTSCU072 00381 * WITH LATER USE OF FUNCTION CODE EQUAL TO 5) THE DTSCU072 00382 * 'CNFIGAAR' CONFIGURATION. DTSCU072 00383 *-------------------------------------------------------------- DTSCU072 00384 MOVE 'X ' TO FINAL-FUNCTION-OPTION. DTSCU072 00385 MOVE 'Y' TO FINAL-UNIQUE-OPT. DTSCU072 00386 MOVE 'Y' TO FINAL-STRTPHON-OPT. DTSCU072 00387 MOVE 'Y' TO FINAL-FIRMCORR-OPT. DTSCU072 00388 MOVE 'Y' TO FINAL-CITYPHON-OPT. DTSCU072 00389 MOVE 'N' TO FINAL-WEIGHT-OPT. DTSCU072 00390 MOVE 'Y' TO FINAL-ZIPCORR-OPT. DTSCU072 00391 MOVE 'Y' TO FINAL-CITYCORR-OPT. DTSCU072 00392 MOVE 'N' TO FINAL-STRCOSM-OPT. DTSCU072 00393 MOVE 'Y' TO FINAL-FRMPRS-OPT. DTSCU072 00394 MOVE 'Y' TO FINAL-UNITDES-OPT. DTSCU072 00395 MOVE 'Y' TO FINAL-CTYLONG-OPT. DTSCU072 00396 MOVE 'N' TO FINAL-ALSLBL-OPT. DTSCU072 00397 MOVE 'LPFNMODC' TO CAMODNAM. DTSCU072 00398 DTSCU072 00399 PERFORM S1000-LINK-TO-FINALIST THROUGH S1000-EXIT. DTSCU072 00400 DTSCU072 00401 IF FINAL-RETURN-CODE1 = 'E' DTSCU072 00402 PERFORM P2110-FINALIST-ABEND THROUGH P2110-EXIT DTSCU072 00403 GO TO P2100-EXIT. DTSCU072 00404 DTSCU072 00405 MOVE SPACES TO FINAL-INPUT-ADDR-AREA. DTSCU072 00406 DTSCU072 00407 IF L072-DELIV-LINE-1 > SPACES DTSCU072 00408 MOVE L072-DELIV-LINE-1 TO USER-INPUT-ADDRESS-1. DTSCU072 00409 DTSCU072 00410 * IF L072-DELIV-LINE = SPACE DTSCU072 00411 * IF L072-MOPO-88 DTSCU072 00412 * OR L072-FFID-88 DTSCU072 00413 * SET L071-FROM-LAST-NAME-FIRST TO TRUE DTSCU072 00414 * MOVE L072-NAME TO L071-NAM DTSCU072 00415 * PERFORM S071-NAME-CONVERT THROUGH S071-EXIT DTSCU072 00416 * IF L071-NAME-CONVERTED DTSCU072 00417 * MOVE L071-NAM TO USER-INPUT-ADDRESS-2 DTSCU072 00418 * ELSE DTSCU072 00419 * SET L072-DELIV-LINE-NOT-VALID-88 TO TRUE DTSCU072 00420 * MOVE MSG-E08Y-AREA TO L072-MSG-AREA DTSCU072 00421 * GO TO P2100-EXIT DTSCU072 00422 * ELSE DTSCU072 00423 * MOVE L072-NAME TO USER-INPUT-ADDRESS-2 DTSCU072 00424 * ELSE DTSCU072 00425 * MOVE L072-DELIV-LINE TO USER-INPUT-ADDRESS-2. DTSCU072 00426 * IF L072-DELIV-LINE = SPACE DTSCU072 00427 * SET L072-DELIV-LINE-NOT-VALID-88 TO TRUE DTSCU072 00428 * MOVE EMSG-FIELD-REQUIRED TO L072-MSG-AREA DTSCU072 00429 * GO TO P2100-EXIT DTSCU072 00430 * ELSE DTSCU072 00431 * MOVE L072-DELIV-LINE TO USER-INPUT-ADDRESS-2. DTSCU072 00432 * DTSCU072 00433 * MOVE SPACES TO USER-INPUT-CSZ-AREA. DTSCU072 00434 DTSCU072 00435 MOVE L072-DELIV-LINE-2 TO USER-INPUT-ADDRESS-2. DTSCU072 00436 DTSCU072 00437 * STRING L072-CITY ' ' L072-ST DTSCU072 00438 * DELIMITED BY ' ' DTSCU072 00439 * INTO USER-INPUT-CITY-STATE. DTSCU072 00440 DTSCU072 00441 MOVE L072-CITY TO USER-INPUT-CITY-STATE (1:25). DTSCU072 00442 MOVE L072-ST TO USER-INPUT-CITY-STATE (28:2). DTSCU072 00443 DTSCU072 00444 MOVE L072-ZIP TO USER-INPUT-ZIP. DTSCU072 00445 MOVE L072-ZIP (7:4) TO USER-INPUT-SEC-SEG. DTSCU072 00446 DTSCU072 00447 MOVE '5' TO FINAL-FUNCTION-CODE. DTSCU072 00448 PERFORM S1000-LINK-TO-FINALIST THROUGH S1000-EXIT. DTSCU072 00449 IF FINAL-RETURN-CODE1 = 'E' DTSCU072 00450 PERFORM P2110-FINALIST-ABEND THROUGH P2110-EXIT DTSCU072 00451 GO TO P2100-EXIT. DTSCU072 00452 DTSCU072 00453 PERFORM P2120-FINALIST-RESULTS THROUGH P2120-EXIT. DTSCU072 00454 IF L072-MSG-ID = SPACE DTSCU072 00455 PERFORM P2130-CHECK-FINALIST-CODES THROUGH P2130-EXIT. DTSCU072 00456 * IF L072-DELIV-LINE-NOT-VALID-88 DTSCU072 00457 *** WORKAROUND FOR FINALIST BUG: GENERAL DELIVERY W/ GARBAGE CITY DTSCU072 00458 * IF L072-DELIV-LINE = 'GENERAL DELIVERY' DTSCU072 00459 * SET L072-DELIV-LINE-UNCHANGED-88 TO TRUE DTSCU072 00460 * MOVE MSG-E084-AREA TO L072-MSG-AREA DTSCU072 00461 * SET L072-CITY-NOT-VALID-88 TO TRUE. DTSCU072 00462 DTSCU072 00463 IF L072-MSG-ID = SPACE DTSCU072 00464 IF FINAL-OUTSEL-BAD = 'Y' DTSCU072 00465 SET L072-ADDRESS-NOT-VALID-88 TO TRUE DTSCU072 00466 MOVE MSG-E086-AREA TO L072-MSG-AREA. DTSCU072 00467 DTSCU072 00468 * MOVE '9' TO FINAL-FUNCTION-CODE. DTSCU072 00469 * PERFORM S1000-LINK-TO-FINALIST THROUGH S1000-EXIT. DTSCU072 00470 * IF FINAL-RETURN-CODE1 = 'E' DTSCU072 00471 * PERFORM P2110-FINALIST-ABEND THROUGH P2110-EXIT. DTSCU072 00472 DTSCU072 00473 P2100-EXIT. DTSCU072 00474 EXIT. DTSCU072 00475 SKIP3 DTSCU072 00476 P2110-FINALIST-ABEND. DTSCU072 00477 SET L072-ADDRESS-NOT-VALID-88 TO TRUE. DTSCU072 00478 DTSCU072 00479 MOVE CAERRMOD TO MSG-E081-CAERRMOD. DTSCU072 00480 MOVE CAERRSRC TO MSG-E081-CAERRSRC. DTSCU072 00481 MOVE CAERRDSC TO MSG-E081-CAERRDSC. DTSCU072 00482 DTSCU072 00483 *****MOVE SPACES TO MSG-E081-CAERRMOD DTSCU072 00484 ***** MSG-E081-CAERRSRC DTSCU072 00485 ***** MSG-E081-CAERRDSC. DTSCU072 00486 DTSCU072 00487 MOVE MSG-E081-AREA TO L072-MSG-AREA. DTSCU072 00488 P2110-EXIT. DTSCU072 00489 EXIT. DTSCU072 00490 EJECT DTSCU072 00491 P2120-FINALIST-RESULTS. DTSCU072 00492 IF FINAL-LABEL-LENGTH1 > 40 DTSCU072 00493 MOVE MSG-E087-AREA TO L072-MSG-AREA DTSCU072 00494 SET L072-DELIV-LINE-1-NOT-VALID-88 TO TRUE DTSCU072 00495 ELSE DTSCU072 00496 IF L072-DELIV-LINE-1 > SPACES DTSCU072 00497 IF FINAL-LABEL-LENGTH1 > 0 DTSCU072 00498 MOVE EMSG-FIELD-NOT-ALLOWED TO L072-MSG-AREA DTSCU072 00499 SET L072-DELIV-LINE-1-NOT-VALID-88 TO TRUE DTSCU072 00500 ELSE DTSCU072 00501 MOVE SPACES TO L072-DELIV-LINE-1 DTSCU072 00502 ELSE DTSCU072 00503 IF L072-DELIV-LINE-1 = SPACES DTSCU072 00504 IF FINAL-LABEL-LENGTH1 > 0 DTSCU072 00505 MOVE FINAL-LABEL-LINE1 TO L072-DELIV-LINE-1 DTSCU072 00506 SET L072-DELIV-LINE-1-CHANGED-88 TO TRUE DTSCU072 00507 * SET L072-ATTN-DELIV-88 TO TRUE DTSCU072 00508 ELSE DTSCU072 00509 NEXT SENTENCE DTSCU072 00510 ELSE DTSCU072 00511 IF FINAL-LABEL-LENGTH1 > 0 DTSCU072 00512 MOVE FINAL-LABEL-LINE1 TO L072-DELIV-LINE-1 DTSCU072 00513 SET L072-DELIV-LINE-1-CHANGED-88 TO TRUE DTSCU072 00514 * SET L072-ATTN-DELIV-88 TO TRUE DTSCU072 00515 ELSE DTSCU072 00516 MOVE SPACES TO L072-DELIV-LINE-1 DTSCU072 00517 SET L072-DELIV-LINE-1-CHANGED-88 TO TRUE. DTSCU072 00518 * SET L072-ATTN-NONE-88 TO TRUE. DTSCU072 00519 DTSCU072 00520 IF FINAL-LABEL-LENGTH2 > 40 DTSCU072 00521 MOVE MSG-E087-AREA TO L072-MSG-AREA DTSCU072 00522 SET L072-DELIV-LINE-2-NOT-VALID-88 TO TRUE DTSCU072 00523 ELSE DTSCU072 00524 * IF L072-DELIV-LINE = SPACE DTSCU072 00525 * IF FINAL-MAIL-FIRM-NAME = SPACE DTSCU072 00526 * SET L072-DELIV-LINE-NOT-VALID-88 TO TRUE DTSCU072 00527 * MOVE MSG-E08Z-AREA TO L072-MSG-AREA DTSCU072 00528 * ELSE DTSCU072 00529 * NEXT SENTENCE DTSCU072 00530 * ELSE DTSCU072 00531 IF FINAL-LABEL-LINE2 NOT = L072-DELIV-LINE-2 DTSCU072 00532 MOVE FINAL-LABEL-LINE2 TO L072-DELIV-LINE-2 DTSCU072 00533 SET L072-DELIV-LINE-2-CHANGED-88 TO TRUE. DTSCU072 00534 DTSCU072 00535 IF FINAL-FULL-CITY-NAME NOT = L072-CITY DTSCU072 00536 MOVE FINAL-FULL-CITY-NAME TO L072-CITY DTSCU072 00537 SET L072-CITY-CHANGED-88 TO TRUE. DTSCU072 00538 DTSCU072 00539 IF FINAL-STATE NOT = L072-ST DTSCU072 00540 MOVE FINAL-STATE TO L072-ST DTSCU072 00541 SET L072-ST-CHANGED-88 TO TRUE. DTSCU072 00542 DTSCU072 00543 IF FINAL-ZIP NOT = L072-ZIP (1:5) DTSCU072 00544 MOVE FINAL-ZIP TO L072-ZIP (1:5) DTSCU072 00545 SET L072-ZIP-CHANGED-88 TO TRUE. DTSCU072 00546 DTSCU072 00547 IF FINAL-SEC-SEG = SPACE DTSCU072 00548 MOVE SPACE TO L072-ZIP (6:5) DTSCU072 00549 ELSE DTSCU072 00550 IF L072-ZIP (7:4) NOT = SPACE DTSCU072 00551 AND FINAL-SEC-SEG NOT = L072-ZIP (7:4) DTSCU072 00552 SET L072-ZIP-CHANGED-88 TO TRUE DTSCU072 00553 END-IF DTSCU072 00554 MOVE '-' TO L072-ZIP (6:1) DTSCU072 00555 MOVE FINAL-SEC-SEG TO L072-ZIP (7:4). DTSCU072 00556 DTSCU072 00557 STRING FINAL-RETURN-CODE1 DELIMITED BY SIZE DTSCU072 00558 '-' DELIMITED BY SIZE DTSCU072 00559 FINAL-REASON-CODES (1:9) DELIMITED BY SIZE DTSCU072 00560 '-' DELIMITED BY SIZE DTSCU072 00561 FINAL-ADDRESS-INFO-CODES (1:6) DELIMITED BY SIZE DTSCU072 00562 INTO L072-CASS-RETURN-CODES. DTSCU072 00563 DTSCU072 00564 MOVE FINAL-ADVANCED-BARCODE TO L072-ADVANCED-BARCODE. DTSCU072 00565 P2120-EXIT. DTSCU072 00566 EXIT. DTSCU072 00567 EJECT DTSCU072 00568 P2130-CHECK-FINALIST-CODES. DTSCU072 00569 MOVE FINAL-REASON-CODES TO FC-REASON-CODES. DTSCU072 00570 MOVE FINAL-ADDRESS-INFO-CODES TO FC-ADDRESS-INFO-CODES. DTSCU072 00571 DTSCU072 00572 IF FC-STREET-BAD-88 DTSCU072 00573 OR FC-RANGE-BAD-88 DTSCU072 00574 OR FC-SUFDIR-BAD-88 DTSCU072 00575 MOVE MSG-E085-AREA TO L072-MSG-AREA DTSCU072 00576 SET L072-DELIV-LINE-2-NOT-VALID-88 TO TRUE DTSCU072 00577 GO TO P2130-EXIT. DTSCU072 00578 DTSCU072 00579 IF FC-CITY-BYPASSED-88 DTSCU072 00580 OR FC-CITY-BAD-88 DTSCU072 00581 MOVE MSG-E084-AREA TO L072-MSG-AREA DTSCU072 00582 SET L072-CITY-NOT-VALID-88 TO TRUE DTSCU072 00583 GO TO P2130-EXIT. DTSCU072 00584 DTSCU072 00585 IF FC-ZIP-BYPASSED-88 DTSCU072 00586 OR FC-ZIP-BAD-88 DTSCU072 00587 MOVE MSG-E083-AREA TO L072-MSG-AREA DTSCU072 00588 SET L072-ZIP-NOT-VALID-88 TO TRUE DTSCU072 00589 GO TO P2130-EXIT. DTSCU072 00590 DTSCU072 00591 IF FC-BOTH-ADDR-BAD-88 DTSCU072 00592 MOVE MSG-E086-AREA TO L072-MSG-AREA DTSCU072 00593 SET L072-DELIV-LINE-2-NOT-VALID-88 TO TRUE DTSCU072 00594 GO TO P2130-EXIT. DTSCU072 00595 DTSCU072 00596 IF FINAL-RETURN-CODE1 NOT = '0' DTSCU072 00597 IF FC-SUFDIR-MULTI-88 DTSCU072 00598 MOVE MSG-E085-AREA TO L072-MSG-AREA DTSCU072 00599 SET L072-DELIV-LINE-2-NOT-VALID-88 TO TRUE DTSCU072 00600 GO TO P2130-EXIT DTSCU072 00601 ELSE DTSCU072 00602 MOVE MSG-E082-AREA TO L072-MSG-AREA DTSCU072 00603 SET L072-ZIP-NOT-VALID-88 TO TRUE DTSCU072 00604 GO TO P2130-EXIT. DTSCU072 00605 P2130-EXIT. DTSCU072 00606 EXIT. DTSCU072 00607 EJECT DTSCU072 00608 P2200-NO-CASS. DTSCU072 00609 IF (L072-DELIV-LINE-1 NOT = SPACES) DTSCU072 00610 AND DTSCU072 00611 (L072-DELIV-LINE-2 = SPACES) DTSCU072 00612 MOVE L072-DELIV-LINE-1 TO L072-DELIV-LINE-2 DTSCU072 00613 MOVE SPACES TO L072-DELIV-LINE-1 DTSCU072 00614 SET L072-DELIV-LINE-1-CHANGED-88 DTSCU072 00615 L072-DELIV-LINE-2-CHANGED-88 TO TRUE. DTSCU072 00616 DTSCU072 00617 IF L072-DELIV-LINE-2 = SPACES DTSCU072 00618 MOVE EMSG-FIELD-REQUIRED TO L072-MSG-AREA DTSCU072 00619 SET L072-DELIV-LINE-2-NOT-VALID-88 TO TRUE DTSCU072 00620 GO TO P2200-EXIT. DTSCU072 00621 DTSCU072 00622 IF L072-CITY = SPACE DTSCU072 00623 MOVE EMSG-FIELD-REQUIRED TO L072-MSG-AREA DTSCU072 00624 SET L072-CITY-NOT-VALID-88 TO TRUE DTSCU072 00625 GO TO P2200-EXIT. DTSCU072 00626 DTSCU072 00627 IF L072-ZIP = SPACES DTSCU072 00628 MOVE EMSG-FIELD-REQUIRED TO L072-MSG-AREA DTSCU072 00629 SET L072-ZIP-NOT-VALID-88 TO TRUE DTSCU072 00630 GO TO P2200-EXIT. DTSCU072 00631 DTSCU072 00632 IF L072-ZIP (1:5) NOT NUMERIC DTSCU072 00633 OR L072-ZIP (1:5) = '00000' CL*25 00634 MOVE EMSG-FIELD-NOT-VALID TO L072-MSG-AREA DTSCU072 00635 SET L072-ZIP-NOT-VALID-88 TO TRUE DTSCU072 00636 ELSE DTSCU072 00637 IF L072-ZIP (6:5) NOT = SPACE CL*25 00638 MOVE SPACE TO L072-ZIP (6:5) CL*25 00639 SET L072-ZIP-CHANGED-88 TO TRUE. CL*25 00640 P2200-EXIT. DTSCU072 00641 EXIT. DTSCU072 00642 EJECT DTSCU072 00643 P3000-FOREIGN-ADDRESS. DTSCU072 00644 SET L072-NO-CASS-EDITS-88 TO TRUE. DTSCU072 00645 DTSCU072 00646 IF L072-ZIP = ALL '*' DTSCU072 00647 NEXT SENTENCE DTSCU072 00648 ELSE DTSCU072 00649 MOVE ALL '*' TO L072-ZIP DTSCU072 00650 SET L072-ZIP-CHANGED-88 TO TRUE. DTSCU072 00651 DTSCU072 00652 IF L072-DELIV-LINE-1 = SPACES DTSCU072 00653 SET L072-DELIV-LINE-1-NOT-VALID-88 TO TRUE DTSCU072 00654 MOVE EMSG-FIELD-REQUIRED TO L072-MSG-AREA DTSCU072 00655 GO TO P3000-EXIT. DTSCU072 00656 DTSCU072 00657 IF L072-DELIV-LINE-2 = SPACES DTSCU072 00658 SET L072-DELIV-LINE-2-NOT-VALID-88 TO TRUE DTSCU072 00659 MOVE EMSG-FIELD-REQUIRED TO L072-MSG-AREA DTSCU072 00660 GO TO P3000-EXIT. DTSCU072 00661 DTSCU072 00662 IF L072-CITY = SPACES DTSCU072 00663 SET L072-CITY-NOT-VALID-88 TO TRUE DTSCU072 00664 MOVE EMSG-FIELD-REQUIRED TO L072-MSG-AREA DTSCU072 00665 GO TO P3000-EXIT. DTSCU072 00666 P3000-EXIT. DTSCU072 00667 EXIT. DTSCU072 00668 EJECT DTSCU072 00669 S1000-LINK-TO-FINALIST. DTSCU072 00670 EXEC CICS DTSCU072 00671 LINK DTSCU072 00672 PROGRAM ('FINALOL') DTSCU072 00673 COMMAREA (FINAL-CALL-AREA) DTSCU072 00674 END-EXEC. DTSCU072 00675 S1000-EXIT. DTSCU072 00676 EXIT. DTSCU072 00677 SKIP3 DTSCU072 00678 ****************** S071-NAME-CONVERT NOT USED. DTSCU072 00679 *S071-NAME-CONVERT. DTSCU072 00680 * EXEC CICS DTSCU072 00681 * LINK DTSCU072 00682 * PROGRAM ('DTSCU071') DTSCU072 00683 * COMMAREA (L071-COMM-AREA) DTSCU072 00684 * END-EXEC. DTSCU072 00685 *S071-EXIT. DTSCU072 00686 * EXIT. DTSCU072 00687 ****************** S899-ABEND NOT USED. DTSCU072 00688 *S899-ABEND. DTSCU072 00689 * SKIP1 DTSCU072 00690 * EXEC CICS DTSCU072 00691 * ABEND DTSCU072 00692 * ABCODE (WRK-ABEND-CODE) DTSCU072 00693 * END-EXEC. DTSCU072 00694 * SKIP1 DTSCU072 00695 *S899-EXIT. DTSCU072 00696 * EXIT. DTSCU072