On Sun, 12 Nov 2023 17:14:49 -0700, Paul Gilmartin <paulgboul...@aim.com> wrote:

>RECFM=FBS prevents that.

That is certainly a partial solution but the correct solution is VSAM RRDS or 
ESDS which eliminates the special handling.

>That's mostly how the Divide instruction works.

Division is not the hard part. Implementation is what's being discussed which 
involves division..

>... Fill the block with additional records and rewrite in place.

What ever floats your boat. If the OP wants to fully implement that logic, it's 
available.

>Why, in this 21st Century hasn't that function been added to the
>access methods!?  UNIX does it, as you say below.

What makes you falsely claim that function doesn't exist. There is no 
difference between z/OS and Unix files in this respect. Your programs must deal 
with those extra records by ignoring them. Both must retain a pointer to the 
first available instead of using EOF. 

>I think that can be done by the Multiply instruction, provided
>by most modern computer hardware.  

Wow, the computers you use can't multiply? I stated "times" which is another 
word for multiply.

> But fixed-length records are
>alien to UNIX -- I think they're a relic of UR-device practice.

RECFM=FB & VB are not relics. It's a vital concept used by databases. A max 
length is required by VARCHAR for a reason. They know it's more efficient to 
add a number instead of scanning for X'00'. Databases encourage you to supply 
max length for everything and truly unknown lengths are avoided.  Just because 
a basic concept is not understood by Unix programmers doesn't mean it doesn't 
have great value.

Reply via email to