Files
DUTAS/Batch/DTSBU083.cob

217 lines
17 KiB
COBOL

00001 IDENTIFICATION DIVISION. 08/13/04
00002 PROGRAM-ID. DTSBU083. DTSBU083
00003 AUTHOR. TRW. LV003
00004 DATE-WRITTEN. JUNE 2001. DTSBU083
00005 DATE-COMPILED. DTSBU083
00006 SKIP3 DTSBU083
00007 ***** DTSBU083
00008 * DTSBU083
00009 * FUNCTION: CLAIMANT NAME LOOKUP FROM IB6 FILE. DTSBU083
00010 * DTSBU083
00011 * DTSBU083
00012 * MODIFICATION LOG: DTSBU083
00013 * DTSBU083
00014 * 07/22/2002 INITIAL DEVELOPMENT. DTSBU083
00015 * WORK ORDER: PROGRAMMER: GD DTSBU083
00016 * DTSBU083
00017 * 07/22/2004 CORRECTED PROBLEM WITH L081-CLAIMANT-SSN. DTSBU083
00018 * THE BATCH PROGRAM WAS NOT CONSISTENT WITH DTSBU083
00019 * THE CICS PROGRAM. DTSBU083
00020 * THE PROGRAM WAS MOVING THIS 9 DIGIT FIELD TO DTSBU083
00021 * THE 10 DIGIT VSAM-KEY (SSN PLUS SEQUENCE NUMBER).DTSBU083
00022 * THE PROGRAM NOW BUILDS THE KEY IN WORKING-STORAGEDTSBU083
00023 * AND MOVE THE FULL 10 DIGIT KEY. THE SEQUENCE DTSBU083
00024 * NUMBER IS ALWAYS SET TO ZERO. DTSBU083
00025 * REFERENCE: PROGRAMMER: GD DTSBU083
00026 * DTSBU083
00027 * MM/DD/YYYY XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSBU083
00028 * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSBU083
00029 * REFERENCE: XXXXXXXXXXXXXXX PROGRAMMER: XXX DTSBU083
00030 * DTSBU083
00031 * DTSBU083
00032 * DESCRIPTION: DTSBU083
00033 * DTSBU083
00034 * DTSBU083 IS PASSED L081-CLAIMANT-SSN. DTSBU083 READS THE DTSBU083
00035 * IB6 MASTER FILE. DTSBU083
00036 * DTSBU083
00037 * IF THE CLAIMANT IS FOUND, THEN L081-CLAIMANT-NAME IS RETURNED DTSBU083
00038 ***** DTSBU083
00039 SKIP3 DTSBU083
00040 ENVIRONMENT DIVISION. DTSBU083
00041 SKIP3 DTSBU083
00042 DATA DIVISION. DTSBU083
00043 SKIP3 DTSBU083
00044 WORKING-STORAGE SECTION. DTSBU083
000445 77 PAN-VALET PICTURE X(24) VALUE '003DTSBU083 08/13/04'. DTSBU083
00045 SKIP3 DTSBU083
00046 01 WRK-AREA. DTSBU083
00047 05 WRK-ABEND-CODE PIC X(04) VALUE 'U083'. DTSBU083
00048 DTSBU083
00049 05 WRK-FIRST-TIME-IND PIC X(01) VALUE 'Y'. DTSBU083
00050 88 WRK-FIRST-TIME-YES-88 VALUE 'Y'. DTSBU083
00051 88 WRK-FIRST-TIME-NO-88 VALUE 'N'. DTSBU083
00052 DTSBU083
00053 05 WRK-KEY PIC 9(10). DTSBU083
00054 05 FILLER REDEFINES WRK-KEY. DTSBU083
00055 10 WRK-SSN PIC 9(09). DTSBU083
00056 10 WRK-SSN-SEQ PIC 9(01). DTSBU083
00057 DTSBU083
00058 05 WRK-SPACE-NEEDED-IND PIC X(01). DTSBU083
00059 88 WRK-SPACE-NEEDED-YES-88 VALUE 'Y'. DTSBU083
00060 88 WRK-SPACE-NEEDED-NO-88 VALUE 'N'. DTSBU083
00061 DTSBU083
00062 05 WRK-LEN PIC S9(04) COMP DTSBU083
00063 VALUE +31. DTSBU083
00064 05 SUB1 PIC S9(04) COMP. DTSBU083
00065 05 SUB2 PIC S9(04) COMP. DTSBU083
00066 DTSBU083
00067 05 WRK-NAME. DTSBU083
00068 10 WRK-FIRST-NAME PIC X(12). DTSBU083
00069 10 WRK-MIDDLE-NAME PIC X(01). DTSBU083
00070 10 WRK-LAST-NAME PIC X(18). DTSBU083
00071 DTSBU083
00072 05 WRK-NAME-OUT PIC X(32). DTSBU083
00073 DTSBU083
00074 01 EMSG-LITERALS. DTSBU083
00075 05 EMSG-NO-REC. DTSBU083
00076 10 FILLER PIC X(31) DTSBU083
00077 VALUE 'NO BENEFITS RECORD FOUND '. DTSBU083
00078 10 FILLER PIC X(16) DTSBU083
00079 VALUE SPACES. DTSBU083
00080 05 EMSG-EOF. DTSBU083
00081 10 FILLER PIC X(31) DTSBU083
00082 VALUE 'END OF FILE '. DTSBU083
00083 10 FILLER PIC X(16) DTSBU083
00084 VALUE SPACES. DTSBU083
00085 EJECT DTSBU083
00086 01 IB6-LINKAGE-SECTION. DTSBU083
00087 ++INCLUDE IB6VSMCB DTSBU083
00088 EJECT DTSBU083
00089 ++INCLUDE ESPDATEW DTSBU083
00090 EJECT DTSBU083
00091 ++INCLUDE IB6SCCD DTSBU083
00092 EJECT DTSBU083
00093 ++INCLUDE ESPSTRER DTSBU083
00094 EJECT DTSBU083
00095 ++INCLUDE IB6SCSWA DTSBU083
00096 EJECT DTSBU083
00097 ++INCLUDE IB6SCTWA DTSBU083
00098 EJECT DTSBU083
00099 ++INCLUDE IB6SEG01 DTSBU083
00100 EJECT DTSBU083
00101 ++INCLUDE IB6SEG02 DTSBU083
00102 EJECT DTSBU083
00103 ++INCLUDE IB6SEG03 DTSBU083
00104 EJECT DTSBU083
00105 ++INCLUDE IB6TRAND DTSBU083
00106 EJECT DTSBU083
00107 ++INCLUDE IB6HEADR DTSBU083
00108 EJECT DTSBU083
00109 LINKAGE SECTION. DTSBU083
00110 SKIP3 DTSBU083
00111 01 BU081-LINK-AREA. DTSBU083
00112 ++INCLUDE DTSIL081 DTSBU083
00113 EJECT DTSBU083
00114 PROCEDURE DIVISION USING BU081-LINK-AREA. DTSBU083
00115 SKIP2 DTSBU083
00116 IF WRK-FIRST-TIME-YES-88 DTSBU083
00117 PERFORM I0000-INIT THRU I0000-EXIT DTSBU083
00118 SET WRK-FIRST-TIME-NO-88 TO TRUE DTSBU083
00119 PERFORM P0000-FIND-NAME THRU P0000-EXIT DTSBU083
00120 ELSE DTSBU083
00121 PERFORM P0000-FIND-NAME THRU P0000-EXIT. DTSBU083
00122 DTSBU083
00123 GOBACK. DTSBU083
00124 EJECT DTSBU083
00125 I0000-INIT. DTSBU083
00126 MOVE 'DTSBU083' TO DB-PROGRAM-NAME. DTSBU083
00127 SET DB-HEADER-RECORD TO TRUE. DTSBU083
00128 SET DB-RANDOM-PROCESSING TO TRUE. DTSBU083
00129 SET DB-OPEN-INPUT TO TRUE. DTSBU083
00130 MOVE ZEROS TO DB-KEY. DTSBU083
00131 DTSBU083
00132 CALL 'IB6960D' USING IB6-LINKAGE-SECTION. DTSBU083
00133 IF DB-SUCCESSFUL-COMPLETION DTSBU083
00134 NEXT SENTENCE DTSBU083
00135 ELSE DTSBU083
00136 DISPLAY 'CANNOT OPEN IB6 FILE' DTSBU083
00137 PERFORM S9999-ABEND THRU S9999-EXIT. DTSBU083
00138 DTSBU083
00139 I0000-EXIT. DTSBU083
00140 EXIT. DTSBU083
00141 P0000-FIND-NAME. DTSBU083
00142 SET L081-NAME-NOT-FOUND TO TRUE. DTSBU083
00143 DTSBU083
00144 MOVE SPACES TO L081-CLAIMANT-NAME DTSBU083
00145 L081-MSG-AREA. DTSBU083
00146 DTSBU083
00147 SET DB-RANDOM-PROCESSING TO TRUE. DTSBU083
00148 SET DB-IB6-PROFILE TO TRUE. DTSBU083
00149 SET DB-READ-SEGMENT TO TRUE. DTSBU083
00150 MOVE L081-CLAIMANT-SSN TO WRK-SSN. DTSBU083
00151 MOVE ZERO TO WRK-SSN-SEQ. DTSBU083
00152 MOVE WRK-KEY TO VSAM-KEY. DTSBU083
00153 DTSBU083
00154 CALL 'IB6960D' USING IB6-LINKAGE-SECTION. DTSBU083
00155 IF DB-SUCCESSFUL-COMPLETION DTSBU083
00156 SET L081-NAME-FOUND TO TRUE DTSBU083
00157 PERFORM P1000-FORMAT-NAME THRU P1000-EXIT DTSBU083
00158 MOVE WRK-NAME-OUT TO L081-CLAIMANT-NAME DTSBU083
00159 ELSE DTSBU083
00160 IF DB-NO-RECORD-FOUND DTSBU083
00161 SET L081-NAME-NOT-FOUND TO TRUE DTSBU083
00162 MOVE EMSG-NO-REC TO L081-MSG-TEXT DTSBU083
00163 ELSE DTSBU083
00164 PERFORM S9999-ABEND THRU S9999-EXIT. DTSBU083
00165 DTSBU083
00166 P0000-EXIT. DTSBU083
00167 EXIT. DTSBU083
00168 DTSBU083
00169 P1000-FORMAT-NAME. DTSBU083
00170 MOVE SPACES TO WRK-NAME DTSBU083
00171 WRK-NAME-OUT. DTSBU083
00172 DTSBU083
00173 MOVE IN1-CLAIM-FIRST-NAME TO WRK-FIRST-NAME. DTSBU083
00174 MOVE IN1-CLAIM-MIDDLE-NAME TO WRK-MIDDLE-NAME DTSBU083
00175 MOVE IN1-CLAIM-LAST-NAME TO WRK-LAST-NAME DTSBU083
00176 DTSBU083
00177 SET WRK-SPACE-NEEDED-YES-88 TO TRUE. DTSBU083
00178 MOVE +0 TO SUB2. DTSBU083
00179 PERFORM P1100-PARSE THRU P1100-EXIT. DTSBU083
00180 DTSBU083
00181 MOVE WRK-NAME-OUT TO L081-CLAIMANT-NAME. DTSBU083
00182 DTSBU083
00183 P1000-EXIT. DTSBU083
00184 EXIT. DTSBU083
00185 DTSBU083
00186 P1100-PARSE. DTSBU083
00187 PERFORM DTSBU083
00188 VARYING SUB1 FROM +1 BY +1 DTSBU083
00189 UNTIL SUB1 > WRK-LEN DTSBU083
00190 IF WRK-NAME (SUB1:1) NOT = SPACE DTSBU083
00191 SET WRK-SPACE-NEEDED-YES-88 TO TRUE DTSBU083
00192 ADD +1 TO SUB2 DTSBU083
00193 MOVE WRK-NAME (SUB1:1) TO WRK-NAME-OUT (SUB2:1) DTSBU083
00194 IF SUB1 = +13 DTSBU083
00195 ADD +1 TO SUB2 DTSBU083
00196 MOVE SPACE TO WRK-NAME-OUT (SUB2:1) DTSBU083
00197 END-IF DTSBU083
00198 ELSE DTSBU083
00199 IF WRK-SPACE-NEEDED-YES-88 DTSBU083
00200 ADD +1 TO SUB2 DTSBU083
00201 MOVE SPACE TO WRK-NAME-OUT (SUB2:1) DTSBU083
00202 SET WRK-SPACE-NEEDED-NO-88 TO TRUE DTSBU083
00203 END-IF DTSBU083
00204 END-IF DTSBU083
00205 END-PERFORM. DTSBU083
00206 DTSBU083
00207 P1100-EXIT. DTSBU083
00208 EXIT. DTSBU083
00209 DTSBU083
00210 S9999-ABEND. DTSBU083
00211 SKIP1 DTSBU083
00212 CALL 'DTSBU999' USING WRK-ABEND-CODE. DTSBU083
00213 SKIP1 DTSBU083
00214 S9999-EXIT. DTSBU083
00215 EXIT. DTSBU083