Kris,
 
Nice.  I'll remember this one.
 
Jim

________________________________

From: The IBM z/VM Operating System on behalf of Kris Buelens
Sent: Thu 8/7/2008 4:25 PM
To: IBMVM@LISTSERV.UARK.EDU
Subject: Re: VM Read problem



And, if you insist on using the stack (no problem for me), change to
code to loop the number of lines stacked by EXECIO and not the number
of files you seem to know.  Between getting the number of files and
the EXECIO Q RDR, RDR files might be removed (a new VM READ follows)
or an extra file might arrive (and your exec leaves one stacked line
behind.  So:
 "MAKEBUF"
 b4 = queued()
 BuffSize=(reader_files + 10)*81
 "EXECIO * CP (BUFFER' buffSize 'STRING Q RDR * ALL"

 Do queued() - B4
  .....
 End

In the buffer calculation, I add room for 9 extra files; multiply by
81 leaves room for the X15 CP uses to response separate lines.

2008/8/7 Wakser, David <[EMAIL PROTECTED]>:
> Mike:
>
>        Thanks for the response, but it was, indeed, a buffer problem.
>
> -----Original Message-----
> From: The IBM z/VM Operating System [mailto:[EMAIL PROTECTED] On
> Behalf Of Mike Rydberg
> Sent: Thursday, August 07, 2008 3:12 PM
> To: IBMVM@LISTSERV.UARK.EDU
> Subject: Re: VM Read problem
>
> David,
>
> My guess would be that when you invoke RECEIVE it is clearing the
> queued() output. On the next PULL you will get a VM READ since there in
> nothing else queued() to read in your do queued() loop.
>
> Try this..
>
> 'pipe cp  Q RDR ALL FULL | stem recs. '
>
> Do n=1 to recs.0
>   Parse var recs.n sender num . . recs copy hold date time name type .
>   ...
>   end
>



--
Kris Buelens,
IBM Belgium, VM customer support

Reply via email to