With DFSORT/SYNCSORT in mind, possibly a two-step process where the first step 
interrogates an input data stream (no output generated, mostly for 
optimization) to detect a relative-record# where the limit-key-value 
(COND-argument) is then passed to a second step (necessary control statement 
generated, likely) that then reads/writes up to the STOPWHEN (equivalent 
construct yield) is encountered.

For comparison, SAS or WPS can accomplish this objective using the DATA step 
process, with about half a dozen or less SAS language statements.


Scott Barry
SBBTech LLC


On Wed, 16 Sep 2020 15:39:07 -0500, Paul Gilmartin <[email protected]> wrote:

>On Wed, 16 Sep 2020 20:17:10 +0000, Farley, Peter x23353  wrote:
>
>>Thanks Sri, I am aware of the STOPAFT parameter, but it uses a hard-coded 
>>count.  When the goal is to find ALL records with the selected values and one 
>>does not know in advance how many there are, it is not as helpful as it could 
>>be.
>>
>>I was thinking of a command similar to OMIT / INCLUDE, something like:
>>
>>STOPWHEN COND=(key value greater than this stop reading)
>>
>>E.G.,  STOPWHEN(1,3,'AC ')
>> 
>I'm imagining something like:
>    ...STOPAFT=1
>        ...COND=(1,3,CH,GT,C'ABC')
>
>Certainly stops at (almost) the right place. but Kolusu indicates, there's
>no way to select COND=(1,3,CH,EQ,C'ABC') for output.
>
>
>>-----Original Message-----
>>From: Sri h Kolusu
>>Sent: Wednesday, September 16, 2020 3:54 PM
>>
>>>>> When using SORT (either DFSORT or SYNCSORT) to select a relatively
>>> small sample of records by (a) particular key value(s) from a *very
>>> large* sequential file,
>>
>>You can use STOPAFT parm to stop reading the input once you get to a 
>>threshold value. For example  if you have file with 300 million records and 
>>if you are only interested in only 100 records for the key 'ABC', then you 
>>can use the following
>>
>>//SYSIN    DD *
>>  OPTION COPY,STOPAFT=100
>>  INCLUDE COND=(1,3,CH,EQ,C'ABC')
>>/*
>
>-- gil
>
>----------------------------------------------------------------------
>For IBM-MAIN subscribe / signoff / archive access instructions,
>send email to [email protected] with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to