For unordered data you need to read every record to have that feature. If you have the resources, put it into a DB2 table and apply deltas to the table. Or a VSAM KSDS.
On Thu, Sep 17, 2020 at 8:36 AM Scott Barry <sba...@sbbworks.com> wrote: > 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 <paulgboul...@aim.com> > 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 lists...@listserv.ua.edu with the message: INFO IBM-MAIN > > ---------------------------------------------------------------------- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > -- Wayne V. Bickerdike ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN