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.
