I'll send you my PIPE code that waits for some accounting records, midnight,
CP/CMS commands, etc.  It may inspire you.  And, it has a STOP command...

2009/1/9 Bob Cronin <[email protected]>

> Oh and I really (really) do not want to use PIPESERV (or any other tools
> beyond native built-in stages and/or Rexx stages I write myself). This
> feels
> like it should be simple enough to roll my own, if only I knew where to
> begin.
>
> Bob Cronin
>
> On Fri, Jan 9, 2009 at 3:52 PM, Glenn Knickerbocker <[email protected]
> >wrote:
>
> > Bob Cronin wrote:
> > > been too complex for me to get my head around how I'd do them entirely
> in
> > > the pipeline, and I've always fallen back to using the standard
> > > WAKEUP-driven Rexx "Do Forever" loop.
> >
> > The starting point is just to move that DO FOREVER loop into the
> > pipeline.  Use ADDRESS COMMAND to issue all the same CMS commands you
> > would normally, except for PIPE.  Use CALLPIPE instead of PIPE to run
> > any one-shot pipelines.
> >
> > None of that improves anything directly, of course.  What it buys you is
> > that now you can use ADDPIPE to add subroutine pipelines your program
> > can read and write to.  You're then starting up those pipelines just
> > once for the whole program, rather than repeatedly for each record or
> > group of records you need to process.
> >
> > Then you can look at replacing WAKEUP with STARMSG, DELAY, etc., and
> > maybe even eliminating the main loop.  Rather than doing all that from
> > scratch, though, you can use PIPESERV as your starting point:
> >
> >   PIPE (end /) serv.rdr: pipeserv | xferrdr / serv.smsg: | echosmsg
> >
> > Then your small XFERRDR and ECHOSMSG stages do the parts you care
> > about.  Each of those can do the bulk of its work in a single subroutine
> > pipeline.
> >
> > ¬R
> >
>



-- 
Kris Buelens,
IBM Belgium, VM customer support

Reply via email to