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
-----Original Message-----
From: The IBM z/VM Operating System [mailto:[EMAIL PROTECTED] On Behalf Of
Wakser, David
Sent: Thursday, August 07, 2008 1:48 PM
To: [email protected]
Subject: Re: VM Read problem
Jim:
Nope, same results! It ALWAYS stops after 100!
David Wakser
-----Original Message-----
From: The IBM z/VM Operating System [mailto:[EMAIL PROTECTED] On Behalf Of
Hughes, Jim
Sent: Thursday, August 07, 2008 2:32 PM
To: [email protected]
Subject: Re: VM Read problem
Try this:
"MAKEBUF"
b4 = queued()
"EXECIO * CP ( STRING Q RDR * ALL"
Do queued() - B4
.....
End
Jim
________________________________
From: The IBM z/VM Operating System on behalf of Wakser, David
Sent: Thu 8/7/2008 1:08 PM
To: [email protected]
Subject: VM Read problem
All:
The solution is probably simple, but I can't see it (it's been a long
week):
The following code is in an EXEC. However, when executing, it issues a
VM READ after every 100 rdr queue entries, causing the EXEC to go bananas
(since it then pulls in a file name or type of blanks). How can I figure out
what is issuing the VM READ? A trace showed nothing.
Thanks, in advance.
David Wakser
"EXECIO * CP (STRING Q RDR * ALL"
do i = 1 to reader_files + 1 /* the header is the "plus 1" */
pull sender num . . recs copy hold date time name type .
if sender = "ORIGINID" then iterate /* Bypass header */
x = datatype(type)
if x ¬= "NUM" then
do
name = name || type
type = " "
end
"EXEC RECEIVE =" name "ICCF" "G"
end