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

Allocate dataset withour BLKSIZE

IBM Mainframe Forums -> CLIST & REXX
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message

Active User

Joined: 17 Nov 2009
Posts: 126
Location: India

PostPosted: Thu Sep 22, 2016 11:51 am
Reply with quote


I need to allocate a file within rexx code,
Need to if i can ommit the block size filed,
what are the impacts of not providing blksize.

"ALLOC F(OUTDD) DA('"DSN1"') ",                           
"SPACE(10 5) TRACKS UNIT(SYSDA) "                       

Back to top
View user's profile Send private message
Abid Hasan

New User

Joined: 25 Mar 2013
Posts: 88
Location: India

PostPosted: Thu Sep 22, 2016 12:33 pm
Reply with quote


But you do not have 'BLKSZ' specified in the snippet shown.
Nevertheless, REXX or otherwise - block size is for a dataset and it tells the system how/how-much data is to be arranged in storage blocks, so the same rules that apply to your normal JCL (where you'd specify a NEW/CATLG, and other definitions parameters, including/excluding BLKSIZE) apply here as well. If you specify a block-size for a DS, then you force the system to comply to certain 'storage rules', if not calculated correctly for a DS having large number of records (read > a mill. records), and say the DS is processed sequentially in batch, you might end up impacting the EXCPs used, CPU used, might end up increasing the clock-time as well; and vice-versa. General recommendation states, skip coding block-size and let system decide it for you - until and unless you're very sure of the number you want to punch in.

PS: Should you choose to calculate the number, do bear in mind the LRECL/Space allocation/expected-number-of-records for the DS as well; you can read more about block-size in the JCL Reference and DFSMS manuals; more information in 'Using Data Sets' manual.
Back to top
View user's profile Send private message

Active Member

Joined: 30 Nov 2013
Posts: 883
Location: The Universe

PostPosted: Thu Sep 22, 2016 4:12 pm
Reply with quote

When you allocate a data set as you did here specifying DSORG(PS), using space unit as CYLINDER or TRACK and specifying the RECFM and LRECL, allocation will compute the appropriate system determined BLKSIZE and apply it to the data set.

I have two other observations.
  • Why are you asking here? You can find out yourself by just executing a LISTD command. For example -
    alloc da(test1) sp(1) tra dsorg(ps) recfm(f b) lrecl(80)
    listd test1
       FB    80    27920   PS
    There are other ways, of course, but this uses the TSO command line,
  • When you allocate a data set using the ALLOCATE command, the data set will remain allocated to your session until you free it using the FREE DATASET(xxx) command or you logoff
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 -> CLIST & REXX


Similar Topics
Topic Forum Replies
No new posts how to list the number of backup data... JCL & VSAM 3
This topic is locked: you cannot edit posts or make replies. ICETool reporting 2 das old dataset DFSORT/ICETOOL 13
No new posts Printing a dataset in DUMP format wit... ABENDS & Debugging 2
No new posts Capture GDG Dataset Name JCL & VSAM 10
No new posts Fetch the Dataset names from inside m... TSO/ISPF 18
Search our Forums:

Back to Top