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
Susanta

Active User


Joined: 17 Nov 2009
Posts: 126
Location: India

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

Hi

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.

Code:
"ALLOC F(OUTDD) DA('"DSN1"') ",                           
"NEW CATALOG LRECL(80)  RECFM(F B) DSORG(PS)",
"SPACE(10 5) TRACKS UNIT(SYSDA) "                       



Thanks
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

Hello,

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
steve-myers

Active Member


Joined: 30 Nov 2013
Posts: 917
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 -
    Code:
    alloc da(test1) sp(1) tra dsorg(ps) recfm(f b) lrecl(80)
     READY                                               
    listd test1
     XXXXXX.TEST1
     --RECFM-LRECL-BLKSIZE-DSORG
       FB    80    27920   PS
     --VOLUMES--
       VVVVVV
     READY
    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 FINDREP - Only first record from give... DFSORT/ICETOOL 3
No new posts Map Vols and Problem Dataset All Other Mainframe Topics 2
No new posts Allocated cylinders of a dataset DB2 12
No new posts Sort First/last record of a subset th... DFSORT/ICETOOL 7
No new posts Reading dataset in Python - New Line ... All Other Mainframe Topics 22
Search our Forums:

Back to Top