00001 IDENTIFICATION DIVISION. 09/30/98 00002 PROGRAM-ID. DTSCU827. DTSCU827 00003 AUTHOR. TRICOASTAL CONSULTING LTD. LV004 00004 DATE-WRITTEN. APRIL 1994. DTSCU827 00005 DATE-COMPILED. DTSCU827 00006 SKIP3 DTSCU827 00007 ***** DTSCU827 00008 * DTSCU827 00009 * FUNCTION: VSAM KSDS WORK FILE INPUT/OUTPUT. DTSCU827 00010 * DTSCU827 00011 * DTSCU827 00012 * MODIFICATION LOG: DTSCU827 00013 * DTSCU827 00014 * 04/12/94 INITIAL DEVELOPMENT. DTSCU827 00015 * WORK ORDER: PROGRAMMER: RHC DTSCU827 00016 * DTSCU827 00017 * 09/29/1998 REVIEWED AND MODIFIED FOR DC. CL**2 00018 * REFERENCE: DC DEVELOPMENT PROGRAMMER: EHH CL**2 00019 * CL**2 00020 * MM/DD/YYYY XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX CL**2 00021 * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX CL**2 00022 * REFERENCE: XXXXXXXXXXXXXXX PROGRAMMER: XXX CL**2 00023 * DTSCU827 00024 * DTSCU827 00025 * DESCRIPTION: DTSCU827 00026 * DTSCU827 00027 * DTSCU827 PERFORMS ALL REQUIRED VSAM WORK FILE CL**2 00028 * INPUT/OUTPUT. DTSCU827'S COMMAREA CONSISTS OF CL**2 00029 * DTSIL827, FOLLOWED BY DTSIVSKL. SEE DFHCOMMAREA CL**2 00030 * OF THIS MODULE FOR AN EXAMPLE. DTSCU827 00031 * DTSCU827 00032 ***** DTSCU827 00033 SKIP3 DTSCU827 00034 ENVIRONMENT DIVISION. DTSCU827 00035 SKIP3 DTSCU827 00036 DATA DIVISION. DTSCU827 00037 SKIP3 DTSCU827 00038 WORKING-STORAGE SECTION. DTSCU827 000385 77 PAN-VALET PICTURE X(24) VALUE '004DTSCU827 09/30/98'. DTSCU827 00039 SKIP3 DTSCU827 00040 01 WRK-AREA. DTSCU827 00041 05 WRK-ABEND-CD PIC X(04) VALUE 'U827'. DTSCU827 00042 CL**2 00043 05 WRK-RESP-CD PIC S9(08) COMP. DTSCU827 00044 CL**2 00045 *****05 WRK-TEST-FILE-NAME PIC X(08) VALUE 'DTSFWRK'. CL**2 00046 CL**2 00047 *****05 WRK-TCL-FILE-NAME PIC X(08) VALUE 'DTSTWRK'. CL**2 00048 CL**2 00049 05 WRK-PROD-FILE-NAME PIC X(08) VALUE 'DTSFWRK'. CL**2 00050 CL**2 00051 05 EMSG-NOT-AVAILABLE. DTSCU827 00052 10 FILLER PIC X(04) VALUE 'E091'. DTSCU827 00053 10 FILLER PIC X(06) VALUE 'FILE '. DTSCU827 00054 10 EMSG-FILE-NAME PIC X(08). DTSCU827 00055 10 FILLER PIC X(33) DTSCU827 00056 VALUE ' NOT AVAILABLE PLEASE TRY LATER'. DTSCU827 00057 CL**2 00058 CL**2 00059 *****05 WRK-CICS-APPLID PIC X(08). CL**2 00060 CL**2 00061 *****05 WRK-CICS-OP-ID PIC X(08). CL**2 00062 *********88 WRK-TCL-OP-ID-88 VALUES 'CE0756' CL**2 00063 *******************************************'CE3568' CL**2 00064 *******************************************'C84986'. CL**2 00065 CL**2 00066 05 WRK-FILE-NAME PIC X(08). DTSCU827 00067 CL**2 00068 05 WRK-REC-LENGTH PIC S9(04) COMP. DTSCU827 00069 EJECT DTSCU827 00070 01 VLEN-LITERALS. DTSCU827 00071 ++INCLUDE DTSIVLEN CL**3 00072 EJECT DTSCU827 00073 01 VIO-REC. DTSCU827 00074 ++INCLUDE DTSIVSKL CL**3 00075 EJECT DTSCU827 00076 LINKAGE SECTION. DTSCU827 00077 SKIP3 DTSCU827 00078 01 DFHCOMMAREA. DTSCU827 00079 05 L827-CONTROL-BLOCK. DTSCU827 00080 ++INCLUDE DTSIL827 CL**3 00081 SKIP3 DTSCU827 00082 05 VCOMM-REC. DTSCU827 00083 ++INCLUDE DTSIVSKL CL**3 00084 SKIP3 DTSCU827 00085 05 VCOR-REC REDEFINES VCOMM-REC. DTSCU827 00086 ++INCLUDE DTSIVCOR CL**3 00087 EJECT DTSCU827 00088 PROCEDURE DIVISION. DTSCU827 00089 SKIP2 DTSCU827 00090 *****EXEC CICS DTSCU827 00091 ***** ASSIGN DTSCU827 00092 ***** APPLID (WRK-CICS-APPLID) DTSCU827 00093 *****END-EXEC. DTSCU827 00094 ***** CL**2 00095 *****IF WRK-CICS-APPLID = 'CICSAORT' DTSCU827 00096 ***** EXEC CICS DTSCU827 00097 ***** ASSIGN DTSCU827 00098 ***** USERID (WRK-CICS-OP-ID) DTSCU827 00099 ***** END-EXEC DTSCU827 00100 ***** CL**2 00101 ***** IF WRK-TCL-OP-ID-88 DTSCU827 00102 ***** MOVE WRK-TCL-FILE-NAME TO WRK-FILE-NAME DTSCU827 00103 ***** ELSE DTSCU827 00104 ***** MOVE WRK-TEST-FILE-NAME TO WRK-FILE-NAME DTSCU827 00105 *****ELSE DTSCU827 00106 MOVE WRK-PROD-FILE-NAME TO WRK-FILE-NAME. DTSCU827 00107 CL**2 00108 MOVE SPACES TO L827-MSG-AREA. DTSCU827 00109 CL**4 00110 SET L827-OK-88 TO TRUE. DTSCU827 00111 CL**2 00112 IF L827-READ-NEXT-88 DTSCU827 00113 PERFORM P2200-READ-NEXT THRU P2200-EXIT DTSCU827 00114 ELSE DTSCU827 00115 IF L827-READ-88 DTSCU827 00116 PERFORM P1100-READ THRU P1100-EXIT DTSCU827 00117 ELSE DTSCU827 00118 IF L827-START-BROWSE-88 DTSCU827 00119 PERFORM P2100-START-BROWSE THRU P2100-EXIT DTSCU827 00120 ELSE DTSCU827 00121 IF L827-END-BROWSE-88 DTSCU827 00122 PERFORM P2400-END-BROWSE THRU P2400-EXIT DTSCU827 00123 ELSE DTSCU827 00124 IF L827-READ-PREV-88 DTSCU827 00125 PERFORM P2300-READ-PREV THRU P2300-EXIT DTSCU827 00126 ELSE DTSCU827 00127 IF L827-WRITE-88 DTSCU827 00128 PERFORM P3100-WRITE THRU P3100-EXIT DTSCU827 00129 ELSE DTSCU827 00130 IF L827-REWRITE-88 DTSCU827 00131 PERFORM P3200-REWRITE THRU P3200-EXIT DTSCU827 00132 ELSE DTSCU827 00133 IF L827-DELETE-88 DTSCU827 00134 PERFORM P3300-DELETE THRU P3300-EXIT DTSCU827 00135 ELSE DTSCU827 00136 PERFORM S899-ABEND THRU S899-EXIT. DTSCU827 00137 CL**4 00138 CL**4 00139 EXEC CICS DTSCU827 00140 RETURN DTSCU827 00141 END-EXEC. DTSCU827 00142 CL**4 00143 CL**4 00144 GOBACK. DTSCU827 00145 EJECT DTSCU827 00146 P1100-READ. DTSCU827 00147 MOVE LOW-VALUES TO VIO-REC. DTSCU827 00148 CL**4 00149 MOVE VSKL-KEY-AREA OF VCOMM-REC TO VSKL-KEY-AREA OF VIO-REC. DTSCU827 00150 CL**4 00151 MOVE VLEN-MAX-LENGTH TO WRK-REC-LENGTH. DTSCU827 00152 CL**2 00153 EXEC CICS DTSCU827 00154 READ DTSCU827 00155 DATASET (WRK-FILE-NAME) DTSCU827 00156 INTO (VIO-REC) DTSCU827 00157 LENGTH (WRK-REC-LENGTH) DTSCU827 00158 RIDFLD (VSKL-KEY-AREA OF VIO-REC) DTSCU827 00159 RESP (WRK-RESP-CD) DTSCU827 00160 END-EXEC. DTSCU827 00161 CL**2 00162 IF WRK-RESP-CD = DFHRESP (NOTOPEN) OR DFHRESP (DISABLED) DTSCU827 00163 OR DFHRESP (SYSIDERR) DTSCU827 00164 PERFORM S1100-NOT-AVAILABLE THRU S1100-EXIT DTSCU827 00165 GO TO P1100-EXIT. DTSCU827 00166 CL**2 00167 IF WRK-RESP-CD = DFHRESP (NOTFND) DTSCU827 00168 PERFORM S1200-NOT-FOUND THRU S1200-EXIT DTSCU827 00169 GO TO P1100-EXIT. DTSCU827 00170 CL**2 00171 IF WRK-RESP-CD = DFHRESP (NORMAL) DTSCU827 00172 PERFORM S2100-IO-TO-COMM THRU S2100-EXIT DTSCU827 00173 ELSE DTSCU827 00174 PERFORM S899-ABEND THRU S899-EXIT. DTSCU827 00175 P1100-EXIT. DTSCU827 00176 EXIT. DTSCU827 00177 EJECT DTSCU827 00178 P2100-START-BROWSE. DTSCU827 00179 MOVE LOW-VALUES TO VIO-REC. DTSCU827 00180 CL**4 00181 MOVE VSKL-KEY-AREA OF VCOMM-REC TO VSKL-KEY-AREA OF VIO-REC. DTSCU827 00182 CL**2 00183 EXEC CICS DTSCU827 00184 STARTBR DTSCU827 00185 DATASET (WRK-FILE-NAME) DTSCU827 00186 RIDFLD (VSKL-KEY-AREA OF VIO-REC) DTSCU827 00187 RESP (WRK-RESP-CD) DTSCU827 00188 END-EXEC. DTSCU827 00189 CL**2 00190 IF WRK-RESP-CD = DFHRESP (NOTOPEN) OR DFHRESP (DISABLED) DTSCU827 00191 OR DFHRESP (SYSIDERR) DTSCU827 00192 PERFORM S1100-NOT-AVAILABLE THRU S1100-EXIT DTSCU827 00193 GO TO P2100-EXIT. DTSCU827 00194 CL**2 00195 IF WRK-RESP-CD = DFHRESP (NOTFND) DTSCU827 00196 PERFORM S1200-NOT-FOUND THRU S1200-EXIT DTSCU827 00197 GO TO P2100-EXIT. DTSCU827 00198 CL**2 00199 IF WRK-RESP-CD = DFHRESP (NORMAL) DTSCU827 00200 PERFORM P2200-READ-NEXT THRU P2200-EXIT DTSCU827 00201 ELSE DTSCU827 00202 PERFORM S899-ABEND THRU S899-EXIT. DTSCU827 00203 P2100-EXIT. DTSCU827 00204 EXIT. DTSCU827 00205 EJECT DTSCU827 00206 P2200-READ-NEXT. DTSCU827 00207 IF L827-READ-NEXT-88 DTSCU827 00208 MOVE LOW-VALUES TO VIO-REC DTSCU827 00209 MOVE VSKL-KEY-AREA OF VCOMM-REC DTSCU827 00210 TO VSKL-KEY-AREA OF VIO-REC. DTSCU827 00211 CL**2 00212 MOVE VLEN-MAX-LENGTH TO WRK-REC-LENGTH. DTSCU827 00213 CL**2 00214 EXEC CICS DTSCU827 00215 READNEXT DTSCU827 00216 DATASET (WRK-FILE-NAME) DTSCU827 00217 INTO (VIO-REC) DTSCU827 00218 LENGTH (WRK-REC-LENGTH) DTSCU827 00219 RIDFLD (VSKL-KEY-AREA OF VIO-REC) DTSCU827 00220 RESP (WRK-RESP-CD) DTSCU827 00221 END-EXEC. DTSCU827 00222 CL**2 00223 IF WRK-RESP-CD = DFHRESP (NOTOPEN) OR DFHRESP (DISABLED) DTSCU827 00224 OR DFHRESP (SYSIDERR) DTSCU827 00225 PERFORM S1100-NOT-AVAILABLE THRU S1100-EXIT DTSCU827 00226 GO TO P2200-EXIT. DTSCU827 00227 CL**2 00228 IF WRK-RESP-CD = DFHRESP (NOTFND) OR DFHRESP (ENDFILE) DTSCU827 00229 PERFORM S1200-NOT-FOUND THRU S1200-EXIT DTSCU827 00230 PERFORM P2400-END-BROWSE THRU P2400-EXIT DTSCU827 00231 GO TO P2200-EXIT. DTSCU827 00232 CL**2 00233 IF WRK-RESP-CD = DFHRESP (NORMAL) DTSCU827 00234 NEXT SENTENCE DTSCU827 00235 ELSE DTSCU827 00236 PERFORM S899-ABEND THRU S899-EXIT. DTSCU827 00237 CL**2 00238 IF VSKL-REC-TYPE OF VIO-REC = VSKL-REC-TYPE OF VCOMM-REC DTSCU827 00239 PERFORM S2100-IO-TO-COMM THRU S2100-EXIT DTSCU827 00240 ELSE DTSCU827 00241 PERFORM S1200-NOT-FOUND THRU S1200-EXIT DTSCU827 00242 PERFORM P2400-END-BROWSE THRU P2400-EXIT. DTSCU827 00243 P2200-EXIT. DTSCU827 00244 EXIT. DTSCU827 00245 EJECT DTSCU827 00246 P2300-READ-PREV. DTSCU827 00247 MOVE LOW-VALUES TO VIO-REC. DTSCU827 00248 CL**4 00249 MOVE VSKL-KEY-AREA OF VCOMM-REC DTSCU827 00250 TO VSKL-KEY-AREA OF VIO-REC. DTSCU827 00251 CL**2 00252 MOVE VLEN-MAX-LENGTH TO WRK-REC-LENGTH. DTSCU827 00253 CL**2 00254 EXEC CICS DTSCU827 00255 READPREV DTSCU827 00256 DATASET (WRK-FILE-NAME) DTSCU827 00257 INTO (VIO-REC) DTSCU827 00258 LENGTH (WRK-REC-LENGTH) DTSCU827 00259 RIDFLD (VSKL-KEY-AREA OF VIO-REC) DTSCU827 00260 RESP (WRK-RESP-CD) DTSCU827 00261 END-EXEC. DTSCU827 00262 CL**2 00263 IF WRK-RESP-CD = DFHRESP (NOTOPEN) OR DFHRESP (DISABLED) DTSCU827 00264 OR DFHRESP (SYSIDERR) DTSCU827 00265 PERFORM S1100-NOT-AVAILABLE THRU S1100-EXIT DTSCU827 00266 GO TO P2300-EXIT. DTSCU827 00267 CL**2 00268 IF WRK-RESP-CD = DFHRESP (NOTFND) OR DFHRESP (ENDFILE) DTSCU827 00269 PERFORM S1200-NOT-FOUND THRU S1200-EXIT DTSCU827 00270 PERFORM P2400-END-BROWSE THRU P2400-EXIT DTSCU827 00271 GO TO P2300-EXIT. DTSCU827 00272 CL**2 00273 IF WRK-RESP-CD = DFHRESP (NORMAL) DTSCU827 00274 NEXT SENTENCE DTSCU827 00275 ELSE DTSCU827 00276 PERFORM S899-ABEND THRU S899-EXIT. DTSCU827 00277 CL**2 00278 IF VSKL-REC-TYPE OF VIO-REC = VSKL-REC-TYPE OF VCOMM-REC DTSCU827 00279 PERFORM S2100-IO-TO-COMM THRU S2100-EXIT DTSCU827 00280 ELSE DTSCU827 00281 PERFORM S1200-NOT-FOUND THRU S1200-EXIT DTSCU827 00282 PERFORM P2400-END-BROWSE THRU P2400-EXIT. DTSCU827 00283 P2300-EXIT. DTSCU827 00284 EXIT. DTSCU827 00285 EJECT DTSCU827 00286 P2400-END-BROWSE. DTSCU827 00287 EXEC CICS DTSCU827 00288 ENDBR DTSCU827 00289 DATASET (WRK-FILE-NAME) DTSCU827 00290 RESP (WRK-RESP-CD) DTSCU827 00291 END-EXEC. DTSCU827 00292 CL**2 00293 IF WRK-RESP-CD = DFHRESP (DISABLED) OR DFHRESP (NOTOPEN) DTSCU827 00294 OR DFHRESP (SYSIDERR) DTSCU827 00295 PERFORM S1100-NOT-AVAILABLE THRU S1100-EXIT DTSCU827 00296 GO TO P2400-EXIT. DTSCU827 00297 CL**2 00298 IF WRK-RESP-CD = DFHRESP (NORMAL) OR DFHRESP (INVREQ) DTSCU827 00299 NEXT SENTENCE DTSCU827 00300 ELSE DTSCU827 00301 PERFORM S899-ABEND THRU S899-EXIT. DTSCU827 00302 P2400-EXIT. DTSCU827 00303 EXIT. DTSCU827 00304 EJECT DTSCU827 00305 P3100-WRITE. DTSCU827 00306 PERFORM S2200-COMM-TO-IO THRU S2200-EXIT. DTSCU827 00307 CL**4 00308 PERFORM S2300-CALCULATE-LENGTH THRU S2300-EXIT. DTSCU827 00309 CL**2 00310 EXEC CICS DTSCU827 00311 WRITE DTSCU827 00312 DATASET (WRK-FILE-NAME) DTSCU827 00313 FROM (VIO-REC) DTSCU827 00314 LENGTH (WRK-REC-LENGTH) DTSCU827 00315 RIDFLD (VSKL-KEY-AREA OF VIO-REC) DTSCU827 00316 RESP (WRK-RESP-CD) DTSCU827 00317 END-EXEC. DTSCU827 00318 CL**2 00319 IF WRK-RESP-CD = DFHRESP (DISABLED) OR DFHRESP (NOTOPEN) DTSCU827 00320 OR DFHRESP (SYSIDERR) DTSCU827 00321 PERFORM S1100-NOT-AVAILABLE THRU S1100-EXIT DTSCU827 00322 GO TO P3100-EXIT. DTSCU827 00323 CL**2 00324 IF WRK-RESP-CD = DFHRESP (NORMAL) DTSCU827 00325 NEXT SENTENCE DTSCU827 00326 ELSE DTSCU827 00327 PERFORM S899-ABEND THRU S899-EXIT. DTSCU827 00328 P3100-EXIT. DTSCU827 00329 EXIT. DTSCU827 00330 EJECT DTSCU827 00331 P3200-REWRITE. DTSCU827 00332 PERFORM S3100-READ-UPDATE THRU S3100-EXIT. DTSCU827 00333 CL**4 00334 IF L827-NO-REC-88 DTSCU827 00335 PERFORM S899-ABEND THRU S899-EXIT DTSCU827 00336 ELSE DTSCU827 00337 IF L827-FILE-CLOSED-88 DTSCU827 00338 GO TO P3200-EXIT. DTSCU827 00339 CL**2 00340 PERFORM S2200-COMM-TO-IO THRU S2200-EXIT. DTSCU827 00341 CL**4 00342 PERFORM S2300-CALCULATE-LENGTH THRU S2300-EXIT. DTSCU827 00343 CL**2 00344 EXEC CICS DTSCU827 00345 REWRITE DTSCU827 00346 DATASET (WRK-FILE-NAME) DTSCU827 00347 FROM (VIO-REC) DTSCU827 00348 LENGTH (WRK-REC-LENGTH) DTSCU827 00349 RESP (WRK-RESP-CD) DTSCU827 00350 END-EXEC. DTSCU827 00351 CL**2 00352 IF WRK-RESP-CD = DFHRESP (DISABLED) OR DFHRESP (NOTOPEN) DTSCU827 00353 OR DFHRESP (SYSIDERR) DTSCU827 00354 PERFORM S1100-NOT-AVAILABLE THRU S1100-EXIT DTSCU827 00355 GO TO P3200-EXIT. DTSCU827 00356 CL**2 00357 IF WRK-RESP-CD = DFHRESP (NORMAL) DTSCU827 00358 NEXT SENTENCE DTSCU827 00359 ELSE DTSCU827 00360 PERFORM S899-ABEND THRU S899-EXIT. DTSCU827 00361 P3200-EXIT. DTSCU827 00362 EXIT. DTSCU827 00363 EJECT DTSCU827 00364 P3300-DELETE. DTSCU827 00365 PERFORM S3100-READ-UPDATE THRU S3100-EXIT. DTSCU827 00366 CL**4 00367 IF L827-NO-REC-88 DTSCU827 00368 PERFORM S899-ABEND THRU S899-EXIT DTSCU827 00369 ELSE DTSCU827 00370 IF L827-FILE-CLOSED-88 DTSCU827 00371 GO TO P3300-EXIT. DTSCU827 00372 CL**2 00373 EXEC CICS DTSCU827 00374 DELETE DTSCU827 00375 DATASET (WRK-FILE-NAME) DTSCU827 00376 RESP (WRK-RESP-CD) DTSCU827 00377 END-EXEC. DTSCU827 00378 CL**2 00379 IF WRK-RESP-CD = DFHRESP (DISABLED) OR DFHRESP (NOTOPEN) DTSCU827 00380 OR DFHRESP (SYSIDERR) DTSCU827 00381 PERFORM S1100-NOT-AVAILABLE THRU S1100-EXIT DTSCU827 00382 GO TO P3300-EXIT. DTSCU827 00383 CL**2 00384 IF WRK-RESP-CD = DFHRESP (NORMAL) DTSCU827 00385 NEXT SENTENCE DTSCU827 00386 ELSE DTSCU827 00387 PERFORM S899-ABEND THRU S899-EXIT. DTSCU827 00388 P3300-EXIT. DTSCU827 00389 EXIT. DTSCU827 00390 EJECT DTSCU827 00391 S1100-NOT-AVAILABLE. DTSCU827 00392 MOVE WRK-FILE-NAME TO EMSG-FILE-NAME. DTSCU827 00393 CL**4 00394 MOVE EMSG-NOT-AVAILABLE TO L827-MSG-AREA. DTSCU827 00395 CL**4 00396 SET L827-FILE-CLOSED-88 TO TRUE. DTSCU827 00397 S1100-EXIT. DTSCU827 00398 EXIT. DTSCU827 00399 SKIP3 DTSCU827 00400 S1200-NOT-FOUND. DTSCU827 00401 SET L827-NO-REC-88 TO TRUE. DTSCU827 00402 S1200-EXIT. DTSCU827 00403 EXIT. DTSCU827 00404 EJECT DTSCU827 00405 ******************************************************************DTSCU827 00406 * IF ADDITIONAL RECORD TYPES ARE ADDED, SEE DTSCU823 AND CL**2 00407 * DTSCU831 FOR EXAMPLES OF THE FOLLOWING THREE PARAGRAPH SETS. CL**2 00408 ******************************************************************DTSCU827 00409 SKIP3 DTSCU827 00410 S2100-IO-TO-COMM. DTSCU827 00411 IF VSKL-COR-88 OF VIO-REC DTSCU827 00412 MOVE VIO-REC TO VCOR-REC DTSCU827 00413 ELSE DTSCU827 00414 GO TO S899-ABEND. DTSCU827 00415 S2100-EXIT. DTSCU827 00416 EXIT. DTSCU827 00417 SKIP3 DTSCU827 00418 S2200-COMM-TO-IO. DTSCU827 00419 IF VSKL-COR-88 OF VCOMM-REC DTSCU827 00420 MOVE LOW-VALUES TO VCOR-KEY-FILLER DTSCU827 00421 MOVE VCOR-REC TO VIO-REC DTSCU827 00422 ELSE DTSCU827 00423 GO TO S899-ABEND. DTSCU827 00424 S2200-EXIT. DTSCU827 00425 EXIT. DTSCU827 00426 SKIP3 DTSCU827 00427 S2300-CALCULATE-LENGTH. DTSCU827 00428 IF VSKL-COR-88 OF VIO-REC DTSCU827 00429 MOVE VLEN-COR-LENGTH TO WRK-REC-LENGTH DTSCU827 00430 ELSE DTSCU827 00431 GO TO S899-ABEND. DTSCU827 00432 S2300-EXIT. DTSCU827 00433 EXIT. DTSCU827 00434 EJECT DTSCU827 00435 S3100-READ-UPDATE. DTSCU827 00436 MOVE LOW-VALUES TO VIO-REC. DTSCU827 00437 CL**4 00438 MOVE VSKL-KEY-AREA OF VCOMM-REC TO VSKL-KEY-AREA OF VIO-REC. DTSCU827 00439 CL**4 00440 MOVE VLEN-MAX-LENGTH TO WRK-REC-LENGTH. DTSCU827 00441 CL**2 00442 EXEC CICS DTSCU827 00443 READ DTSCU827 00444 DATASET (WRK-FILE-NAME) DTSCU827 00445 INTO (VIO-REC) DTSCU827 00446 LENGTH (WRK-REC-LENGTH) DTSCU827 00447 RIDFLD (VSKL-KEY-AREA OF VIO-REC) DTSCU827 00448 UPDATE DTSCU827 00449 RESP (WRK-RESP-CD) DTSCU827 00450 END-EXEC. DTSCU827 00451 CL**2 00452 IF WRK-RESP-CD = DFHRESP (NOTOPEN) OR DFHRESP (DISABLED) DTSCU827 00453 OR DFHRESP (SYSIDERR) DTSCU827 00454 PERFORM S1100-NOT-AVAILABLE THRU S1100-EXIT DTSCU827 00455 GO TO S3100-EXIT. DTSCU827 00456 CL**2 00457 IF WRK-RESP-CD = DFHRESP (NOTFND) DTSCU827 00458 PERFORM S1200-NOT-FOUND THRU S1200-EXIT DTSCU827 00459 GO TO S3100-EXIT. DTSCU827 00460 CL**2 00461 IF WRK-RESP-CD = DFHRESP (NORMAL) DTSCU827 00462 NEXT SENTENCE DTSCU827 00463 ELSE DTSCU827 00464 PERFORM S899-ABEND THRU S899-EXIT. DTSCU827 00465 S3100-EXIT. DTSCU827 00466 EXIT. DTSCU827 00467 EJECT DTSCU827 00468 S899-ABEND. DTSCU827 00469 CL**2 00470 EXEC CICS DTSCU827 00471 ABEND DTSCU827 00472 ABCODE (WRK-ABEND-CD) DTSCU827 00473 END-EXEC. DTSCU827 00474 CL**2 00475 S899-EXIT. DTSCU827 00476 EXIT. DTSCU827