Why should BLKSIZE be in multiples of LRECL or less than it?

Questions by kkkanagaraj   answers by kkkanagaraj

Showing Answers 1 - 9 of 9 Answers

ravi30

  • Dec 21st, 2007
 

blksize is nothing but the size of the file that would be compiled at once. The program you submit would be taken as blocks each of size what you specify? And the lrecl is the length of the record in your pgm! In order to take a record as a whole, blksize is generally multiples of lrecl. 

  Was this answer useful?  Yes

Hi,

I agree with the above answer.

generally, for the purpose of compilation, compiler will accept the data in blocks.

for example...

if you specified LRECL=200, BLKSIZE=1000.

when compiler takes one block of data....means it has 5 records completely...thenit is easy to process for the compiler.

i think, it is clear to you.

please revert me incase of any issues.

Regards
Sai krishna Yadav. Jinka
jinka.saikrishna@gmail.com

  Was this answer useful?  Yes

I'm afraid I don't understand the above answers and am pretty sure I wouldn't agree with them if I did.

Assuming a VB record, you will not code a blksize as the LRECL is merely the longest record.  Coding a BLKSIZE would do nothing but slow down your program. 
Instead, you let the system decide on the blocking.  This takes into account the DASD geometry and many types of buffers.
Do not code a BLKSIZE for a VB dsn.

Assuming a FB record, you could code a BLKSIZE that's a multiple of the LRECL.  However doing this without knowing the exact type of DASD and the exact track geometry would do nothing but slow down your program. 
Instead, you let the system decide on the blocking.  This takes into account the DASD geometry and many types of buffers.
Do not code a BLKSIZE for a FB dsn.

In short, do not code a BLKSIZE. Period.

  Was this answer useful?  Yes

Give your answer:

If you think the above answer is not correct, Please select a reason and add your answer below.

 

Related Answered Questions

 

Related Open Questions