255 lines
20 KiB
COBOL
255 lines
20 KiB
COBOL
00001 IDENTIFICATION DIVISION. 06/13/05
|
|
00002 PROGRAM-ID. DTSBX463. DTSBX463
|
|
00003 AUTHOR. NGC. LV001
|
|
00004 DATE-WRITTEN. MARCH 2005. DTSBX463
|
|
00005 DATE-COMPILED. DTSBX463
|
|
00006 SKIP3 DTSBX463
|
|
00007 ***** DTSBX463
|
|
00008 * DTSBX463
|
|
00009 * FUNCTION: ELIMINATE DUPLICATE ADDRESSES FROM VOS OUTPUT DTSBX463
|
|
00010 * FILE. WHEN DUPLICATES ARE FOUND, USE THE FOLLOWINGDTSBX463
|
|
00011 * ORDER OF PRECEDENCE: DTSBX463
|
|
00012 * DOES ADDRESS DTSBX463
|
|
00013 * NEW HIRE ADDRESS DTSBX463
|
|
00014 * OTR ADDRESS DTSBX463
|
|
00015 * DTSBX463
|
|
00016 * MODIFICATION LOG: DTSBX463
|
|
00017 * DTSBX463
|
|
00018 * 01/11/2005 INITIAL DEVELOPMENT. DTSBX463
|
|
00019 * REFERENCE: PROGRAMMER: GD DTSBX463
|
|
00020 * DTSBX463
|
|
00021 ***** DTSBX463
|
|
00022 SKIP3 DTSBX463
|
|
00023 ENVIRONMENT DIVISION. DTSBX463
|
|
00024 SKIP2 DTSBX463
|
|
00025 INPUT-OUTPUT SECTION. DTSBX463
|
|
00026 FILE-CONTROL. DTSBX463
|
|
00027 SELECT ADDR-INPUT-FILE DTSBX463
|
|
00028 ASSIGN TO ADRINP DTSBX463
|
|
00029 FILE STATUS IS ADDR-INP-STATUS. DTSBX463
|
|
00030 DTSBX463
|
|
00031 SELECT ADDR-OUTPUT-FILE DTSBX463
|
|
00032 ASSIGN TO ADDROUTP DTSBX463
|
|
00033 FILE STATUS IS ADDR-OUTP-STATUS. DTSBX463
|
|
00034 DTSBX463
|
|
00035 DATA DIVISION. DTSBX463
|
|
00036 SKIP3 DTSBX463
|
|
00037 FILE SECTION. DTSBX463
|
|
00038 FD ADDR-INPUT-FILE DTSBX463
|
|
00039 LABEL RECORDS ARE STANDARD. DTSBX463
|
|
00040 01 ADDR-INPUT-REC PIC X(128). DTSBX463
|
|
00041 DTSBX463
|
|
00042 FD ADDR-OUTPUT-FILE DTSBX463
|
|
00043 LABEL RECORDS ARE STANDARD. DTSBX463
|
|
00044 01 ADDR-OUTPUT-REC PIC X(128). DTSBX463
|
|
00045 DTSBX463
|
|
00046 EJECT DTSBX463
|
|
00047 WORKING-STORAGE SECTION. DTSBX463
|
|
000475 77 PAN-VALET PICTURE X(24) VALUE '001DTSBX463 06/13/05'. DTSBX463
|
|
00048 SKIP3 DTSBX463
|
|
00049 01 WRK-AREA. DTSBX463
|
|
00050 05 WRK-ABEND-CD PIC S9(04) COMP VALUE +462.DTSBX463
|
|
00051 DTSBX463
|
|
00052 05 WRK-MOD-NAME PIC X(08) VALUE 'DTSBX462'.DTSBX463
|
|
00053 DTSBX463
|
|
00054 05 WRK-INPUT-ADDR-CNT PIC S9(07) COMP-3 VALUE 0. DTSBX463
|
|
00055 05 WRK-OUTPUT-ADDR-CNT PIC S9(07) COMP-3 VALUE 0. DTSBX463
|
|
00056 DTSBX463
|
|
00057 05 ADDR-INP-STATUS PIC X(02). DTSBX463
|
|
00058 88 ADDR-INP-STATUS-OK-88 VALUE '00', '97'. DTSBX463
|
|
00059 88 ADDR-INP-STATUS-EOF-88 VALUE '10'. DTSBX463
|
|
00060 DTSBX463
|
|
00061 05 ADDR-OUTP-STATUS PIC X(02). DTSBX463
|
|
00062 88 ADDR-OUTP-STATUS-OK-88 VALUE '00', '97'. DTSBX463
|
|
00063 DTSBX463
|
|
00064 05 WRK-ERROR-IND PIC X(01). DTSBX463
|
|
00065 88 WRK-ERROR-YES-88 VALUE 'Y'. DTSBX463
|
|
00066 88 WRK-ERROR-NO-88 VALUE 'N'. DTSBX463
|
|
00067 DTSBX463
|
|
00068 05 WRK-STREET PIC X(60) VALUE SPACES. DTSBX463
|
|
00069 05 WRK-CITY PIC X(25) VALUE SPACES. DTSBX463
|
|
00070 DTSBX463
|
|
00071 05 WRK-FEIN PIC 9(09) VALUE 0. DTSBX463
|
|
00072 DTSBX463
|
|
00073 01 WRK-XVAD-REC. DTSBX463
|
|
00074 ++INCLUDE DTSIXVAD DTSBX463
|
|
00075 DTSBX463
|
|
00076 PROCEDURE DIVISION. DTSBX463
|
|
00077 DTSBX463
|
|
00078 DTSBX463-MAIN. DTSBX463
|
|
00079 PERFORM I0000-INITIATE THRU I0000-EXIT. DTSBX463
|
|
00080 IF WRK-ERROR-YES-88 DTSBX463
|
|
00081 GO TO DTSBX463-MAIN-EXIT. DTSBX463
|
|
00082 DTSBX463
|
|
00083 PERFORM P0000-PROCESS THRU P0000-EXIT. DTSBX463
|
|
00084 DTSBX463
|
|
00085 PERFORM T0000-TERMINATE THRU T0000-EXIT. DTSBX463
|
|
00086 DTSBX463
|
|
00087 DTSBX463-MAIN-EXIT. DTSBX463
|
|
00088 GOBACK. DTSBX463
|
|
00089 EJECT DTSBX463
|
|
00090 I0000-INITIATE. DTSBX463
|
|
00091 SET WRK-ERROR-NO-88 TO TRUE. DTSBX463
|
|
00092 DTSBX463
|
|
00093 PERFORM I1000-OPEN-FILES THRU I1000-EXIT. DTSBX463
|
|
00094 DTSBX463
|
|
00095 I0000-EXIT. DTSBX463
|
|
00096 EXIT. DTSBX463
|
|
00097 I1000-OPEN-FILES. DTSBX463
|
|
00098 PERFORM S1300-OPEN-ADDR-INPUT THRU S1300-EXIT. DTSBX463
|
|
00099 IF WRK-ERROR-YES-88 DTSBX463
|
|
00100 GO TO I1000-EXIT DTSBX463
|
|
00101 END-IF. DTSBX463
|
|
00102 DTSBX463
|
|
00103 PERFORM S1400-OPEN-ADDR-OUTPUT THRU S1400-EXIT. DTSBX463
|
|
00104 IF WRK-ERROR-YES-88 DTSBX463
|
|
00105 SET WRK-ERROR-YES-88 TO TRUE DTSBX463
|
|
00106 GO TO I1000-EXIT DTSBX463
|
|
00107 END-IF. DTSBX463
|
|
00108 DTSBX463
|
|
00109 I1000-EXIT. DTSBX463
|
|
00110 EXIT. DTSBX463
|
|
00111 DTSBX463
|
|
00112 P0000-PROCESS. DTSBX463
|
|
00113 PERFORM S1310-READ-ADDR-INPUT THRU S1310-EXIT. DTSBX463
|
|
00114 IF NOT ADDR-INP-STATUS-OK-88 DTSBX463
|
|
00115 DISPLAY 'BAD FIRST READ OF INPUT FILE ' DTSBX463
|
|
00116 ADDR-INP-STATUS DTSBX463
|
|
00117 GO TO P0000-EXIT DTSBX463
|
|
00118 ELSE DTSBX463
|
|
00119 MOVE XVAD-FEIN TO WRK-FEIN DTSBX463
|
|
00120 MOVE XVAD-STREET TO WRK-STREET DTSBX463
|
|
00121 MOVE XVAD-CITY TO WRK-CITY DTSBX463
|
|
00122 PERFORM S1410-WRITE-OUTPUT-ADDR THRU S1410-EXIT DTSBX463
|
|
00123 END-IF. DTSBX463
|
|
00124 DTSBX463
|
|
00125 PERFORM P1000-ELIM-DUPS THRU P1000-EXIT DTSBX463
|
|
00126 UNTIL ADDR-INP-STATUS-EOF-88. DTSBX463
|
|
00127 DTSBX463
|
|
00128 P0000-EXIT. DTSBX463
|
|
00129 EXIT. DTSBX463
|
|
00130 DTSBX463
|
|
00131 P1000-ELIM-DUPS. DTSBX463
|
|
00132 PERFORM S1310-READ-ADDR-INPUT THRU S1310-EXIT. DTSBX463
|
|
00133 *& DTSBX463
|
|
00134 IF XVAD-FEIN = 010206260 DTSBX463
|
|
00135 DISPLAY SPACE DTSBX463
|
|
00136 DISPLAY 'P0000 ' XVAD-STREET ' ' XVAD-CITY DTSBX463
|
|
00137 DISPLAY ' ' WRK-STREET ' ' WRK-CITY DTSBX463
|
|
00138 END-IF. DTSBX463
|
|
00139 *& DTSBX463
|
|
00140 DTSBX463
|
|
00141 IF XVAD-FEIN = WRK-FEIN DTSBX463
|
|
00142 IF XVAD-STREET = WRK-STREET DTSBX463
|
|
00143 AND XVAD-CITY = WRK-CITY DTSBX463
|
|
00144 NEXT SENTENCE DTSBX463
|
|
00145 ELSE DTSBX463
|
|
00146 PERFORM S1410-WRITE-OUTPUT-ADDR THRU S1410-EXIT DTSBX463
|
|
00147 MOVE XVAD-STREET TO WRK-STREET DTSBX463
|
|
00148 MOVE XVAD-CITY TO WRK-CITY DTSBX463
|
|
00149 END-IF DTSBX463
|
|
00150 ELSE DTSBX463
|
|
00151 MOVE XVAD-FEIN TO WRK-FEIN DTSBX463
|
|
00152 MOVE XVAD-STREET TO WRK-STREET DTSBX463
|
|
00153 MOVE XVAD-CITY TO WRK-CITY DTSBX463
|
|
00154 PERFORM S1410-WRITE-OUTPUT-ADDR THRU S1410-EXIT DTSBX463
|
|
00155 END-IF. DTSBX463
|
|
00156 DTSBX463
|
|
00157 P1000-EXIT. DTSBX463
|
|
00158 EXIT. DTSBX463
|
|
00159 DTSBX463
|
|
00160 T0000-TERMINATE. DTSBX463
|
|
00161 DTSBX463
|
|
00162 DISPLAY ' '. DTSBX463
|
|
00163 DTSBX463
|
|
00164 DISPLAY '*** DTSBX463 TERMINATION STATISTICS ***'. DTSBX463
|
|
00165 DTSBX463
|
|
00166 DISPLAY ' '. DTSBX463
|
|
00167 DTSBX463
|
|
00168 DISPLAY 'NUMBER OF ADDR INPUT RECORDS READ : ' DTSBX463
|
|
00169 WRK-INPUT-ADDR-CNT. DTSBX463
|
|
00170 DTSBX463
|
|
00171 DISPLAY 'NUMBER OF ADDR OUTPUT RECORDS WRITTEN : ' DTSBX463
|
|
00172 WRK-OUTPUT-ADDR-CNT. DTSBX463
|
|
00173 DTSBX463
|
|
00174 PERFORM S1320-CLOSE-ADDR-INPUT THRU S1320-EXIT. DTSBX463
|
|
00175 PERFORM S1420-CLOSE-ADDR-OUTPUT-FILE THRU S1420-EXIT. DTSBX463
|
|
00176 DTSBX463
|
|
00177 DTSBX463
|
|
00178 T0000-EXIT. DTSBX463
|
|
00179 EXIT. DTSBX463
|
|
00180 EJECT DTSBX463
|
|
00181 DTSBX463
|
|
00182 S1300-OPEN-ADDR-INPUT. DTSBX463
|
|
00183 OPEN INPUT ADDR-INPUT-FILE. DTSBX463
|
|
00184 IF NOT ADDR-INP-STATUS-OK-88 DTSBX463
|
|
00185 DISPLAY 'CANNOT OPEN ADDR INPUT ' ADDR-INP-STATUS DTSBX463
|
|
00186 SET WRK-ERROR-YES-88 TO TRUE DTSBX463
|
|
00187 END-IF. DTSBX463
|
|
00188 DTSBX463
|
|
00189 S1300-EXIT. DTSBX463
|
|
00190 EXIT. DTSBX463
|
|
00191 DTSBX463
|
|
00192 S1310-READ-ADDR-INPUT. DTSBX463
|
|
00193 READ ADDR-INPUT-FILE INTO WRK-XVAD-REC. DTSBX463
|
|
00194 IF ADDR-INP-STATUS-OK-88 DTSBX463
|
|
00195 ADD +1 TO WRK-INPUT-ADDR-CNT DTSBX463
|
|
00196 ELSE DTSBX463
|
|
00197 IF NOT ADDR-INP-STATUS-EOF-88 DTSBX463
|
|
00198 DISPLAY 'S1310 BAD READ ON ADDR INPUT ' DTSBX463
|
|
00199 ADDR-INP-STATUS DTSBX463
|
|
00200 SET ADDR-INP-STATUS-EOF-88 TO TRUE DTSBX463
|
|
00201 END-IF DTSBX463
|
|
00202 END-IF. DTSBX463
|
|
00203 DTSBX463
|
|
00204 S1310-EXIT. DTSBX463
|
|
00205 EXIT. DTSBX463
|
|
00206 DTSBX463
|
|
00207 S1320-CLOSE-ADDR-INPUT. DTSBX463
|
|
00208 CLOSE ADDR-INPUT-FILE. DTSBX463
|
|
00209 DTSBX463
|
|
00210 S1320-EXIT. DTSBX463
|
|
00211 EXIT. DTSBX463
|
|
00212 DTSBX463
|
|
00213 S1400-OPEN-ADDR-OUTPUT. DTSBX463
|
|
00214 OPEN OUTPUT ADDR-OUTPUT-FILE. DTSBX463
|
|
00215 IF NOT ADDR-OUTP-STATUS-OK-88 DTSBX463
|
|
00216 DISPLAY 'CANNOT OPEN ADDR OUTPUT FILE ' DTSBX463
|
|
00217 ADDR-OUTP-STATUS DTSBX463
|
|
00218 SET WRK-ERROR-YES-88 TO TRUE DTSBX463
|
|
00219 END-IF. DTSBX463
|
|
00220 DTSBX463
|
|
00221 S1400-EXIT. DTSBX463
|
|
00222 EXIT. DTSBX463
|
|
00223 DTSBX463
|
|
00224 S1410-WRITE-OUTPUT-ADDR. DTSBX463
|
|
00225 *& DTSBX463
|
|
00226 IF XVAD-FEIN = 010206260 DTSBX463
|
|
00227 DISPLAY 'S1410 ' XVAD-FEIN ' ' XVAD-STREET DTSBX463
|
|
00228 ' ' XVAD-CITY DTSBX463
|
|
00229 END-IF. DTSBX463
|
|
00230 *& DTSBX463
|
|
00231 WRITE ADDR-OUTPUT-REC FROM WRK-XVAD-REC. DTSBX463
|
|
00232 IF NOT ADDR-OUTP-STATUS-OK-88 DTSBX463
|
|
00233 DISPLAY 'S1410 BAD WRITE ON ADDR OUTPUT ' DTSBX463
|
|
00234 ADDR-OUTP-STATUS DTSBX463
|
|
00235 SET ADDR-INP-STATUS-EOF-88 TO TRUE DTSBX463
|
|
00236 ELSE DTSBX463
|
|
00237 ADD +1 TO WRK-OUTPUT-ADDR-CNT DTSBX463
|
|
00238 END-IF. DTSBX463
|
|
00239 DTSBX463
|
|
00240 S1410-EXIT. DTSBX463
|
|
00241 EXIT. DTSBX463
|
|
00242 DTSBX463
|
|
00243 S1420-CLOSE-ADDR-OUTPUT-FILE. DTSBX463
|
|
00244 CLOSE ADDR-OUTPUT-FILE. DTSBX463
|
|
00245 DTSBX463
|
|
00246 S1420-EXIT. DTSBX463
|
|
00247 EXIT. DTSBX463
|
|
00248 DTSBX463
|
|
00249 DTSBX463
|
|
00250 S999-ABEND. DTSBX463
|
|
00251 CALL 'DTSBU999' USING WRK-ABEND-CD. DTSBX463
|
|
00252 S999-EXIT. DTSBX463
|
|
00253 EXIT. DTSBX463
|