Discussion:
OUTPUT command in rexx exec
(too old to reply)
Hamilton, Robert L
2008-05-27 19:59:55 UTC
Permalink
I need to put the sysout from and OUTPUT command in a dataset and I get
a RC-3



A goal without a plan is just a wish. . .

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Mickey Bee
2008-05-27 21:19:33 UTC
Permalink
A little more detail is needed here.

Post your homework and let us get a look at what you have.

Mickey
-------------- Original message ----------------------
From: "Hamilton, Robert L" <***@UTDALLAS.EDU>
> I need to put the sysout from and OUTPUT command in a dataset and I get
> a RC-3
>
>
>
> A goal without a plan is just a wish. . .
>
> ----------------------------------------------------------------------
> For TSO-REXX subscribe / signoff / archive access instructions,
> send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Robert Zenuk
2008-05-27 21:34:04 UTC
Permalink
I have seen this occur when the output being requested is still be loaded
into the spool datasets. Is it possible in your case this is a timing issue?
If so and you can interject a delay that allows the output to complete, then
the OUTPUT command will complete successfully.

Rob




In a message dated 5/27/2008 2:19:54 P.M. US Mountain Standard Time,
***@COMCAST.NET writes:

A little more detail is needed here.

Post your homework and let us get a look at what you have.

Mickey
-------------- Original message ----------------------
From: "Hamilton, Robert L" <***@UTDALLAS.EDU>
> I need to put the sysout from and OUTPUT command in a dataset and I get
> a RC-3
>
>
>
> A goal without a plan is just a wish. . .
>
> ----------------------------------------------------------------------
> For TSO-REXX subscribe / signoff / archive access instructions,
> send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX





