It is possible to do skip sequential reading of physical records. Itt is not 
possible to skip logical records.

There are two cases where it is possible; RECFM=FBS and you know the physical 
record number; you know the TTR of  the physical record.

It's actually possible to do it in QSAM but this margin is too small to hold 
the proof. Don't do it at home.

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי



________________________________________
From: IBM Mainframe Assembler List <[email protected]> on behalf 
of David S. <[email protected]>
Sent: Saturday, November 11, 2023 8:59 AM
To: [email protected]
Subject: Is True Skip-Sequential Processing Possible with RECFM=FB,DSORG=PS?

To help resolve a question posted to a LinkedIn group I manage:
http://www.linkedin.com/feed/update/urn:li:groupPost:910927-7128598004344786944
... I'd like to find out if there's any way to achieve *true*
Skip-Sequential processing with a Fixed Block Sequential File with a fairly
short record length (i.e. DCB=(DSORG=PS,RECFM=FB,LRECL=80)?
For example: Begin sequential processing at record number 100, *without*
having to read the first 99 records.
Note: We already know certain VSAM formats can do this, but the file in
question is a DSORG=PS *Sequential* file, *not* VSAM. This is a rock-solid
requirement and cannot be changed. We also already know how certain
utilities such as SORT and REXX can *mimic* skip-sequential functionality
by *discarding* unwanted records until the specified record number is
reached. This is a likewise rock-solid requirement. Sequential processing
*must* begin at specified starting point and there can be *no* reading of
any records prior to that point.
My gut feeling is it *cannot* be done - at least not with RECFM=FB.  It
*might* be possible with RECFM=F, but efficiency would then be so
compromised it would  probably outweigh any advantage from *true*
skip-sequential processing.

Reply via email to