226 lines
18 KiB
COBOL
226 lines
18 KiB
COBOL
00001 IDENTIFICATION DIVISION. 10/20/98
|
|
00002 PROGRAM-ID. DTSBU112. DTSBU112
|
|
00003 AUTHOR. TRICOASTAL CONSULTING LTD. LV004
|
|
00004 DATE-WRITTEN. JULY 1994. DTSBU112
|
|
00005 DATE-COMPILED. DTSBU112
|
|
00006 SKIP3 DTSBU112
|
|
00007 ***** DTSBU112
|
|
00008 * DTSBU112
|
|
00009 * FUNCTION: FORMAT ADDRESS FOR MAILING. DTSBU112
|
|
00010 * DTSBU112
|
|
00011 * DTSBU112
|
|
00012 * MODIFICATION LOG: DTSBU112
|
|
00013 * DTSBU112
|
|
00014 * 09/17/98 CLONED FROM MACCU112. CL**2
|
|
00015 * WORK ORDER: PROGRAMMER: ZL1. CL**2
|
|
00016 * DTSBU112
|
|
00017 * 10/20/1998 REVIEWED AND MODIFIED FOR DC. CL**3
|
|
00018 * REFERENCE: DC DEVELOPMENT PROGRAMMER: EHH CL**3
|
|
00019 * DTSBU112
|
|
00020 * DTSBU112
|
|
00021 * DESCRIPTION: DTSBU112
|
|
00022 * DTSBU112
|
|
00023 * DTSBU112 FORMATS L112-NAME-ADDRESS-AREA FOR MAILING CL**2
|
|
00024 * (INTO L112-MAILING-ADDDRESS). DTSBU112
|
|
00025 * DTSBU112
|
|
00026 * SEE SECTION 3 OF ISSUE NUMBER 13. DTSBU112
|
|
00027 * DTSBU112
|
|
00028 * IF L112-ANCHOR-LAST-88 DTSBU112
|
|
00029 * L112-MAILING-LINE-5 IS ALWAYS OCCUPIED DTSBU112
|
|
00030 * ELSE DTSBU112
|
|
00031 * IF L112-ANCHOR-FIRST-88 DTSBU112
|
|
00032 * L112-MAILING-LINE-1 IS ALWAYS OCCUPIED. DTSBU112
|
|
00033 * DTSBU112
|
|
00034 * DTSBU112
|
|
00035 * THE USE OF L111-BUSINESS-NAME AND L111-ADDRESS-NAME IS DTSBU112
|
|
00036 * A BIT TRICKY. DTSBU112
|
|
00037 * DTSBU112
|
|
00038 * IF L112-TAD-ADDR-88 DTSBU112
|
|
00039 * USE L112-BUSINESS-NAME DTSBU112
|
|
00040 * IF L112-ADDRESS-NAME IS NOT EQUAL TO SPACES DTSBU112
|
|
00041 * L112-ADDRESS-NAME IS AN OPO NAME DTSBU112
|
|
00042 * CONVERT L112-ADDRESS-NAME (USING DTSBU071) CL**2
|
|
00043 * USE CONVERTED L112-ADDRESS-NAME (AS INDICATED IN ISSUDTSBU112
|
|
00044 * STATEMENT). DTSBU112
|
|
00045 * DTSBU112
|
|
00046 * IF L112-TAA-ADDR-88 DTSBU112
|
|
00047 * USE L112-ADDRESS-NAME DTSBU112
|
|
00048 * IGNORE L112-BUSINESS-NAME. DTSBU112
|
|
00049 * DTSBU112
|
|
00050 * IF L112-OPO-ADDR-88 DTSBU112
|
|
00051 * CONVERT L112-ADDRESS-NAME (USING DTSBU071) CL**2
|
|
00052 * USE CONVERTED L112-ADDRESS-NAME DTSBU112
|
|
00053 * USE L112-BUSINESS-NAME (AS INDICATED IN ISSUE STATEMENT).DTSBU112
|
|
00054 * DTSBU112
|
|
00055 * IF L112-BAA-ADDR-88 DTSBU112
|
|
00056 * USE L112-ADDRESS-NAME DTSBU112
|
|
00057 * IGNORE L112-BUSINESS-NAME. DTSBU112
|
|
00058 * DTSBU112
|
|
00059 * IF L112-FID-MAILING-ADDR-88 OR L112-FID-PHYSICAL-ADDR-88 DTSBU112
|
|
00060 * CONVERT L112-ADRESS-NAME (USING DTSBU071) CL**2
|
|
00061 * USE CONVERTED L112-ADDRESS-NAME DTSBU112
|
|
00062 * IGNORE L112-BUSINESS-NAME. DTSBU112
|
|
00063 * DTSBU112
|
|
00064 ***** DTSBU112
|
|
00065 SKIP3 DTSBU112
|
|
00066 ENVIRONMENT DIVISION. DTSBU112
|
|
00067 SKIP3 DTSBU112
|
|
00068 DATA DIVISION. DTSBU112
|
|
00069 SKIP3 DTSBU112
|
|
00070 WORKING-STORAGE SECTION. DTSBU112
|
|
000705 77 PAN-VALET PICTURE X(24) VALUE '004DTSBU112 10/20/98'. DTSBU112
|
|
00071 SKIP3 DTSBU112
|
|
00072 01 WRK-AREA. DTSBU112
|
|
00073 05 WRK-ABEND-CODE PIC S9(04) COMP DTSBU112
|
|
00074 VALUE +112. DTSBU112
|
|
00075 CL**3
|
|
00076 05 WRK-PTR PIC S9(04) COMP. DTSBU112
|
|
00077 CL**3
|
|
00078 05 WRK-PTR-NEW PIC S9(04) COMP. DTSBU112
|
|
00079 EJECT DTSBU112
|
|
00080 01 L071-LINK-AREA. DTSBU112
|
|
00081 ++INCLUDE DTSIL071 CL**2
|
|
00082 EJECT DTSBU112
|
|
00083 01 C072-LITERALS. DTSBU112
|
|
00084 ++INCLUDE DTSIC072 CL**2
|
|
00085 EJECT DTSBU112
|
|
00086 LINKAGE SECTION. DTSBU112
|
|
00087 SKIP3 DTSBU112
|
|
00088 01 L112-LINK-AREA. DTSBU112
|
|
00089 ++INCLUDE DTSIL112 CL**2
|
|
00090 EJECT DTSBU112
|
|
00091 PROCEDURE DIVISION DTSBU112
|
|
00092 USING L112-LINK-AREA. DTSBU112
|
|
00093 DTSBU112
|
|
00094 MOVE SPACE TO L112-MAILING-ADDRESS. DTSBU112
|
|
00095 DTSBU112
|
|
00096 MOVE L112-ST TO C072-ST. DTSBU112
|
|
00097 DTSBU112
|
|
00098 IF C072-FOREIGN-88 DTSBU112
|
|
00099 MOVE L112-CITY TO L112-MAILING-LINE (5) DTSBU112
|
|
00100 MOVE +4 TO WRK-PTR DTSBU112
|
|
00101 ELSE DTSBU112
|
|
00102 IF C072-CANADA-88 DTSBU112
|
|
00103 MOVE 'CANADA' TO L112-MAILING-LINE (5) DTSBU112
|
|
00104 MOVE +4 TO WRK-PTR DTSBU112
|
|
00105 ELSE DTSBU112
|
|
00106 MOVE +5 TO WRK-PTR. DTSBU112
|
|
00107 DTSBU112
|
|
00108 IF C072-FOREIGN-88 DTSBU112
|
|
00109 NEXT SENTENCE DTSBU112
|
|
00110 ELSE DTSBU112
|
|
00111 STRING L112-CITY ' ' DTSBU112
|
|
00112 L112-ST ' ' ' ' DTSBU112
|
|
00113 L112-ZIP DTSBU112
|
|
00114 DELIMITED BY ' ' DTSBU112
|
|
00115 INTO L112-MAILING-LINE (WRK-PTR) DTSBU112
|
|
00116 SUBTRACT +1 FROM WRK-PTR. DTSBU112
|
|
00117 DTSBU112
|
|
00118 IF L112-DELIV-LINE-2 NOT = SPACE CL**3
|
|
00119 MOVE L112-DELIV-LINE-2 TO L112-MAILING-LINE (WRK-PTR) CL**3
|
|
00120 SUBTRACT +1 FROM WRK-PTR. DTSBU112
|
|
00121 CL**3
|
|
00122 IF L112-DELIV-LINE-1 NOT = SPACE CL**3
|
|
00123 MOVE L112-DELIV-LINE-1 TO L112-MAILING-LINE (WRK-PTR) CL**3
|
|
00124 SUBTRACT +1 FROM WRK-PTR. CL**3
|
|
00125 DTSBU112
|
|
00126 IF L112-ATTN-LINE NOT = SPACE CL**3
|
|
00127 MOVE L112-ATTN-LINE TO L112-MAILING-LINE (WRK-PTR) DTSBU112
|
|
00128 SUBTRACT +1 FROM WRK-PTR. DTSBU112
|
|
00129 DTSBU112
|
|
00130 IF L112-TAD-ADDR-88 DTSBU112
|
|
00131 PERFORM P1000-PRIMARY-NAME THROUGH P1000-EXIT CL**3
|
|
00132 ELSE DTSBU112
|
|
00133 IF L112-TAA-ADDR-88 DTSBU112
|
|
00134 OR L112-BAA-ADDR-88 DTSBU112
|
|
00135 PERFORM P2000-ADDRESS-NAME THROUGH P2000-EXIT CL**3
|
|
00136 ELSE DTSBU112
|
|
00137 IF L112-OPO-ADDR-88 DTSBU112
|
|
00138 OR L112-FID-MAILING-ADDR-88 DTSBU112
|
|
00139 OR L112-FID-PHYSICAL-ADDR-88 DTSBU112
|
|
00140 PERFORM P3000-ADDRESS-CONVERT THROUGH P3000-EXIT CL**3
|
|
00141 ELSE DTSBU112
|
|
00142 PERFORM S999-ABEND THRU S999-EXIT. DTSBU112
|
|
00143 DTSBU112
|
|
00144 *****IF WRK-PTR NOT = +0 CL**3
|
|
00145 *********IF L112-TAD-ADDR-88 CL**3
|
|
00146 ************ PERFORM P3000-ADDRESS-CONVERT THROUGH P3000-EXIT CL**3
|
|
00147 *********ELSE CL**3
|
|
00148 *********IF L112-OPO-ADDR-88 CL**3
|
|
00149 *************PERFORM P1000-PRIMARY-NAME THROUGH P1000-EXIT. CL**4
|
|
00150 DTSBU112
|
|
00151 IF L112-ANCHOR-FIRST-88 DTSBU112
|
|
00152 AND WRK-PTR NOT = +0 DTSBU112
|
|
00153 ADD +1 TO WRK-PTR DTSBU112
|
|
00154 MOVE +1 TO WRK-PTR-NEW DTSBU112
|
|
00155 PERFORM P5000-ANCHOR-FIRST THROUGH P5000-EXIT CL**3
|
|
00156 UNTIL WRK-PTR GREATER THAN +5. DTSBU112
|
|
00157 SKIP2 DTSBU112
|
|
00158 GOBACK. DTSBU112
|
|
00159 EJECT DTSBU112
|
|
00160 P1000-PRIMARY-NAME. CL**4
|
|
00161 IF L112-PRIMARY-NAME = SPACES OR LOW-VALUES CL**3
|
|
00162 NEXT SENTENCE CL**3
|
|
00163 ELSE CL**3
|
|
00164 MOVE L112-PRIMARY-NAME TO L112-MAILING-LINE (WRK-PTR) CL**3
|
|
00165 SUBTRACT +1 FROM WRK-PTR. DTSBU112
|
|
00166 P1000-EXIT. DTSBU112
|
|
00167 EXIT. DTSBU112
|
|
00168 SKIP3 DTSBU112
|
|
00169 P2000-ADDRESS-NAME. DTSBU112
|
|
00170 IF L112-NAME = SPACES OR LOW-VALUES CL**3
|
|
00171 IF L112-PRIMARY-NAME = SPACES OR LOW-VALUES CL**3
|
|
00172 NEXT SENTENCE CL**3
|
|
00173 ELSE CL**3
|
|
00174 MOVE L112-PRIMARY-NAME TO L112-MAILING-LINE (WRK-PTR) CL**3
|
|
00175 SUBTRACT +1 FROM WRK-PTR CL**3
|
|
00176 ELSE CL**3
|
|
00177 MOVE L112-NAME TO L112-MAILING-LINE (WRK-PTR) DTSBU112
|
|
00178 SUBTRACT +1 FROM WRK-PTR. DTSBU112
|
|
00179 P2000-EXIT. DTSBU112
|
|
00180 EXIT. DTSBU112
|
|
00181 SKIP3 DTSBU112
|
|
00182 P3000-ADDRESS-CONVERT. DTSBU112
|
|
00183 IF L112-NAME = SPACES OR LOW-VALUES DTSBU112
|
|
00184 NEXT SENTENCE DTSBU112
|
|
00185 ELSE DTSBU112
|
|
00186 SET L071-FROM-LAST-NAME-FIRST TO TRUE DTSBU112
|
|
00187 MOVE L112-NAME TO L071-NAM DTSBU112
|
|
00188 PERFORM S071-NAME-CONVERT THROUGH S071-EXIT CL**3
|
|
00189 IF L112-TITLE = SPACES OR LOW-VALUES DTSBU112
|
|
00190 MOVE L071-NAM TO L112-MAILING-LINE (WRK-PTR) DTSBU112
|
|
00191 SUBTRACT +1 FROM WRK-PTR DTSBU112
|
|
00192 ELSE DTSBU112
|
|
00193 STRING L071-NAM DELIMITED BY ' ' DTSBU112
|
|
00194 ' ' DELIMITED BY SIZE DTSBU112
|
|
00195 L112-TITLE DELIMITED BY ' ' DTSBU112
|
|
00196 INTO DTSBU112
|
|
00197 L112-MAILING-LINE (WRK-PTR) DTSBU112
|
|
00198 SUBTRACT +1 FROM WRK-PTR. DTSBU112
|
|
00199 P3000-EXIT. DTSBU112
|
|
00200 EXIT. DTSBU112
|
|
00201 EJECT DTSBU112
|
|
00202 P5000-ANCHOR-FIRST. DTSBU112
|
|
00203 MOVE L112-MAILING-LINE (WRK-PTR) DTSBU112
|
|
00204 TO L112-MAILING-LINE (WRK-PTR-NEW). CL**3
|
|
00205 CL**3
|
|
00206 MOVE SPACE TO L112-MAILING-LINE (WRK-PTR). CL**3
|
|
00207 CL**3
|
|
00208 ADD +1 TO WRK-PTR. DTSBU112
|
|
00209 CL**3
|
|
00210 ADD +1 TO WRK-PTR-NEW. DTSBU112
|
|
00211 P5000-EXIT. DTSBU112
|
|
00212 EXIT. DTSBU112
|
|
00213 EJECT DTSBU112
|
|
00214 S071-NAME-CONVERT. DTSBU112
|
|
00215 CALL 'DTSBU071' CL**2
|
|
00216 USING L071-LINK-AREA. DTSBU112
|
|
00217 S071-EXIT. DTSBU112
|
|
00218 EXIT. DTSBU112
|
|
00219 SKIP3 DTSBU112
|
|
00220 S999-ABEND. DTSBU112
|
|
00221 CALL 'DTSBU999' CL**2
|
|
00222 USING WRK-ABEND-CODE. DTSBU112
|
|
00223 S999-EXIT. DTSBU112
|
|
00224 EXIT. DTSBU112
|