Page 1 of 1

Expand the VSAM cluster length

PostPosted: Fri Jun 27, 2014 7:22 pm
by gauthamnagpur18
Hi,

I got requirement to expand the VSAM cluster length from 10k to 30k.

While changing the VSAM cluster length, whether we need to change Bufferspace parameter also.

When i googled, I got suggestion to remove the bufferspace parameter .

Could you please advise.

Thanks,
Gautham

Re: Expand the VSAM cluster length

PostPosted: Fri Jun 27, 2014 8:14 pm
by Robert Sample
If you have BUFFERSPACE specified in your cluster definition, remove it. Your site is VASTLY better off controlling buffers via other means (AMP or BLSR in batch, LSR pools in CICS for example).

Re: Expand the VSAM cluster length

PostPosted: Sat Jun 28, 2014 2:19 am
by gauthamnagpur18
Thanks Robert .

But I am curious to know, whether any parameter other than Bufferspace which is need to be changed if we change the record length of VSAM cluster.

Thanks,
Gautham :roll:

Re: Expand the VSAM cluster length

PostPosted: Sat Jun 28, 2014 7:31 am
by Robert Sample
The answer to that question is ... it depends. If the data set is used in CICS, there may be changes necessary to the file definition (for example, changing the LSR pool number) or even to CICS (if there are a lot of strings defined for the data set, CICS may need more memory). Programs using the data set will need to be recompiled with the new record length. Backup programs may be impacted, depending upon what is used for backups and the specifics of the VSAM data set. If the record length is longer than the data CI size, you'll need to use SPANNED records (or change the data CI size). Space allocation may need to be changed. Index CI size may need to be changed. If you have 10 million records and they are fixed length, your space management group might need to allocate more volumes to the storage pools associated with the data set.

The bottom line is that only someone working at your site can identify which changes are required and how to implement these changes.

Re: Expand the VSAM cluster length

PostPosted: Sat Jun 28, 2014 2:06 pm
by gauthamnagpur18
Hi Robert,

Thank you so much.

Thanks,
Gautham

Re: Expand the VSAM cluster length

PostPosted: Fri Jul 18, 2014 7:49 pm
by gauthamnagpur18
Hi Robert,

We expanded the file length 10k to 30k.

Also we expanded the copybook to 30K .

EXEC CICS READ
DATASET(ABCFILE)
INTO(AB-REC)
RIDFLD(AB-KEY)
KEYLENGTH(AB-KEY-LENGTH) --> AB-KEY-LENGTH is S9(04) COMP.
LENGTH(AB-LENGTH) --> AB-LENGTH is S9(05) COMP.

END-EXEC.

Before CICS read , we moved 30k to AB-LENGTH.

ABC file is a variable file.

while reading the ABCFILE, we are getting EIBRESP as 22 which is length error and EIBRESP2 as 11 .

After CICS read, the value of AB-LENGTH is populated with junk like +1044670220.

Could you please help/give suggestions. :roll:

Re: Expand the VSAM cluster length

PostPosted: Fri Jul 18, 2014 8:38 pm
by Robert Sample
The CICS Application Programming Reference manual is quite clear about RESP2 11 on a RESP 22 for a READ:
11 The length of a record read with the INTO option specified exceeds the value specified in the LENGTH option; the record is truncated, and the data area supplied in the LENGTH option is set to the actual length of the record.
You attempted to read a record longer than the maximum value in the LENGTH option. There are many possible reasons for this, including (but by no means limited to):
1. Program compile failed
2. Program compile worked but load library is not in CICS region DFHRPL
3. Program compiled and went to a load library in the CICS region DFHRPL, but the NEWCOPY failed
4. Program memory was corrupted by a table overflow
5. VSAM data set has records longer than you allowed for
.
.
.

At this point, since the data and the program reside at your site, you need to do some debugging. First, assume the computer is not lying to you -- which means that WHATEVER you had in the LENGTH variable before the READ, it was not long enough. I would start debugging by confirming the program compiled with a zero return code, the correct load library was specified, and that the NEWCOPY worked -- unless you do these preliminary steps, you have no guarantee you are debugging the right code (and a surprisingly large number of issues are resolved by doing these steps and finding something went wrong). Once you've done that, use the debugging tools at your site (or CEDF if nothing else) to look at the READ command being executed and the parameter values as they exist when the READ statement is executed. If you still cannot find the issue, we'll need to see actual data such as CEDF screen shots to proceed.

Re: Expand the VSAM cluster length

PostPosted: Wed Jul 23, 2014 12:10 am
by gauthamnagpur18
Hi Robert,

Thanks for your help.

I found out the root issue .

Length cant be s9(05) .

S9(04) can handle data from 32,768 to +32767.

Its working fine.

Thanks once again. :D

Thanks,
Gautham