Portal | Manuals | References | Downloads | Info | Programs | JCLs | Mainframe wiki | Quick Ref
IBM Mainframe Forum Index
 
Register
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Profile Log in to check your private messages Log in
 
Blksize question

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> JCL & VSAM
View previous topic :: :: View next topic  
Author Message
darioits

New User


Joined: 10 Sep 2019
Posts: 2
Location: Italy

PostPosted: Tue Sep 10, 2019 8:32 pm    Post subject: Blksize question
Reply with quote

I work from 30 year on mainframe as OPC/JCL/REXX/CLIST scheduling and my problem is recently a lot of file aren't with correctly allocated with proper blksize (blksize are equal to lrecl), but jcl are correctly with blksize=0 and aren't changed (file are FB sequential)

In IBM manual I find this sentence

“Block size (BLKSIZE) specifies the maximum length, in bytes, of a physical block of storage in MVS. If BLKSIZE(0) is specified, the system will determine the optimal block size based on the maximum record length (LRECL) and the physical characteristics of the disk, or approximately half of a physical track. Half track blocking is optimal in that it reduces the amount of wasted storage on the disk” also If BLKSIZE(0) is specified for Direct Access (DA) data sets, the system does not determine the block size

My question is, how can I check if something is changed on mainfame, it's seems central support does not know the topic very well?

Thank you in advance
Back to top
View user's profile Send private message

Rohit Umarjikar

Senior Member


Joined: 21 Sep 2010
Posts: 2244
Location: NY,USA

PostPosted: Tue Sep 10, 2019 8:38 pm    Post subject:
Reply with quote

Advantage of specify BLKSIZE=0 when allocate new dataset
System-Determined Block Size
Back to top
View user's profile Send private message
steve-myers

Active Member


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

PostPosted: Tue Sep 10, 2019 8:53 pm    Post subject:
Reply with quote

BLKSIZE=0 basically allows the system to select what it regards as an "optimal" BLKSIZE. "Optimal" is debatable. "Optimal" appears to be biased in terms of capacity; on 3380 and 3390 (or emulated 3380 or 3390) devices it amounts to two records per track. On 3350 and earlier disk devices it amounts to one record per track. This is governed by the maximum allowable BLKSIZE is 32760.

On 3390 the maximum possible BLKSIZE for two records per track is 27998 bytes (or 55996 bytes per track). Anything larger gets one record per track, so 27999 would get one record per track, so 27997 bytes of possible capacity would not be used.
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


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

PostPosted: Tue Sep 10, 2019 9:12 pm    Post subject: Reply to: Blksize question
Reply with quote

Quote:
my problem is recently a lot of file aren't with correctly allocated with proper blksize (blksize are equal to lrecl), but jcl are correctly with blksize=0 and aren't changed (file are FB sequential)
This is quite possible -- the PRIMARY source for DCB information (including the block size) is the program. If the program is coded with LRECL and BLKSIZE being the same, then the JCL BLKSIZE=0 value will be ignored. And the system won't arbitrarily change block size on an existing data set.
Back to top
View user's profile Send private message
darioits

New User


Joined: 10 Sep 2019
Posts: 2
Location: Italy

PostPosted: Tue Sep 10, 2019 9:32 pm    Post subject:
Reply with quote

indeed many of these programs are new (migrating from sas to cobol), in which cobol section could programmer check if this clause exists
Back to top
View user's profile Send private message
steve-myers

Active Member


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

PostPosted: Tue Sep 10, 2019 11:09 pm    Post subject: Re: Reply to: Blksize question
Reply with quote

Quote:
my problem is recently a lot of file aren't with correctly allocated with proper blksize (blksize are equal to lrecl), ...
With RECFM = FB, LRECL = BLKSIZE is not necessarily either "correct" or "optimal." Consider the very common LRECL=80. It's plain stupid for BLKSIZE=80! You will get roughly 50 records per track, about 4000 used bytes of a net capacity of more than 50,000 bytes. With RECFM=FB, BLKSIZE must be a multiple of LRECL. For RECFM=FB, LRECL=80, System Determined BLKSIZE will be 27920.
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


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

PostPosted: Wed Sep 11, 2019 12:04 am    Post subject:
Reply with quote

Quote:
in which cobol section could programmer check if this clause exists
Look in the FILE SECTION at the definition for the file. BLOCK CONTAINS is the specific clause to check in the FILE SECTION.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> JCL & VSAM All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts INREC IFTHEN question knobi SYNCSORT 2 Mon Apr 15, 2019 11:55 pm
No new posts Attachmate file transfer question John Poulakos All Other Mainframe Topics 3 Wed Mar 20, 2019 1:45 am
No new posts COBOL Table Question GAPX1 COBOL Programming 3 Thu Mar 07, 2019 9:48 pm
No new posts CICS program with Delay question MSTP CICS 5 Tue Dec 11, 2018 11:18 pm
No new posts Silly question maybe - REPLACE member... Cloink TSO/ISPF 15 Thu Oct 25, 2018 6:38 pm

Facebook
Back to Top
 
Job Vacancies | Forum Rules | Bookmarks | Subscriptions | FAQ | Polls | Contact Us