**************Get trade secrets for amazing burgers. Watch "Cooking with
Tyler Florence" on AOL Food.
(http://food.aol.com/tyler-florence?video=4&?NCID=aolfod00030000000002)

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Hamilton, Robert L
2008-05-28 14:34:16 UTC
Permalink
I WAS thinking the same thing; in a job step running a rexx exec, I need
to look thru the JCL, messages et c. and I was hoping that OUTPUT would
move the stuff over.

I get the job_name from symdef

And then

/* GET JOBID: CURRENT_TCB->JSCB->SSIB */
NUMERIC DIGITS 24 ; /* TRACE I */
CVTPTR=STORAGE(10,4) /*CVT*/
PSATCB=STORAGE(D2X(C2D(CVTPTR)),4)
CURRTCB=STORAGE(D2X(C2D(PSATCB)),4)
TCBJSCB=STORAGE(D2X(C2D(CURRTCB)+X2D(B4)),4)
JSCBSSIB=STORAGE(D2X(C2D(TCBJSCB)+X2D(13C)),4)
SSIBJBID=STORAGE(D2X(C2D(JSCBSSIB)+X2D(C)),8)
SAY 'JOBID='SSIBJBID
/* build the command */
CMD = "OUTPUT(" JOB_NAME '('SSIBJBID ')) PRINT (
T273.TSO.OUTPUT ') END' ;

then

CMD; gives OUTPUT( UA1RLHBX (JOB04793 )) PRINT ( T273.TSO.OUTPUT )
END
IKJ56621I INVALID COMMAND NAME SYNTAX
66 *-* CMD
+++ RC(-3) +++


Thnx

bobh


-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Robert Zenuk
Sent: Tuesday, May 27, 2008 4:34 PM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

I have seen this occur when the output being requested is still be
loaded
into the spool datasets. Is it possible in your case this is a timing
issue?
If so and you can interject a delay that allows the output to complete,
then
the OUTPUT command will complete successfully.

Rob




In a message dated 5/27/2008 2:19:54 P.M. US Mountain Standard Time,
***@COMCAST.NET writes:

A little more detail is needed here.

Post your homework and let us get a look at what you have.

Mickey
-------------- Original message ----------------------
From: "Hamilton, Robert L" <***@UTDALLAS.EDU>
> I need to put the sysout from and OUTPUT command in a dataset and I
get
> a RC-3
>
>
>
> A goal without a plan is just a wish. . .
>
>
----------------------------------------------------------------------
> For TSO-REXX subscribe / signoff / archive access instructions,
> send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX





**************Get trade secrets for amazing burgers. Watch "Cooking with
Tyler Florence" on AOL Food.
(http://food.aol.com/tyler-florence?video=4&?NCID=aolfod00030000000002)

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Binyamin Dissen
2008-05-28 14:55:43 UTC
Permalink
On Wed, 28 May 2008 09:33:42 -0500 "Hamilton, Robert L" <***@UTDALLAS.EDU>
wrote:

:>I WAS thinking the same thing; in a job step running a rexx exec, I need
:>to look thru the JCL, messages et c. and I was hoping that OUTPUT would
:>move the stuff over.

:>I get the job_name from symdef

:>And then

:>/* GET JOBID: CURRENT_TCB->JSCB->SSIB */
:>NUMERIC DIGITS 24 ; /* TRACE I */
:>CVTPTR=STORAGE(10,4) /*CVT*/
:>PSATCB=STORAGE(D2X(C2D(CVTPTR)),4)
:>CURRTCB=STORAGE(D2X(C2D(PSATCB)),4)
:>TCBJSCB=STORAGE(D2X(C2D(CURRTCB)+X2D(B4)),4)
:>JSCBSSIB=STORAGE(D2X(C2D(TCBJSCB)+X2D(13C)),4)
:>SSIBJBID=STORAGE(D2X(C2D(JSCBSSIB)+X2D(C)),8)
:>SAY 'JOBID='SSIBJBID
:>/* build the command */
:>CMD = "OUTPUT(" JOB_NAME '('SSIBJBID ')) PRINT (
:> T273.TSO.OUTPUT ') END' ;

:>then

:> CMD; gives OUTPUT( UA1RLHBX (JOB04793 )) PRINT ( T273.TSO.OUTPUT )
:>END
:> IKJ56621I INVALID COMMAND NAME SYNTAX
:> 66 *-* CMD
:> +++ RC(-3) +++

Which is perfectly correct, as "OUTPUT(" is not a valid TSO command.

--
Binyamin Dissen <***@dissensoftware.com>
http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel


Should you use the mailblocks package and expect a response from me,
you should preauthorize the dissensoftware.com domain.

I very rarely bother responding to challenge/response systems,
especially those from irresponsible companies.

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Bob Hamilton
2008-05-28 15:32:47 UTC
Permalink
In GX23-0026-3 TSO Extensions Version 2 Quick Reference p.
62 has the OUTPUT Command.

bobh

On Wed, 28 May 2008 17:55:20 +0300
Binyamin Dissen <***@DISSENSOFTWARE.COM> wrote:
> On Wed, 28 May 2008 09:33:42 -0500 "Hamilton, Robert L"
> <***@UTDALLAS.EDU>
> wrote:
>
> :>I WAS thinking the same thing; in a job step running a
> rexx exec, I need
> :>to look thru the JCL, messages et c. and I was hoping
> that OUTPUT would
> :>move the stuff over.
>
> :>I get the job_name from symdef
>
> :>And then
>
> :>/* GET JOBID: CURRENT_TCB->JSCB->SSIB */
> :>NUMERIC DIGITS 24 ; /* TRACE I */
> :>CVTPTR=STORAGE(10,4) /*CVT*/
> :>PSATCB=STORAGE(D2X(C2D(CVTPTR)),4)
> :>CURRTCB=STORAGE(D2X(C2D(PSATCB)),4)
> :>TCBJSCB=STORAGE(D2X(C2D(CURRTCB)+X2D(B4)),4)
> :>JSCBSSIB=STORAGE(D2X(C2D(TCBJSCB)+X2D(13C)),4)
> :>SSIBJBID=STORAGE(D2X(C2D(JSCBSSIB)+X2D(C)),8)
> :>SAY 'JOBID='SSIBJBID
> :>/* build the command */
> :>CMD = "OUTPUT(" JOB_NAME '('SSIBJBID ')) PRINT (
> :> T273.TSO.OUTPUT ') END' ;
>
> :>then
>
> :> CMD; gives OUTPUT( UA1RLHBX (JOB04793 )) PRINT (
> T273.TSO.OUTPUT )
> :>END
> :> IKJ56621I INVALID COMMAND NAME SYNTAX
> :> 66 *-* CMD
> :> +++ RC(-3) +++
>
> Which is perfectly correct, as "OUTPUT(" is not a valid
> TSO command.
>
> --
> Binyamin Dissen <***@dissensoftware.com>
> http://www.dissensoftware.com
>
> Director, Dissen Software, Bar & Grill - Israel
>
>
> Should you use the mailblocks package and expect a
> response from me,
> you should preauthorize the dissensoftware.com domain.
>
> I very rarely bother responding to challenge/response
> systems,
> especially those from irresponsible companies.
>
>
----------------------------------------------------------------------
> For TSO-REXX subscribe / signoff / archive access
> instructions,
> send email to ***@VM.MARIST.EDU with the message:
> INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Binyamin Dissen
2008-05-29 12:42:12 UTC
Permalink
On Wed, 28 May 2008 11:32:06 -0500 Bob Hamilton <***@VINTAGE-AERO.COM>
wrote:

:>In GX23-0026-3 TSO Extensions Version 2 Quick Reference p.
:>62 has the OUTPUT Command.

That is not the command that is being issued.

:>On Wed, 28 May 2008 17:55:20 +0300
:> Binyamin Dissen <***@DISSENSOFTWARE.COM> wrote:
:>> On Wed, 28 May 2008 09:33:42 -0500 "Hamilton, Robert L"
:>> <***@UTDALLAS.EDU>
:>> wrote:
:>>
:>> :>I WAS thinking the same thing; in a job step running a
:>> rexx exec, I need
:>> :>to look thru the JCL, messages et c. and I was hoping
:>> that OUTPUT would
:>> :>move the stuff over.
:>>
:>> :>I get the job_name from symdef
:>>
:>> :>And then
:>>
:>> :>/* GET JOBID: CURRENT_TCB->JSCB->SSIB */
:>> :>NUMERIC DIGITS 24 ; /* TRACE I */
:>> :>CVTPTR=STORAGE(10,4) /*CVT*/
:>> :>PSATCB=STORAGE(D2X(C2D(CVTPTR)),4)
:>> :>CURRTCB=STORAGE(D2X(C2D(PSATCB)),4)
:>> :>TCBJSCB=STORAGE(D2X(C2D(CURRTCB)+X2D(B4)),4)
:>> :>JSCBSSIB=STORAGE(D2X(C2D(TCBJSCB)+X2D(13C)),4)
:>> :>SSIBJBID=STORAGE(D2X(C2D(JSCBSSIB)+X2D(C)),8)
:>> :>SAY 'JOBID='SSIBJBID
:>> :>/* build the command */
:>> :>CMD = "OUTPUT(" JOB_NAME '('SSIBJBID ')) PRINT (
:>> :> T273.TSO.OUTPUT ') END' ;
:>>
:>> :>then
:>>
:>> :> CMD; gives OUTPUT( UA1RLHBX (JOB04793 )) PRINT (
:>> T273.TSO.OUTPUT )
:>> :>END
:>> :> IKJ56621I INVALID COMMAND NAME SYNTAX
:>> :> 66 *-* CMD
:>> :> +++ RC(-3) +++
:>>
:>> Which is perfectly correct, as "OUTPUT(" is not a valid
:>> TSO command.

--
Binyamin Dissen <***@dissensoftware.com>
http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel


Should you use the mailblocks package and expect a response from me,
you should preauthorize the dissensoftware.com domain.

I very rarely bother responding to challenge/response systems,
especially those from irresponsible companies.

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Bob Hamilton
2008-05-29 10:53:01 UTC
Permalink
This is a step in JCL; I need to get the sysout from the
prior steps into a dataset and I thought OUTPUT would do
it.

thnx

bobh



On Tue, 27 May 2008 17:33:38 EDT
Robert Zenuk <***@AOL.COM> wrote:
> I have seen this occur when the output being requested is
> still be loaded
> into the spool datasets. Is it possible in your case
> this is a timing issue?
> If so and you can interject a delay that allows the
> output to complete, then
> the OUTPUT command will complete successfully.
>
> Rob
>
>
>
>
> In a message dated 5/27/2008 2:19:54 P.M. US Mountain
> Standard Time,
> ***@COMCAST.NET writes:
>
> A little more detail is needed here.
>
> Post your homework and let us get a look at what you
> have.
>
> Mickey
> -------------- Original message ----------------------
> From: "Hamilton, Robert L" <***@UTDALLAS.EDU>
> > I need to put the sysout from and OUTPUT command in a
> dataset and I get
> > a RC-3
> >
> >
> >
> > A goal without a plan is just a wish. . .
> >
> >
>
----------------------------------------------------------------------
> > For TSO-REXX subscribe / signoff / archive access
> instructions,
> > send email to ***@VM.MARIST.EDU with the message:
> INFO TSO-REXX
>
>
----------------------------------------------------------------------
> For TSO-REXX subscribe / signoff / archive access
> instructions,
> send email to ***@VM.MARIST.EDU with the message:
> INFO TSO-REXX
>
>
>
>
>
> **************Get trade secrets for amazing burgers.
> Watch "Cooking with
> Tyler Florence" on AOL Food.
>
(http://food.aol.com/tyler-florence?video=4&?NCID=aolfod00030000000002)
>
>
----------------------------------------------------------------------
> For TSO-REXX subscribe / signoff / archive access
> instructions,
> send email to ***@VM.MARIST.EDU with the message:
> INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Hardee, Charles H
2008-05-29 11:06:44 UTC
Permalink
Bob,

<snip>
This is a step in JCL; I need to get the sysout from the
prior steps into a dataset and I thought OUTPUT would do
it.
</snip>

If I understand your response (above), why not simply point the output
DDs of the previous steps to a dataset? You can either create a dataset
for each step or create one at the beginning and piggy back the
remaining steps into it. Then, feed that dataset into your program that
needs the output from the other steps.

Am I missing something here?

You can either use temporary datasets for each step or a permanent one.
If you need to really print the output versus send it into a program,
you can use iebgener to copy it from the dataset right to the output
queue for printing.

Chuck

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Hamilton, Robert L
2008-05-29 15:03:53 UTC
Permalink
Here's the problem; we have jobs that send files by FTP to various
vendors. Some of them blow up when the dataset is empty. So, just
before the FTP step I want to insert one generic step that will detect
empty datasets and put a generic msg in them. I thought one way would be
to get the output from the job up to that step and go thru that looking
for empty datasets. The way it's done now is pretty complicated and
doesn't work all the time.

Thnx

bobh



-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Hardee, Charles H
Sent: Thursday, May 29, 2008 6:07 AM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

Bob,

<snip>
This is a step in JCL; I need to get the sysout from the
prior steps into a dataset and I thought OUTPUT would do
it.
</snip>

If I understand your response (above), why not simply point the output
DDs of the previous steps to a dataset? You can either create a dataset
for each step or create one at the beginning and piggy back the
remaining steps into it. Then, feed that dataset into your program that
needs the output from the other steps.

Am I missing something here?

You can either use temporary datasets for each step or a permanent one.
If you need to really print the output versus send it into a program,
you can use iebgener to copy it from the dataset right to the output
queue for printing.

Chuck

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
McKown, John
2008-05-29 15:15:25 UTC
Permalink
> -----Original Message-----
> From: TSO REXX Discussion List
> [mailto:TSO-***@VM.MARIST.EDU] On Behalf Of Hamilton, Robert L
> Sent: Thursday, May 29, 2008 10:02 AM
> To: TSO-***@VM.MARIST.EDU
> Subject: Re: [TSO-REXX] OUTPUT command in rexx exec
>
> Here's the problem; we have jobs that send files by FTP to various
> vendors. Some of them blow up when the dataset is empty. So, just
> before the FTP step I want to insert one generic step that will detect
> empty datasets and put a generic msg in them. I thought one
> way would be
> to get the output from the job up to that step and go thru
> that looking
> for empty datasets. The way it's done now is pretty complicated and
> doesn't work all the time.
>
> Thnx
>
> bobh

Sort's ICETOOL can do that and set a return code.

//SETRC EXEC PGM=ICETOOL
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//INFILE DD DISP=SHR,DSN=...
//TOOLIN DD *
COUNT FROM(INFILE) EMPTY RC4
/*
//ADDMSG EXEC PGM=ICEGENER,
// COND=(4,NE,SETRC)
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//SYSUT1 DD *
MESSAGE TO INSERT
//SYSUT2 DD DISP=OLD,DSN=*.SETRC.INFILE
//*
//FTPSETP EXEC PGM=FTP,PARM='(EXIT'
//* ...


--
John McKown
Senior Systems Programmer
HealthMarkets
Keeping the Promise of Affordable Coverage
Administrative Services Group
Information Technology

The information contained in this e-mail message may be privileged
and/or confidential. It is for intended addressee(s) only. If you are
not the intended recipient, you are hereby notified that any disclosure,
reproduction, distribution or other use of this communication is
strictly prohibited and could, in certain circumstances, be a criminal
offense. If you have received this e-mail in error, please notify the
sender by reply and delete this message without copying or disclosing
it.

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Richards, Robert B.
2008-05-29 15:42:59 UTC
Permalink
John,

Thanks for posting the JCL. Now I have a solution for a problem I did
not know that I had.....yet! <grin>

Bob

---------------------------------------------------------
Robert B. Richards
US Office of Personnel Management
1900 E Street NW Room: BH04L
Washington, D.C. 20415
Phone: (202) 606-1195
Email: ***@opm.gov
---------------------------------------------------------

-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of McKown, John
Sent: Thursday, May 29, 2008 11:13 AM
To: TSO-***@VM.MARIST.EDU
Subject: Re: [TSO-REXX] OUTPUT command in rexx exec
>snippage
Sort's ICETOOL can do that and set a return code.

//SETRC EXEC PGM=ICETOOL
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//INFILE DD DISP=SHR,DSN=...
//TOOLIN DD *
COUNT FROM(INFILE) EMPTY RC4
/*
//ADDMSG EXEC PGM=ICEGENER,
// COND=(4,NE,SETRC)
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//SYSUT1 DD *
MESSAGE TO INSERT
//SYSUT2 DD DISP=OLD,DSN=*.SETRC.INFILE
//*
//FTPSETP EXEC PGM=FTP,PARM='(EXIT'
//* ...

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Hamilton, Robert L
2008-05-29 16:01:21 UTC
Permalink
We do not have IBM tools

-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of McKown, John
Sent: Thursday, May 29, 2008 10:13 AM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

> -----Original Message-----
> From: TSO REXX Discussion List
> [mailto:TSO-***@VM.MARIST.EDU] On Behalf Of Hamilton, Robert L
> Sent: Thursday, May 29, 2008 10:02 AM
> To: TSO-***@VM.MARIST.EDU
> Subject: Re: [TSO-REXX] OUTPUT command in rexx exec
>
> Here's the problem; we have jobs that send files by FTP to various
> vendors. Some of them blow up when the dataset is empty. So, just
> before the FTP step I want to insert one generic step that will detect
> empty datasets and put a generic msg in them. I thought one
> way would be
> to get the output from the job up to that step and go thru
> that looking
> for empty datasets. The way it's done now is pretty complicated and
> doesn't work all the time.
>
> Thnx
>
> bobh

Sort's ICETOOL can do that and set a return code.

//SETRC EXEC PGM=ICETOOL
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//INFILE DD DISP=SHR,DSN=...
//TOOLIN DD *
COUNT FROM(INFILE) EMPTY RC4
/*
//ADDMSG EXEC PGM=ICEGENER,
// COND=(4,NE,SETRC)
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//SYSUT1 DD *
MESSAGE TO INSERT
//SYSUT2 DD DISP=OLD,DSN=*.SETRC.INFILE
//*
//FTPSETP EXEC PGM=FTP,PARM='(EXIT'
//* ...


--
John McKown
Senior Systems Programmer
HealthMarkets
Keeping the Promise of Affordable Coverage
Administrative Services Group
Information Technology

The information contained in this e-mail message may be privileged
and/or confidential. It is for intended addressee(s) only. If you are
not the intended recipient, you are hereby notified that any disclosure,
reproduction, distribution or other use of this communication is
strictly prohibited and could, in certain circumstances, be a criminal
offense. If you have received this e-mail in error, please notify the
sender by reply and delete this message without copying or disclosing
it.

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
McKown, John
2008-05-29 16:04:19 UTC
Permalink
> -----Original Message-----
> From: TSO REXX Discussion List
> [mailto:TSO-***@VM.MARIST.EDU] On Behalf Of Hamilton, Robert L
> Sent: Thursday, May 29, 2008 11:00 AM
> To: TSO-***@VM.MARIST.EDU
> Subject: Re: [TSO-REXX] OUTPUT command in rexx exec
>
> We do not have IBM tools
>

Ouch.

Well you could write a small REXX program to do the same:

/* REXX */
"EXECIO 1 DISKR INFILE(FINIS"
IF RC <> 0 THEN RETURN 4 /* EMPTY, OR SOME ERROR */
RETURN 0 /* NOT EMPTY */

--
John McKown
Senior Systems Programmer
HealthMarkets
Keeping the Promise of Affordable Coverage
Administrative Services Group
Information Technology

The information contained in this e-mail message may be privileged
and/or confidential. It is for intended addressee(s) only. If you are
not the intended recipient, you are hereby notified that any disclosure,
reproduction, distribution or other use of this communication is
strictly prohibited and could, in certain circumstances, be a criminal
offense. If you have received this e-mail in error, please notify the
sender by reply and delete this message without copying or disclosing
it.

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Binyamin Dissen
2008-05-28 07:21:23 UTC
Permalink
On Tue, 27 May 2008 14:58:58 -0500 "Hamilton, Robert L" <***@UTDALLAS.EDU>
wrote:

:>I need to put the sysout from and OUTPUT command in a dataset and I get
:>a RC-3

-3 usually means command not recognized by the environment.

:>A goal without a plan is just a wish. . .

Complaining about a problem without details .........

--
Binyamin Dissen <***@dissensoftware.com>
http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel


Should you use the mailblocks package and expect a response from me,
you should preauthorize the dissensoftware.com domain.

I very rarely bother responding to challenge/response systems,
especially those from irresponsible companies.

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
McKown, John
2008-05-28 12:36:03 UTC
Permalink
> -----Original Message-----
> From: TSO REXX Discussion List
> [mailto:TSO-***@VM.MARIST.EDU] On Behalf Of Hamilton, Robert L
> Sent: Tuesday, May 27, 2008 2:59 PM
> To: TSO-***@VM.MARIST.EDU
> Subject: [TSO-REXX] OUTPUT command in rexx exec
>
> I need to put the sysout from and OUTPUT command in a dataset
> and I get
> a RC-3

Try prefixing your OUTPUT command with ADDRESS TSO. RC(-3) is a "command
not found", assuming my brain has not melted down to a sticky gray goo.

address tso "OUTPUT ..."

--
John McKown
Senior Systems Programmer
HealthMarkets
Keeping the Promise of Affordable Coverage
Administrative Services Group
Information Technology

The information contained in this e-mail message may be privileged
and/or confidential. It is for intended addressee(s) only. If you are
not the intended recipient, you are hereby notified that any disclosure,
reproduction, distribution or other use of this communication is
strictly prohibited and could, in certain circumstances, be a criminal
offense. If you have received this e-mail in error, please notify the
sender by reply and delete this message without copying or disclosing
it.

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Frank Clarke
2008-05-28 21:27:03 UTC
Permalink
On 27 May 2008 12:59:55 -0700, ***@UTDALLAS.EDU (Hamilton, Robert L) wrote:
<***@UTDEVS08.campus.ad.utdallas.edu>

>I need to put the sysout from and OUTPUT command in a dataset and I get
>a RC-3

A -3 ---always--- means "wrong 'address'".

What 'address' are you in? What 'address' is OUTPUT valid for?


(change Arabic number to Roman numeral to email)
Robert Zenuk
2008-05-29 13:47:33 UTC
Permalink
Output can do what you want. I have done this before. Some things to
consider:

1. Use IKJEFT01, not IRXJCL if you are using TSO commands like OUTPUT
2. I always like to avoid the ADDRESS issue by prefixing EVERY host
command with its ADDRESS env, when I started doing this about 10 years ago, my
life got a lot simpler.
3. If these are quick adjacent steps, you may need a delay to allow the
asynchronous Spool processing to complete (mostly for larger outputs)
4. Confirm the command syntax is correct - try it in pieces before
assembling everything
5. If the output is from the same job, a better approach is to write a
temporary dataset and avoid the OUTPUT command entirely - use OUTPUT only for
things you can not capture with temporary datasets - usually this is required
from things that dynamically generate SYSOUT

Hope This Helps,

Rob




In a message dated 5/29/2008 3:53:02 A.M. US Mountain Standard Time,
***@VINTAGE-AERO.COM writes:

This is a step in JCL; I need to get the sysout from the
prior steps into a dataset and I thought OUTPUT would do
it.

thnx

bobh



On Tue, 27 May 2008 17:33:38 EDT
Robert Zenuk <***@AOL.COM> wrote:
> I have seen this occur when the output being requested is
> still be loaded
> into the spool datasets. Is it possible in your case
> this is a timing issue?
> If so and you can interject a delay that allows the
> output to complete, then
> the OUTPUT command will complete successfully.
>
> Rob
>
>
>
>
> In a message dated 5/27/2008 2:19:54 P.M. US Mountain
> Standard Time,
> ***@COMCAST.NET writes:
>
> A little more detail is needed here.
>
> Post your homework and let us get a look at what you
> have.
>
> Mickey
> -------------- Original message ----------------------
> From: "Hamilton, Robert L" <***@UTDALLAS.EDU>
> > I need to put the sysout from and OUTPUT command in a
> dataset and I get
> > a RC-3
> >
> >
> >
> > A goal without a plan is just a wish. . .
> >
> >
>
----------------------------------------------------------------------
> > For TSO-REXX subscribe / signoff / archive access
> instructions,
> > send email to ***@VM.MARIST.EDU with the message:
> INFO TSO-REXX
>
>
----------------------------------------------------------------------
> For TSO-REXX subscribe / signoff / archive access
> instructions,
> send email to ***@VM.MARIST.EDU with the message:
> INFO TSO-REXX
>
>
>
>
>
> **************Get trade secrets for amazing burgers.
> Watch "Cooking with
> Tyler Florence" on AOL Food.
>
(http://food.aol.com/tyler-florence?video=4&?NCID=aolfod00030000000002)
>
>
----------------------------------------------------------------------
> For TSO-REXX subscribe / signoff / archive access
> instructions,
> send email to ***@VM.MARIST.EDU with the message:
> INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX




**************Get trade secrets for amazing burgers. Watch "Cooking with
Tyler Florence" on AOL Food.
(http://food.aol.com/tyler-florence?video=4&?NCID=aolfod00030000000002)

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Hamilton, Robert L
2008-05-29 14:47:26 UTC
Permalink
Thnx.

I changed to batch REXX then back to batch TSO, still nothing.

On Item 2, I don't know what you mean. I use Address and have
Checked the address with address().

This is what I get

OUTPUT( UA1RLHBX (JOB06622 )) PRINT( T273.TSO.OUTPUT )
IKJ56621I INVALID COMMAND NAME SYNTAX
66 *-* CMD
+++ RC(-3) +++
no errors
READY

From this code

CMD = "OUTPUT(" JOB_NAME '('SSIBJBID ')) PRINT( ' ,
T273.TSO.OUTPUT ') ' ;
SAY CMD;
/* ADDRESS TSO; */
CMD ;

Maybe I have to double quote the whole command string, BUT NO


"OUTPUT( UA1RLHBX (JOB06637 )) PRINT( T273.TSO.OUTPUT ) "
IKJ56621I INVALID COMMAND NAME SYNTAX
68 *-* CMD
+++ RC(-3) +++

IS what I get with double quotes. . .

bobh






-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Robert Zenuk
Sent: Thursday, May 29, 2008 8:47 AM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

Output can do what you want. I have done this before. Some things to
consider:

1. Use IKJEFT01, not IRXJCL if you are using TSO commands like
OUTPUT
2. I always like to avoid the ADDRESS issue by prefixing EVERY host
command with its ADDRESS env, when I started doing this about 10 years
ago, my
life got a lot simpler.
3. If these are quick adjacent steps, you may need a delay to allow
the
asynchronous Spool processing to complete (mostly for larger outputs)
4. Confirm the command syntax is correct - try it in pieces before
assembling everything
5. If the output is from the same job, a better approach is to
write a
temporary dataset and avoid the OUTPUT command entirely - use OUTPUT
only for
things you can not capture with temporary datasets - usually this is
required
from things that dynamically generate SYSOUT

Hope This Helps,

Rob




In a message dated 5/29/2008 3:53:02 A.M. US Mountain Standard Time,
***@VINTAGE-AERO.COM writes:

This is a step in JCL; I need to get the sysout from the
prior steps into a dataset and I thought OUTPUT would do
it.

thnx

bobh



On Tue, 27 May 2008 17:33:38 EDT
Robert Zenuk <***@AOL.COM> wrote:
> I have seen this occur when the output being requested is
> still be loaded
> into the spool datasets. Is it possible in your case
> this is a timing issue?
> If so and you can interject a delay that allows the
> output to complete, then
> the OUTPUT command will complete successfully.
>
> Rob
>
>
>
>
> In a message dated 5/27/2008 2:19:54 P.M. US Mountain
> Standard Time,
> ***@COMCAST.NET writes:
>
> A little more detail is needed here.
>
> Post your homework and let us get a look at what you
> have.
>
> Mickey
> -------------- Original message ----------------------
> From: "Hamilton, Robert L" <***@UTDALLAS.EDU>
> > I need to put the sysout from and OUTPUT command in a
> dataset and I get
> > a RC-3
> >
> >
> >
> > A goal without a plan is just a wish. . .
> >
> >
>
----------------------------------------------------------------------
> > For TSO-REXX subscribe / signoff / archive access
> instructions,
> > send email to ***@VM.MARIST.EDU with the message:
> INFO TSO-REXX
>
>
----------------------------------------------------------------------
> For TSO-REXX subscribe / signoff / archive access
> instructions,
> send email to ***@VM.MARIST.EDU with the message:
> INFO TSO-REXX
>
>
>
>
>
> **************Get trade secrets for amazing burgers.
> Watch "Cooking with
> Tyler Florence" on AOL Food.
>
(http://food.aol.com/tyler-florence?video=4&?NCID=aolfod00030000000002)
>
>
----------------------------------------------------------------------
> For TSO-REXX subscribe / signoff / archive access
> instructions,
> send email to ***@VM.MARIST.EDU with the message:
> INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX




**************Get trade secrets for amazing burgers. Watch "Cooking with
Tyler Florence" on AOL Food.
(http://food.aol.com/tyler-florence?video=4&?NCID=aolfod00030000000002)

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Imbriale, Donald
2008-05-29 15:06:39 UTC
Permalink
It looks like you have the first left paren right up against the command
name OUTPUT. You need a space after OUTPUT.

Don Imbriale

-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Hamilton, Robert L
Sent: Thursday, May 29, 2008 10:45 AM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

Thnx.

I changed to batch REXX then back to batch TSO, still nothing.

On Item 2, I don't know what you mean. I use Address and have
Checked the address with address().

This is what I get

OUTPUT( UA1RLHBX (JOB06622 )) PRINT( T273.TSO.OUTPUT )
IKJ56621I INVALID COMMAND NAME SYNTAX
66 *-* CMD
+++ RC(-3) +++
no errors
READY



***********************************************************************
Bear Stearns is not responsible for any recommendation, solicitation,
offer or agreement or any information about any transaction, customer
account or account activity contained in this communication.
***********************************************************************

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Binyamin Dissen
2008-05-29 15:20:30 UTC
Permalink
On Thu, 29 May 2008 11:06:22 -0400 "Imbriale, Donald" <***@BEAR.COM>
wrote:

:>It looks like you have the first left paren right up against the command
:>name OUTPUT. You need a space after OUTPUT.

Spoilsport!

I was wondering how long it would take him to try typing in the command so
that he could figure out his own error.

:>-----Original Message-----
:>From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
:>Of Hamilton, Robert L
:>Sent: Thursday, May 29, 2008 10:45 AM
:>To: TSO-***@VM.MARIST.EDU
:>Subject: Re: OUTPUT command in rexx exec

:>Thnx.

:>I changed to batch REXX then back to batch TSO, still nothing.

:>On Item 2, I don't know what you mean. I use Address and have
:>Checked the address with address().

:>This is what I get

:>OUTPUT( UA1RLHBX (JOB06622 )) PRINT( T273.TSO.OUTPUT )
:>IKJ56621I INVALID COMMAND NAME SYNTAX
:> 66 *-* CMD
:> +++ RC(-3) +++
:>no errors
:>READY

--
Binyamin Dissen <***@dissensoftware.com>
http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel


Should you use the mailblocks package and expect a response from me,
you should preauthorize the dissensoftware.com domain.

I very rarely bother responding to challenge/response systems,
especially those from irresponsible companies.

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Hamilton, Robert L
2008-05-29 16:00:18 UTC
Permalink
I've done it both ways.

bobh

-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Binyamin Dissen
Sent: Thursday, May 29, 2008 10:20 AM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

On Thu, 29 May 2008 11:06:22 -0400 "Imbriale, Donald"
<***@BEAR.COM>
wrote:

:>It looks like you have the first left paren right up against the
command
:>name OUTPUT. You need a space after OUTPUT.

Spoilsport!

I was wondering how long it would take him to try typing in the command
so
that he could figure out his own error.

:>-----Original Message-----
:>From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On
Behalf
:>Of Hamilton, Robert L
:>Sent: Thursday, May 29, 2008 10:45 AM
:>To: TSO-***@VM.MARIST.EDU
:>Subject: Re: OUTPUT command in rexx exec

:>Thnx.

:>I changed to batch REXX then back to batch TSO, still nothing.

:>On Item 2, I don't know what you mean. I use Address and have
:>Checked the address with address().

:>This is what I get

:>OUTPUT( UA1RLHBX (JOB06622 )) PRINT( T273.TSO.OUTPUT )
:>IKJ56621I INVALID COMMAND NAME SYNTAX
:> 66 *-* CMD
:> +++ RC(-3) +++
:>no errors
:>READY

--
Binyamin Dissen <***@dissensoftware.com>
http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel


Should you use the mailblocks package and expect a response from me,
you should preauthorize the dissensoftware.com domain.

I very rarely bother responding to challenge/response systems,
especially those from irresponsible companies.

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Hamilton, Robert L
2008-05-29 16:03:47 UTC
Permalink
Still get

"OUTPUT ( UA1RLHBX (JOB06690 )) PRINT( T273.TSO.OUTPUT ) "
IKJ56621I INVALID COMMAND NAME SYNTAX
68 *-* CMD
+++ RC(-3) +++
no errors
READY

What's next?

bobh






-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Imbriale, Donald
Sent: Thursday, May 29, 2008 10:06 AM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

It looks like you have the first left paren right up against the command
name OUTPUT. You need a space after OUTPUT.

Don Imbriale

-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Hamilton, Robert L
Sent: Thursday, May 29, 2008 10:45 AM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

Thnx.

I changed to batch REXX then back to batch TSO, still nothing.

On Item 2, I don't know what you mean. I use Address and have
Checked the address with address().

This is what I get

OUTPUT( UA1RLHBX (JOB06622 )) PRINT( T273.TSO.OUTPUT )
IKJ56621I INVALID COMMAND NAME SYNTAX
66 *-* CMD
+++ RC(-3) +++
no errors
READY



***********************************************************************
Bear Stearns is not responsible for any recommendation, solicitation,
offer or agreement or any information about any transaction, customer
account or account activity contained in this communication.
***********************************************************************

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Seibert, Dave
2008-05-29 16:08:49 UTC
Permalink
Perhaps I missed this earlier in the thread.

Have you confirmed that you have the correct host environment?

Prior to the OUTPUT command, issue an instruction:

Say address()

to display where your host commands are directed


Dave


The contents of this e-mail are intended for the named addressee only. It contains information that may be confidential. Unless you are the named addressee or an authorized designee, you may not copy or use it, or disclose it to anyone else. If you received it in error please notify us immediately and then destroy it.

From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Hamilton, Robert L
Sent: Thursday, May 29, 2008 12:02 PM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

Still get

"OUTPUT ( UA1RLHBX (JOB06690 )) PRINT( T273.TSO.OUTPUT ) "
IKJ56621I INVALID COMMAND NAME SYNTAX
68 *-* CMD
+++ RC(-3) +++
no errors
READY

What's next?

bobh

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Hamilton, Robert L
2008-05-29 16:20:36 UTC
Permalink
It's tso

TSO
"OUTPUT (UA1RLHBX(JOB06703)) PRINT(T273.TSO.OUTPUT)"
IKJ56621I INVALID COMMAND NAME SYNTAX
68 *-* CMD
+++ RC(-3) +++
no errors
READY

-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Seibert, Dave
Sent: Thursday, May 29, 2008 11:09 AM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

Perhaps I missed this earlier in the thread.

Have you confirmed that you have the correct host environment?

Prior to the OUTPUT command, issue an instruction:

Say address()

to display where your host commands are directed


Dave


The contents of this e-mail are intended for the named addressee only.
It contains information that may be confidential. Unless you are the
named addressee or an authorized designee, you may not copy or use it,
or disclose it to anyone else. If you received it in error please notify
us immediately and then destroy it.

From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Hamilton, Robert L
Sent: Thursday, May 29, 2008 12:02 PM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

Still get

"OUTPUT ( UA1RLHBX (JOB06690 )) PRINT( T273.TSO.OUTPUT ) "
IKJ56621I INVALID COMMAND NAME SYNTAX
68 *-* CMD
+++ RC(-3) +++
no errors
READY

What's next?

bobh

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Ryerse, Robin
2008-05-29 16:32:17 UTC
Permalink
Back to basics. Learn how to code a rexx statement for a host
environment to execute. Your rexx statemnet must read

Address tso "OUTPUT (UA1RLHBX(JOB06703)) PRINT(T273.TSO.OUTPUT)"

That is one (Rexx) statement where in Address tso and (at least
the beginning of) the host command must be on one line

-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Hamilton, Robert L
Sent: May 29, 2008 12:20 PM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

It's tso

TSO
"OUTPUT (UA1RLHBX(JOB06703)) PRINT(T273.TSO.OUTPUT)"
IKJ56621I INVALID COMMAND NAME SYNTAX
68 *-* CMD
+++ RC(-3) +++
no errors
READY

-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Seibert, Dave
Sent: Thursday, May 29, 2008 11:09 AM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

Perhaps I missed this earlier in the thread.

Have you confirmed that you have the correct host environment?

Prior to the OUTPUT command, issue an instruction:

Say address()

to display where your host commands are directed


Dave


The contents of this e-mail are intended for the named addressee only.
It contains information that may be confidential. Unless you are the
named addressee or an authorized designee, you may not copy or use it,
or disclose it to anyone else. If you received it in error please notify
us immediately and then destroy it.

From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Hamilton, Robert L
Sent: Thursday, May 29, 2008 12:02 PM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

Still get

"OUTPUT ( UA1RLHBX (JOB06690 )) PRINT( T273.TSO.OUTPUT ) "
IKJ56621I INVALID COMMAND NAME SYNTAX
68 *-* CMD
+++ RC(-3) +++
no errors
READY

What's next?

bobh

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions, send
email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions, send
email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Hardee, Charles H
2008-05-29 16:45:37 UTC
Permalink
<snip>
Back to basics. Learn how to code a rexx statement for a host
environment to execute. Your rexx statemnet must read

Address tso "OUTPUT (UA1RLHBX(JOB06703)) PRINT(T273.TSO.OUTPUT)"

That is one (Rexx) statement where in Address tso and (at least
the beginning of) the host command must be on one line

</snip>

Not sure what planet your on, but here on mine the exec:

/* rexx */
"OUTPUT HARCH03(JOB03602) PRINT(WORK.LISTLIB(TESTOUTP)) KEEP"
exit

Gives:
READY
TESTOUTP
NO HELD OUTPUT FOR JOB HARCH03(JOB03602)
READY
END

When run in batch TSO (EXEC PGM=IKJEFTSO).

The default environment is TSO, therefore no "ADDRESS TSO" is needed in
front of the command.

The results in this case are correct as the "job" I tried to "OUTPUT"
was my currently executing TSO session.

Placing the job identification within parens "(...)" gives the same
result. If memory serves me correctly, the surrounding parens are only
needed if you are going to supply more than one job.

Chuck

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Hamilton, Robert L
2008-05-29 19:24:01 UTC
Permalink
I'm using

//EXECTSO EXEC PGM=IKJEFT01,DYNAMNBR=5

bobh
-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Hardee, Charles H
Sent: Thursday, May 29, 2008 11:45 AM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

<snip>
Back to basics. Learn how to code a rexx statement for a host
environment to execute. Your rexx statemnet must read

Address tso "OUTPUT (UA1RLHBX(JOB06703)) PRINT(T273.TSO.OUTPUT)"

That is one (Rexx) statement where in Address tso and (at least
the beginning of) the host command must be on one line

</snip>

Not sure what planet your on, but here on mine the exec:

/* rexx */
"OUTPUT HARCH03(JOB03602) PRINT(WORK.LISTLIB(TESTOUTP)) KEEP"
exit

Gives:
READY
TESTOUTP
NO HELD OUTPUT FOR JOB HARCH03(JOB03602)
READY
END

When run in batch TSO (EXEC PGM=IKJEFTSO).

The default environment is TSO, therefore no "ADDRESS TSO" is needed in
front of the command.

The results in this case are correct as the "job" I tried to "OUTPUT"
was my currently executing TSO session.

Placing the job identification within parens "(...)" gives the same
result. If memory serves me correctly, the surrounding parens are only
needed if you are going to supply more than one job.

Chuck

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Dunkel, Martin
2008-05-29 17:54:06 UTC
Permalink
Robert,

I just coded...

EDIT $MPD1.PDS.CMNLIB1(OUTPUT) - 01.00
Command ===>
****** ********************************* Top of Data ************
000001 /* REXX */
000002 "OUTPUT ($MPD1BKP(JOB15619)) PRINT($MPD1.SEQ.OUTPUT.TEST)"
000003 EXIT 0
****** ******************************** Bottom of Data **********

...and executed it with "EX" - I'm already in the TSO/ISPF
environment...

...and it worked just fine.

Thanks! MPD

Martin Dunkel
National City Corporation
Turnover Support / ChangeMan ZMF
(w) 216-257-5354
(p) ***@archwireless.net


-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Hamilton, Robert L
Sent: Thursday, May 29, 2008 12:20 PM
To: TSO-***@VM.MARIST.EDU
Subject: Re: [TSO-REXX] OUTPUT command in rexx exec

It's tso

TSO
"OUTPUT (UA1RLHBX(JOB06703)) PRINT(T273.TSO.OUTPUT)"
IKJ56621I INVALID COMMAND NAME SYNTAX
68 *-* CMD
+++ RC(-3) +++
no errors
READY

-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Seibert, Dave
Sent: Thursday, May 29, 2008 11:09 AM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

Perhaps I missed this earlier in the thread.

Have you confirmed that you have the correct host environment?

Prior to the OUTPUT command, issue an instruction:

Say address()

to display where your host commands are directed


Dave


The contents of this e-mail are intended for the named addressee only.
It contains information that may be confidential. Unless you are the
named addressee or an authorized designee, you may not copy or use it,
or disclose it to anyone else. If you received it in error please notify
us immediately and then destroy it.

From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Hamilton, Robert L
Sent: Thursday, May 29, 2008 12:02 PM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

Still get

"OUTPUT ( UA1RLHBX (JOB06690 )) PRINT( T273.TSO.OUTPUT ) "
IKJ56621I INVALID COMMAND NAME SYNTAX
68 *-* CMD
+++ RC(-3) +++
no errors
READY

What's next?

bobh

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX


-------------------------------------------------------------------------------------------
***National City made the following annotations
-------------------------------------------------------------------------------------------
This communication is a confidential and proprietary business communication.
It is intended solely for the use of the designated recipient(s). If this
communication is received in error, please contact the sender and delete
this communication.
===========================================================================================

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Hamilton, Robert L
2008-05-29 17:58:42 UTC
Permalink
I need to do this in a step in a batch job.

bobh

-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Dunkel, Martin
Sent: Thursday, May 29, 2008 12:40 PM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

Robert,

I just coded...

EDIT $MPD1.PDS.CMNLIB1(OUTPUT) - 01.00
Command ===>
****** ********************************* Top of Data ************
000001 /* REXX */
000002 "OUTPUT ($MPD1BKP(JOB15619)) PRINT($MPD1.SEQ.OUTPUT.TEST)"
000003 EXIT 0
****** ******************************** Bottom of Data **********

...and executed it with "EX" - I'm already in the TSO/ISPF
environment...

...and it worked just fine.

Thanks! MPD

Martin Dunkel
National City Corporation
Turnover Support / ChangeMan ZMF
(w) 216-257-5354
(p) ***@archwireless.net


-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Hamilton, Robert L
Sent: Thursday, May 29, 2008 12:20 PM
To: TSO-***@VM.MARIST.EDU
Subject: Re: [TSO-REXX] OUTPUT command in rexx exec

It's tso

TSO
"OUTPUT (UA1RLHBX(JOB06703)) PRINT(T273.TSO.OUTPUT)"
IKJ56621I INVALID COMMAND NAME SYNTAX
68 *-* CMD
+++ RC(-3) +++
no errors
READY

-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Seibert, Dave
Sent: Thursday, May 29, 2008 11:09 AM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

Perhaps I missed this earlier in the thread.

Have you confirmed that you have the correct host environment?

Prior to the OUTPUT command, issue an instruction:

Say address()

to display where your host commands are directed


Dave


The contents of this e-mail are intended for the named addressee only.
It contains information that may be confidential. Unless you are the
named addressee or an authorized designee, you may not copy or use it,
or disclose it to anyone else. If you received it in error please notify
us immediately and then destroy it.

From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Hamilton, Robert L
Sent: Thursday, May 29, 2008 12:02 PM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

Still get

"OUTPUT ( UA1RLHBX (JOB06690 )) PRINT( T273.TSO.OUTPUT ) "
IKJ56621I INVALID COMMAND NAME SYNTAX
68 *-* CMD
+++ RC(-3) +++
no errors
READY

What's next?

bobh

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX


------------------------------------------------------------------------
-------------------
***National City made the following annotations
------------------------------------------------------------------------
-------------------
This communication is a confidential and proprietary business
communication.
It is intended solely for the use of the designated recipient(s). If
this
communication is received in error, please contact the sender and delete

this communication.
========================================================================
===================

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Dunkel, Martin
2008-05-29 18:18:22 UTC
Permalink
Bob,

I gathered that. I just wanted to see if the command format was
correct.

The RC(-3) seems to keep pointing back to your command environment or
command format.

One thing I noticed about the TSO OUTPUT command is that the
(jobname(jobid)) construct is only limited to job names beginning with
your ID. Maybe that has something to do with the problem.

Thanks! MPD

Martin Dunkel
National City Corporation
Turnover Support / ChangeMan ZMF
(w) 216-257-5354
(p) ***@archwireless.net


-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Hamilton, Robert L
Sent: Thursday, May 29, 2008 1:58 PM
To: TSO-***@VM.MARIST.EDU
Subject: Re: [TSO-REXX] OUTPUT command in rexx exec

I need to do this in a step in a batch job.

bobh

-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Dunkel, Martin
Sent: Thursday, May 29, 2008 12:40 PM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

Robert,

I just coded...

EDIT $MPD1.PDS.CMNLIB1(OUTPUT) - 01.00
Command ===>
****** ********************************* Top of Data ************
000001 /* REXX */
000002 "OUTPUT ($MPD1BKP(JOB15619)) PRINT($MPD1.SEQ.OUTPUT.TEST)"
000003 EXIT 0
****** ******************************** Bottom of Data **********

...and executed it with "EX" - I'm already in the TSO/ISPF
environment...

...and it worked just fine.

Thanks! MPD

Martin Dunkel
National City Corporation
Turnover Support / ChangeMan ZMF
(w) 216-257-5354
(p) ***@archwireless.net


-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Hamilton, Robert L
Sent: Thursday, May 29, 2008 12:20 PM
To: TSO-***@VM.MARIST.EDU
Subject: Re: [TSO-REXX] OUTPUT command in rexx exec

It's tso

TSO
"OUTPUT (UA1RLHBX(JOB06703)) PRINT(T273.TSO.OUTPUT)"
IKJ56621I INVALID COMMAND NAME SYNTAX
68 *-* CMD
+++ RC(-3) +++
no errors
READY

-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Seibert, Dave
Sent: Thursday, May 29, 2008 11:09 AM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

Perhaps I missed this earlier in the thread.

Have you confirmed that you have the correct host environment?

Prior to the OUTPUT command, issue an instruction:

Say address()

to display where your host commands are directed


Dave


The contents of this e-mail are intended for the named addressee only.
It contains information that may be confidential. Unless you are the
named addressee or an authorized designee, you may not copy or use it,
or disclose it to anyone else. If you received it in error please notify
us immediately and then destroy it.

From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Hamilton, Robert L
Sent: Thursday, May 29, 2008 12:02 PM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

Still get

"OUTPUT ( UA1RLHBX (JOB06690 )) PRINT( T273.TSO.OUTPUT ) "
IKJ56621I INVALID COMMAND NAME SYNTAX
68 *-* CMD
+++ RC(-3) +++
no errors
READY

What's next?

bobh

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX


------------------------------------------------------------------------
-------------------
***National City made the following annotations
------------------------------------------------------------------------
-------------------
This communication is a confidential and proprietary business
communication.
It is intended solely for the use of the designated recipient(s). If
this
communication is received in error, please contact the sender and delete

this communication.
========================================================================
===================

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Richards, Robert B.
2008-05-29 18:31:31 UTC
Permalink
Might I suggest that you invoke SDSF in batch instead of OUTPUT?

I know Rob Zenuk once had a great exec called SDSFXDC that worked like a
charm.

Bob

---------------------------------------------------------
Robert B. Richards (Bob)
US Office of Personnel Management
1900 E Street NW Room: BH04L
Washington, D.C. 20415
Phone: (202) 606-1195
Email: ***@opm.gov
---------------------------------------------------------

-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Dunkel, Martin
Sent: Thursday, May 29, 2008 2:18 PM
To: TSO-***@VM.MARIST.EDU
Subject: Re: [TSO-REXX] OUTPUT command in rexx exec

Bob,

I gathered that. I just wanted to see if the command format was
correct.

The RC(-3) seems to keep pointing back to your command environment or
command format.

One thing I noticed about the TSO OUTPUT command is that the
(jobname(jobid)) construct is only limited to job names beginning with
your ID. Maybe that has something to do with the problem.

Thanks! MPD

Martin Dunkel
National City Corporation
Turnover Support / ChangeMan ZMF
(w) 216-257-5354
(p) ***@archwireless.net


-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Hamilton, Robert L
Sent: Thursday, May 29, 2008 1:58 PM
To: TSO-***@VM.MARIST.EDU
Subject: Re: [TSO-REXX] OUTPUT command in rexx exec

I need to do this in a step in a batch job.

bobh

-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Dunkel, Martin
Sent: Thursday, May 29, 2008 12:40 PM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

Robert,

I just coded...

EDIT $MPD1.PDS.CMNLIB1(OUTPUT) - 01.00
Command ===>
****** ********************************* Top of Data ************
000001 /* REXX */
000002 "OUTPUT ($MPD1BKP(JOB15619)) PRINT($MPD1.SEQ.OUTPUT.TEST)"
000003 EXIT 0
****** ******************************** Bottom of Data **********

...and executed it with "EX" - I'm already in the TSO/ISPF
environment...

...and it worked just fine.

Thanks! MPD

Martin Dunkel
National City Corporation
Turnover Support / ChangeMan ZMF
(w) 216-257-5354
(p) ***@archwireless.net


-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Hamilton, Robert L
Sent: Thursday, May 29, 2008 12:20 PM
To: TSO-***@VM.MARIST.EDU
Subject: Re: [TSO-REXX] OUTPUT command in rexx exec

It's tso

TSO
"OUTPUT (UA1RLHBX(JOB06703)) PRINT(T273.TSO.OUTPUT)"
IKJ56621I INVALID COMMAND NAME SYNTAX
68 *-* CMD
+++ RC(-3) +++
no errors
READY

-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Seibert, Dave
Sent: Thursday, May 29, 2008 11:09 AM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

Perhaps I missed this earlier in the thread.

Have you confirmed that you have the correct host environment?

Prior to the OUTPUT command, issue an instruction:

Say address()

to display where your host commands are directed


Dave


The contents of this e-mail are intended for the named addressee only.
It contains information that may be confidential. Unless you are the
named addressee or an authorized designee, you may not copy or use it,
or disclose it to anyone else. If you received it in error please notify
us immediately and then destroy it.

From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Hamilton, Robert L
Sent: Thursday, May 29, 2008 12:02 PM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

Still get

"OUTPUT ( UA1RLHBX (JOB06690 )) PRINT( T273.TSO.OUTPUT ) "
IKJ56621I INVALID COMMAND NAME SYNTAX
68 *-* CMD
+++ RC(-3) +++
no errors
READY

What's next?

bobh

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX


------------------------------------------------------------------------
-------------------
***National City made the following annotations
------------------------------------------------------------------------
-------------------
This communication is a confidential and proprietary business
communication.
It is intended solely for the use of the designated recipient(s). If
this
communication is received in error, please contact the sender and delete

this communication.
========================================================================
===================

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Hamilton, Robert L
2008-05-29 20:26:30 UTC
Permalink
I'm trying to find the ZENUK exec; also a guy named Doug Nadel had one.
. .

?

bobh


----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Imbriale, Donald
2008-05-29 16:09:45 UTC
Permalink
Take out the spaces.

OUTPUT (UA1RLHBX(JOB06690)) PRINT(T273.TSO.OUTPUT)

Don Imbriale


-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Hamilton, Robert L
Sent: Thursday, May 29, 2008 12:02 PM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

Still get

"OUTPUT ( UA1RLHBX (JOB06690 )) PRINT( T273.TSO.OUTPUT ) "
IKJ56621I INVALID COMMAND NAME SYNTAX
68 *-* CMD
+++ RC(-3) +++
no errors
READY

What's next?




***********************************************************************
Bear Stearns is not responsible for any recommendation, solicitation,
offer or agreement or any information about any transaction, customer
account or account activity contained in this communication.
***********************************************************************

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Hamilton, Robert L
2008-05-29 16:18:28 UTC
Permalink
Still get


"OUTPUT (UA1RLHBX(JOB06701)) PRINT(T273.TSO.OUTPUT)"
IKJ56621I INVALID COMMAND NAME SYNTAX
68 *-* CMD
+++ RC(-3) +++
no errors
READY

But thnx

bobh










-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Imbriale, Donald
Sent: Thursday, May 29, 2008 11:08 AM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

Take out the spaces.

OUTPUT (UA1RLHBX(JOB06690)) PRINT(T273.TSO.OUTPUT)

Don Imbriale


-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Hamilton, Robert L
Sent: Thursday, May 29, 2008 12:02 PM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

Still get

"OUTPUT ( UA1RLHBX (JOB06690 )) PRINT( T273.TSO.OUTPUT ) "
IKJ56621I INVALID COMMAND NAME SYNTAX
68 *-* CMD
+++ RC(-3) +++
no errors
READY

What's next?




***********************************************************************
Bear Stearns is not responsible for any recommendation, solicitation,
offer or agreement or any information about any transaction, customer
account or account activity contained in this communication.
***********************************************************************

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Lizette Koehler
2008-05-29 16:21:03 UTC
Permalink
If this is a REXX can you turn TRACE ?i on to see what it is generating?

The TSO OUTPUT command needs the JOBNAME(JOBID) next to each other. I think it will ignore spaces anywhere else.

I believe the following command would work:
OUTPUT ( joname(jobid) ) Print(dsn)

Whereas This command syntax should fail
OUTPUT( jobname (jobid) ) Print(dsn)

Lizette


>Take out the spaces.
>
>OUTPUT (UA1RLHBX(JOB06690)) PRINT(T273.TSO.OUTPUT)
>
>Don Imbriale
>
>>Still get
>
>"OUTPUT ( UA1RLHBX (JOB06690 )) PRINT( T273.TSO.OUTPUT ) "
>IKJ56621I INVALID COMMAND NAME SYNTAX
> 68 *-* CMD
> +++ RC(-3) +++
>no errors
>READY
>
>What's next?
>

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Imbriale, Donald
2008-05-29 18:20:49 UTC
Permalink
I'm not sure if you've posted the JCL. That might help. Also, as much
of the REXX exec as you can.

Don Imbriale


-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Hamilton, Robert L
Sent: Thursday, May 29, 2008 1:58 PM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

I need to do this in a step in a batch job.




***********************************************************************
Bear Stearns is not responsible for any recommendation, solicitation,
offer or agreement or any information about any transaction, customer
account or account activity contained in this communication.
***********************************************************************

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Hamilton, Robert L
2008-05-29 18:35:29 UTC
Permalink
JOB_NAME = MVSVAR('SYMDEF',"JOBNAME");
SAY JOB_NAME


/* GET JOBID: CURRENT_TCB->JSCB->SSIB */
NUMERIC DIGITS 24 ; /* TRACE I */
CVTPTR=STORAGE(10,4) /*CVT*/
PSATCB=STORAGE(D2X(C2D(CVTPTR)),4)
CURRTCB=STORAGE(D2X(C2D(PSATCB)),4)
TCBJSCB=STORAGE(D2X(C2D(CURRTCB)+X2D(B4)),4)
JSCBSSIB=STORAGE(D2X(C2D(TCBJSCB)+X2D(13C)),4)
SSIBJBID=STORAGE(D2X(C2D(JSCBSSIB)+X2D(C)),8)
SAY 'JOBID='SSIBJBID
say date('C'); say address();
CMD = "OUTPUT "JOB_NAME'('SSIBJBID') PRINT('T273.TSO.OUTPUT')' ;

CMD = '"'CMD'"' ;

SAY CMD;
trace ?I
CMD ;

exit(0);

/* is the REXX code */



























-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Imbriale, Donald
Sent: Thursday, May 29, 2008 1:19 PM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

I'm not sure if you've posted the JCL. That might help. Also, as much
of the REXX exec as you can.

Don Imbriale



----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Hardee, Charles H
2008-05-29 18:53:21 UTC
Permalink
Bob,

This is what is in your exec below:
CMD = "OUTPUT "JOB_NAME'('SSIBJBID') PRINT('T273.TSO.OUTPUT')' ;
The "OUTPUT " is a literal.
JOB_NAME is a variable
The '(' is a literal
SSIBJBID is a variable
The ') PRINT(' is a literal
T273.TSO.OUTPUT is a variable
The ')' is a literal

Is this what you meant?
I think you meant:

CMD = "OUTPUT "JOB_NAME'('SSIBJBID") PRINT('T273.TSO.OUTPUT')" ;

Chuck

-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Hamilton, Robert L
Sent: Thursday, May 29, 2008 1:33 PM
To: TSO-***@VM.MARIST.EDU
Subject: Re: [TSO-REXX] OUTPUT command in rexx exec

JOB_NAME = MVSVAR('SYMDEF',"JOBNAME");
SAY JOB_NAME


/* GET JOBID: CURRENT_TCB->JSCB->SSIB */
NUMERIC DIGITS 24 ; /* TRACE I */
CVTPTR=STORAGE(10,4) /*CVT*/
PSATCB=STORAGE(D2X(C2D(CVTPTR)),4)
CURRTCB=STORAGE(D2X(C2D(PSATCB)),4)
TCBJSCB=STORAGE(D2X(C2D(CURRTCB)+X2D(B4)),4)
JSCBSSIB=STORAGE(D2X(C2D(TCBJSCB)+X2D(13C)),4)
SSIBJBID=STORAGE(D2X(C2D(JSCBSSIB)+X2D(C)),8)
SAY 'JOBID='SSIBJBID
say date('C'); say address();
CMD = "OUTPUT "JOB_NAME'('SSIBJBID') PRINT('T273.TSO.OUTPUT')' ;

CMD = '"'CMD'"' ;

SAY CMD;
trace ?I
CMD ;

exit(0);

/* is the REXX code */



























-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Imbriale, Donald
Sent: Thursday, May 29, 2008 1:19 PM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

I'm not sure if you've posted the JCL. That might help. Also, as much
of the REXX exec as you can.

Don Imbriale



----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Hamilton, Robert L
2008-05-29 20:22:49 UTC
Permalink
I'm going to try the PRINT parm in single quotes. . .

bobh

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Dunkel, Martin
2008-05-29 20:29:45 UTC
Permalink
Bob,

I think the original reason for the RC(-3) is because CMD is not a valid
command in the TSO environment. Your code isn't passing the "OUTPUT"
command to TSO, it is passing "CMD" to TSO.

So, instead of coding...

ADDRESS TSO
CMD="THIS IS A COMMAND";
CMD;

Just code...

ADDRESS TSO
"THIS IS A COMMAND";

Thanks! MPD

Martin Dunkel
National City Corporation
Turnover Support / ChangeMan ZMF
(w) 216-257-5354
(p) ***@archwireless.net


-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Hamilton, Robert L
Sent: Thursday, May 29, 2008 4:22 PM
To: TSO-***@VM.MARIST.EDU
Subject: Re: [TSO-REXX] OUTPUT command in rexx exec

I'm going to try the PRINT parm in single quotes. . .

bobh

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX


-------------------------------------------------------------------------------------------
***National City made the following annotations
-------------------------------------------------------------------------------------------
This communication is a confidential and proprietary business communication.
It is intended solely for the use of the designated recipient(s). If this
communication is received in error, please contact the sender and delete
this communication.
===========================================================================================

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
KIP3News Provinzial-AG
2008-05-30 09:24:20 UTC
Permalink
Just drop this line and you are done:

CMD = '"'CMD'"' ;

Regards
Heinz-Bernd

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Hamilton, Robert L
2008-05-30 13:02:13 UTC
Permalink
This entire thread is my fault. OUTPUT works only for JOBNAMEs that
start with your USERID.

I'm sure I can use the ZENUK routine to get what I need.

Thanx to all

bobh


----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Michael Giaquinto
2008-05-30 13:14:50 UTC
Permalink
There's an SDSF interface to REXX that works really well. I'm on
vacation right now and I don't have the redbook title, but there's a
redbook specifically for it.


Mike Giaquinto
AVP/CICS Technical Lead - MOBS
480-724-6733, cell 480-510-2132
This message may contain confidential and/or privileged information. If
you are not the addressee or authorized to receive this for the
addressee, you must not use, copy, disclose, or take any action based on
this message or any information herein. If you have received this
message in error, please advise the sender immediately by reply e-mail
and delete this message. Thank you for your cooperation.


-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Hamilton, Robert L
Sent: Friday, May 30, 2008 6:02 AM
To: TSO-***@VM.MARIST.EDU
Subject: [TSO-REXX] OUTPUT command in rexx exec

This entire thread is my fault. OUTPUT works only for JOBNAMEs that
start with your USERID.

I'm sure I can use the ZENUK routine to get what I need.

Thanx to all

bobh


----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions, send
email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Imbriale, Donald
2008-05-29 18:39:57 UTC
Permalink
Show us the JCL.

Don Imbriale

-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Hamilton, Robert L
Sent: Thursday, May 29, 2008 2:33 PM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

JOB_NAME = MVSVAR('SYMDEF',"JOBNAME");
SAY JOB_NAME


/* GET JOBID: CURRENT_TCB->JSCB->SSIB */
NUMERIC DIGITS 24 ; /* TRACE I */
CVTPTR=STORAGE(10,4) /*CVT*/
PSATCB=STORAGE(D2X(C2D(CVTPTR)),4)
CURRTCB=STORAGE(D2X(C2D(PSATCB)),4)
TCBJSCB=STORAGE(D2X(C2D(CURRTCB)+X2D(B4)),4)
JSCBSSIB=STORAGE(D2X(C2D(TCBJSCB)+X2D(13C)),4)
SSIBJBID=STORAGE(D2X(C2D(JSCBSSIB)+X2D(C)),8)
SAY 'JOBID='SSIBJBID
say date('C'); say address();
CMD = "OUTPUT "JOB_NAME'('SSIBJBID') PRINT('T273.TSO.OUTPUT')' ;

CMD = '"'CMD'"' ;

SAY CMD;
trace ?I
CMD ;

exit(0);

/* is the REXX code */



























-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Imbriale, Donald
Sent: Thursday, May 29, 2008 1:19 PM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

I'm not sure if you've posted the JCL. That might help. Also, as much
of the REXX exec as you can.

Don Imbriale



----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX



***********************************************************************
Bear Stearns is not responsible for any recommendation, solicitation,
offer or agreement or any information about any transaction, customer
account or account activity contained in this communication.
***********************************************************************

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Imbriale, Donald
2008-05-29 19:36:50 UTC
Permalink
The problem, as someone else mentioned, probably has to do with quotes.

CMD = "OUTPUT "JOB_NAME'('SSIBJBID') PRINT('T273.TSO.OUTPUT')' ;

Change the single quote after SSIBJBID to a double quote and change the
final single quote near the end of the line to a double quote. That
will make the dataset name part of the string and have it enclosed in
single quotes.

Don Imbriale

-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Hamilton, Robert L
Sent: Thursday, May 29, 2008 2:33 PM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

JOB_NAME = MVSVAR('SYMDEF',"JOBNAME");
SAY JOB_NAME


/* GET JOBID: CURRENT_TCB->JSCB->SSIB */
NUMERIC DIGITS 24 ; /* TRACE I */
CVTPTR=STORAGE(10,4) /*CVT*/
PSATCB=STORAGE(D2X(C2D(CVTPTR)),4)
CURRTCB=STORAGE(D2X(C2D(PSATCB)),4)
TCBJSCB=STORAGE(D2X(C2D(CURRTCB)+X2D(B4)),4)
JSCBSSIB=STORAGE(D2X(C2D(TCBJSCB)+X2D(13C)),4)
SSIBJBID=STORAGE(D2X(C2D(JSCBSSIB)+X2D(C)),8)
SAY 'JOBID='SSIBJBID
say date('C'); say address();
CMD = "OUTPUT "JOB_NAME'('SSIBJBID') PRINT('T273.TSO.OUTPUT')' ;

CMD = '"'CMD'"' ;

SAY CMD;
trace ?I
CMD ;

exit(0);

/* is the REXX code */





***********************************************************************
Bear Stearns is not responsible for any recommendation, solicitation,
offer or agreement or any information about any transaction, customer
account or account activity contained in this communication.
***********************************************************************

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Don Leahy
2008-05-29 20:00:44 UTC
Permalink
The HILITE REXX command under the ISPF Editor is a great way to help
figure out how to use quotes in Rexx code. I would be lost without
it.

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Hamilton, Robert L
2008-05-29 20:14:58 UTC
Permalink
REXXTRY is also great. . .

bobh

-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Don Leahy
Sent: Thursday, May 29, 2008 2:59 PM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

The HILITE REXX command under the ISPF Editor is a great way to help
figure out how to use quotes in Rexx code. I would be lost without
it.

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Hamilton, Robert L
2008-05-29 20:18:40 UTC
Permalink
I think I tried this; I wonder if I need an END subcommand. The manual
shows an END sub-command

bobh

-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Imbriale, Donald
Sent: Thursday, May 29, 2008 2:36 PM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

The problem, as someone else mentioned, probably has to do with quotes.

CMD = "OUTPUT "JOB_NAME'('SSIBJBID') PRINT('T273.TSO.OUTPUT')' ;

Change the single quote after SSIBJBID to a double quote and change the
final single quote near the end of the line to a double quote. That
will make the dataset name part of the string and have it enclosed in
single quotes.

Don Imbriale


----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Hamilton, Robert L
2008-05-29 21:36:56 UTC
Permalink
Got this

IKJ56328I JOB STFRLHBX REJECTED - JOBNAME MUST BE YOUR USERID OR MUST START WITh
YOUR USERID




Bob,

Have you tried the command natively in TSO? Or Option 6? It will work the same way in REXX and might give you a better clue as to why you get a -3.

Lizette
Edwin R Philbrook
2008-05-29 22:13:50 UTC
Permalink
As per John McKown:

Unless you implement the IKJEFF53 exit properly to allow it. We did this
long ago. We control access to job output via RACF instead.

EdP




"Hamilton, Robert L" <***@UTDALLAS.EDU>
Sent by: TSO REXX Discussion List <TSO-***@VM.MARIST.EDU>
05/29/2008 05:37 PM
Please respond to
TSO REXX Discussion List <TSO-***@VM.MARIST.EDU>


To
TSO-***@VM.MARIST.EDU
cc

Subject
Re: [TSO-REXX] OUTPUT command in rexx exec






Got this

IKJ56328I JOB STFRLHBX REJECTED - JOBNAME MUST BE YOUR USERID OR MUST
START WITh
YOUR USERID




Bob,

Have you tried the command natively in TSO? Or Option 6? It will work
the same way in REXX and might give you a better clue as to why you get a
-3.

Lizette





----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Lizette Koehler
2008-05-29 22:42:17 UTC
Permalink
Then your issue is the TSO Exit IKJEFT53 (This controls OUTPUT, CANCEL and STATUS under TSO). Most shops leave the exit shipped as is. This version will require that your TSOID +1 char match the job you are trying to use (OUTPUT, CANCEL or STATUS). So you can try this with jobs that start with your TSO ID but no others.

Or you can change the behavior of the TSO Exit. Look at manual TSO/E Customization SA22-7783-08 for the information on this exit. Chapter 33.

Lizette



[>] --> Snip
Got this

IKJ56328I JOB STFRLHBX REJECTED - JOBNAME MUST BE YOUR USERID OR MUST START WITh
YOUR USERID





Have you tried the command natively in TSO? Or Option 6? It will work the same way in REXX and might give you a better clue as to why you get a -3.
[>] --> UnSNIP

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Mickey Bee
2008-05-29 22:54:55 UTC
Permalink
In that case, why not just write an edit macro to edit the JCL itself, parse out the file names, and test them to see if they have any data (EXECIO 1 DISKR ddname (STEM ANYONEHOME. FINI). You can run this under ISPF batch, and get past all these TSO issues.

Mickey

-------------- Original message ----------------------
From: "Hamilton, Robert L" <***@UTDALLAS.EDU>
> Here's the problem; we have jobs that send files by FTP to various
> vendors. Some of them blow up when the dataset is empty. So, just
> before the FTP step I want to insert one generic step that will detect
> empty datasets and put a generic msg in them. I thought one way would be
> to get the output from the job up to that step and go thru that looking
> for empty datasets. The way it's done now is pretty complicated and
> doesn't work all the time.
>
> Thnx
>
> bobh
>
>
>
> -----Original Message-----
> From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
> Of Hardee, Charles H
> Sent: Thursday, May 29, 2008 6:07 AM
> To: TSO-***@VM.MARIST.EDU
> Subject: Re: OUTPUT command in rexx exec
>
> Bob,
>
> <snip>
> This is a step in JCL; I need to get the sysout from the
> prior steps into a dataset and I thought OUTPUT would do
> it.
> </snip>
>
> If I understand your response (above), why not simply point the output
> DDs of the previous steps to a dataset? You can either create a dataset
> for each step or create one at the beginning and piggy back the
> remaining steps into it. Then, feed that dataset into your program that
> needs the output from the other steps.
>
> Am I missing something here?
>
> You can either use temporary datasets for each step or a permanent one.
> If you need to really print the output versus send it into a program,
> you can use iebgener to copy it from the dataset right to the output
> queue for printing.
>
> Chuck
>
> ----------------------------------------------------------------------
> For TSO-REXX subscribe / signoff / archive access instructions,
> send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
>
> ----------------------------------------------------------------------
> For TSO-REXX subscribe / signoff / archive access instructions,
> send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Bob Hamilton
2008-05-30 11:02:17 UTC
Permalink
The JCL does not have the full name of the GDG's in the
JCL. You have to look at the sysout. I've found a piece
of REXX code that will do it.

thanx to all for the help
bobh


On Thu, 29 May 2008 22:54:39 +0000
Mickey Bee <***@COMCAST.NET> wrote:
> In that case, why not just write an edit macro to edit
> the JCL itself, parse out the file names, and test them
> to see if they have any data (EXECIO 1 DISKR ddname (STEM
> ANYONEHOME. FINI). You can run this under ISPF batch, and
> get past all these TSO issues.
>
> Mickey
>
> -------------- Original message ----------------------
> From: "Hamilton, Robert L" <***@UTDALLAS.EDU>
> > Here's the problem; we have jobs that send files by FTP
> to various
> > vendors. Some of them blow up when the dataset is
> empty. So, just
> > before the FTP step I want to insert one generic step
> that will detect
> > empty datasets and put a generic msg in them. I thought
> one way would be
> > to get the output from the job up to that step and go
> thru that looking
> > for empty datasets. The way it's done now is pretty
> complicated and
> > doesn't work all the time.
> >
> > Thnx
> >
> > bobh
> >
> >
> >
> > -----Original Message-----
> > From: TSO REXX Discussion List
> [mailto:TSO-***@VM.MARIST.EDU] On Behalf
> > Of Hardee, Charles H
> > Sent: Thursday, May 29, 2008 6:07 AM
> > To: TSO-***@VM.MARIST.EDU
> > Subject: Re: OUTPUT command in rexx exec
> >
> > Bob,
> >
> > <snip>
> > This is a step in JCL; I need to get the sysout from
> the
> > prior steps into a dataset and I thought OUTPUT would
> do
> > it.
> > </snip>
> >
> > If I understand your response (above), why not simply
> point the output
> > DDs of the previous steps to a dataset? You can either
> create a dataset
> > for each step or create one at the beginning and piggy
> back the
> > remaining steps into it. Then, feed that dataset into
> your program that
> > needs the output from the other steps.
> >
> > Am I missing something here?
> >
> > You can either use temporary datasets for each step or
> a permanent one.
> > If you need to really print the output versus send it
> into a program,
> > you can use iebgener to copy it from the dataset right
> to the output
> > queue for printing.
> >
> > Chuck
> >
> >
>
----------------------------------------------------------------------
> > For TSO-REXX subscribe / signoff / archive access
> instructions,
> > send email to ***@VM.MARIST.EDU with the message:
> INFO TSO-REXX
> >
> >
>
----------------------------------------------------------------------
> > For TSO-REXX subscribe / signoff / archive access
> instructions,
> > send email to ***@VM.MARIST.EDU with the message:
> INFO TSO-REXX
>
>
----------------------------------------------------------------------
> For TSO-REXX subscribe / signoff / archive access
> instructions,
> send email to ***@VM.MARIST.EDU with the message:
> INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Robert Zenuk
2008-05-30 17:49:06 UTC
Permalink
As the author of the ZENUK routine, I am still not sure this is the best
solution. This is using anti-aircraft missiles to kill mosquitos... (any Monty
Python fans out there?)

A much more straight forward approach to this is an EXEC that checks for
records and sets an RC and using basic IF/COND logic to make good decisions (all
suggested already). I thought I posted a working solution to a similar
request recently. However, I did not find it in the archives, so here it is
again.

CHKMTGDG EXEC

/* rexx - CHKMTGDG */
"EXECIO 1 DISKR EMPTY (STEM REC. FINIS"
exit RC

FTP JCL to Check for an Empty GDG

//jobcard...
//***************************************************************
//* PROC USING CHKMTGDG *
//***************************************************************
//CHKNFTP PROC FTPDSN=,FTPBAD=DSN.NORECS.MODEL
//***************************************************************
//* IS IT EMPTY? *
//***************************************************************
//EMPTY EXEC PGM=IKJEFT01,PARM=CHKMTGDG
//SYSEXEC DD DSN=your.EXEC.pds,DISP=SHR
//EMPTY DD DSN=&FTPDSN,DISP=SHR
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD DUMMY
//***************************************************************
// IF EMPTY.RC = 0 THEN
//***************************************************************
//* FILE NOT EMPTY FTP IT *
//***************************************************************
//FTPGOOD EXEC PGM=IEFBR14
//SEND DD DSN=&FTPDSN,DISP=SHR
//***************************************************************
// ELSE
//***************************************************************
//* FILE IS EMPTY, SEND THE "NO RECORDS TO SEND" FILE *
//***************************************************************
//FTPBAD EXEC PGM=IEFBR14
//SEND DD DSN=&FTPBAD,DISP=SHR
//***************************************************************
// ENDIF
//***************************************************************
// PEND
//***************************************************************
//* SEQUENTIAL FILE WITH RECORDS AS INPUT *
//***************************************************************
//NOTEMPTY EXEC CHKNFTP,FTPDSN=my.TESTZ.GDG(-1)
//***************************************************************
//* EMPTY SEQUENTIAL FILE AS INPUT *
//***************************************************************
//EMPTY EXEC CHKNFTP,FTPDSN=my.TESTZ.GDG(0)


Replace the FTP/IEFBR14 steps with real FTP steps and use the //DD:SEND
syntax to make your life easier.

If you still insist, here is the SDSFEXT JCL and program:

//jobcard...
//SDSFEXT1 EXEC PGM=IKJEFT01,PARM='SDSFEXT'
//SYSEXEC DD DSN=OPSROZ.EXEC,DISP=SHR
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD DUMMY

SDSFEXT EXEC (sorry if the indentation was lost):

/*********************************************************************/
/* REXX */
/*********************************************************************/
/* Purpose: Extract current Job's SYSOUT using SDSF */
/*-------------------------------------------------------------------*/
/* Syntax: SDSFEXT sysoutdd */
/*-------------------------------------------------------------------*/
/* Parms: sysoutdd - The Sysout DD to extract */
/* */
/* Notes: Return Codes */
/* 00 Everything worked output should be in ISFEXT DSN */
/* 08 Jobname is missing */
/* 10 Allocation error on ISFIN */
/* 11 Allocation error on ISFEXT */
/* 12 Allocation error on ISFOUT */
/* 16 EXECIO error loading ISFIN */
/* ?? Anything else is probably from SDSF */
/* */
/* Extract DSN will be userid.SDSF.OUTPUT.jobname if ISFEXT DD is */
/* not pre-allocated (possibly for size reasons) */
/* */
/* Sample JCL */
/* */
/* //SDSFEXT EXEC PGM=IKJEFT01,PARM='SDSFEXT JESYSMSG' */
/* //SYSEXEC DD DSN=your.exec.pds,DISP=SHR */
/* //SYSTSPRT DD SYSOUT=* */
/* //SYSTSIN DD DUMMY */
/* */
/*********************************************************************/
/* Change Log */
/* */
/* Author Date Reason */
/* -------- --------- ----------------------------------------- */
/* R. Zenuk Dec 2003 Initial Creation */
/* R. Zenuk 05/30/08 Optional SYSOUT DD */
/* */
/*********************************************************************/
/* Accept input parameters */
/*********************************************************************/
arg sysoutdd .
parse source execenv . execname . execdsn .
/*********************************************************************/
/* Find Jobname and jobnum */
/*********************************************************************/
jobname = mvsvar('SYMDEF',JOBNAME)
tcb = storage(21c,4)
tiot = storage(d2x(c2d(tcb)+12),4)
jscb = storage(d2x(c2d(tcb)+180),4)
ssib = storage(d2x(c2d(jscb)+316),4)
jobnum = storage(d2x(c2d(ssib)+12),8)
/*********************************************************************/
/* ISFIN is the DDNAME to hold the formatted SDSF commands */
/*********************************************************************/
EXITRC = listdsi("ISFIN" "FILE")
if EXITRC <> 0 then
do
"ALLOC F(ISFIN) UNIT(VIO) SPACE(1) TRACKS NEW LRECL(80)"
if RC <> 0 then exit(10)
end
/*********************************************************************/
/* ISFEXT is the DDNAME to hold the extract SYSOUT dataset */
/*********************************************************************/
EXITRC = listdsi("ISFEXT" "FILE")
if EXITRC <> 0 then
do
sdsfdsn = "'"userid()".SDSF.OUTPUT."jobname"'"
if sysdsn(sdsfdsn) = 'OK' then "DELETE" sdsfdsn
"ALLOC F(ISFEXT) DA("sdsfdsn") NEW CATALOG SPACE(10 1) CYLINDERS",
"LRECL(133) BLKSIZE(137) RECFM(V B A) UNIT(SYSDA)"
if RC <> 0 then exit(11)
end
/*********************************************************************/
/* ISFOUT is the DDNAME to hold the SDSF Output */
/*********************************************************************/
EXITRC = listdsi("ISFOUT" "FILE")
if EXITRC <> 0 then
do
"ALLOC F(ISFOUT) SYSOUT(Z)"
if RC <> 0 then exit(12)
end
/*********************************************************************/
/* Build ISFIN input */
/*********************************************************************/
if sysoutdd = '' then
do
/*********************************************************************/
/* Entire Output */
/*********************************************************************/
isfin.1 = 'PREFIX' jobname
isfin.2 = 'DA'
isfin.3 = 'SELECT' jobname jobnum
isfin.4 = 'FIND' jobname
isfin.5 = '++S'
isfin.6 = 'PRINT FILE ISFEXT'
isfin.7 = 'PRINT 1 99999999'
isfin.8 = 'PRINT CLOSE'
end
else
do
/*********************************************************************/
/* Specfic SYSOUT */
/*********************************************************************/
isfin.1 = 'PREFIX' jobname
isfin.2 = 'DA'
isfin.3 = 'SELECT' jobname jobnum
isfin.4 = 'FIND' jobname
isfin.5 = '++?'
isfin.6 = 'FIND' sysoutdd
isfin.7 = '++S'
isfin.8 = 'PRINT FILE ISFEXT'
isfin.9 = 'PRINT 1 99999999'
isfin.10 = 'PRINT CLOSE'
end
"EXECIO * DISKW ISFIN (STEM ISFIN. FINIS"
if RC <> 0 then exit(16)
/*********************************************************************/
/* Invoke SDSF (set default depth and width values) */
/*********************************************************************/
depth = 200
width = 132
address ATTCHMVS "SDSF depth width"
EXITRC = RC
"FREE F(ISFEXT ISFIN ISFOUT)"
/*********************************************************************/
/* Process the ISFEXT output */
/*********************************************************************/
"ALLOC F(ISFEXT) DA("sdsfdsn") SHR REUSE"
"EXECIO * DISKR ISFEXT (STEM ISFEXT. FINIS"
do i=1 to isfext.0
/*********************************************************************/
/* Insert your processing here */
/*********************************************************************/
say isfext.i
end
/*********************************************************************/
/* Exit */
/*********************************************************************/
shutdown: exit(EXITRC)






Rob




In a message dated 5/30/2008 6:02:06 A.M. US Mountain Standard Time,
***@UTDALLAS.EDU writes:

This entire thread is my fault. OUTPUT works only for JOBNAMEs that
start with your USERID.

I'm sure I can use the ZENUK routine to get what I need.

Thanx to all

bobh


----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX




**************Get trade secrets for amazing burgers. Watch "Cooking with
Tyler Florence" on AOL Food.
(http://food.aol.com/tyler-florence?video=4&?NCID=aolfod00030000000002)

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Hamilton, Robert L
2008-05-30 18:06:06 UTC
Permalink
Thanks Very much for your help; The requirements for the project are to
create one step to be put into any jcl just before any FTP step that
will scan the sysout, find dataset names of a certain format
(xyz.abc.jobname.) followed by anything else and check to see if they
are empty; if they are empty AND the JOBNAME corresponds with a member
name of a PDS copy the contents of that member into the dataset;
otherwise do nothing...

I found your code on the www and it appears to what we need.

Thanks very much

bobh

-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Robert Zenuk
Sent: Friday, May 30, 2008 12:49 PM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

As the author of the ZENUK routine, I am still not sure this is the best
solution. This is using anti-aircraft missiles to kill mosquitos...
(any Monty
Python fans out there?)

A much more straight forward approach to this is an EXEC that checks for
records and sets an RC and using basic IF/COND logic to make good
decisions (all
suggested already). I thought I posted a working solution to a similar
request recently. However, I did not find it in the archives, so here
it is
again.

CHKMTGDG EXEC

/* rexx - CHKMTGDG */
"EXECIO 1 DISKR EMPTY (STEM REC. FINIS"
exit RC

FTP JCL to Check for an Empty GDG

//jobcard...
//***************************************************************
//* PROC USING CHKMTGDG *
//***************************************************************
//CHKNFTP PROC FTPDSN=,FTPBAD=DSN.NORECS.MODEL
//***************************************************************
//* IS IT EMPTY? *
//***************************************************************
//EMPTY EXEC PGM=IKJEFT01,PARM=CHKMTGDG
//SYSEXEC DD DSN=your.EXEC.pds,DISP=SHR
//EMPTY DD DSN=&FTPDSN,DISP=SHR
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD DUMMY
//***************************************************************
// IF EMPTY.RC = 0 THEN
//***************************************************************
//* FILE NOT EMPTY FTP IT *
//***************************************************************
//FTPGOOD EXEC PGM=IEFBR14
//SEND DD DSN=&FTPDSN,DISP=SHR
//***************************************************************
// ELSE
//***************************************************************
//* FILE IS EMPTY, SEND THE "NO RECORDS TO SEND" FILE *
//***************************************************************
//FTPBAD EXEC PGM=IEFBR14
//SEND DD DSN=&FTPBAD,DISP=SHR
//***************************************************************
// ENDIF
//***************************************************************
// PEND
//***************************************************************
//* SEQUENTIAL FILE WITH RECORDS AS INPUT *
//***************************************************************
//NOTEMPTY EXEC CHKNFTP,FTPDSN=my.TESTZ.GDG(-1)
//***************************************************************
//* EMPTY SEQUENTIAL FILE AS INPUT *
//***************************************************************
//EMPTY EXEC CHKNFTP,FTPDSN=my.TESTZ.GDG(0)


Replace the FTP/IEFBR14 steps with real FTP steps and use the //DD:SEND
syntax to make your life easier.

If you still insist, here is the SDSFEXT JCL and program:

//jobcard...
//SDSFEXT1 EXEC PGM=IKJEFT01,PARM='SDSFEXT'
//SYSEXEC DD DSN=OPSROZ.EXEC,DISP=SHR
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD DUMMY

SDSFEXT EXEC (sorry if the indentation was lost):

/*********************************************************************/
/* REXX
*/
/*********************************************************************/
/* Purpose: Extract current Job's SYSOUT using SDSF
*/
/*-------------------------------------------------------------------*/
/* Syntax: SDSFEXT sysoutdd
*/
/*-------------------------------------------------------------------*/
/* Parms: sysoutdd - The Sysout DD to extract
*/
/* */
/* Notes: Return Codes
*/
/* 00 Everything worked output should be in ISFEXT DSN
*/
/* 08 Jobname is missing
*/
/* 10 Allocation error on ISFIN
*/
/* 11 Allocation error on ISFEXT
*/
/* 12 Allocation error on ISFOUT
*/
/* 16 EXECIO error loading ISFIN
*/
/* ?? Anything else is probably from SDSF
*/
/* */
/* Extract DSN will be userid.SDSF.OUTPUT.jobname if ISFEXT DD is */
/* not pre-allocated (possibly for size reasons)
*/
/* */
/* Sample JCL
*/
/* */
/* //SDSFEXT EXEC PGM=IKJEFT01,PARM='SDSFEXT JESYSMSG'
*/
/* //SYSEXEC DD DSN=your.exec.pds,DISP=SHR
*/
/* //SYSTSPRT DD SYSOUT=*
*/
/* //SYSTSIN DD DUMMY
*/
/* */
/*********************************************************************/
/* Change Log
*/
/* */
/* Author Date Reason
*/
/* -------- --------- ----------------------------------------- */
/* R. Zenuk Dec 2003 Initial Creation
*/
/* R. Zenuk 05/30/08 Optional SYSOUT DD
*/
/* */
/*********************************************************************/
/* Accept input parameters
*/
/*********************************************************************/
arg sysoutdd .
parse source execenv . execname . execdsn .
/*********************************************************************/
/* Find Jobname and jobnum
*/
/*********************************************************************/
jobname = mvsvar('SYMDEF',JOBNAME)
tcb = storage(21c,4)
tiot = storage(d2x(c2d(tcb)+12),4)
jscb = storage(d2x(c2d(tcb)+180),4)
ssib = storage(d2x(c2d(jscb)+316),4)
jobnum = storage(d2x(c2d(ssib)+12),8)
/*********************************************************************/
/* ISFIN is the DDNAME to hold the formatted SDSF commands
*/
/*********************************************************************/
EXITRC = listdsi("ISFIN" "FILE")
if EXITRC <> 0 then
do
"ALLOC F(ISFIN) UNIT(VIO) SPACE(1) TRACKS NEW LRECL(80)"
if RC <> 0 then exit(10)
end
/*********************************************************************/
/* ISFEXT is the DDNAME to hold the extract SYSOUT dataset
*/
/*********************************************************************/
EXITRC = listdsi("ISFEXT" "FILE")
if EXITRC <> 0 then
do
sdsfdsn = "'"userid()".SDSF.OUTPUT."jobname"'"
if sysdsn(sdsfdsn) = 'OK' then "DELETE" sdsfdsn
"ALLOC F(ISFEXT) DA("sdsfdsn") NEW CATALOG SPACE(10 1) CYLINDERS",
"LRECL(133) BLKSIZE(137) RECFM(V B A) UNIT(SYSDA)"
if RC <> 0 then exit(11)
end
/*********************************************************************/
/* ISFOUT is the DDNAME to hold the SDSF Output
*/
/*********************************************************************/
EXITRC = listdsi("ISFOUT" "FILE")
if EXITRC <> 0 then
do
"ALLOC F(ISFOUT) SYSOUT(Z)"
if RC <> 0 then exit(12)
end
/*********************************************************************/
/* Build ISFIN input
*/
/*********************************************************************/
if sysoutdd = '' then
do
/*********************************************************************/
/* Entire Output
*/
/*********************************************************************/
isfin.1 = 'PREFIX' jobname
isfin.2 = 'DA'
isfin.3 = 'SELECT' jobname jobnum
isfin.4 = 'FIND' jobname
isfin.5 = '++S'
isfin.6 = 'PRINT FILE ISFEXT'
isfin.7 = 'PRINT 1 99999999'
isfin.8 = 'PRINT CLOSE'
end
else
do
/*********************************************************************/
/* Specfic SYSOUT
*/
/*********************************************************************/
isfin.1 = 'PREFIX' jobname
isfin.2 = 'DA'
isfin.3 = 'SELECT' jobname jobnum
isfin.4 = 'FIND' jobname
isfin.5 = '++?'
isfin.6 = 'FIND' sysoutdd
isfin.7 = '++S'
isfin.8 = 'PRINT FILE ISFEXT'
isfin.9 = 'PRINT 1 99999999'
isfin.10 = 'PRINT CLOSE'
end
"EXECIO * DISKW ISFIN (STEM ISFIN. FINIS"
if RC <> 0 then exit(16)
/*********************************************************************/
/* Invoke SDSF (set default depth and width values)
*/
/*********************************************************************/
depth = 200
width = 132
address ATTCHMVS "SDSF depth width"
EXITRC = RC
"FREE F(ISFEXT ISFIN ISFOUT)"
/*********************************************************************/
/* Process the ISFEXT output
*/
/*********************************************************************/
"ALLOC F(ISFEXT) DA("sdsfdsn") SHR REUSE"
"EXECIO * DISKR ISFEXT (STEM ISFEXT. FINIS"
do i=1 to isfext.0
/*********************************************************************/
/* Insert your processing here
*/
/*********************************************************************/
say isfext.i
end
/*********************************************************************/
/* Exit
*/
/*********************************************************************/
shutdown: exit(EXITRC)






Rob




In a message dated 5/30/2008 6:02:06 A.M. US Mountain Standard Time,
***@UTDALLAS.EDU writes:

This entire thread is my fault. OUTPUT works only for JOBNAMEs that
start with your USERID.

I'm sure I can use the ZENUK routine to get what I need.

Thanx to all

bobh


----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX




**************Get trade secrets for amazing burgers. Watch "Cooking with
Tyler Florence" on AOL Food.
(http://food.aol.com/tyler-florence?video=4&?NCID=aolfod00030000000002)

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Cruz, Robert
2008-06-02 19:00:39 UTC
Permalink
I have a similar need. Could you point me to the www site where you
found the code?

-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Hamilton, Robert L
Sent: Fri 30 May 2008 11:06
To: TSO-***@VM.MARIST.EDU
Subject: Re: [TSO-REXX] OUTPUT command in rexx exec

Thanks Very much for your help; The requirements for the project are to
create one step to be put into any jcl just before any FTP step that
will scan the sysout, find dataset names of a certain format
(xyz.abc.jobname.) followed by anything else and check to see if they
are empty; if they are empty AND the JOBNAME corresponds with a member
name of a PDS copy the contents of that member into the dataset;
otherwise do nothing...

I found your code on the www and it appears to what we need.

Thanks very much

bobh

-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Robert Zenuk
Sent: Friday, May 30, 2008 12:49 PM
To: TSO-***@VM.MARIST.EDU
Subject: Re: OUTPUT command in rexx exec

As the author of the ZENUK routine, I am still not sure this is the best
solution. This is using anti-aircraft missiles to kill mosquitos...
(any Monty
Python fans out there?)

A much more straight forward approach to this is an EXEC that checks for
records and sets an RC and using basic IF/COND logic to make good
decisions (all suggested already). I thought I posted a working
solution to a similar request recently. However, I did not find it in
the archives, so here it is again.

CHKMTGDG EXEC

/* rexx - CHKMTGDG */
"EXECIO 1 DISKR EMPTY (STEM REC. FINIS"
exit RC

FTP JCL to Check for an Empty GDG

//jobcard...
//***************************************************************
//* PROC USING CHKMTGDG *
//***************************************************************
//CHKNFTP PROC FTPDSN=,FTPBAD=DSN.NORECS.MODEL
//***************************************************************
//* IS IT EMPTY? *
//***************************************************************
//EMPTY EXEC PGM=IKJEFT01,PARM=CHKMTGDG
//SYSEXEC DD DSN=your.EXEC.pds,DISP=SHR
//EMPTY DD DSN=&FTPDSN,DISP=SHR
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD DUMMY
//***************************************************************
// IF EMPTY.RC = 0 THEN
//***************************************************************
//* FILE NOT EMPTY FTP IT *
//***************************************************************
//FTPGOOD EXEC PGM=IEFBR14
//SEND DD DSN=&FTPDSN,DISP=SHR
//***************************************************************
// ELSE
//***************************************************************
//* FILE IS EMPTY, SEND THE "NO RECORDS TO SEND" FILE *
//***************************************************************
//FTPBAD EXEC PGM=IEFBR14
//SEND DD DSN=&FTPBAD,DISP=SHR
//***************************************************************
// ENDIF
//***************************************************************
// PEND
//***************************************************************
//* SEQUENTIAL FILE WITH RECORDS AS INPUT *
//***************************************************************
//NOTEMPTY EXEC CHKNFTP,FTPDSN=my.TESTZ.GDG(-1)
//***************************************************************
//* EMPTY SEQUENTIAL FILE AS INPUT *
//***************************************************************
//EMPTY EXEC CHKNFTP,FTPDSN=my.TESTZ.GDG(0)


Replace the FTP/IEFBR14 steps with real FTP steps and use the //DD:SEND
syntax to make your life easier.

If you still insist, here is the SDSFEXT JCL and program:

//jobcard...
//SDSFEXT1 EXEC PGM=IKJEFT01,PARM='SDSFEXT'
//SYSEXEC DD DSN=OPSROZ.EXEC,DISP=SHR
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD DUMMY

SDSFEXT EXEC (sorry if the indentation was lost):

/*********************************************************************/
/* REXX
*/
/*********************************************************************/
/* Purpose: Extract current Job's SYSOUT using SDSF */
/*-------------------------------------------------------------------*/
/* Syntax: SDSFEXT sysoutdd
*/
/*-------------------------------------------------------------------*/
/* Parms: sysoutdd - The Sysout DD to extract
*/
/* */
/* Notes: Return Codes
*/
/* 00 Everything worked output should be in ISFEXT DSN
*/
/* 08 Jobname is missing
*/
/* 10 Allocation error on ISFIN
*/
/* 11 Allocation error on ISFEXT
*/
/* 12 Allocation error on ISFOUT
*/
/* 16 EXECIO error loading ISFIN
*/
/* ?? Anything else is probably from SDSF
*/
/* */
/* Extract DSN will be userid.SDSF.OUTPUT.jobname if ISFEXT DD is */
/* not pre-allocated (possibly for size reasons) */
/* */
/* Sample JCL
*/
/* */
/* //SDSFEXT EXEC PGM=IKJEFT01,PARM='SDSFEXT JESYSMSG'
*/
/* //SYSEXEC DD DSN=your.exec.pds,DISP=SHR
*/
/* //SYSTSPRT DD SYSOUT=*
*/
/* //SYSTSIN DD DUMMY
*/
/* */
/*********************************************************************/
/* Change Log
*/
/* */
/* Author Date Reason
*/
/* -------- --------- ----------------------------------------- */
/* R. Zenuk Dec 2003 Initial Creation
*/
/* R. Zenuk 05/30/08 Optional SYSOUT DD
*/
/* */
/*********************************************************************/
/* Accept input parameters
*/
/*********************************************************************/
arg sysoutdd .
parse source execenv . execname . execdsn .
/*********************************************************************/
/* Find Jobname and jobnum
*/
/*********************************************************************/
jobname = mvsvar('SYMDEF',JOBNAME)
tcb = storage(21c,4)
tiot = storage(d2x(c2d(tcb)+12),4)
jscb = storage(d2x(c2d(tcb)+180),4)
ssib = storage(d2x(c2d(jscb)+316),4)
jobnum = storage(d2x(c2d(ssib)+12),8)
/*********************************************************************/
/* ISFIN is the DDNAME to hold the formatted SDSF commands */
/*********************************************************************/
EXITRC = listdsi("ISFIN" "FILE")
if EXITRC <> 0 then
do
"ALLOC F(ISFIN) UNIT(VIO) SPACE(1) TRACKS NEW LRECL(80)"
if RC <> 0 then exit(10)
end
/*********************************************************************/
/* ISFEXT is the DDNAME to hold the extract SYSOUT dataset */
/*********************************************************************/
EXITRC = listdsi("ISFEXT" "FILE")
if EXITRC <> 0 then
do
sdsfdsn = "'"userid()".SDSF.OUTPUT."jobname"'"
if sysdsn(sdsfdsn) = 'OK' then "DELETE" sdsfdsn "ALLOC F(ISFEXT)
DA("sdsfdsn") NEW CATALOG SPACE(10 1) CYLINDERS",
"LRECL(133) BLKSIZE(137) RECFM(V B A) UNIT(SYSDA)"
if RC <> 0 then exit(11)
end
/*********************************************************************/
/* ISFOUT is the DDNAME to hold the SDSF Output */
/*********************************************************************/
EXITRC = listdsi("ISFOUT" "FILE")
if EXITRC <> 0 then
do
"ALLOC F(ISFOUT) SYSOUT(Z)"
if RC <> 0 then exit(12)
end
/*********************************************************************/
/* Build ISFIN input
*/
/*********************************************************************/
if sysoutdd = '' then
do
/*********************************************************************/
/* Entire Output
*/
/*********************************************************************/
isfin.1 = 'PREFIX' jobname
isfin.2 = 'DA'
isfin.3 = 'SELECT' jobname jobnum
isfin.4 = 'FIND' jobname
isfin.5 = '++S'
isfin.6 = 'PRINT FILE ISFEXT'
isfin.7 = 'PRINT 1 99999999'
isfin.8 = 'PRINT CLOSE'
end
else
do
/*********************************************************************/
/* Specfic SYSOUT
*/
/*********************************************************************/
isfin.1 = 'PREFIX' jobname
isfin.2 = 'DA'
isfin.3 = 'SELECT' jobname jobnum
isfin.4 = 'FIND' jobname
isfin.5 = '++?'
isfin.6 = 'FIND' sysoutdd
isfin.7 = '++S'
isfin.8 = 'PRINT FILE ISFEXT'
isfin.9 = 'PRINT 1 99999999'
isfin.10 = 'PRINT CLOSE'
end
"EXECIO * DISKW ISFIN (STEM ISFIN. FINIS"
if RC <> 0 then exit(16)
/*********************************************************************/
/* Invoke SDSF (set default depth and width values) */
/*********************************************************************/
depth = 200
width = 132
address ATTCHMVS "SDSF depth width"
EXITRC = RC
"FREE F(ISFEXT ISFIN ISFOUT)"
/*********************************************************************/
/* Process the ISFEXT output
*/
/*********************************************************************/
"ALLOC F(ISFEXT) DA("sdsfdsn") SHR REUSE"
"EXECIO * DISKR ISFEXT (STEM ISFEXT. FINIS"
do i=1 to isfext.0
/*********************************************************************/
/* Insert your processing here
*/
/*********************************************************************/
say isfext.i
end
/*********************************************************************/
/* Exit
*/
/*********************************************************************/
shutdown: exit(EXITRC)






Rob




In a message dated 5/30/2008 6:02:06 A.M. US Mountain Standard Time,
***@UTDALLAS.EDU writes:

This entire thread is my fault. OUTPUT works only for JOBNAMEs that
start with your USERID.

I'm sure I can use the ZENUK routine to get what I need.

Thanx to all

bobh


----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions, send
email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX




**************Get trade secrets for amazing burgers. Watch "Cooking with
Tyler Florence" on AOL Food.
(http://food.aol.com/tyler-florence?video=4&?NCID=aolfod00030000000002)

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions, send
email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions, send
email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
--------------------------------------------------------

The information contained in this message is intended only for the recipient, and may be a confidential attorney-client communication or may otherwise be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, please be aware that any dissemination or copying of this communication is strictly prohibited. If you have received this communication in error, please immediately notify us by replying to the message and deleting it from your computer. The McGraw-Hill Companies, Inc. reserves the right, subject to applicable local law, to monitor and review the content of any electronic message or information sent to or from McGraw-Hill employee e-mail addresses without informing the sender or recipient of the message.
--------------------------------------------------------

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Bob Hamilton
2008-06-02 19:04:24 UTC
Permalink
Google for zenuk & gdg; If you cannot find it ; i'll send a
copy

On Mon, 2 Jun 2008 12:00:15 -0700
"Cruz, Robert" <***@CTB.COM> wrote:
> I have a similar need. Could you point me to the www
> site where you
> found the code?
>
> -----Original Message-----
> From: TSO REXX Discussion List
> [mailto:TSO-***@VM.MARIST.EDU] On Behalf
> Of Hamilton, Robert L
> Sent: Fri 30 May 2008 11:06
> To: TSO-***@VM.MARIST.EDU
> Subject: Re: [TSO-REXX] OUTPUT command in rexx exec
>
> Thanks Very much for your help; The requirements for the
> project are to
> create one step to be put into any jcl just before any
> FTP step that
> will scan the sysout, find dataset names of a certain
> format
> (xyz.abc.jobname.) followed by anything else and check to
> see if they
> are empty; if they are empty AND the JOBNAME corresponds
> with a member
> name of a PDS copy the contents of that member into the
> dataset;
> otherwise do nothing...
>
> I found your code on the www and it appears to what we
> need.
>
> Thanks very much
>
> bobh
>
> -----Original Message-----
> From: TSO REXX Discussion List
> [mailto:TSO-***@VM.MARIST.EDU] On Behalf
> Of Robert Zenuk
> Sent: Friday, May 30, 2008 12:49 PM
> To: TSO-***@VM.MARIST.EDU
> Subject: Re: OUTPUT command in rexx exec
>
> As the author of the ZENUK routine, I am still not sure
> this is the best
> solution. This is using anti-aircraft missiles to kill
> mosquitos...
> (any Monty
> Python fans out there?)
>
> A much more straight forward approach to this is an EXEC
> that checks for
> records and sets an RC and using basic IF/COND logic to
> make good
> decisions (all suggested already). I thought I posted a
> working
> solution to a similar request recently. However, I did
> not find it in
> the archives, so here it is again.
>
> CHKMTGDG EXEC
>
> /* rexx - CHKMTGDG */
> "EXECIO 1 DISKR EMPTY (STEM REC. FINIS"
> exit RC
>
> FTP JCL to Check for an Empty GDG
>
> //jobcard...
>
//***************************************************************
> //* PROC USING CHKMTGDG
> *
>
//***************************************************************
> //CHKNFTP PROC FTPDSN=,FTPBAD=DSN.NORECS.MODEL
>
//***************************************************************
> //* IS IT EMPTY?
> *
>
//***************************************************************
> //EMPTY EXEC PGM=IKJEFT01,PARM=CHKMTGDG
> //SYSEXEC DD DSN=your.EXEC.pds,DISP=SHR
> //EMPTY DD DSN=&FTPDSN,DISP=SHR
> //SYSTSPRT DD SYSOUT=*
> //SYSTSIN DD DUMMY
>
//***************************************************************
> // IF EMPTY.RC = 0 THEN
>
//***************************************************************
> //* FILE NOT EMPTY FTP IT
> *
>
//***************************************************************
> //FTPGOOD EXEC PGM=IEFBR14
> //SEND DD DSN=&FTPDSN,DISP=SHR
>
//***************************************************************
> // ELSE
>
//***************************************************************
> //* FILE IS EMPTY, SEND THE "NO RECORDS TO SEND" FILE
> *
>
//***************************************************************
> //FTPBAD EXEC PGM=IEFBR14
> //SEND DD DSN=&FTPBAD,DISP=SHR
>
//***************************************************************
> // ENDIF
>
//***************************************************************
> // PEND
>
//***************************************************************
> //* SEQUENTIAL FILE WITH RECORDS AS INPUT
> *
>
//***************************************************************
> //NOTEMPTY EXEC CHKNFTP,FTPDSN=my.TESTZ.GDG(-1)
>
//***************************************************************
> //* EMPTY SEQUENTIAL FILE AS INPUT
> *
>
//***************************************************************
> //EMPTY EXEC CHKNFTP,FTPDSN=my.TESTZ.GDG(0)
>
>
> Replace the FTP/IEFBR14 steps with real FTP steps and use
> the //DD:SEND
> syntax to make your life easier.
>
> If you still insist, here is the SDSFEXT JCL and program:
>
> //jobcard...
> //SDSFEXT1 EXEC PGM=IKJEFT01,PARM='SDSFEXT'
> //SYSEXEC DD DSN=OPSROZ.EXEC,DISP=SHR
> //SYSTSPRT DD SYSOUT=*
> //SYSTSIN DD DUMMY
>
> SDSFEXT EXEC (sorry if the indentation was lost):
>
>
/*********************************************************************/
> /* REXX
> */
>
/*********************************************************************/
> /* Purpose: Extract current Job's SYSOUT using SDSF */
>
/*-------------------------------------------------------------------*/
> /* Syntax: SDSFEXT sysoutdd
> */
>
/*-------------------------------------------------------------------*/
> /* Parms: sysoutdd - The Sysout DD to extract
> */
> /*
>

> */
> /* Notes: Return Codes
> */
> /* 00 Everything worked output should be in
> ISFEXT DSN
> */
> /* 08 Jobname is missing
> */
> /* 10 Allocation error on ISFIN
> */
> /* 11 Allocation error on ISFEXT
> */
> /* 12 Allocation error on ISFOUT
> */
> /* 16 EXECIO error loading ISFIN
> */
> /* ?? Anything else is probably from SDSF
> */
> /*
>

> */
> /* Extract DSN will be userid.SDSF.OUTPUT.jobname if
> ISFEXT DD is */
> /* not pre-allocated (possibly for size reasons) */
> /*
>

> */
> /* Sample JCL
> */
> /*
>

> */
> /* //SDSFEXT EXEC PGM=IKJEFT01,PARM='SDSFEXT JESYSMSG'
> */
> /* //SYSEXEC DD DSN=your.exec.pds,DISP=SHR
> */
> /* //SYSTSPRT DD SYSOUT=*
> */
> /* //SYSTSIN DD DUMMY
> */
> /*
>

> */
>
/*********************************************************************/
> /* Change Log
> */
> /*
>

> */
> /* Author Date Reason
> */
> /* -------- ---------
> ----------------------------------------- */
> /* R. Zenuk Dec 2003 Initial Creation
> */
> /* R. Zenuk 05/30/08 Optional SYSOUT DD
> */
> /*
>

> */
>
/*********************************************************************/
> /* Accept input parameters
> */
>
/*********************************************************************/
> arg sysoutdd .
> parse source execenv . execname . execdsn .
>
/*********************************************************************/
> /* Find Jobname and jobnum
> */
>
/*********************************************************************/
> jobname = mvsvar('SYMDEF',JOBNAME)
> tcb = storage(21c,4)
> tiot = storage(d2x(c2d(tcb)+12),4)
> jscb = storage(d2x(c2d(tcb)+180),4)
> ssib = storage(d2x(c2d(jscb)+316),4)
> jobnum = storage(d2x(c2d(ssib)+12),8)
>
/*********************************************************************/
> /* ISFIN is the DDNAME to hold the formatted SDSF
> commands */
>
/*********************************************************************/
> EXITRC = listdsi("ISFIN" "FILE")
> if EXITRC <> 0 then
> do
> "ALLOC F(ISFIN) UNIT(VIO) SPACE(1) TRACKS NEW LRECL(80)"
> if RC <> 0 then exit(10)
> end
>
/*********************************************************************/
> /* ISFEXT is the DDNAME to hold the extract SYSOUT
> dataset */
>
/*********************************************************************/
> EXITRC = listdsi("ISFEXT" "FILE")
> if EXITRC <> 0 then
> do
> sdsfdsn = "'"userid()".SDSF.OUTPUT."jobname"'"
> if sysdsn(sdsfdsn) = 'OK' then "DELETE" sdsfdsn "ALLOC
> F(ISFEXT)
> DA("sdsfdsn") NEW CATALOG SPACE(10 1) CYLINDERS",
> "LRECL(133) BLKSIZE(137) RECFM(V B A) UNIT(SYSDA)"
> if RC <> 0 then exit(11)
> end
>
/*********************************************************************/
> /* ISFOUT is the DDNAME to hold the SDSF Output */
>
/*********************************************************************/
> EXITRC = listdsi("ISFOUT" "FILE")
> if EXITRC <> 0 then
> do
> "ALLOC F(ISFOUT) SYSOUT(Z)"
> if RC <> 0 then exit(12)
> end
>
/*********************************************************************/
> /* Build ISFIN input
> */
>
/*********************************************************************/
> if sysoutdd = '' then
> do
>
/*********************************************************************/
> /* Entire Output
> */
>
/*********************************************************************/
> isfin.1 = 'PREFIX' jobname
> isfin.2 = 'DA'
> isfin.3 = 'SELECT' jobname jobnum
> isfin.4 = 'FIND' jobname
> isfin.5 = '++S'
> isfin.6 = 'PRINT FILE ISFEXT'
> isfin.7 = 'PRINT 1 99999999'
> isfin.8 = 'PRINT CLOSE'
> end
> else
> do
>
/*********************************************************************/
> /* Specfic SYSOUT
> */
>
/*********************************************************************/
> isfin.1 = 'PREFIX' jobname
> isfin.2 = 'DA'
> isfin.3 = 'SELECT' jobname jobnum
> isfin.4 = 'FIND' jobname
> isfin.5 = '++?'
> isfin.6 = 'FIND' sysoutdd
> isfin.7 = '++S'
> isfin.8 = 'PRINT FILE ISFEXT'
> isfin.9 = 'PRINT 1 99999999'
> isfin.10 = 'PRINT CLOSE'
> end
> "EXECIO * DISKW ISFIN (STEM ISFIN. FINIS"
> if RC <> 0 then exit(16)
>
/*********************************************************************/
> /* Invoke SDSF (set default depth and width values) */
>
/*********************************************************************/
> depth = 200
> width = 132
> address ATTCHMVS "SDSF depth width"
> EXITRC = RC
> "FREE F(ISFEXT ISFIN ISFOUT)"
>
/*********************************************************************/
> /* Process the ISFEXT output
> */
>
/*********************************************************************/
> "ALLOC F(ISFEXT) DA("sdsfdsn") SHR REUSE"
> "EXECIO * DISKR ISFEXT (STEM ISFEXT. FINIS"
> do i=1 to isfext.0
>
/*********************************************************************/
> /* Insert your processing here
> */
>
/*********************************************************************/
> say isfext.i
> end
>
/*********************************************************************/
> /* Exit
> */
>
/*********************************************************************/
> shutdown: exit(EXITRC)
>
>
>
>
>
>
> Rob
>
>
>
>
> In a message dated 5/30/2008 6:02:06 A.M. US Mountain
> Standard Time,
> ***@UTDALLAS.EDU writes:
>
> This entire thread is my fault. OUTPUT works only for
> JOBNAMEs that
> start with your USERID.
>
> I'm sure I can use the ZENUK routine to get what I need.
>
> Thanx to all
>
> bobh
>
>
>
----------------------------------------------------------------------
> For TSO-REXX subscribe / signoff / archive access
> instructions, send
> email to ***@VM.MARIST.EDU with the message: INFO
> TSO-REXX
>
>
>
>
> **************Get trade secrets for amazing burgers.
> Watch "Cooking with
> Tyler Florence" on AOL Food.
>
(http://food.aol.com/tyler-florence?video=4&?NCID=aolfod00030000000002)
>
>
----------------------------------------------------------------------
> For TSO-REXX subscribe / signoff / archive access
> instructions, send
> email to ***@VM.MARIST.EDU with the message: INFO
> TSO-REXX
>
>
----------------------------------------------------------------------
> For TSO-REXX subscribe / signoff / archive access
> instructions, send
> email to ***@VM.MARIST.EDU with the message: INFO
> TSO-REXX
> --------------------------------------------------------
>
> The information contained in this message is intended
> only for the recipient, and may be a confidential
> attorney-client communication or may otherwise be
> privileged and confidential and protected from
> disclosure. If the reader of this message is not the
> intended recipient, or an employee or agent responsible
> for delivering this message to the intended recipient,
> please be aware that any dissemination or copying of this
> communication is strictly prohibited. If you have
> received this communication in error, please immediately
> notify us by replying to the message and deleting it from
> your computer. The McGraw-Hill Companies, Inc. reserves
> the right, subject to applicable local law, to monitor
> and review the content of any electronic message or
> information sent to or from McGraw-Hill employee e-mail
> addresses without informing the sender or recipient of
> the message.
> --------------------------------------------------------
>
>
----------------------------------------------------------------------
> For TSO-REXX subscribe / signoff / archive access
> instructions,
> send email to ***@VM.MARIST.EDU with the message:
> INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Cruz, Robert
2008-06-02 19:41:31 UTC
Permalink
Got it! Thanks! :-)

-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf
Of Bob Hamilton
Sent: Mon 02 Jun 2008 13:03
To: TSO-***@VM.MARIST.EDU
Subject: Re: [TSO-REXX] OUTPUT command in rexx exec

Google for zenuk & gdg; If you cannot find it ; i'll send a copy

On Mon, 2 Jun 2008 12:00:15 -0700
"Cruz, Robert" <***@CTB.COM> wrote:
> I have a similar need. Could you point me to the www site where you
> found the code?
>
> -----Original Message-----
> From: TSO REXX Discussion List
> [mailto:TSO-***@VM.MARIST.EDU] On Behalf Of Hamilton, Robert L
> Sent: Fri 30 May 2008 11:06
> To: TSO-***@VM.MARIST.EDU
> Subject: Re: [TSO-REXX] OUTPUT command in rexx exec
>
> Thanks Very much for your help; The requirements for the project are
> to create one step to be put into any jcl just before any FTP step
> that will scan the sysout, find dataset names of a certain format
> (xyz.abc.jobname.) followed by anything else and check to see if they
> are empty; if they are empty AND the JOBNAME corresponds with a member

> name of a PDS copy the contents of that member into the dataset;
> otherwise do nothing...
>
> I found your code on the www and it appears to what we need.
>
> Thanks very much
>
> bobh
>
> -----Original Message-----
> From: TSO REXX Discussion List
> [mailto:TSO-***@VM.MARIST.EDU] On Behalf Of Robert Zenuk
> Sent: Friday, May 30, 2008 12:49 PM
> To: TSO-***@VM.MARIST.EDU
> Subject: Re: OUTPUT command in rexx exec
>
> As the author of the ZENUK routine, I am still not sure this is the
> best solution. This is using anti-aircraft missiles to kill
> mosquitos...
> (any Monty
> Python fans out there?)
>
> A much more straight forward approach to this is an EXEC that checks
> for records and sets an RC and using basic IF/COND logic to make good
> decisions (all suggested already). I thought I posted a working
> solution to a similar request recently. However, I did not find it in

> the archives, so here it is again.
>
> CHKMTGDG EXEC
>
> /* rexx - CHKMTGDG */
> "EXECIO 1 DISKR EMPTY (STEM REC. FINIS"
> exit RC
>
> FTP JCL to Check for an Empty GDG
>
> //jobcard...
>
//***************************************************************
> //* PROC USING CHKMTGDG
> *
>
//***************************************************************
> //CHKNFTP PROC FTPDSN=,FTPBAD=DSN.NORECS.MODEL
>
//***************************************************************
> //* IS IT EMPTY?
> *
>
//***************************************************************
> //EMPTY EXEC PGM=IKJEFT01,PARM=CHKMTGDG
> //SYSEXEC DD DSN=your.EXEC.pds,DISP=SHR
> //EMPTY DD DSN=&FTPDSN,DISP=SHR
> //SYSTSPRT DD SYSOUT=*
> //SYSTSIN DD DUMMY
>
//***************************************************************
> // IF EMPTY.RC = 0 THEN
>
//***************************************************************
> //* FILE NOT EMPTY FTP IT
> *
>
//***************************************************************
> //FTPGOOD EXEC PGM=IEFBR14
> //SEND DD DSN=&FTPDSN,DISP=SHR
>
//***************************************************************
> // ELSE
>
//***************************************************************
> //* FILE IS EMPTY, SEND THE "NO RECORDS TO SEND" FILE
> *
>
//***************************************************************
> //FTPBAD EXEC PGM=IEFBR14
> //SEND DD DSN=&FTPBAD,DISP=SHR
>
//***************************************************************
> // ENDIF
>
//***************************************************************
> // PEND
>
//***************************************************************
> //* SEQUENTIAL FILE WITH RECORDS AS INPUT
> *
>
//***************************************************************
> //NOTEMPTY EXEC CHKNFTP,FTPDSN=my.TESTZ.GDG(-1)
>
//***************************************************************
> //* EMPTY SEQUENTIAL FILE AS INPUT
> *
>
//***************************************************************
> //EMPTY EXEC CHKNFTP,FTPDSN=my.TESTZ.GDG(0)
>
>
> Replace the FTP/IEFBR14 steps with real FTP steps and use the
> //DD:SEND syntax to make your life easier.
>
> If you still insist, here is the SDSFEXT JCL and program:
>
> //jobcard...
> //SDSFEXT1 EXEC PGM=IKJEFT01,PARM='SDSFEXT'
> //SYSEXEC DD DSN=OPSROZ.EXEC,DISP=SHR
> //SYSTSPRT DD SYSOUT=*
> //SYSTSIN DD DUMMY
>
> SDSFEXT EXEC (sorry if the indentation was lost):
>
>
/*********************************************************************/
> /* REXX
> */
>
/*********************************************************************/
> /* Purpose: Extract current Job's SYSOUT using SDSF */
>
/*-------------------------------------------------------------------*/
> /* Syntax: SDSFEXT sysoutdd
> */
>
/*-------------------------------------------------------------------*/
> /* Parms: sysoutdd - The Sysout DD to extract
> */
> /*
>

> */
> /* Notes: Return Codes
> */
> /* 00 Everything worked output should be in
> ISFEXT DSN
> */
> /* 08 Jobname is missing
> */
> /* 10 Allocation error on ISFIN
> */
> /* 11 Allocation error on ISFEXT
> */
> /* 12 Allocation error on ISFOUT
> */
> /* 16 EXECIO error loading ISFIN
> */
> /* ?? Anything else is probably from SDSF
> */
> /*
>

> */
> /* Extract DSN will be userid.SDSF.OUTPUT.jobname if
> ISFEXT DD is */
> /* not pre-allocated (possibly for size reasons) */
> /*
>

> */
> /* Sample JCL
> */
> /*
>

> */
> /* //SDSFEXT EXEC PGM=IKJEFT01,PARM='SDSFEXT JESYSMSG'
> */
> /* //SYSEXEC DD DSN=your.exec.pds,DISP=SHR
> */
> /* //SYSTSPRT DD SYSOUT=*
> */
> /* //SYSTSIN DD DUMMY
> */
> /*
>

> */
>
/*********************************************************************/
> /* Change Log
> */
> /*
>

> */
> /* Author Date Reason
> */
> /* -------- ---------
> ----------------------------------------- */
> /* R. Zenuk Dec 2003 Initial Creation
> */
> /* R. Zenuk 05/30/08 Optional SYSOUT DD
> */
> /*
>

> */
>
/*********************************************************************/
> /* Accept input parameters
> */
>
/*********************************************************************/
> arg sysoutdd .
> parse source execenv . execname . execdsn .
>
/*********************************************************************/
> /* Find Jobname and jobnum
> */
>
/*********************************************************************/
> jobname = mvsvar('SYMDEF',JOBNAME)
> tcb = storage(21c,4)
> tiot = storage(d2x(c2d(tcb)+12),4)
> jscb = storage(d2x(c2d(tcb)+180),4)
> ssib = storage(d2x(c2d(jscb)+316),4)
> jobnum = storage(d2x(c2d(ssib)+12),8)
>
/*********************************************************************/
> /* ISFIN is the DDNAME to hold the formatted SDSF commands */
>
/*********************************************************************/
> EXITRC = listdsi("ISFIN" "FILE")
> if EXITRC <> 0 then
> do
> "ALLOC F(ISFIN) UNIT(VIO) SPACE(1) TRACKS NEW LRECL(80)"
> if RC <> 0 then exit(10)
> end
>
/*********************************************************************/
> /* ISFEXT is the DDNAME to hold the extract SYSOUT dataset */
>
/*********************************************************************/
> EXITRC = listdsi("ISFEXT" "FILE")
> if EXITRC <> 0 then
> do
> sdsfdsn = "'"userid()".SDSF.OUTPUT."jobname"'"
> if sysdsn(sdsfdsn) = 'OK' then "DELETE" sdsfdsn "ALLOC
> F(ISFEXT)
> DA("sdsfdsn") NEW CATALOG SPACE(10 1) CYLINDERS",
> "LRECL(133) BLKSIZE(137) RECFM(V B A) UNIT(SYSDA)"
> if RC <> 0 then exit(11)
> end
>
/*********************************************************************/
> /* ISFOUT is the DDNAME to hold the SDSF Output */
>
/*********************************************************************/
> EXITRC = listdsi("ISFOUT" "FILE")
> if EXITRC <> 0 then
> do
> "ALLOC F(ISFOUT) SYSOUT(Z)"
> if RC <> 0 then exit(12)
> end
>
/*********************************************************************/
> /* Build ISFIN input
> */
>
/*********************************************************************/
> if sysoutdd = '' then
> do
>
/*********************************************************************/
> /* Entire Output
> */
>
/*********************************************************************/
> isfin.1 = 'PREFIX' jobname
> isfin.2 = 'DA'
> isfin.3 = 'SELECT' jobname jobnum
> isfin.4 = 'FIND' jobname
> isfin.5 = '++S'
> isfin.6 = 'PRINT FILE ISFEXT'
> isfin.7 = 'PRINT 1 99999999'
> isfin.8 = 'PRINT CLOSE'
> end
> else
> do
>
/*********************************************************************/
> /* Specfic SYSOUT
> */
>
/*********************************************************************/
> isfin.1 = 'PREFIX' jobname
> isfin.2 = 'DA'
> isfin.3 = 'SELECT' jobname jobnum
> isfin.4 = 'FIND' jobname
> isfin.5 = '++?'
> isfin.6 = 'FIND' sysoutdd
> isfin.7 = '++S'
> isfin.8 = 'PRINT FILE ISFEXT'
> isfin.9 = 'PRINT 1 99999999'
> isfin.10 = 'PRINT CLOSE'
> end
> "EXECIO * DISKW ISFIN (STEM ISFIN. FINIS"
> if RC <> 0 then exit(16)
>
/*********************************************************************/
> /* Invoke SDSF (set default depth and width values) */
>
/*********************************************************************/
> depth = 200
> width = 132
> address ATTCHMVS "SDSF depth width"
> EXITRC = RC
> "FREE F(ISFEXT ISFIN ISFOUT)"
>
/*********************************************************************/
> /* Process the ISFEXT output
> */
>
/*********************************************************************/
> "ALLOC F(ISFEXT) DA("sdsfdsn") SHR REUSE"
> "EXECIO * DISKR ISFEXT (STEM ISFEXT. FINIS"
> do i=1 to isfext.0
>
/*********************************************************************/
> /* Insert your processing here
> */
>
/*********************************************************************/
> say isfext.i
> end
>
/*********************************************************************/
> /* Exit
> */
>
/*********************************************************************/
> shutdown: exit(EXITRC)
>
>
>
>
>
>
> Rob
>
>
>
>
> In a message dated 5/30/2008 6:02:06 A.M. US Mountain Standard Time,
> ***@UTDALLAS.EDU writes:
>
> This entire thread is my fault. OUTPUT works only for JOBNAMEs that
> start with your USERID.
>
> I'm sure I can use the ZENUK routine to get what I need.
>
> Thanx to all
>
> bobh
>
>
>
----------------------------------------------------------------------
> For TSO-REXX subscribe / signoff / archive access instructions, send
> email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
>
>
>
>
> **************Get trade secrets for amazing burgers.
> Watch "Cooking with
> Tyler Florence" on AOL Food.
>
(http://food.aol.com/tyler-florence?video=4&?NCID=aolfod00030000000002)
>
>
----------------------------------------------------------------------
> For TSO-REXX subscribe / signoff / archive access
> instructions, send
> email to ***@VM.MARIST.EDU with the message: INFO
> TSO-REXX
>
>
----------------------------------------------------------------------
> For TSO-REXX subscribe / signoff / archive access
> instructions, send
> email to ***@VM.MARIST.EDU with the message: INFO
> TSO-REXX
> --------------------------------------------------------
>
> The information contained in this message is intended
> only for the recipient, and may be a confidential
> attorney-client communication or may otherwise be
> privileged and confidential and protected from
> disclosure. If the reader of this message is not the
> intended recipient, or an employee or agent responsible
> for delivering this message to the intended recipient,
> please be aware that any dissemination or copying of this
> communication is strictly prohibited. If you have
> received this communication in error, please immediately
> notify us by replying to the message and deleting it from
> your computer. The McGraw-Hill Companies, Inc. reserves
> the right, subject to applicable local law, to monitor
> and review the content of any electronic message or
> information sent to or from McGraw-Hill employee e-mail
> addresses without informing the sender or recipient of
> the message.
> --------------------------------------------------------
>
>
----------------------------------------------------------------------
> For TSO-REXX subscribe / signoff / archive access
> instructions,
> send email to ***@VM.MARIST.EDU with the message:
> INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Loading...