241 lines
19 KiB
COBOL
241 lines
19 KiB
COBOL
00001 IDENTIFICATION DIVISION. 10/08/10
|
|
00002 PROGRAM-ID. DTSBU430. DTSBU430
|
|
00003 AUTHOR. NGC LV001
|
|
00004 DATE-WRITTEN. OCTOBER 2010. DTSBU430
|
|
00005 DATE-COMPILED. DTSBU430
|
|
00006 DTSBU430
|
|
00007 ***** DTSBU430
|
|
00008 * DTSBU430
|
|
00009 * FUNCTION: GET COUNTS OF WAGE ITEMS NEEDED FOR DTSBU430
|
|
00010 * ITEM 5 ON THE ETA 581 REPORT. DTSBU430
|
|
00011 * DTSBU430
|
|
00012 * NOTE: THIS PROGRAM USES SEVERAL BENEFIT MODULES THEREFORE DTSBU430
|
|
00013 * THIS PROGRAM NEEDS THE BENEFIT COMPILE JCL(COB2BBEN) DTSBU430
|
|
00014 * TO RESOLVE ALL THE NEEDED LOAD MODULES. DTSBU430
|
|
00015 * DTSBU430
|
|
00016 * MODIFICATION HISTORY: DTSBU430
|
|
00017 * DTSBU430
|
|
00018 * 10/01/2010 INITIAL DEVELOPMENT DTSBU430
|
|
00019 * REFERENCE: PROGRAMMER: GD DTSBU430
|
|
00020 * DTSBU430
|
|
00021 * DTSBU430
|
|
00022 * DTSBU430
|
|
00023 * MM/DD/YYYY XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSBU430
|
|
00024 * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSBU430
|
|
00025 * REFERENCE: XXXXXXXXXXXXXXX PROGRAMMER: XXX DTSBU430
|
|
00026 * DTSBU430
|
|
00027 * DESCRIPTION: DTSBU430
|
|
00028 * DTSBU430
|
|
00029 * DTSBU430
|
|
00030 * RECORDS READ: DTSBU430
|
|
00031 * WAGE MASTER FILE DTSBU430
|
|
00032 * DTSBU430
|
|
00033 * PRINTED OUTPUTS: DTSBU430
|
|
00034 * NONE. DTSBU430
|
|
00035 * DTSBU430
|
|
00036 * RECORDS WRITTEN: DTSBU430
|
|
00037 * DTSIWWGH EMPLOYER ORIENTED WAGE RECORD DTSBU430
|
|
00038 * DTSBU430
|
|
00039 * MODULES CALLED: DTSBU430
|
|
00040 * EWG960R WAGE FILE ACCESS MODULE DTSBU430
|
|
00041 * DTSBU004 YEAR/QUARTER CONVERSION MODULE DTSBU430
|
|
00042 * DTSBU430
|
|
00043 ***** DTSBU430
|
|
00044 DTSBU430
|
|
00045 ENVIRONMENT DIVISION. DTSBU430
|
|
00046 SKIP2 DTSBU430
|
|
00047 DATA DIVISION. DTSBU430
|
|
00048 DTSBU430
|
|
00049 WORKING-STORAGE SECTION. DTSBU430
|
|
000495 77 PAN-VALET PICTURE X(24) VALUE '001DTSBU430 10/08/10'. DTSBU430
|
|
00050 SKIP3 DTSBU430
|
|
00051 01 WRK-AREA. DTSBU430
|
|
00052 05 WRK-ABEND-CD PIC S9(04) COMP VALUE +430.DTSBU430
|
|
00053 05 WRK-ERROR-IND PIC X(01). DTSBU430
|
|
00054 88 WRK-ERROR-YES-88 VALUE 'Y'. DTSBU430
|
|
00055 88 WRK-ERROR-NO-88 VALUE 'N'. DTSBU430
|
|
00056 DTSBU430
|
|
00057 05 WRK-START-DATE PIC S9(09) COMP-3 VALUE +0. DTSBU430
|
|
00058 05 WRK-END-DATE PIC S9(09) COMP-3 VALUE +0. DTSBU430
|
|
00059 DTSBU430
|
|
00060 05 WRK-WAGE-ITEM-CNT PIC S9(07) COMP-3 VALUE +0. DTSBU430
|
|
00061 DTSBU430
|
|
00062 01 L004-LINK-AREA. DTSBU430
|
|
00063 ++INCLUDE DTSIL004 DTSBU430
|
|
00064 DTSBU430
|
|
00065 01 EWGLINKB-REC. DTSBU430
|
|
00066 ++INCLUDE EWGVSMCB DTSBU430
|
|
00067 DTSBU430
|
|
00068 ++INCLUDE EWGSEG01 DTSBU430
|
|
00069 DTSBU430
|
|
00070 ++INCLUDE EWGSEG02 DTSBU430
|
|
00071 DTSBU430
|
|
00072 ++INCLUDE EWGVSMCD DTSBU430
|
|
00073 DTSBU430
|
|
00074 DTSBU430
|
|
00075 LINKAGE SECTION. DTSBU430
|
|
00076 DTSBU430
|
|
00077 01 L430-LINK-AREA. DTSBU430
|
|
00078 ++INCLUDE DTSIL430 DTSBU430
|
|
00079 DTSBU430
|
|
00080 PROCEDURE DIVISION USING L430-LINK-AREA. DTSBU430
|
|
00081 DTSBU430
|
|
00082 SET WRK-ERROR-NO-88 TO TRUE. DTSBU430
|
|
00083 EVALUATE TRUE DTSBU430
|
|
00084 WHEN L430-CMND-INITIALIZE-88 DTSBU430
|
|
00085 PERFORM I0000-INIT THRU I0000-EXIT DTSBU430
|
|
00086 DTSBU430
|
|
00087 WHEN L430-CMND-PROCESS-88 DTSBU430
|
|
00088 PERFORM P0000-PROCESS THRU P0000-EXIT DTSBU430
|
|
00089 DTSBU430
|
|
00090 WHEN L430-CMND-TERMINATE-88 DTSBU430
|
|
00091 PERFORM T0000-TERMINATE THRU T0000-EXIT DTSBU430
|
|
00092 DTSBU430
|
|
00093 END-EVALUATE. DTSBU430
|
|
00094 DTSBU430
|
|
00095 GOBACK. DTSBU430
|
|
00096 DTSBU430
|
|
00097 I0000-INIT. DTSBU430
|
|
00098 PERFORM I1000-SET-DATES THRU I1000-EXIT. DTSBU430
|
|
00099 DTSBU430
|
|
00100 PERFORM I2000-OPEN-FILES THRU I2000-EXIT. DTSBU430
|
|
00101 DTSBU430
|
|
00102 DTSBU430
|
|
00103 I0000-EXIT. DTSBU430
|
|
00104 EXIT. DTSBU430
|
|
00105 DTSBU430
|
|
00106 I1000-SET-DATES. DTSBU430
|
|
00107 MOVE L430-SUBJECT-YRQ TO L004-QTR-5-9. DTSBU430
|
|
00108 PERFORM S004-FROM-5 THRU S004-EXIT. DTSBU430
|
|
00109 IF L004-VALID-QTR DTSBU430
|
|
00110 MOVE L004-QTR-START-DATE TO WRK-START-DATE DTSBU430
|
|
00111 MOVE L004-QTR-END-DATE TO WRK-END-DATE DTSBU430
|
|
00112 ELSE DTSBU430
|
|
00113 DISPLAY 'INVALID SUBJECT QUARTER ' DTSBU430
|
|
00114 L430-SUBJECT-YRQ DTSBU430
|
|
00115 PERFORM S999-ABEND THRU S999-EXIT DTSBU430
|
|
00116 END-IF. DTSBU430
|
|
00117 DTSBU430
|
|
00118 DTSBU430
|
|
00119 DISPLAY '**************************'. DTSBU430
|
|
00120 DISPLAY '* DTSBU430' DTSBU430
|
|
00121 DISPLAY '* ' DTSBU430
|
|
00122 DISPLAY '* START: ' WRK-START-DATE. DTSBU430
|
|
00123 DISPLAY '* END : ' WRK-END-DATE. DTSBU430
|
|
00124 DISPLAY '**************************'. DTSBU430
|
|
00125 DTSBU430
|
|
00126 I1000-EXIT. DTSBU430
|
|
00127 EXIT. DTSBU430
|
|
00128 DTSBU430
|
|
00129 I2000-OPEN-FILES. DTSBU430
|
|
00130 SET DBW-OPEN-INPUT TO TRUE DTSBU430
|
|
00131 PERFORM S960-WAGE-I THRU S960-EXIT DTSBU430
|
|
00132 IF NOT DBW-SUCCESSFUL-COMPLETION DTSBU430
|
|
00133 SET WRK-ERROR-YES-88 TO TRUE DTSBU430
|
|
00134 SET L430-FILE-CLOSED TO TRUE DTSBU430
|
|
00135 MOVE '431' TO L430-MSG-ID DTSBU430
|
|
00136 MOVE 'CANNOT OPEN WAGE FILE ' TO L430-MSG-TEXT DTSBU430
|
|
00137 GO TO I2000-EXIT DTSBU430
|
|
00138 END-IF. DTSBU430
|
|
00139 DTSBU430
|
|
00140 I2000-EXIT. DTSBU430
|
|
00141 EXIT. DTSBU430
|
|
00142 DTSBU430
|
|
00143 P0000-PROCESS. DTSBU430
|
|
00144 SET DBW-SEQUENTIAL-PROCESSING TO TRUE. DTSBU430
|
|
00145 SET DBW-READ-SEGMENT TO TRUE. DTSBU430
|
|
00146 SET DBW-PROFILE-SEGMENT TO TRUE. DTSBU430
|
|
00147 DTSBU430
|
|
00148 PERFORM S960-WAGE-I THRU S960-EXIT. DTSBU430
|
|
00149 DTSBU430
|
|
00150 IF DBW-SUCCESSFUL-COMPLETION DTSBU430
|
|
00151 PERFORM UNTIL DBW-END-OF-FILE DTSBU430
|
|
00152 SET DBW-RANDOM-PROCESSING TO TRUE DTSBU430
|
|
00153 SET DBW-WAGE-SEGMENT TO TRUE DTSBU430
|
|
00154 SET DBW-RESET-POINTERS TO TRUE DTSBU430
|
|
00155 PERFORM S960-WAGE-I THRU S960-EXIT DTSBU430
|
|
00156 DTSBU430
|
|
00157 PERFORM P1200-COUNT-WAGES THRU P1200-EXIT DTSBU430
|
|
00158 UNTIL DBW-NO-RECORD-FOUND DTSBU430
|
|
00159 DTSBU430
|
|
00160 SET DBW-SEQUENTIAL-PROCESSING TO TRUE DTSBU430
|
|
00161 SET DBW-READ-SEGMENT TO TRUE DTSBU430
|
|
00162 SET DBW-PROFILE-SEGMENT TO TRUE DTSBU430
|
|
00163 PERFORM S960-WAGE-I THRU S960-EXIT DTSBU430
|
|
00164 END-PERFORM DTSBU430
|
|
00165 END-IF. DTSBU430
|
|
00166 DTSBU430
|
|
00167 MOVE WRK-WAGE-ITEM-CNT TO L430-WAGE-ITEM-CNT. DTSBU430
|
|
00168 DTSBU430
|
|
00169 P0000-EXIT. DTSBU430
|
|
00170 EXIT. DTSBU430
|
|
00171 DTSBU430
|
|
00172 DTSBU430
|
|
00173 ************************************************************** DTSBU430
|
|
00174 * P1200 FINDS ALL THE WAGE SEGMENT ASSOCIATED WITH THE SSN DTSBU430
|
|
00175 * AND SELECTS THOSE FROM 2001. DTSBU430
|
|
00176 ************************************************************** DTSBU430
|
|
00177 DTSBU430
|
|
00178 P1200-COUNT-WAGES. DTSBU430
|
|
00179 DTSBU430
|
|
00180 SET DBW-READ-SEGMENT TO TRUE. DTSBU430
|
|
00181 PERFORM S960-WAGE-I THRU S960-EXIT. DTSBU430
|
|
00182 DTSBU430
|
|
00183 IF DBW-NO-RECORD-FOUND DTSBU430
|
|
00184 GO TO P1200-EXIT. DTSBU430
|
|
00185 DTSBU430
|
|
00186 DTSBU430
|
|
00187 IF WGD-AFFI-CODE = 1 DTSBU430
|
|
00188 GO TO P1200-EXIT DTSBU430
|
|
00189 ELSE DTSBU430
|
|
00190 IF WGD-ACTIVITY-DATE >= WRK-START-DATE DTSBU430
|
|
00191 AND WGD-ACTIVITY-DATE <= WRK-END-DATE DTSBU430
|
|
00192 ADD +1 TO WRK-WAGE-ITEM-CNT DTSBU430
|
|
00193 END-IF DTSBU430
|
|
00194 END-IF. DTSBU430
|
|
00195 DTSBU430
|
|
00196 P1200-EXIT. DTSBU430
|
|
00197 EXIT. DTSBU430
|
|
00198 DTSBU430
|
|
00199 S004-FROM-5. DTSBU430
|
|
00200 SET L004-FROM-5 TO TRUE. DTSBU430
|
|
00201 GO TO S004-QTR. DTSBU430
|
|
00202 DTSBU430
|
|
00203 S004-QTR. DTSBU430
|
|
00204 CALL 'DTSBU004' USING L004-LINK-AREA. DTSBU430
|
|
00205 S004-EXIT. DTSBU430
|
|
00206 EXIT. DTSBU430
|
|
00207 DTSBU430
|
|
00208 S960-WAGE-I. DTSBU430
|
|
00209 IF DBW-WAGE-SEGMENT DTSBU430
|
|
00210 CALL 'EWG960D' USING VSAM-WAGEDATA-CONTROL-BLOCK DTSBU430
|
|
00211 WGD-SEGMENT-TWO DTSBU430
|
|
00212 ELSE DTSBU430
|
|
00213 CALL 'EWG960D' USING VSAM-WAGEDATA-CONTROL-BLOCK DTSBU430
|
|
00214 WGP-SEGMENT-ONE. DTSBU430
|
|
00215 S960-EXIT. DTSBU430
|
|
00216 EXIT. DTSBU430
|
|
00217 DTSBU430
|
|
00218 S999-ABEND. DTSBU430
|
|
00219 CALL 'DTSBU999' USING WRK-ABEND-CD. DTSBU430
|
|
00220 S999-EXIT. DTSBU430
|
|
00221 EXIT. DTSBU430
|
|
00222 DTSBU430
|
|
00223 T0000-TERMINATE. DTSBU430
|
|
00224 DTSBU430
|
|
00225 DISPLAY ' '. DTSBU430
|
|
00226 DISPLAY ' '. DTSBU430
|
|
00227 DTSBU430
|
|
00228 DISPLAY '*** DTSBU430 TERMINATION STATISTICS ***'. DTSBU430
|
|
00229 DTSBU430
|
|
00230 DISPLAY ' '. DTSBU430
|
|
00231 DISPLAY 'WAGE ITEMS :' DTSBU430
|
|
00232 WRK-WAGE-ITEM-CNT. DTSBU430
|
|
00233 DTSBU430
|
|
00234 SET DBW-CLOSE-DATASET TO TRUE. DTSBU430
|
|
00235 PERFORM S960-WAGE-I THRU S960-EXIT. DTSBU430
|
|
00236 DTSBU430
|
|
00237 T0000-EXIT. DTSBU430
|
|
00238 EXIT. DTSBU430
|
|
00239 DTSBU430
|