00001 IDENTIFICATION DIVISION. 11/22/04 00002 PROGRAM-ID. DTSBD992. DTSBD992 00003 AUTHOR. TRICOASTAL CONSULTING LTD. LV006 00004 DATE-WRITTEN. OCTOBER 1992. DTSBD992 00005 DATE-COMPILED. DTSBD992 00006 SKIP3 DTSBD992 00007 ***** DTSBD992 00008 * DTSBD992 00009 * FUNCTION: INSERT EMPLOYERS ONTO MASTER FILE. DTSBD992 00010 * DTSBD992 00011 * DTSBD992 00012 * MODIFICATION LOG: DTSBD992 00013 * DTSBD992 00014 * 12/01/1998 INITIAL DEVELOPMENT. COPIED FROM MACBU992 DTSBD992 00015 * WORK ORDER: PROGRAMMER: ZL1 DTSBD992 00016 * DTSBD992 00017 * 07/08/2004 ADDED 'HEADER NEEDED' PARM. WITH PARM SET TO NO, DTSBD992 00018 * THE PROGRAM CAN BE USED TO COPY INDIVIDUAL DTSBD992 00019 * EMPLOYER RECORDS FROM ONE REGION TO ANOTHER. DTSBD992 00020 * WORK ORDER: PROGRAMMER: GD DTSBD992 00021 * DTSBD992 00022 * XX/XX/XX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSBD992 00023 * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSBD992 00024 * WORK ORDER: PROGRAMMER: XXX DTSBD992 00025 * DTSBD992 00026 * DTSBD992 00027 * DESCRIPTION: DTSBD992 00028 * DTSBD992 00029 ***** DTSBD992 00030 SKIP3 DTSBD992 00031 ENVIRONMENT DIVISION. DTSBD992 00032 SKIP3 DTSBD992 00033 DATA DIVISION. DTSBD992 00034 SKIP3 DTSBD992 00035 WORKING-STORAGE SECTION. DTSBD992 000355 77 PAN-VALET PICTURE X(24) VALUE '006DTSBD992 11/22/04'. DTSBD992 00036 SKIP3 DTSBD992 00037 01 WRK-AREA. DTSBD992 00038 05 WRK-ABEND-CD PIC S9(04) COMP VALUE +992.DTSBD992 00039 DTSBD992 00040 05 WRK-PRF-REC-CNT PIC S9(07) COMP-3. DTSBD992 00041 DTSBD992 00042 05 WRK-TOT-REC-CNT PIC S9(07) COMP-3. DTSBD992 00043 DTSBD992 00044 05 ALREADY-EXISTS-IND PIC X(01). DTSBD992 00045 DTSBD992 00046 05 AIX-UPDATE-IND PIC X(01). DTSBD992 00047 DTSBD992 00048 05 HDR-NEEDED-IND PIC X(01). DTSBD992 00049 88 HDR-NEEDED-YES-88 VALUE 'Y'. DTSBD992 00050 88 HDR-NEEDED-NO-88 VALUE 'N'. DTSBD992 00051 EJECT DTSBD992 00052 01 L910-LINK-AREA. DTSBD992 00053 ++INCLUDE DTSIL910 DTSBD992 00054 EJECT DTSBD992 00055 01 MSKL-REC. DTSBD992 00056 ++INCLUDE DTSIMSKL DTSBD992 00057 EJECT DTSBD992 00058 01 MPRF-REC. DTSBD992 00059 ++INCLUDE DTSIMPRF DTSBD992 00060 EJECT DTSBD992 00061 01 L961-LINK-AREA. DTSBD992 00062 ++INCLUDE DTSIL961 DTSBD992 00063 EJECT DTSBD992 00064 01 L921-LINK-AREA. DTSBD992 00065 ++INCLUDE DTSIL921 DTSBD992 00066 EJECT DTSBD992 00067 01 ISKL-REC. DTSBD992 00068 ++INCLUDE DTSIISKL DTSBD992 00069 EJECT DTSBD992 00070 LINKAGE SECTION. DTSBD992 00071 SKIP3 DTSBD992 00072 01 PARM-AREA. DTSBD992 00073 05 PARM-LENGTH PIC S9(04) COMP. DTSBD992 00074 05 PARM-DATA. DTSBD992 00075 10 PARM-AIX-UPDATE-IND PIC X(01). DTSBD992 00076 10 FILLER PIC X(01). DTSBD992 00077 10 PARM-HDR-NEEDED-IND PIC X(01). DTSBD992 00078 EJECT DTSBD992 00079 PROCEDURE DIVISION USING PARM-AREA. DTSBD992 00080 DTSBD992 00081 DTSBD992 00082 PERFORM I0000-INITIATE THRU I0000-EXIT. DTSBD992 00083 DTSBD992 00084 PERFORM P0000-PROCESS THRU P0000-EXIT. DTSBD992 00085 DTSBD992 00086 PERFORM T0000-TERMINATE THRU T0000-EXIT. DTSBD992 00087 DTSBD992 00088 DTSBD992 00089 GOBACK. DTSBD992 00090 EJECT DTSBD992 00091 I0000-INITIATE. DTSBD992 00092 PERFORM I1000-EDIT-PARM THRU I1000-EXIT. DTSBD992 00093 DTSBD992 00094 PERFORM I2000-OPEN-FILES THRU I2000-EXIT. DTSBD992 00095 DTSBD992 00096 PERFORM I3000-INITIALIZE-WRK THRU I3000-EXIT. DTSBD992 00097 I0000-EXIT. DTSBD992 00098 EXIT. DTSBD992 00099 EJECT DTSBD992 00100 I1000-EDIT-PARM. DTSBD992 00101 DISPLAY 'PARM LENGTH ' PARM-LENGTH. DTSBD992 00102 DTSBD992 00103 IF PARM-LENGTH = +0 DTSBD992 00104 MOVE 'Y' TO AIX-UPDATE-IND DTSBD992 00105 ELSE DTSBD992 00106 IF PARM-LENGTH = +3 DTSBD992 00107 NEXT SENTENCE DTSBD992 00108 ELSE DTSBD992 00109 DISPLAY 'INVALID PARM LENGTH ENCOUNTERED' DTSBD992 00110 PERFORM S999-ABEND THRU S999-EXIT DTSBD992 00111 END-IF. DTSBD992 00112 DTSBD992 00113 IF PARM-AIX-UPDATE-IND = 'N' OR 'Y' DTSBD992 00114 MOVE PARM-AIX-UPDATE-IND TO AIX-UPDATE-IND DTSBD992 00115 ELSE DTSBD992 00116 DISPLAY 'AIX UPDATE PARM INVALID ' DTSBD992 00117 PERFORM S999-ABEND THRU S999-EXIT DTSBD992 00118 END-IF. DTSBD992 00119 DTSBD992 00120 IF PARM-HDR-NEEDED-IND = 'N' OR 'Y' DTSBD992 00121 MOVE PARM-HDR-NEEDED-IND TO HDR-NEEDED-IND DTSBD992 00122 ELSE DTSBD992 00123 DISPLAY 'HEADER PARM INVALID ' DTSBD992 00124 PERFORM S999-ABEND THRU S999-EXIT DTSBD992 00125 END-IF. DTSBD992 00126 DTSBD992 00127 I1000-EXIT. DTSBD992 00128 EXIT. DTSBD992 00129 EJECT DTSBD992 00130 I2000-OPEN-FILES. DTSBD992 00131 MOVE 'N' TO L910-TRACE-IND DTSBD992 00132 L921-TRACE-IND DTSBD992 00133 L961-TRACE-IND. DTSBD992 00134 DTSBD992 00135 MOVE 'DTSBD992' TO L910-MOD-NAME DTSBD992 00136 L921-MOD-NAME DTSBD992 00137 L961-MOD-NAME. DTSBD992 00138 DTSBD992 00139 IF AIX-UPDATE-IND = 'N' DTSBD992 00140 PERFORM S910-OPEN-UPDATE-NO-AIX THRU S910-EXIT DTSBD992 00141 ELSE DTSBD992 00142 PERFORM S910-OPEN-UPDATE THRU S910-EXIT DTSBD992 00143 PERFORM S921-OPEN-UPDATE THRU S921-EXIT DTSBD992 00144 END-IF. DTSBD992 00145 DTSBD992 00146 PERFORM S961-OPEN-READ THRU S961-EXIT. DTSBD992 00147 I2000-EXIT. DTSBD992 00148 EXIT. DTSBD992 00149 EJECT DTSBD992 00150 I3000-INITIALIZE-WRK. DTSBD992 00151 MOVE +0 TO WRK-PRF-REC-CNT DTSBD992 00152 WRK-TOT-REC-CNT. DTSBD992 00153 I3000-EXIT. DTSBD992 00154 EXIT. DTSBD992 00155 EJECT DTSBD992 00156 P0000-PROCESS. DTSBD992 00157 PERFORM S961-READ-NEXT THRU S961-EXIT. DTSBD992 00158 IF L961-NO-REC-88 DTSBD992 00159 GO TO P0000-EXIT. DTSBD992 00160 DTSBD992 00161 IF MSKL-HDR-88 DTSBD992 00162 PERFORM S910-WRITE THRU S910-EXIT DTSBD992 00163 ADD +1 TO WRK-TOT-REC-CNT DTSBD992 00164 ELSE DTSBD992 00165 IF HDR-NEEDED-YES-88 DTSBD992 00166 DISPLAY 'DTSBD992 NO HEADER FOUND ' DTSBD992 00167 GO TO P0000-EXIT. DTSBD992 00168 DTSBD992 00169 MOVE -1 TO MPRF-EMP-NO. DTSBD992 00170 PERFORM P1000-FIRST-MPRF THRU P1000-EXIT DTSBD992 00171 UNTIL (MPRF-EMP-NO NOT = -1) DTSBD992 00172 OR DTSBD992 00173 (L961-NO-REC-88). DTSBD992 00174 DTSBD992 00175 PERFORM P2000-PROCESS-IN-FILE THRU P2000-EXIT DTSBD992 00176 UNTIL L961-NO-REC-88. DTSBD992 00177 P0000-EXIT. DTSBD992 00178 EXIT. DTSBD992 00179 EJECT DTSBD992 00180 P1000-FIRST-MPRF. DTSBD992 00181 IF HDR-NEEDED-YES-88 DTSBD992 00182 PERFORM S961-READ-NEXT THRU S961-EXIT DTSBD992 00183 IF L961-NO-REC-88 DTSBD992 00184 GO TO P1000-EXIT. DTSBD992 00185 DTSBD992 00186 IF MSKL-PRF-88 DTSBD992 00187 PERFORM S1000-INITIATE-MPRF THRU S1000-EXIT DTSBD992 00188 ELSE DTSBD992 00189 DISPLAY MSKL-EMP-NO DTSBD992 00190 ' ' DTSBD992 00191 MSKL-REC-TYPE DTSBD992 00192 ' RECORD BYPASSED. NO CORRESPONDING MPRF.'. DTSBD992 00193 P1000-EXIT. DTSBD992 00194 EXIT. DTSBD992 00195 EJECT DTSBD992 00196 P2000-PROCESS-IN-FILE. DTSBD992 00197 PERFORM S961-READ-NEXT THRU S961-EXIT. DTSBD992 00198 IF L961-NO-REC-88 DTSBD992 00199 PERFORM S2000-TERMINATE-MPRF THRU S2000-EXIT DTSBD992 00200 GO TO P2000-EXIT. DTSBD992 00201 DTSBD992 00202 IF MSKL-PRF-88 DTSBD992 00203 PERFORM S2000-TERMINATE-MPRF THRU S2000-EXIT DTSBD992 00204 PERFORM S1000-INITIATE-MPRF THRU S1000-EXIT DTSBD992 00205 GO TO P2000-EXIT. DTSBD992 00206 DTSBD992 00207 IF MSKL-EMP-NO NOT = MPRF-EMP-NO DTSBD992 00208 DISPLAY MSKL-EMP-NO DTSBD992 00209 ' ' DTSBD992 00210 MSKL-REC-TYPE DTSBD992 00211 ' RECORD BYPASSED. NO CORRESPONDING MPRF' DTSBD992 00212 GO TO P2000-EXIT. DTSBD992 00213 DTSBD992 00214 IF ALREADY-EXISTS-IND = 'Y' DTSBD992 00215 DISPLAY MSKL-EMP-NO DTSBD992 00216 ' ' DTSBD992 00217 MSKL-REC-TYPE DTSBD992 00218 ' RECORD BYPASSED. EMPLOYER ALREADY EXISTS.' DTSBD992 00219 GO TO P2000-EXIT. DTSBD992 00220 DTSBD992 00221 PERFORM S910-WRITE THRU S910-EXIT. DTSBD992 00222 DTSBD992 00223 ADD +1 TO WRK-TOT-REC-CNT. DTSBD992 00224 P2000-EXIT. DTSBD992 00225 EXIT. DTSBD992 00226 EJECT DTSBD992 00227 T0000-TERMINATE. DTSBD992 00228 DISPLAY ' '. DTSBD992 00229 DISPLAY '*** DTSBD992 TERMINATION STATISTICS ***'. DTSBD992 00230 DISPLAY ' '. DTSBD992 00231 DISPLAY 'NUMBER OF MPRF RECORDS WRITTEN : ' DTSBD992 00232 WRK-PRF-REC-CNT. DTSBD992 00233 DISPLAY ' '. DTSBD992 00234 DISPLAY 'NUMBER OF RECORDS WRITTEN : ' DTSBD992 00235 WRK-TOT-REC-CNT. DTSBD992 00236 DTSBD992 00237 PERFORM S910-CLOSE THRU S910-EXIT. DTSBD992 00238 DTSBD992 00239 IF AIX-UPDATE-IND = 'Y' DTSBD992 00240 PERFORM S921-CLOSE THRU S921-EXIT DTSBD992 00241 END-IF. DTSBD992 00242 DTSBD992 00243 PERFORM S961-CLOSE THRU S961-EXIT. DTSBD992 00244 T0000-EXIT. DTSBD992 00245 EXIT. DTSBD992 00246 EJECT DTSBD992 00247 S1000-INITIATE-MPRF. DTSBD992 00248 MOVE MSKL-REC TO MPRF-REC. DTSBD992 00249 PERFORM S910-READ THRU S910-EXIT. DTSBD992 00250 IF L910-OK-88 DTSBD992 00251 MOVE 'Y' TO ALREADY-EXISTS-IND DTSBD992 00252 DISPLAY MSKL-EMP-NO DTSBD992 00253 ' ' DTSBD992 00254 MSKL-REC-TYPE DTSBD992 00255 ' EMPLOYER BYPASSED. EMPLOYER ALREADY EXISTS.' DTSBD992 00256 ELSE DTSBD992 00257 MOVE 'N' TO ALREADY-EXISTS-IND DTSBD992 00258 PERFORM S910-WRITE THRU S910-EXIT DTSBD992 00259 ADD +1 TO WRK-PRF-REC-CNT DTSBD992 00260 WRK-TOT-REC-CNT. DTSBD992 00261 DTSBD992 00262 S1000-EXIT. DTSBD992 00263 EXIT. DTSBD992 00264 EJECT DTSBD992 00265 S2000-TERMINATE-MPRF. DTSBD992 00266 S2000-EXIT. DTSBD992 00267 EXIT. DTSBD992 00268 EJECT DTSBD992 00269 S910-OPEN-UPDATE. DTSBD992 00270 SET L910-OPEN-UPDATE-88 TO TRUE. DTSBD992 00271 GO TO S910-MSTR-IO. DTSBD992 00272 DTSBD992 00273 S910-OPEN-UPDATE-NO-AIX. DTSBD992 00274 SET L910-OPEN-UPDATE-NO-AIX-88 TO TRUE. DTSBD992 00275 GO TO S910-MSTR-IO. DTSBD992 00276 DTSBD992 00277 S910-READ. DTSBD992 00278 SET L910-READ-88 TO TRUE. DTSBD992 00279 GO TO S910-MSTR-IO. DTSBD992 00280 DTSBD992 00281 *S910-START-BROWSE. DTSBD992 00282 *****SET L910-START-BROWSE-88 TO TRUE. DTSBD992 00283 *****GO TO S910-MSTR-IO. DTSBD992 00284 DTSBD992 00285 *S910-READ-NEXT. DTSBD992 00286 *****SET L910-READ-NEXT-88 TO TRUE. DTSBD992 00287 *****GO TO S910-MSTR-IO. DTSBD992 00288 DTSBD992 00289 S910-WRITE. DTSBD992 00290 SET L910-WRITE-88 TO TRUE. DTSBD992 00291 GO TO S910-MSTR-IO. DTSBD992 00292 DTSBD992 00293 *S910-REWRITE. DTSBD992 00294 *****SET L910-REWRITE-88 TO TRUE. DTSBD992 00295 *****GO TO S910-MSTR-IO. DTSBD992 00296 DTSBD992 00297 *S910-DELETE. DTSBD992 00298 *****SET L910-DELETE-88 TO TRUE. DTSBD992 00299 *****GO TO S910-MSTR-IO. DTSBD992 00300 DTSBD992 00301 S910-CLOSE. DTSBD992 00302 SET L910-CLOSE-88 TO TRUE. DTSBD992 00303 GO TO S910-MSTR-IO. DTSBD992 00304 DTSBD992 00305 S910-MSTR-IO. DTSBD992 00306 CALL 'DTSBU910' USING L910-LINK-AREA DTSBD992 00307 MSKL-REC. DTSBD992 00308 S910-EXIT. DTSBD992 00309 EXIT. DTSBD992 00310 SKIP3 DTSBD992 00311 S921-OPEN-UPDATE. DTSBD992 00312 SET L921-OPEN-UPDATE-88 TO TRUE. DTSBD992 00313 GO TO S921-ALT-INDEX-IO. DTSBD992 00314 DTSBD992 00315 S921-CLOSE. DTSBD992 00316 SET L921-CLOSE-88 TO TRUE. DTSBD992 00317 GO TO S921-ALT-INDEX-IO. DTSBD992 00318 DTSBD992 00319 S921-ALT-INDEX-IO. DTSBD992 00320 CALL 'DTSBU921' USING L921-LINK-AREA DTSBD992 00321 ISKL-REC. DTSBD992 00322 S921-EXIT. DTSBD992 00323 EXIT. DTSBD992 00324 SKIP3 DTSBD992 00325 S961-OPEN-READ. DTSBD992 00326 SET L961-OPEN-READ-88 TO TRUE. DTSBD992 00327 GO TO S961-SEQ-MSTR-I. DTSBD992 00328 DTSBD992 00329 S961-READ-NEXT. DTSBD992 00330 SET L961-READ-NEXT-88 TO TRUE. DTSBD992 00331 GO TO S961-SEQ-MSTR-I. DTSBD992 00332 DTSBD992 00333 S961-CLOSE. DTSBD992 00334 SET L961-CLOSE-88 TO TRUE. DTSBD992 00335 GO TO S961-SEQ-MSTR-I. DTSBD992 00336 DTSBD992 00337 S961-SEQ-MSTR-I. DTSBD992 00338 CALL 'DTSBU961' USING L961-LINK-AREA DTSBD992 00339 MSKL-REC. DTSBD992 00340 S961-EXIT. DTSBD992 00341 EXIT. DTSBD992 00342 SKIP3 DTSBD992 00343 S999-ABEND. DTSBD992 00344 CALL 'DTSBU999' USING WRK-ABEND-CD. DTSBD992 00345 S999-EXIT. DTSBD992 00346 EXIT. DTSBD992