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

SPACE parameter in a JCL


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

New User


Joined: 07 Jun 2007
Posts: 40
Location: India

PostPosted: Wed Apr 29, 2009 2:12 pm
Reply with quote

Hi all,

i have a requirement where i merge 28 files and create 1 single output file. The number of records in the files are about 5 million. When i give the space parameter as SPACE = (TRK,(2500,500),RLSE) the JCL runs fine. If the number of records is increased to 6 million it gives abend.

My question is
1.what is the maximum value of track that can be given space parameter?
2.creating a JCL with track's having the maximum value is good programing standard or not.

Thanks,
M.Loganathan
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8796
Location: Welsh Wales

PostPosted: Wed Apr 29, 2009 3:02 pm
Reply with quote

1) A dataset may not exceed 65,536 tracks
2) Definitely not - if every dataset initially requests the maximum allowable you will experience a whole boatload of JCL and/or space errors.
Back to top
View user's profile Send private message
loga_nathan_m

New User


Joined: 07 Jun 2007
Posts: 40
Location: India

PostPosted: Wed Apr 29, 2009 4:26 pm
Reply with quote

Hi expat,

my input contains around 1 to 10 million records. it keeps varying. coding the space parameter as SPACE = (CYL,(2500,500),RLSE) would be find right, as this space is working fine for 10 million records.

Let me know your views.
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


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

PostPosted: Wed Apr 29, 2009 5:32 pm
Reply with quote

expat: under z/OS 1.10, large format and extended format sequential files can exceed 65,535 tracks per volume. And I'm sure you meant 65,535 tracks per volume -- sequential datasets can be on as many as 59 volumes and use up to 65,535 tracks per volume.

Loga: 1 million, 10 million records -- the key piece of data you're not sharing with us is how long are the records? 10 million 20 byte records takes up a whole lot less space than 10 million 2000 byte records. 10 million 20 byte records could go into a 300-cylinder data set while 10 million 2000 byte records will require multiple volumes to hold it.
Back to top
View user's profile Send private message
loga_nathan_m

New User


Joined: 07 Jun 2007
Posts: 40
Location: India

PostPosted: Wed Apr 29, 2009 6:30 pm
Reply with quote

28 files are merged to get a 10 million record 5000 byte file which is again stripped to 10 millon record 140 byte file.
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


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

PostPosted: Wed Apr 29, 2009 6:41 pm
Reply with quote

10 million 140 byte records requires 1676 cylinders using half track blocking. Using 2500 cylinders is overkill unless you specify RLSE on the allocation.
Back to top
View user's profile Send private message
loga_nathan_m

New User


Joined: 07 Jun 2007
Posts: 40
Location: India

PostPosted: Wed Apr 29, 2009 7:09 pm
Reply with quote

Quote:
using half track blocking


i dont understand the above term.
Back to top
View user's profile Send private message
Bill Dennis

Active Member


Joined: 17 Aug 2007
Posts: 562
Location: Iowa, USA

PostPosted: Wed Apr 29, 2009 7:20 pm
Reply with quote

Half-track blocking: To use DASD most efficiently, a BLKSIZE that fills 1/2 track is best. Using BLKSIZE=0 in your JCL lets the system choose a half-track block size based on the output device.
Back to top
View user's profile Send private message
superk

Global Moderator


Joined: 26 Apr 2004
Posts: 4652
Location: Raleigh, NC, USA

PostPosted: Wed Apr 29, 2009 7:25 pm
Reply with quote

Once again, I have to ask - isn't all of this discussion moot with SMS managing the storage needs?
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


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

PostPosted: Wed Apr 29, 2009 7:25 pm
Reply with quote

I seriously question whether or not you know enough to ask the type of question you originally posted if you don't understand half track blocking.

Basic geometry:
a 3390 DASD device has 56,664 bytes per track, 15 tracks per cylinder, and some number of cylinders per volume (3339 and 10017 are both common).
a 3390 DASD device is CKD which means there is some overhead, leaving less than 56,664 bytes available
a sequential dataset cannot exceed 32,760 bytes per block, so you cannot allocate a full track in one block
the most optimal blocking factor (at least for sequential files) therefore is to allocate one-half of a track per block; 27998 bytes per block allows 2 blocks per track and minimizes wasted space. Hence, half-track blocking

Smaller block sizes are often beneficial with online systems since you may only need a few bytes (one record) but must read the entire block to get those bytes.
Back to top
View user's profile Send private message
rahulbank

New User


Joined: 25 Sep 2008
Posts: 66
Location: Bengaluruuuuuu

PostPosted: Thu Apr 30, 2009 1:23 am
Reply with quote

Sorry to interfere .

Robert this is great information which you have shared and thanks for that. I was not aware of half track blocking too. Of course I understand you learnt it but is there some red book or something which speaks more of such things. If yes please share.
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


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

PostPosted: Thu Apr 30, 2009 4:28 am
Reply with quote

I'm not even sure where or when I learned about it ... probably 20 years ago or more -- the 3390 was announced in 1991 and we were using the same principles for 3380 devices before that. IF you're running SMS, AND the dataset is being created under SMS control, AND you specify BLKSIZE=0 you will get half-track blocking automatically.

If you Google GX26-4577 you can find the 3390 reference summary which gives a lot of detail about block sizes and relative efficiency.
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 Get RECORD LENGTH, allocated space of... CLIST & REXX 7
No new posts Replace each space in cobol string wi... COBOL Programming 3
No new posts Using the Jobname parameter in a Qual... ABENDS & Debugging 1
No new posts Demand with DEADLINE TIME parameter CA Products 4
No new posts Option DYNALLOC second parameter. DFSORT/ICETOOL 11
Search our Forums:

Back to Top