Subject: RE: Open Empty VSAM File
From: Huegel, Thomas (THuegel@Kable.com)
Date: Wed Oct 01 2008 - 15:36:09 EDT
Billy, I'm not sure if the list allows attachments so I sent it to your email also. Good luck with it. Tom -----Original Message----- From: owner-vse-l@Lehigh.EDU [mailto:owner-vse-l@Lehigh.EDU]On Behalf Of Billy R. Bingham Sent: Wednesday, October 01, 2008 12:32 PM To: VSE Discussion List Subject: RE: Open Empty VSAM File Thomas, I would like to have a copy of that program. Thanks, Billy ---- "Huegel wrote: > I actually found a version of my little program, this one executes standalone in batch. > Probably no big deal to make it callable from a phase. > It is over 20 yrs. old and may need some updating to reflect the current version of VSAM and VSE. > This is what the job stream might look like. > > > // DLBL TESTACB,'CICS.RSD',,VSAM,CAT=PRDCAT1 > // EXEC ACMTSTCB,SIZE=AUTO,PARM='DATA NCIS 50' > // IF $RC = 2 THEN > // GOTO NOFMTRSD > * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * > * RETURN CODES * > * CATALOG EQUAL (=) PARAMETER RC = 01 * > * CATALOG LESS THAN (<) PARAMETER RC = 02 * > * CATALOG GREATER THAN (>) PARAMETER RC = 03 * > * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * > > If you want to mess with it I can give you the source... NO GUARANTIES !!! > > > > -----Original Message----- > From: owner-vse-l@Lehigh.EDU [mailto:owner-vse-l@Lehigh.EDU]On Behalf Of > Kevin Corkery > Sent: Wednesday, October 01, 2008 11:16 AM > To: VSE Discussion List > Subject: RE: Open Empty VSAM File > > > In the job output below I show the differences in return codes for opening a > VSAM file in FCOBOL versus COBOL for VSE. In the first case the file is > defined as a VSAM ESDS but remains empty. The FCOBOL returns a successful > open and an "end of file" on the first read and a successful close. The > VSE/COBOL returns the "35" status and of course, an appropriate bad status > for the read and the close indicating that the file is not open. I then > place a record into the file and repeat the test getting the normal "00" > status is all cases since the file looks just fine at this point. I seem to > recall this issue when we changed some of our FCOBOL programs to VSE/COBOL > since the original code expected the immediate "end-of-file" condition not > the alternative series of return codes. By the way, the return codes are > the same if there is no data in the file, regardless of the file being > previously open for output. I usually test for data in a file using IDCAMS > PRINT to attempt to print a single record and then checking the return code > for zero which indicates data exists I can then make a decision about > skipping job steps, etc. > > > > // JOB COBTESTX < TEST DIFFERENCES > DATE 10/01/2008, CLOCK 11/50/40 > // EXEC PROC=JUNKCAT > // DLBL IJSYSUC,'VSESP.JUNK.CATALOG',,VSAM,CAT=IJSYSCT,BUFSP=65536 > JUNK0001 > EOP JUNKCAT > // EXEC IDCAMS > 1S54I PHASE IDCAMS IS TO BE FETCHED FROM IJSYSRS.SYSLIB > IDCAMS SYSTEM SERVICES TIME: 11:50:40 10/01/2008 > PAGE 1 > > DELETE CORK.IDCAMS.CARDFILE CLUSTER PURGE > IDC0550I ENTRY (C) CORK.IDCAMS.CARDFILE DELETED > IDC0550I ENTRY (D) CORK.IDCAMS.CARDFILE.DATA DELETED > IDC0001I FUNCTION COMPLETED, HIGHEST CONDITION CODE WAS 0 > > SET MAXCC = 0 > > DEFINE CLUSTER(NAME(CORK.IDCAMS.CARDFILE) - > MODEL(DEFAULT.MODEL.ESDS) - > REC(100 100) RECSZ(080 080) - > REUSE DEFAULTVOLUMES) - > DATA(NAME(CORK.IDCAMS.CARDFILE.DATA)) > IDC0001I FUNCTION COMPLETED, HIGHEST CONDITION CODE WAS 0 > > IF LASTCC > 0 THEN CANCEL JOB > IDC0204I PRECEDING COMMAND BYPASSED DUE TO CONDITION CODES > > IDC0002I IDCAMS PROCESSING COMPLETE. MAXIMUM CONDITION CODE WAS 0 > > 1S55I LAST RETURN CODE WAS 0000 > // EXEC PROC=JUNKCAT > // DLBL IJSYSUC,'VSESP.JUNK.CATALOG',,VSAM,CAT=IJSYSCT,BUFSP=65536 > JUNK0001 > EOP JUNKCAT > // DLBL INPUT,'CORK.IDCAMS.CARDFILE',,VSAM,DISP=OLD > > // EXEC COBTESTF > 1S54I PHASE COBTESTF IS TO BE FETCHED FROM MKC.TEST > COBTEST FCOBOL > OPEN STATUS IS 00 > READ STATUS IS 10 > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > ++++ > CLOSE STATUS IS 00 > > // EXEC COBTESTV > 1S54I PHASE COBTESTV IS TO BE FETCHED FROM MKC.TEST > COBTEST VSE/COBOL > OPEN STATUS IS 35 > READ STATUS IS 47 > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > ++++ > CLOSE STATUS IS 42 > > 1S55I LAST RETURN CODE WAS 0000 > // EXEC PROC=JUNKCAT > // DLBL IJSYSUC,'VSESP.JUNK.CATALOG',,VSAM,CAT=IJSYSCT,BUFSP=65536 > JUNK0001 > EOP JUNKCAT > // DLBL OUTPUT,'CORK.IDCAMS.CARDFILE',,VSAM,DISP=NEW > > // EXEC IDCAMS > 1S54I PHASE IDCAMS IS TO BE FETCHED FROM IJSYSRS.SYSLIB > IDCAMS SYSTEM SERVICES TIME: 11:50:41 10/01/2008 > PAGE 1 > > REPRO IFILE(SYSIPT) OFILE(OUTPUT) > IDC0005I NUMBER OF RECORDS PROCESSED WAS 1 > IDC0001I FUNCTION COMPLETED, HIGHEST CONDITION CODE WAS 0 > > IDC0002I IDCAMS PROCESSING COMPLETE. MAXIMUM CONDITION CODE WAS 0 > > 1S55I LAST RETURN CODE WAS 0000 > // EXEC PROC=JUNKCAT > // DLBL IJSYSUC,'VSESP.JUNK.CATALOG',,VSAM,CAT=IJSYSCT,BUFSP=65536 > JUNK0001 > EOP JUNKCAT > // DLBL INPUT,'CORK.IDCAMS.CARDFILE',,VSAM,DISP=OLD > > // EXEC COBTESTF > 1S54I PHASE COBTESTF IS TO BE FETCHED FROM MKC.TEST > COBTEST FCOBOL > OPEN STATUS IS 00 > READ STATUS IS 00 > THIS IS A DUMMY RECORD IN THE ACTUAL VSAM FILE. > CLOSE STATUS IS 00 > > // EXEC COBTESTV > 1S54I PHASE COBTESTV IS TO BE FETCHED FROM MKC.TEST > COBTEST VSE/COBOL > OPEN STATUS IS 00 > READ STATUS IS 00 > THIS IS A DUMMY RECORD IN THE ACTUAL VSAM FILE. > CLOSE STATUS IS 00 > > 1S55I LAST RETURN CODE WAS 0000 > > EOJ COBTESTX MAX.RETURN CODE=0000 DATE > 10/01/2008, CLOCK 11/50/41, DURATION 00/00/01 > >
This archive was generated by hypermail 2b25 : Mon Oct 13 2008 - 08:50:07 EDT