00001 IDENTIFICATION DIVISION. 04/05/04 00002 PROGRAM-ID. DTSBU983. DTSBU983 00003 AUTHOR. TRW. LV003 00004 DATE-WRITTEN. DECEMBER 2001. DTSBU983 00005 DATE-COMPILED. DTSBU983 00006 SKIP3 DTSBU983 00007 ***** DTSBU983 00008 * DTSBU983 00009 * FUNCTION: WAGE TRANSACTION FILE INPUT/OUTPUT. DTSBU983 00010 * DTSBU983 00011 * DTSBU983 00012 * MODIFICATION LOG: DTSBU983 00013 * DTSBU983 00014 * 12/28/2001 INITIAL DEVELOPMENT. DTSBU983 00015 * WORK ORDER: PROGRAMMER: GD DTSBU983 00016 * DTSBU983 00017 * 10/06/2003 MODIFIED NAME FIELD FOR WEB REPORTING. DTSBU983 00018 * WORK ORDER: EFT PROGRAMMER: GD DTSBU983 00019 * DTSBU983 00020 * MM/DD/YYYY XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSBU983 00021 * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSBU983 00022 * REFERENCE: XXXXXXXXXXXXXXX PROGRAMMER: XXX DTSBU983 00023 * DTSBU983 00024 * DTSBU983 00025 * DESCRIPTION: DTSBU983 00026 * DTSBU983 00027 * DTSBU983 PERFORMS ALL REQUIRED WAGE TRANSACTION FILE DTSBU983 00028 * INPUT/OUTPUT. DTSBU983 00029 * DTSBU983 00030 * DTSBU983 00031 * GENERAL SPECIFICATIONS: DTSBU983 00032 * DTSBU983 00033 * ALL COMMANDS ARE VALID. DTSBU983 00034 * DTSBU983 00035 * IF AN INVALID COMMAND IS REQUESTED, THEN ABEND THE DTSBU983 00036 * MODULE. DTSBU983 00037 * DTSBU983 00038 * IF A FILE-STATUS OF OTHER THAN '00', '10', OR '23' IS DTSBU983 00039 * ENCOUNTERED, THEN ABEND PROCESSING (TOLERATE A DTSBU983 00040 * FILE-STATUS OF '97' FROM AN OPEN COMMAND). DTSBU983 00041 * DTSBU983 00042 * DTSBU983 00043 * DTSBU983 00044 * COMMAND SPECIFIC SPECIFICATIONS: DTSBU983 00045 * DTSBU983 00046 * OPEN-READ DTSBU983 00047 * OPEN INPUT. DTSBU983 00048 * DTSBU983 00049 * OPEN-UPDATE DTSBU983 00050 * OPEN I-O. DTSBU983 00051 * DTSBU983 00052 * CLOSE DTSBU983 00053 * DTSBU983 00054 * READ DTSBU983 00055 * DTSBU983 00056 * START BROWSE DTSBU983 00057 * IF THE START-BROWSE IS SUCCESSFUL, THEN PERFORM THE DTSBU983 00058 * READ-NEXT LOGIC. A SUCCESSFUL START-BROWSE RETURNS DTSBU983 00059 * A RECORD. DTSBU983 00060 * DTSBU983 00061 * READ NEXT DTSBU983 00062 * DTSBU983 00063 * WRITE DTSBU983 00064 * DTSBU983 00065 * REWRITE DTSBU983 00066 * DTSBU983 00067 * DELETE DTSBU983 00068 * DTSBU983 00069 * DTSBU983 00070 ***** DTSBU983 00071 SKIP3 DTSBU983 00072 ENVIRONMENT DIVISION. DTSBU983 00073 SKIP2 DTSBU983 00074 INPUT-OUTPUT SECTION. DTSBU983 00075 DTSBU983 00076 FILE-CONTROL. DTSBU983 00077 SELECT WTC-FILE ASSIGN TO DTSFWTC DTSBU983 00078 ORGANIZATION IS INDEXED DTSBU983 00079 RECORD KEY IS WSKL-KEY-AREA OF FILE-REC DTSBU983 00080 FILE STATUS IS FILE-STATUS DTSBU983 00081 ACCESS IS DYNAMIC. DTSBU983 00082 SKIP3 DTSBU983 00083 DATA DIVISION. DTSBU983 00084 SKIP3 DTSBU983 00085 FILE SECTION. DTSBU983 00086 SKIP3 DTSBU983 00087 FD WTC-FILE. DTSBU983 00088 DTSBU983 00089 01 FILE-REC. DTSBU983 00090 ++INCLUDE DTSIWSKL DTSBU983 00091 EJECT DTSBU983 00092 WORKING-STORAGE SECTION. DTSBU983 000925 77 PAN-VALET PICTURE X(24) VALUE '003DTSBU983 04/05/04'. DTSBU983 00093 SKIP3 DTSBU983 00094 01 WRK-AREA. DTSBU983 00095 05 WRK-ABEND-CD PIC S9(04) COMP VALUE +983.DTSBU983 00096 DTSBU983 00097 05 WRK-MOD-NAME PIC X(08) VALUE 'DTSBU983'.DTSBU983 00098 DTSBU983 00099 05 WRK-REC-PREFIX PIC X(04). DTSBU983 00100 DTSBU983 00101 05 WRK-KEY-LENGTH PIC S9(04) COMP DTSBU983 00102 VALUE +9. DTSBU983 00103 DTSBU983 00104 05 FILE-STATUS PIC X(02). DTSBU983 00105 88 FILE-OK-88 VALUE '00'. DTSBU983 00106 88 FILE-NO-REC-88 VALUE '10' '23'. DTSBU983 00107 88 FILE-VERIFY-88 VALUE '97'. DTSBU983 00108 EJECT DTSBU983 00109 01 L991-LINK-AREA. DTSBU983 00110 ++INCLUDE DTSIL991 DTSBU983 00111 EJECT DTSBU983 00112 LINKAGE SECTION. DTSBU983 00113 SKIP3 DTSBU983 00114 01 L983-LINK-AREA. DTSBU983 00115 ++INCLUDE DTSIL983 DTSBU983 00116 EJECT DTSBU983 00117 01 LINK-REC. DTSBU983 00118 05 WSKL-REC. DTSBU983 00119 ++INCLUDE DTSIWSKL DTSBU983 00120 EJECT DTSBU983 00121 PROCEDURE DIVISION USING L983-LINK-AREA DTSBU983 00122 LINK-REC. DTSBU983 00123 DTSBU983 00124 DTSBU983 00125 SET L983-OK-88 TO TRUE. DTSBU983 00126 DTSBU983 00127 IF L983-TRACE-88 DTSBU983 00128 PERFORM S9100-PRE-DISPLAY THRU S9100-EXIT. DTSBU983 00129 DTSBU983 00130 IF L983-READ-NEXT-88 DTSBU983 00131 PERFORM P2300-READ-NEXT THRU P2300-EXIT DTSBU983 00132 ELSE DTSBU983 00133 IF L983-READ-88 DTSBU983 00134 PERFORM P2100-READ THRU P2100-EXIT DTSBU983 00135 ELSE DTSBU983 00136 IF L983-START-BROWSE-88 DTSBU983 00137 PERFORM P2200-START-BROWSE THRU P2200-EXIT DTSBU983 00138 ELSE DTSBU983 00139 IF L983-WRITE-88 DTSBU983 00140 PERFORM P3100-WRITE THRU P3100-EXIT DTSBU983 00141 ELSE DTSBU983 00142 IF L983-REWRITE-88 DTSBU983 00143 PERFORM P3200-REWRITE THRU P3200-EXIT DTSBU983 00144 ELSE DTSBU983 00145 IF L983-DELETE-88 DTSBU983 00146 PERFORM P3300-DELETE THRU P3300-EXIT DTSBU983 00147 ELSE DTSBU983 00148 IF L983-OPEN-READ-88 DTSBU983 00149 OR DTSBU983 00150 L983-OPEN-UPDATE-88 DTSBU983 00151 PERFORM P1100-OPEN THRU P1100-EXIT DTSBU983 00152 ELSE DTSBU983 00153 IF L983-CLOSE-88 DTSBU983 00154 PERFORM P1200-CLOSE THRU P1200-EXIT DTSBU983 00155 ELSE DTSBU983 00156 PERFORM S999-ABEND THRU S999-EXIT. DTSBU983 00157 DTSBU983 00158 IF L983-TRACE-88 DTSBU983 00159 PERFORM S9200-POST-DISPLAY THRU S9200-EXIT. DTSBU983 00160 SKIP2 DTSBU983 00161 GOBACK. DTSBU983 00162 EJECT DTSBU983 00163 P1100-OPEN. DTSBU983 00164 IF L983-OPEN-UPDATE-88 DTSBU983 00165 OPEN I-O WTC-FILE DTSBU983 00166 ELSE DTSBU983 00167 OPEN INPUT WTC-FILE. DTSBU983 00168 DTSBU983 00169 IF FILE-OK-88 OR FILE-VERIFY-88 DTSBU983 00170 NEXT SENTENCE DTSBU983 00171 ELSE DTSBU983 00172 PERFORM S999-ABEND THRU S999-EXIT. DTSBU983 00173 P1100-EXIT. DTSBU983 00174 EXIT. DTSBU983 00175 SKIP3 DTSBU983 00176 P1200-CLOSE. DTSBU983 00177 CLOSE WTC-FILE. DTSBU983 00178 DTSBU983 00179 IF FILE-OK-88 DTSBU983 00180 NEXT SENTENCE DTSBU983 00181 ELSE DTSBU983 00182 PERFORM S999-ABEND THRU S999-EXIT. DTSBU983 00183 P1200-EXIT. DTSBU983 00184 EXIT. DTSBU983 00185 EJECT DTSBU983 00186 P2100-READ. DTSBU983 00187 MOVE WSKL-KEY-AREA OF LINK-REC DTSBU983 00188 TO WSKL-KEY-AREA OF FILE-REC. DTSBU983 00189 DTSBU983 00190 READ WTC-FILE. DTSBU983 00191 DTSBU983 00192 IF FILE-OK-88 DTSBU983 00193 MOVE FILE-REC TO LINK-REC DTSBU983 00194 ELSE DTSBU983 00195 IF FILE-NO-REC-88 DTSBU983 00196 PERFORM S1100-NO-REC THRU S1100-EXIT DTSBU983 00197 ELSE DTSBU983 00198 PERFORM S999-ABEND THRU S999-EXIT. DTSBU983 00199 P2100-EXIT. DTSBU983 00200 EXIT. DTSBU983 00201 EJECT DTSBU983 00202 P2200-START-BROWSE. DTSBU983 00203 MOVE WSKL-KEY-AREA OF LINK-REC DTSBU983 00204 TO WSKL-KEY-AREA OF FILE-REC. DTSBU983 00205 DTSBU983 00206 START WTC-FILE DTSBU983 00207 KEY IS NOT < WSKL-KEY-AREA OF FILE-REC. DTSBU983 00208 DTSBU983 00209 IF FILE-OK-88 DTSBU983 00210 PERFORM P2300-READ-NEXT THRU P2300-EXIT DTSBU983 00211 ELSE DTSBU983 00212 IF FILE-NO-REC-88 DTSBU983 00213 PERFORM S1100-NO-REC THRU S1100-EXIT DTSBU983 00214 ELSE DTSBU983 00215 PERFORM S999-ABEND THRU S999-EXIT. DTSBU983 00216 P2200-EXIT. DTSBU983 00217 EXIT. DTSBU983 00218 EJECT DTSBU983 00219 P2300-READ-NEXT. DTSBU983 00220 READ WTC-FILE NEXT. DTSBU983 00221 DTSBU983 00222 IF FILE-OK-88 DTSBU983 00223 MOVE FILE-REC TO LINK-REC DTSBU983 00224 ELSE DTSBU983 00225 IF FILE-NO-REC-88 DTSBU983 00226 PERFORM S1100-NO-REC THRU S1100-EXIT DTSBU983 00227 ELSE DTSBU983 00228 PERFORM S999-ABEND THRU S999-EXIT. DTSBU983 00229 P2300-EXIT. DTSBU983 00230 EXIT. DTSBU983 00231 EJECT DTSBU983 00232 P3100-WRITE. DTSBU983 00233 MOVE LINK-REC TO FILE-REC. DTSBU983 00234 DTSBU983 00235 WRITE FILE-REC. DTSBU983 00236 DTSBU983 00237 IF FILE-OK-88 DTSBU983 00238 NEXT SENTENCE DTSBU983 00239 ELSE DTSBU983 00240 PERFORM S999-ABEND THRU S999-EXIT. DTSBU983 00241 P3100-EXIT. DTSBU983 00242 EXIT. DTSBU983 00243 EJECT DTSBU983 00244 P3200-REWRITE. DTSBU983 00245 MOVE LINK-REC TO FILE-REC. DTSBU983 00246 DTSBU983 00247 REWRITE FILE-REC. DTSBU983 00248 DTSBU983 00249 IF FILE-OK-88 DTSBU983 00250 NEXT SENTENCE DTSBU983 00251 ELSE DTSBU983 00252 PERFORM S999-ABEND THRU S999-EXIT. DTSBU983 00253 P3200-EXIT. DTSBU983 00254 EXIT. DTSBU983 00255 EJECT DTSBU983 00256 P3300-DELETE. DTSBU983 00257 MOVE WSKL-KEY-AREA OF LINK-REC DTSBU983 00258 TO WSKL-KEY-AREA OF FILE-REC. DTSBU983 00259 DTSBU983 00260 DELETE WTC-FILE RECORD. DTSBU983 00261 DTSBU983 00262 IF FILE-OK-88 DTSBU983 00263 NEXT SENTENCE DTSBU983 00264 ELSE DTSBU983 00265 PERFORM S999-ABEND THRU S999-EXIT. DTSBU983 00266 P3300-EXIT. DTSBU983 00267 EXIT. DTSBU983 00268 EJECT DTSBU983 00269 S1100-NO-REC. DTSBU983 00270 SET L983-NO-REC-88 TO TRUE. DTSBU983 00271 S1100-EXIT. DTSBU983 00272 EXIT. DTSBU983 00273 SKIP3 DTSBU983 00274 S9100-PRE-DISPLAY. DTSBU983 00275 DISPLAY ' '. DTSBU983 00276 DTSBU983 00277 DISPLAY ' '. DTSBU983 00278 DTSBU983 00279 DISPLAY '*** DTSBU983 PRE TRACE DISPLAY ***'. DTSBU983 00280 DTSBU983 00281 DISPLAY L983-MOD-NAME DTSBU983 00282 ' = L983-MOD-NAME'. DTSBU983 00283 DTSBU983 00284 DISPLAY L983-CMND-CD DTSBU983 00285 ' = L983-CMND-CD'. DTSBU983 00286 DTSBU983 00287 PERFORM S9300-REC-DISPLAY THRU S9300-EXIT. DTSBU983 00288 S9100-EXIT. DTSBU983 00289 EXIT. DTSBU983 00290 SKIP3 DTSBU983 00291 S9200-POST-DISPLAY. DTSBU983 00292 DISPLAY ' '. DTSBU983 00293 DTSBU983 00294 DISPLAY ' '. DTSBU983 00295 DTSBU983 00296 DISPLAY '*** DTSBU983 POST TRACE DISPLAY ***'. DTSBU983 00297 DTSBU983 00298 DISPLAY L983-RESULT-IND DTSBU983 00299 ' = L983-RESULT-IND'. DTSBU983 00300 DTSBU983 00301 PERFORM S9300-REC-DISPLAY THRU S9300-EXIT. DTSBU983 00302 S9200-EXIT. DTSBU983 00303 EXIT. DTSBU983 00304 SKIP3 DTSBU983 00305 S9300-REC-DISPLAY. DTSBU983 00306 DISPLAY ' '. DTSBU983 00307 DTSBU983 00308 MOVE 'W001' TO WRK-REC-PREFIX. DTSBU983 00309 MOVE WRK-KEY-LENGTH TO L991-REQ-CHAR-CNT. DTSBU983 00310 DTSBU983 00311 MOVE WSKL-KEY-AREA OF LINK-REC TO L991-REQ-AREA. DTSBU983 00312 DTSBU983 00313 PERFORM S991-HEX-FORMAT THRU S991-EXIT. DTSBU983 00314 DTSBU983 00315 DISPLAY 'REC TYPE = ' DTSBU983 00316 WRK-REC-PREFIX. DTSBU983 00317 DTSBU983 00318 DISPLAY 'KEY AREA = ' DTSBU983 00319 L991-REPLY-HEX-1-AREA. DTSBU983 00320 DTSBU983 00321 DISPLAY ' ' DTSBU983 00322 L991-REPLY-HEX-2-AREA. DTSBU983 00323 DTSBU983 00324 DISPLAY ' ' DTSBU983 00325 L991-REPLY-AN-AREA. DTSBU983 00326 S9300-EXIT. DTSBU983 00327 EXIT. DTSBU983 00328 EJECT DTSBU983 00329 S991-HEX-FORMAT. DTSBU983 00330 CALL 'DTSBU991' USING L991-LINK-AREA. DTSBU983 00331 S991-EXIT. DTSBU983 00332 EXIT. DTSBU983 00333 EJECT DTSBU983 00334 S999-ABEND. DTSBU983 00335 DISPLAY '*** I/O MODULE ABENDING'. DTSBU983 00336 DTSBU983 00337 DISPLAY '*** CMND-CD = ' L983-CMND-CD. DTSBU983 00338 DTSBU983 00339 DISPLAY '*** FILE-STATUS = ' FILE-STATUS. DTSBU983 00340 DTSBU983 00341 DISPLAY '*** CALLING MODULE = ' L983-MOD-NAME. DTSBU983 00342 DTSBU983 00343 PERFORM S9300-REC-DISPLAY THRU S9300-EXIT. DTSBU983 00344 DTSBU983 00345 CALL 'DTSBU999' USING WRK-ABEND-CD. DTSBU983 00346 S999-EXIT. DTSBU983 00347 EXIT. DTSBU983