IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Minimum Length of CI field


IBM Mainframe Forums -> JCL & VSAM
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
THINKSRINIII
Warnings : 1

New User


Joined: 09 Jan 2009
Posts: 88
Location: India

PostPosted: Mon Mar 23, 2009 3:40 pm
Reply with quote

Hi..

Could someone help me in getting the minimum length of CI for a...

1. Fixed length record
2. Variable length Record
3. One record per CI...

I presume for 1 & 2... 10 is the Min size.. Not sure about the 3..

Cheers
Back to top
View user's profile Send private message
ofer71

Global Moderator


Joined: 27 Dec 2005
Posts: 2358
Location: Israel

PostPosted: Mon Mar 23, 2009 4:25 pm
Reply with quote

How about consulting the fine manual?

O.
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Mon Mar 23, 2009 4:46 pm
Reply with quote

You presume wrong about 1 & 2 ... 10 is not the minimum size. Check the manual for details, or look up the Redbook VSAM Demystified and spend a while in it. And why would #3 be different from #1 or #2?
Back to top
View user's profile Send private message
THINKSRINIII
Warnings : 1

New User


Joined: 09 Jan 2009
Posts: 88
Location: India

PostPosted: Mon Mar 23, 2009 5:05 pm
Reply with quote

Hi Rob..

I had a look into the manual suggested by ofer and i had referred the Red book already.

For the First case of Fixed length records..
Lets say 2 records of Fixed length 160 Bytes are there..
So, In CI there will be a CIDF(4 Bytes) and 2 RDF(6 Bytes).

For the second Case:
Lets say 2 records of Variable length 160,100 Bytes are there..
So, In CI there will be a CIDF(4 Bytes) and 2 RDF(6 Bytes)again.

For third Case:
It contains only one record.. So one CIDF(4 Bytes) and a RDF(3 Bytes)

Please let me know if i go wrong somewhere...

Cheers
Back to top
View user's profile Send private message
Garry Carroll

Senior Member


Joined: 08 May 2006
Posts: 1193
Location: Dublin, Ireland

PostPosted: Mon Mar 23, 2009 5:24 pm
Reply with quote

A CI contains the CIDFs, RDFs and the DATA.

For 2 160byte fixed length records you get 1 x CIDF (4bytes) + 2 x RDF ( 2 x 3bytes). + 160 bytes + 160bytes.

For 3 160byte fixed length records you get 1 x CIDF (4bytes) + 2 x RDF ( 2 x 3bytes). + 160 bytes + 160bytes + 160bytes.

For VB records you get 1 x CIDF + ((1 x RDF + record length) * #records)

Where 1 record per CI, you have 1 x CIDF + 1 x RDF + record length.

The minimum is determined by the record type AND record length.

Garry.
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Mon Mar 23, 2009 5:35 pm
Reply with quote

If you read the manual, you hopefully noted that VSAM controlintervals can only be allocated in units of 512 bytes from 512 to 8192, and 2048 bytes from 8192 to 32768. So the absolute minimum size you may allocate is 512 bytes. If you are allocating a KSDS file, the index CISIZE depends on the data CISIZE and the key length.
Back to top
View user's profile Send private message
THINKSRINIII
Warnings : 1

New User


Joined: 09 Jan 2009
Posts: 88
Location: India

PostPosted: Mon Mar 23, 2009 5:43 pm
Reply with quote

Hi Rob and Garry,

Thanks for your reply.. I am worried here about the Minimum bytes occupied by CIDF and RDF specifically which go as overhead every time for a fixed length records(More than one record per CI).., Variable length record(More than one record per CI)... and finally only one record is there in a CI..

The real need here is to think of what at most can be the Minimum Value?

Thanks.
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Mon Mar 23, 2009 6:03 pm
Reply with quote

I'm not sure why you're worried ... 10 bytes for fixed length records is at most 2% overhead; if you use 18432 CI SIZE then you're talking less than 0.1% overhead for fixed length records. And, perhaps more to the point, there's nothing you can do about it -- the bytes are going to be used, period. I've seen WAY more space wasted by bad freespace values, and bad index CI SIZE values, then the overhead that you cannot control.
Back to top
View user's profile Send private message
Garry Carroll

Senior Member


Joined: 08 May 2006
Posts: 1193
Location: Dublin, Ireland

PostPosted: Mon Mar 23, 2009 6:09 pm
Reply with quote

For fixed-length records there will be 1 x CIDF , 1 x RDF describing the fixed lengtyh and 1 x RDF specifying how many records. An absolute minimum byte usage would be 10+record length and would reflect a single record. This is where there is only one fixed-length record in the CI.

For variable-length records, there will be 1 x CIDF plus 1 x RDF for each record in the CI, giving a minimum for a single 160byte record of 7+record length. This applies also where there is only one variable-length record in the CI.

There will almost certainly be more RDFs used for variable-length records.

Garry.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> JCL & VSAM

 


Similar Topics
Topic Forum Replies
No new posts How to split large record length file... DFSORT/ICETOOL 10
No new posts PARSE Syntax for not fix length word ... JCL & VSAM 7
No new posts Replace Multiple Field values to Othe... DFSORT/ICETOOL 12
No new posts VB to VB copy - Full length reached SYNCSORT 8
No new posts Join 2 files according to one key field. JCL & VSAM 3
Search our Forums:

Back to Top