Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Using TSO Receive in batch

866 views
Skip to first unread message

David Day

unread,
May 25, 2007, 2:54:40 PM5/25/07
to
I would like to be able to run a batch IKJEKT01 job, and use RECEIVE to update a PDS. However, to put it in the output dataset of choice requires specifying DATASET to a prompt. Running the RECEIVE with the DATASET specified in batch causes the command to fail. I can run this at the ready prompt, and make it work, but would like to run this as a batch job. TSO/E manual states you can use an exit to tell RECEIVE to get it's DATASET information and not to prompt. Does anyone know any other way around this issue?

Thanks,

--Dave Day

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to list...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Peter X. DeFabritus

unread,
May 25, 2007, 2:59:02 PM5/25/07
to
The way I have done it:

//SYSTSIN DD *
RECEIVE INDATASET('input data set')
DSN('output data set') UNIT(SYSALLDA) VOL(vvvvvv)
END

The prompts are read inline.

On Fri, 25 May 2007 13:54:45 -0500, David Day <dda...@HOUSTON.RR.COM>
wrote:

Paul Gilmartin

unread,
May 25, 2007, 3:18:24 PM5/25/07
to
On Fri, 25 May 2007 13:58:56 -0500, Peter X. DeFabritus wrote:

>The way I have done it:
>
>//SYSTSIN DD *
>RECEIVE INDATASET('input data set')
>DSN('output data set') UNIT(SYSALLDA) VOL(vvvvvv)
>END
>
>The prompts are read inline.
>

Me, too. I've done this regularly. It works as described.
Now, harder question: does anyone know any way to invoke RECEIVE
from a z/OS Unix System Services shell, short of stuffing a
batch job into an internal reader? The new-fangled (z/OS 1.4)
"address TSO" command environment doesn't seem to do it.

Thanks,
gil

David Day

unread,
May 25, 2007, 4:14:34 PM5/25/07
to
Just learned something about TSO batch. Coding the RECEIVE command all on
one line as

//SYSTSIN DD *
RECEIVE INFILE(SYS2) DSNAME('APF1.V100.ISPPLIB.TEST') OLD

will make it fail. Splitting it across 2 lines as
//SYSTSIN DD *
RECEIVE INFILE(SYS2)
DSNAME('APF1.V100.ISPPLIB.TEST') OLD
/*
will make it work. Evidently going back to the SYSTSIN dd for the next
part of the command is the same as getting input from the prompt in
foreground. This is probably something very obvious to everyone else who
works with MVS, except me.

Thanks for the help.

--Dave Day


----- Original Message -----
From: "Peter X. DeFabritus" <pdefa...@ibm-main.lst>
Newsgroups: bit.listserv.ibm-main
To: <IBM-...@BAMA.UA.EDU>
Sent: Friday, May 25, 2007 1:58 PM
Subject: Re: Using TSO Receive in batch


> The way I have done it:
>
> //SYSTSIN DD *
> RECEIVE INDATASET('input data set')
> DSN('output data set') UNIT(SYSALLDA) VOL(vvvvvv)
> END

----------------------------------------------------------------------

Bob Rutledge

unread,
May 25, 2007, 4:41:56 PM5/25/07
to
David Day wrote:
> Just learned something about TSO batch. Coding the RECEIVE command all
> on one line as
>
> //SYSTSIN DD *
> RECEIVE INFILE(SYS2) DSNAME('APF1.V100.ISPPLIB.TEST') OLD
>
> will make it fail.

Because DSNAME() and OLD are not valid operands of the RECEIVE command...

> Splitting it across 2 lines as
> //SYSTSIN DD *
> RECEIVE INFILE(SYS2)
> DSNAME('APF1.V100.ISPPLIB.TEST') OLD
> /*
> will make it work.

but they are valid responses to the prompt issued by RECEIVE.

> Evidently going back to the SYSTSIN dd for the next
> part of the command is the same as getting input from the prompt in
> foreground.

"Next part of the command" and "prompt" are completely different for RECEIVE.

Bob

0 new messages