Discussion:
job output into dataset
(too old to reply)
venkat kulkarni
2017-05-02 07:34:30 UTC
Permalink
Hello,

We have some address spaces running from long time and produce messages
regularly. Now, my requirement is to cut those messages on regular basis
and keep appending into seperate dataset.

This way, we will save spool size and no need to recycle the address space
to remove old message.

Can anybody help me doing this task.

Regards
Venkat

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Styles, Andy , ITS zPlatform Services
2017-05-02 07:40:53 UTC
Permalink
Classification: Public
If it's just the JESLOG you're interested in, take a look at the JESLOG parameter of the JOB card:

Syntax:

JESLOG= {SPIN}
{NOSPIN}
{SUPPRESS}

Subparameter Definition:

SPIN
JESLOG is spin-eligible. There is an optional second operand.

JESLOG=(SPIN,hh:mm)
JESLOG will be spun at time hh:mm each 24 hour period. "hh" is
hours and has a range of 00 through 23. "mm" is minutes and has
a range of 00 through 59.

JESLOG will be spun when the next message is written to the
data set after the specified time.

JESLOG=(SPIN,+hh:mm)
JESLOG will be spun every hh:mm time interval. "hh" is hours
and has a range of 00 through 23. "mm" is minutes and has a
range of 00 through 59. The minimum interval which can be
specified is 10 minutes. Note that "hh" must be specified even
if zero. For example, JESLOG=(SPIN,0:20)

JESLOG will be spun when the next message is written to the
data set after the specified time.

JESLOG=(SPIN,nnn)
JESLOG=(SPIN,nnnK)
JESLOG=(SPIN,nnnM)
JESLOG will be spun when either data set has "n" lines. A
minimum of 500 lines must be specified. "K" is thousands and
"M" is millions.


Andy Styles
z/Series Systems Programmer

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-***@LISTSERV.UA.EDU] On Behalf Of venkat kulkarni
Sent: 02 May 2017 08:35
To: IBM-***@LISTSERV.UA.EDU
Subject: job output into dataset

-- This email has reached the Bank via an external source --


Hello,

We have some address spaces running from long time and produce messages regularly. Now, my requirement is to cut those messages on regular basis and keep appending into seperate dataset.

This way, we will save spool size and no need to recycle the address space to remove old message.

Can anybody help me doing this task.

Regards
Venkat

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN


Lloyds Banking Group plc. Registered Office: The Mound, Edinburgh EH1 1YZ. Registered in Scotland no. SC95000. Telephone: 0131 225 4555. Lloyds Bank plc. Registered Office: 25 Gresham Street, London EC2V 7HN. Registered in England and Wales no. 2065. Telephone 0207626 1500. Bank of Scotland plc. Registered Office: The Mound, Edinburgh EH1 1YZ. Registered in Scotland no. SC327000. Telephone: 03457 801 801. Cheltenham & Gloucester plc. Registered Office: Barnett Way, Gloucester GL4 3RL. Registered in England and Wales 2299428. Telephone: 0345 603 1637

Lloyds Bank plc, Bank of Scotland plc are authorised by the Prudential Regulation Authority and regulated by the Financial Conduct Authority and Prudential Regulation Authority.

Cheltenham & Gloucester plc is authorised and regulated by the Financial Conduct Authority.

Halifax is a division of Bank of Scotland plc. Cheltenham & Gloucester Savings is a division of Lloyds Bank plc.

HBOS plc. Registered Office: The Mound, Edinburgh EH1 1YZ. Registered in Scotland no. SC218813.

This e-mail (including any attachments) is private and confidential and may contain privileged material. If you have received this e-mail in error, please notify the sender and delete it (including any attachments) immediately. You must not copy, distribute, disclose or use any of the information in it or any attachments. Telephone calls may be monitored or recorded.


----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Roger Lowe
2017-05-02 10:32:25 UTC
Permalink
As of zOS 1.13 and later, JES2 provides the ability to 'spin' any SPIN spool datasets based on command, size or time (interval or absolute).

SPIN=(UNALLOC,value) where value is one of:
• ‘hh:mm’ – Spin data set at specified time
• ‘+hh:mm’ – Spin data set at interval specified
• nnn [K|M] – Spin every nnn records
• NOCMD – Cannot spin data set by command
• CMDONLY – Spin only when a command is issued

Have a look in the JCL Reference for further details.

Roger
Hello Andy,
Thanks . but after spin, where these messages will go and reside to later
review. I want to remove messages from job in timely manner and put it in
some dataset to be used further.
Please suggest.
On 02-May-2017 10:42 AM, "Styles, Andy (ITS zPlatform Services)" <
Classification: Public
If it's just the JESLOG you're interested in, take a look at the JESLOG
JESLOG= {SPIN}
{NOSPIN}
{SUPPRESS}
SPIN
JESLOG is spin-eligible. There is an optional second operand.
JESLOG=(SPIN,hh:mm)
JESLOG will be spun at time hh:mm each 24 hour period. "hh" is
hours and has a range of 00 through 23. "mm" is minutes and has
a range of 00 through 59.
JESLOG will be spun when the next message is written to the
data set after the specified time.
JESLOG=(SPIN,+hh:mm)
JESLOG will be spun every hh:mm time interval. "hh" is hours
and has a range of 00 through 23. "mm" is minutes and has a
range of 00 through 59. The minimum interval which can be
specified is 10 minutes. Note that "hh" must be specified even
if zero. For example, JESLOG=(SPIN,0:20)
JESLOG will be spun when the next message is written to the
data set after the specified time.
JESLOG=(SPIN,nnn)
JESLOG=(SPIN,nnnK)
JESLOG=(SPIN,nnnM)
JESLOG will be spun when either data set has "n" lines. A
minimum of 500 lines must be specified. "K" is thousands and
"M" is millions.
Andy Styles
z/Series Systems Programmer
-----Original Message-----
Behalf Of venkat kulkarni
Sent: 02 May 2017 08:35
Subject: job output into dataset
-- This email has reached the Bank via an external source --
Hello,
We have some address spaces running from long time and produce messages
regularly. Now, my requirement is to cut those messages on regular basis
and keep appending into seperate dataset.
This way, we will save spool size and no need to recycle the address space
to remove old message.
Can anybody help me doing this task.
Regards
Venkat
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email
Lloyds Banking Group plc. Registered Office: The Mound, Edinburgh EH1 1YZ.
Registered in Scotland no. SC95000. Telephone: 0131 225 4555. Lloyds Bank
plc. Registered Office: 25 Gresham Street, London EC2V 7HN. Registered in
England and Wales no. 2065. Telephone 0207626 1500. Bank of Scotland plc.
Registered Office: The Mound, Edinburgh EH1 1YZ. Registered in Scotland no.
SC327000. Telephone: 03457 801 801. Cheltenham & Gloucester plc. Registered
Office: Barnett Way, Gloucester GL4 3RL. Registered in England and Wales
2299428. Telephone: 0345 603 1637
Lloyds Bank plc, Bank of Scotland plc are authorised by the Prudential
Regulation Authority and regulated by the Financial Conduct Authority and
Prudential Regulation Authority.
Cheltenham & Gloucester plc is authorised and regulated by the Financial
Conduct Authority.
Halifax is a division of Bank of Scotland plc. Cheltenham & Gloucester
Savings is a division of Lloyds Bank plc.
HBOS plc. Registered Office: The Mound, Edinburgh EH1 1YZ. Registered in
Scotland no. SC218813.
This e-mail (including any attachments) is private and confidential and may
contain privileged material. If you have received this e-mail in error,
please notify the sender and delete it (including any attachments)
immediately. You must not copy, distribute, disclose or use any of the
information in it or any attachments. Telephone calls may be monitored or
recorded.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
John McKown
2017-05-02 13:02:08 UTC
Permalink
Post by venkat kulkarni
Hello,
We have some address spaces running from long time and produce messages
regularly. Now, my requirement is to cut those messages on regular basis
and keep appending into seperate dataset.
This way, we will save spool size and no need to recycle the address space
to remove old message.
Can anybody help me doing this task.
Regards
Venkat
​As the others have said, the only facility in JES is to use the SPIN
parameter. JES does not have a way to write directly into a sequential data
set. Your response to this is correct in that this leaves the data in the
SPOOL, which is not what you want. So what you need is "something" which
can take the data which has been put into the SPOOL via the SPIN and copy
it into a data set. There are products which can do this, such as CA-JMR.
However most of these products don't put the data into a "plain" sequential
data set. One that we used to use is ViewDirect from ASG (was Infopac from
Mobius). What we use today is "Report to Web". This consists of software on
a PC (Windows) which acts as a "remote printer" using LPR. It slices and
dices the data coming in to it into reports which it store on the SAN. It
comes with a web server to read the report. It is rather good, IMO, but may
not be what you want.

You might want to "mess around" with my JES2DISK program. It is written in
REXX and uses the SDSF REXX interface to read in data from the SPOOL. It
can store the jobs' outputs into either sequential data sets or UNIX files
(in a specified directory). You can look at / download the code here:
https://gist.github.com/JohnArchieMckown/b27747d0c4750a258997
You might also look on http://cbttape.org/cbtdowns.htm at file 688, 575(?)

If you're into "do it yourself", you might want to look at a number of
things.
If you have zOSMF running, then look at its REST API:
https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.2.0/com.ibm.zos.v2r2.izua700/IZUHPINFO_API_RESTJOBS.htm

Or look at the JES SPOOL data set browse:
https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.2.0/com.ibm.zos.v2r2.hasc300/spbrowse.htm

And, a blast from the past (that I did like 20 years ago), is to use an
external writer which will open/close/dynamically allocate&release a data
set.
https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.2.0/com.ibm.zos.v2r2.hasa300/xwrite.htm
--
Advertising is a valuable economic factor because it is the cheapest way of
selling goods, particularly if the goods are worthless. -- Sinclair Lewis


Maranatha! <><
John McKown

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Phil Sidler
2017-05-02 19:49:54 UTC
Permalink
Post by Roger Lowe
As of zOS 1.13 and later, JES2 provides the ability to 'spin' any SPIN spool datasets based on command, size or time (interval or absolute).
• ‘hh:mm’ – Spin data set at specified time
• ‘+hh:mm’ – Spin data set at interval specified
• nnn [K|M] – Spin every nnn records
There is a SHARE presentation that implies that this works to spin off SYSOUT even if the DD is not closed/deallocated.

• Can be used to make the Transient Data Message logs
available for processing without the need to shutdown
and/or close/deallocate the transient data queue datasets

(SHARE in San Francisco 2013, #12433)

Does this work? Really? How would I see this via SDSF if it was working?

Cheers

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Lizette Koehler
2017-05-02 19:53:43 UTC
Permalink
I have this in place on several Products I support. The JES Messages all go to our output repository. No issues.

Lizette



-----Original Message-----
Sent: May 2, 2017 12:50 PM
Subject: Re: job output into dataset
Post by Roger Lowe
As of zOS 1.13 and later, JES2 provides the ability to 'spin' any SPIN spool datasets based on command, size or time (interval or absolute).
• ‘hh:mm’ – Spin data set at specified time
• ‘+hh:mm’ – Spin data set at interval specified
• nnn [K|M] – Spin every nnn records
There is a SHARE presentation that implies that this works to spin off SYSOUT even if the DD is not closed/deallocated.
• Can be used to make the Transient Data Message logs
available for processing without the need to shutdown
and/or close/deallocate the transient data queue datasets
(SHARE in San Francisco 2013, #12433)
Does this work? Really? How would I see this via SDSF if it was working?
Cheers
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Phil Sidler
2017-05-02 20:14:52 UTC
Permalink
Post by Lizette Koehler
I have this in place on several Products I support. The JES Messages all go to our output repository. No issues.
Oh, I see it now, $HASP138 and a new DD with the same name shows up. Cool.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
van der Grijn, Bart , B
2017-05-02 21:26:10 UTC
Permalink
It works pretty well except for one (minor) issue. When you do SE against a DDNAME in SDSF it doesn't work as expected. It seem to display the first of the outputs with the same DDNAME, independent of which one you select. At least, that's what it does here (z/OS 2.1).
Bart

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-***@LISTSERV.UA.EDU] On Behalf Of Phil Sidler
Sent: Tuesday, May 02, 2017 4:16 PM
To: IBM-***@LISTSERV.UA.EDU
Subject: Re: job output into dataset
Post by Lizette Koehler
I have this in place on several Products I support. The JES Messages all go to our output repository. No issues.
Oh, I see it now, $HASP138 and a new DD with the same name shows up. Cool.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Lizette Koehler
2017-05-02 21:39:36 UTC
Permalink
So it might be possible that you are seeing data that JES2 has buffered. That is why you can see all of the data on a job in the ST panel even if all that is left in O or H panels is the output from an IEBGENER.

Lizette

-----Original Message-----
Sent: May 2, 2017 2:26 PM
Subject: Re: job output into dataset
It works pretty well except for one (minor) issue. When you do SE against a DDNAME in SDSF it doesn't work as expected. It seem to display the first of the outputs with the same DDNAME, independent of which one you select. At least, that's what it does here (z/OS 2.1).
Bart
-----Original Message-----
Sent: Tuesday, May 02, 2017 4:16 PM
Subject: Re: job output into dataset
Post by Lizette Koehler
I have this in place on several Products I support. The JES Messages all go to our output repository. No issues.
Oh, I see it now, $HASP138 and a new DD with the same name shows up. Cool.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
venkat kulkarni
2017-05-03 11:13:24 UTC
Permalink
Thanks for all suggestion. Currently, we don’t have any third party product
for doing this task. So, my idea is to create rexx program, which keep
checking ( once in day) particular address spaces like IMS, CICS, or any
other which are continuously running in system and find that if the lines
are exceed in the job with the limit we set in rexx program then this
program should cut those messages from that address space and save it in
one separate dataset

we specified in rexx program and next time when this program find more
message in the address space, it should again cut messages from address
space and append in the dataset we used earlier.



So, for difference address space( CICS, IMS, DB2 etc) , I would like to use
different dataset and keep appending messages on regular interval .



As I am not expert in rexx, can anybody help me doing this task.



Regards
Post by Lizette Koehler
So it might be possible that you are seeing data that JES2 has buffered.
That is why you can see all of the data on a job in the ST panel even if
all that is left in O or H panels is the output from an IEBGENER.
Lizette
-----Original Message-----
Sent: May 2, 2017 2:26 PM
Subject: Re: job output into dataset
It works pretty well except for one (minor) issue. When you do SE against
a DDNAME in SDSF it doesn't work as expected. It seem to display the first
of the outputs with the same DDNAME, independent of which one you select.
At least, that's what it does here (z/OS 2.1).
Bart
-----Original Message-----
Behalf Of Phil Sidler
Sent: Tuesday, May 02, 2017 4:16 PM
Subject: Re: job output into dataset
On Tue, 2 May 2017 12:54:35 -0700, Lizette Koehler <
Post by Lizette Koehler
I have this in place on several Products I support. The JES Messages all
go to our output repository. No issues.
Oh, I see it now, $HASP138 and a new DD with the same name shows up.
Cool.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Lizette Koehler
2017-05-03 14:27:40 UTC
Permalink
First,

You cannot "cut" messages from the task. You can only spin it.

I am sure there are consultants you can hire to help you write this code. This is a friendly list, but you are asking for some effort to be done.

You can have JES spin the job at the number of lines you want, it does not have to be on TIME based parameter. Then setup an EXTERNAL Writer to extract the data. Spin each task at a different time and then run the writer. That way you should be able to keep things separated. After the External writer runs, then mod on to a dataset of your choice. If you are just spinning specific DD statements in the TASK, you may have an easier process.


Or you could create a GDG and at the end of the day, use IEBGENER to copy all the GDGs to one dataset.

The best way to get better in coding REXX is to just code rexx. The more you do the better you get.

There are already some REXX code on cbttape.org that could assist you . Or there might be other tools already created you can use for your process. Do an internet search for JES2DISK. This is a good piece of code that will write from JES2 to a file or a Unix File using SDSF REXX. This is the process I use to pull data from JES Spool and write to a dataset. It can be adapted to use filters like DD names or other JES2 Elements of a job.





Lizette
Post by Styles, Andy , ITS zPlatform Services
-----Original Message-----
Behalf Of venkat kulkarni
Sent: Wednesday, May 03, 2017 4:14 AM
Subject: Re: job output into dataset
Thanks for all suggestion. Currently, we don’t have any third party product
for doing this task. So, my idea is to create rexx program, which keep
checking ( once in day) particular address spaces like IMS, CICS, or any other
which are continuously running in system and find that if the lines are exceed
in the job with the limit we set in rexx program then this program should cut
those messages from that address space and save it in one separate dataset
we specified in rexx program and next time when this program find more message
in the address space, it should again cut messages from address space and
append in the dataset we used earlier.
So, for difference address space( CICS, IMS, DB2 etc) , I would like to use
different dataset and keep appending messages on regular interval .
As I am not expert in rexx, can anybody help me doing this task.
Regards
Post by Lizette Koehler
So it might be possible that you are seeing data that JES2 has buffered.
That is why you can see all of the data on a job in the ST panel even
if all that is left in O or H panels is the output from an IEBGENER.
Lizette
-----Original Message-----
Sent: May 2, 2017 2:26 PM
Subject: Re: job output into dataset
It works pretty well except for one (minor) issue. When you do SE against
a DDNAME in SDSF it doesn't work as expected. It seem to display the
first of the outputs with the same DDNAME, independent of which one you
select.
Post by Lizette Koehler
At least, that's what it does here (z/OS 2.1).
Bart
-----Original Message-----
Behalf Of Phil Sidler
Sent: Tuesday, May 02, 2017 4:16 PM
Subject: Re: job output into dataset
On Tue, 2 May 2017 12:54:35 -0700, Lizette Koehler <
Post by Lizette Koehler
I have this in place on several Products I support. The JES Messages all
go to our output repository. No issues.
Oh, I see it now, $HASP138 and a new DD with the same name shows up.
Cool.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Barkow, Eileen
2017-05-03 15:06:32 UTC
Permalink
SDSF has a REXX interface which is documented in the SDSF OPERATION and CUSTOMIZATION manual.

I have a clist that extracts certain SYSOUT datasets from various jobs on the output queue and writes them out to datasets.
I can send you the routine if that would help.

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-***@LISTSERV.UA.EDU] On Behalf Of venkat kulkarni
Sent: Wednesday, May 03, 2017 7:14 AM
To: IBM-***@LISTSERV.UA.EDU
Subject: Re: job output into dataset

Thanks for all suggestion. Currently, we don’t have any third party product
for doing this task. So, my idea is to create rexx program, which keep
checking ( once in day) particular address spaces like IMS, CICS, or any
other which are continuously running in system and find that if the lines
are exceed in the job with the limit we set in rexx program then this
program should cut those messages from that address space and save it in
one separate dataset

we specified in rexx program and next time when this program find more
message in the address space, it should again cut messages from address
space and append in the dataset we used earlier.



So, for difference address space( CICS, IMS, DB2 etc) , I would like to use
different dataset and keep appending messages on regular interval .



As I am not expert in rexx, can anybody help me doing this task.



Regards
Post by Lizette Koehler
So it might be possible that you are seeing data that JES2 has buffered.
That is why you can see all of the data on a job in the ST panel even if
all that is left in O or H panels is the output from an IEBGENER.
Lizette
-----Original Message-----
Sent: May 2, 2017 2:26 PM
Subject: Re: job output into dataset
It works pretty well except for one (minor) issue. When you do SE against
a DDNAME in SDSF it doesn't work as expected. It seem to display the first
of the outputs with the same DDNAME, independent of which one you select.
At least, that's what it does here (z/OS 2.1).
Bart
-----Original Message-----
Behalf Of Phil Sidler
Sent: Tuesday, May 02, 2017 4:16 PM
Subject: Re: job output into dataset
On Tue, 2 May 2017 12:54:35 -0700, Lizette Koehler <
Post by Lizette Koehler
I have this in place on several Products I support. The JES Messages all
go to our output repository. No issues.
Oh, I see it now, $HASP138 and a new DD with the same name shows up.
Cool.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu<mailto:***@listserv.ua.edu> with the message: INFO IBM-MAIN



________________________________

This e-mail, including any attachments, may be confidential, privileged or otherwise legally protected. It is intended only for the addressee. If you received this e-mail in error or from someone who was not authorized to send it to you, do not disseminate, copy or otherwise use this e-mail or its attachments. Please notify the sender immediately by reply e-mail and delete the e-mail from your system.


----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
venkat kulkarni
2017-05-04 12:56:54 UTC
Permalink
Hello,

Thanks for reply. As you mentioned that you have program which can be used
to extract data from various jobs. There are couple points, I would like to
make



1) Our requirement is to avoid space issue by cutting the records from
continuously running address spaces and put in dataset.

2) This process should run once in day and whatever address space we
specify in this process, should cut records from address space and keep
appending into datasets we specify.

3) For every address space, we will have separate Dataset for later to
be used or reviewed.
Post by Barkow, Eileen
SDSF has a REXX interface which is documented in the SDSF OPERATION and
CUSTOMIZATION manual.
I have a clist that extracts certain SYSOUT datasets from various jobs on
the output queue and writes them out to datasets.
I can send you the routine if that would help.
-----Original Message-----
Behalf Of venkat kulkarni
Sent: Wednesday, May 03, 2017 7:14 AM
Subject: Re: job output into dataset
Thanks for all suggestion. Currently, we don’t have any third party product
for doing this task. So, my idea is to create rexx program, which keep
checking ( once in day) particular address spaces like IMS, CICS, or any
other which are continuously running in system and find that if the lines
are exceed in the job with the limit we set in rexx program then this
program should cut those messages from that address space and save it in
one separate dataset
we specified in rexx program and next time when this program find more
message in the address space, it should again cut messages from address
space and append in the dataset we used earlier.
So, for difference address space( CICS, IMS, DB2 etc) , I would like to use
different dataset and keep appending messages on regular interval .
As I am not expert in rexx, can anybody help me doing this task.
Regards
Post by Lizette Koehler
So it might be possible that you are seeing data that JES2 has buffered.
That is why you can see all of the data on a job in the ST panel even if
all that is left in O or H panels is the output from an IEBGENER.
Lizette
-----Original Message-----
Sent: May 2, 2017 2:26 PM
Subject: Re: job output into dataset
It works pretty well except for one (minor) issue. When you do SE
against
Post by Lizette Koehler
a DDNAME in SDSF it doesn't work as expected. It seem to display the
first
Post by Lizette Koehler
of the outputs with the same DDNAME, independent of which one you select.
At least, that's what it does here (z/OS 2.1).
Bart
-----Original Message-----
On
Post by Lizette Koehler
Behalf Of Phil Sidler
Sent: Tuesday, May 02, 2017 4:16 PM
Subject: Re: job output into dataset
On Tue, 2 May 2017 12:54:35 -0700, Lizette Koehler <
Post by Lizette Koehler
I have this in place on several Products I support. The JES Messages
all
Post by Lizette Koehler
go to our output repository. No issues.
Oh, I see it now, $HASP138 and a new DD with the same name shows up.
Cool.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
with the message: INFO IBM-MAIN
________________________________
This e-mail, including any attachments, may be confidential, privileged or
otherwise legally protected. It is intended only for the addressee. If you
received this e-mail in error or from someone who was not authorized to
send it to you, do not disseminate, copy or otherwise use this e-mail or
its attachments. Please notify the sender immediately by reply e-mail and
delete the e-mail from your system.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Lizette Koehler
2017-05-04 13:24:31 UTC
Permalink
Just to clarify.

You will not run out of space on an active job. You can run into a S722 abend which is lines exceeded in JES which means the configuration in JES2 has a maximum limit for lines written to SPOOL. And the task exceeded that limit. And this can happen with a job running for weeks at a time even with SPIN being used.

Space is related to dasd datasets. Spool is handled very differently from data going to a dataset.

You indicated you wanted to have the output spin after so many lines are written. This can be done with the following command

Note: If this is only for a //xxx DD SYSOUT= the following type of DD statement then this will work


//DD5 DD SYSOUT=A,SPIN=(UNALLOC,5K)

In this example, the system splits the data set into 5000 record segments and makes the SYSOUT data set available for printing every 5000 records. Whatever remains in the data set at the end of the STEP is available for printing at the end of step.


If you want the entire JOB to spin - Start the STC up with the SPIN Parameter (Depending on your level of z/OS and JES2)

SPIN= {NO }
{UNALLOC }
{(UNALLOC,'hh:mm') }
{(UNALLOC,'+hh:mm') }
{(UNALLOC,nnn [K|M])}
{(UNALLOC,NOCMND) }
{(UNALLOC,CMNDONLY) }



(UNALLOC,nnn[K|M])
JES2 only. Indicates that the data set is to be spun when it has the specified number of lines, where nnn is lines. A minimum of 500 lines must be specified. Specify the optional characters K for thousands of lines and M for millions of lines.


You still will need another process (JES2DISK for example) to have the data on JES2 moved to a dataset for later viewing.

Hope this helps

Lizette
Post by Styles, Andy , ITS zPlatform Services
-----Original Message-----
Behalf Of venkat kulkarni
Sent: Thursday, May 04, 2017 5:58 AM
Subject: Re: job output into dataset
Hello,
Thanks for reply. As you mentioned that you have program which can be used to
extract data from various jobs. There are couple points, I would like to make
1) Our requirement is to avoid space issue by cutting the records from
continuously running address spaces and put in dataset.
2) This process should run once in day and whatever address space we
specify in this process, should cut records from address space and keep
appending into datasets we specify.
3) For every address space, we will have separate Dataset for later to
be used or reviewed.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Barkow, Eileen
2017-05-04 17:21:08 UTC
Permalink
1. as others have mentioned, the SPIN function can be used to unalloc and re-alloc the sysout datasets.
Clists can issue command: $TS ####,SPIN,DDNAME=ddname after writing out to datasets.

2. my clist runs from a job which passes parameters as to which jobnames are to be processed. Job can be automated to run at specified intervals.

3. the clist controls the allocation of the datasets - DISP=MOD can be used to add on to existing datasets.
I usually like to allocate new datasets for each run with the region name and a date and timestamp in the dataset name.

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-***@LISTSERV.UA.EDU] On Behalf Of venkat kulkarni
Sent: Thursday, May 04, 2017 8:58 AM
To: IBM-***@LISTSERV.UA.EDU
Subject: Re: job output into dataset

Hello,

Thanks for reply. As you mentioned that you have program which can be used
to extract data from various jobs. There are couple points, I would like to
make



1) Our requirement is to avoid space issue by cutting the records from
continuously running address spaces and put in dataset.

2) This process should run once in day and whatever address space we
specify in this process, should cut records from address space and keep
appending into datasets we specify.

3) For every address space, we will have separate Dataset for later to
be used or reviewed.
Post by Barkow, Eileen
SDSF has a REXX interface which is documented in the SDSF OPERATION and
CUSTOMIZATION manual.
I have a clist that extracts certain SYSOUT datasets from various jobs on
the output queue and writes them out to datasets.
I can send you the routine if that would help.
-----Original Message-----
Behalf Of venkat kulkarni
Sent: Wednesday, May 03, 2017 7:14 AM
Subject: Re: job output into dataset
Thanks for all suggestion. Currently, we don’t have any third party product
for doing this task. So, my idea is to create rexx program, which keep
checking ( once in day) particular address spaces like IMS, CICS, or any
other which are continuously running in system and find that if the lines
are exceed in the job with the limit we set in rexx program then this
program should cut those messages from that address space and save it in
one separate dataset
we specified in rexx program and next time when this program find more
message in the address space, it should again cut messages from address
space and append in the dataset we used earlier.
So, for difference address space( CICS, IMS, DB2 etc) , I would like to use
different dataset and keep appending messages on regular interval .
As I am not expert in rexx, can anybody help me doing this task.
Regards
Post by Lizette Koehler
So it might be possible that you are seeing data that JES2 has buffered.
That is why you can see all of the data on a job in the ST panel even if
all that is left in O or H panels is the output from an IEBGENER.
Lizette
-----Original Message-----
Sent: May 2, 2017 2:26 PM
Subject: Re: job output into dataset
It works pretty well except for one (minor) issue. When you do SE
against
Post by Lizette Koehler
a DDNAME in SDSF it doesn't work as expected. It seem to display the
first
Post by Lizette Koehler
of the outputs with the same DDNAME, independent of which one you select.
At least, that's what it does here (z/OS 2.1).
Bart
-----Original Message-----
On
Post by Lizette Koehler
Behalf Of Phil Sidler
Sent: Tuesday, May 02, 2017 4:16 PM
Subject: Re: job output into dataset
On Tue, 2 May 2017 12:54:35 -0700, Lizette Koehler <
Post by Lizette Koehler
I have this in place on several Products I support. The JES Messages
all
Post by Lizette Koehler
go to our output repository. No issues.
Oh, I see it now, $HASP138 and a new DD with the same name shows up.
Cool.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
with the message: INFO IBM-MAIN
________________________________
This e-mail, including any attachments, may be confidential, privileged or
otherwise legally protected. It is intended only for the addressee. If you
received this e-mail in error or from someone who was not authorized to
send it to you, do not disseminate, copy or otherwise use this e-mail or
its attachments. Please notify the sender immediately by reply e-mail and
delete the e-mail from your system.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
venkat kulkarni
2017-05-07 11:14:50 UTC
Permalink
Hello,



Thanks for helping so far. I used below command



$T JQ(IMS12RC3),SPIN,DDNAME=JCLOUT



and output from this command is



RESPONSE=TST4

$HASP890 JOB(IMS12RC3)

$HASP890 JOB(IMS12RC3) STATUS=(EXECUTING/TST4),CLASS=STC,

$HASP890 PRIORITY=15,SYSAFF=(TST4),HOLD=(NONE)







Job IMS12RC3 is,



BROWSE SYS1.DEVL.PROCLIB(IMS12RC3) - 01.03 Line 0000000

Command ===> Scr

********************************* Top of Data ********************

// PROC RGN=0M,SOUT=A,

// IMSID=IMS4,SYS2=

//IEFPROC EXEC PGM=DFSMVRC0,REGION=&RGN,

// PARM='DRC,&IMSID'

//****************************************************

//*

//STEPLIB DD DSN=IMS4.V120.&SYS2.SDFSRESL,DISP=SHR

//PROCLIB DD DSN=IMS4.V120.&SYS2.PROCLIB,DISP=SHR

//JCLOUT DD SYSOUT=(A,INTRDR)

//JCLPDS DD DSN=IMS4.V120.&SYS2.PROCLIB,DISP=SHR

//SYSUDUMP DD SYSOUT=&SOUT

//SYSABEND DD SYSOUT=&SOUT

//*

//************ DBRC RECON DD CARDS *******************

//*

//* USER SUPPLY THE DD CARDS

//* REQUIRED FOR THE DBRC RECON DATA SET.

//* IF NO DD STATEMENTS ARE SUPPLIED FOR RECON

//* DATASETS, IMS ASSUMES THAT THE DATASETS

//* HAVE BEEN DESCRIBED THROUGH THE DFSMDA MACRO.

//*

//RECON1 DD DSN=IMS4.V120.RECON1,DISP=SHR

//RECON2 DD DSN=IMS4.V120.RECON2,DISP=SHR

//RECON3 DD DSN=IMS4.V120.RECON3,DISP=SHR

//*



Can you please explain, what this command actually performed. As I
mentioned, my plan was to cut messages from this job and put in one dataset
using the command you suggested. Please correct , if I am missing anything.
Post by Barkow, Eileen
1. as others have mentioned, the SPIN function can be used to unalloc and
re-alloc the sysout datasets.
Clists can issue command: $TS ####,SPIN,DDNAME=ddname after writing out to datasets.
2. my clist runs from a job which passes parameters as to which jobnames
are to be processed. Job can be automated to run at specified intervals.
3. the clist controls the allocation of the datasets - DISP=MOD can be
used to add on to existing datasets.
I usually like to allocate new datasets for each run with the region
name and a date and timestamp in the dataset name.
-----Original Message-----
Behalf Of venkat kulkarni
Sent: Thursday, May 04, 2017 8:58 AM
Subject: Re: job output into dataset
Hello,
Thanks for reply. As you mentioned that you have program which can be used
to extract data from various jobs. There are couple points, I would like to
make
1) Our requirement is to avoid space issue by cutting the records from
continuously running address spaces and put in dataset.
2) This process should run once in day and whatever address space we
specify in this process, should cut records from address space and keep
appending into datasets we specify.
3) For every address space, we will have separate Dataset for later to
be used or reviewed.
Post by Barkow, Eileen
SDSF has a REXX interface which is documented in the SDSF OPERATION and
CUSTOMIZATION manual.
I have a clist that extracts certain SYSOUT datasets from various jobs
on
Post by Barkow, Eileen
the output queue and writes them out to datasets.
I can send you the routine if that would help.
-----Original Message-----
Behalf Of venkat kulkarni
Sent: Wednesday, May 03, 2017 7:14 AM
Subject: Re: job output into dataset
Thanks for all suggestion. Currently, we don’t have any third party
product
Post by Barkow, Eileen
for doing this task. So, my idea is to create rexx program, which keep
checking ( once in day) particular address spaces like IMS, CICS, or any
other which are continuously running in system and find that if the lines
are exceed in the job with the limit we set in rexx program then this
program should cut those messages from that address space and save it in
one separate dataset
we specified in rexx program and next time when this program find more
message in the address space, it should again cut messages from address
space and append in the dataset we used earlier.
So, for difference address space( CICS, IMS, DB2 etc) , I would like to
use
Post by Barkow, Eileen
different dataset and keep appending messages on regular interval .
As I am not expert in rexx, can anybody help me doing this task.
Regards
Post by Lizette Koehler
So it might be possible that you are seeing data that JES2 has
buffered.
Post by Barkow, Eileen
Post by Lizette Koehler
That is why you can see all of the data on a job in the ST panel even
if
Post by Barkow, Eileen
Post by Lizette Koehler
all that is left in O or H panels is the output from an IEBGENER.
Lizette
-----Original Message-----
Sent: May 2, 2017 2:26 PM
Subject: Re: job output into dataset
It works pretty well except for one (minor) issue. When you do SE
against
Post by Lizette Koehler
a DDNAME in SDSF it doesn't work as expected. It seem to display the
first
Post by Lizette Koehler
of the outputs with the same DDNAME, independent of which one you
select.
Post by Barkow, Eileen
Post by Lizette Koehler
At least, that's what it does here (z/OS 2.1).
Bart
-----Original Message-----
On
Post by Lizette Koehler
Behalf Of Phil Sidler
Sent: Tuesday, May 02, 2017 4:16 PM
Subject: Re: job output into dataset
On Tue, 2 May 2017 12:54:35 -0700, Lizette Koehler <
Post by Lizette Koehler
I have this in place on several Products I support. The JES Messages
all
Post by Lizette Koehler
go to our output repository. No issues.
Oh, I see it now, $HASP138 and a new DD with the same name shows up.
Cool.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
with the message: INFO IBM-MAIN
________________________________
This e-mail, including any attachments, may be confidential, privileged
or
Post by Barkow, Eileen
otherwise legally protected. It is intended only for the addressee. If
you
Post by Barkow, Eileen
received this e-mail in error or from someone who was not authorized to
send it to you, do not disseminate, copy or otherwise use this e-mail or
its attachments. Please notify the sender immediately by reply e-mail and
delete the e-mail from your system.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
van der Grijn, Bart , B
2017-05-03 12:23:28 UTC
Permalink
It just seems to show the first output with the same name, not the output I selected. If I select it with an 'S' it works fine, but sometimes (HSM is an example) I want to filter the long list of messages and try to use SE (Display in ISPF Edit). Same issue with SB (Display in ISPF Browse)
I would expect to see the same data independent of what flavor of select I use.

Am I the only one seeing this behaviour? More of a nit, but probably time to open a PMR.

Bart

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-***@LISTSERV.UA.EDU] On Behalf Of Lizette Koehler
Sent: Tuesday, May 02, 2017 5:40 PM
To: IBM-***@LISTSERV.UA.EDU
Subject: Re: job output into dataset

So it might be possible that you are seeing data that JES2 has buffered. That is why you can see all of the data on a job in the ST panel even if all that is left in O or H panels is the output from an IEBGENER.

Lizette

-----Original Message-----
Sent: May 2, 2017 2:26 PM
Subject: Re: job output into dataset
It works pretty well except for one (minor) issue. When you do SE against a DDNAME in SDSF it doesn't work as expected. It seem to display the first of the outputs with the same DDNAME, independent of which one you select. At least, that's what it does here (z/OS 2.1).
Bart
-----Original Message-----
Sent: Tuesday, May 02, 2017 4:16 PM
Subject: Re: job output into dataset
Post by Lizette Koehler
I have this in place on several Products I support. The JES Messages all go to our output repository. No issues.
Oh, I see it now, $HASP138 and a new DD with the same name shows up. Cool.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Elardus Engelbrecht
2017-05-03 12:19:00 UTC
Permalink
... So, my idea is to create rexx program, which keep checking ( once in day) particular address spaces like IMS, CICS, or any other which are continuously running in system and find that if the lines are exceed in the job with the limit we set in rexx program then this program should cut those messages from that address space and save it in one separate dataset
we specified in rexx program and next time when this program find more message in the address space, it should again cut messages from address space and append in the dataset we used earlier.
Somehow you need to find how you are counting the lines already written out and only write those lines not written out.

Something like using REXX + SDSF to get your lines (all of them), place them somewhere in a dataset and then using a counter to call IDCAMS from your program to do a REPRO like this one:

REPRO INFILE(IN) OUTFILE(AF) SKIP(<lines to skip>) COUNT(<how many?>)

Of course you can, from REXX, play with SDSF Print functions to do your printing to another dataset (new, old, mod), DD or yet another SYSOUT. Or using other fancy solutions...

All the while your STCs output just grow and grow until JES2 says 'stop' using whatever limits you placed.

I have done similar stunts [1] , but not copying certain lines from a live running STC to a dataset.

Groete / Greetings
Elardus Engelbrecht

[1] - In the prehistoric days, I have written a REXX program which copies SYSOUT from a completed batch job to three different datasets, each having x thousand pages by counting how many '1' there were on ASA column. All to split up printing on 3 different printers to speed up printing and chopping down trees faster...

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Jesse 1 Robinson
2017-05-04 16:26:38 UTC
Permalink
In some cases, sysout--or job messages--can become a space problem. I mentioned recently a system that we failed to IPL for over a year. At some point we hit a spool track group shortage because of the PFA started task. It had accumulated so many lines that the entire system was at risk. Resolution was simple: stop and restart the PFA task. We didn't need the actual output, so we just purged it, but we could have written it to a dataset as others have suggested. BTW we have since IPLed that poor neglected system. Local page usage is 0%.

In a distant galaxy long ago, we took to running VTAM SUB=MSTR on a small system to circumvent the same sort of problem. VTAM messages then went to syslog, which got archived every day. Otherwise we would have had to IPL the system for no other reason than spool space.

.
.
J.O.Skip Robinson
Southern California Edison Company
Electric Dragon Team Paddler
SHARE MVS Program Co-Manager
323-715-0595 Mobile
626-543-6132 Office ⇐=== NEW
***@sce.com


-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-***@LISTSERV.UA.EDU] On Behalf Of Lizette Koehler
Sent: Thursday, May 04, 2017 6:25 AM
To: IBM-***@LISTSERV.UA.EDU
Subject: (External):Re: job output into dataset

Just to clarify.

You will not run out of space on an active job. You can run into a S722 abend which is lines exceeded in JES which means the configuration in JES2 has a maximum limit for lines written to SPOOL. And the task exceeded that limit. And this can happen with a job running for weeks at a time even with SPIN being used.

Space is related to dasd datasets. Spool is handled very differently from data going to a dataset.

You indicated you wanted to have the output spin after so many lines are written. This can be done with the following command

Note: If this is only for a //xxx DD SYSOUT= the following type of DD statement then this will work


//DD5 DD SYSOUT=A,SPIN=(UNALLOC,5K)

In this example, the system splits the data set into 5000 record segments and makes the SYSOUT data set available for printing every 5000 records. Whatever remains in the data set at the end of the STEP is available for printing at the end of step.


If you want the entire JOB to spin - Start the STC up with the SPIN Parameter (Depending on your level of z/OS and JES2)

SPIN= {NO }
{UNALLOC }
{(UNALLOC,'hh:mm') }
{(UNALLOC,'+hh:mm') }
{(UNALLOC,nnn [K|M])}
{(UNALLOC,NOCMND) }
{(UNALLOC,CMNDONLY) }



(UNALLOC,nnn[K|M])
JES2 only. Indicates that the data set is to be spun when it has the specified number of lines, where nnn is lines. A minimum of 500 lines must be specified. Specify the optional characters K for thousands of lines and M for millions of lines.


You still will need another process (JES2DISK for example) to have the data on JES2 moved to a dataset for later viewing.

Hope this helps

Lizette
Post by Styles, Andy , ITS zPlatform Services
-----Original Message-----
On Behalf Of venkat kulkarni
Sent: Thursday, May 04, 2017 5:58 AM
Subject: Re: job output into dataset
Hello,
Thanks for reply. As you mentioned that you have program which can be
used to extract data from various jobs. There are couple points, I
would like to make
1) Our requirement is to avoid space issue by cutting the records from
continuously running address spaces and put in dataset.
2) This process should run once in day and whatever address space we
specify in this process, should cut records from address space and
keep appending into datasets we specify.
3) For every address space, we will have separate Dataset for later to
be used or reviewed.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
John McKown
2017-05-04 16:38:55 UTC
Permalink
Post by Jesse 1 Robinson
In some cases, sysout--or job messages--can become a space problem. I
mentioned recently a system that we failed to IPL for over a year. At some
point we hit a spool track group shortage because of the PFA started task.
It had accumulated so many lines that the entire system was at risk.
Resolution was simple: stop and restart the PFA task. We didn't need the
actual output, so we just purged it, but we could have written it to a
dataset as others have suggested. BTW we have since IPLed that poor
neglected system. Local page usage is 0%.
In a distant galaxy long ago, we took to running VTAM SUB=MSTR on a small
system to circumvent the same sort of problem. VTAM messages then went to
syslog, which got archived every day. Otherwise we would have had to IPL
the system for no other reason than spool space.
​I like that idea (SUB=MSTR) for long running ("never ending") started
tasks. For those who complain that "but we need SYSOUT= on a ​DD because we
want to archive it and you can use SYSOUT= with SUB=MSTR, I have a
"solution". Instead of:

//SOMEDD SYSOUT=* (OR OTHER "ARCHIVE" CLASS)

use:

//SOMEDD DD PATH='/dev/console',
// PATHOPTS=(OWRONLY,OAPPEND),
// RECFM=?,LRECL=? # CHANGE ? TO PROPER VALUES

This will put the output in SYSLOG/OPERLOG.

On a test on my system, that results in a couple of lines (example from
SYS1.MACLIB(READ)) like:

M 4000000 LIH1 17124 11:37:51.26 JOB44466 00000094 BPXF024I (123456) *
%END READ; 166
E 166 00000094
51150000

​I suppress all BPXF024I messages from all consoles via CA-OPSMVS.​
Post by Jesse 1 Robinson
.
.
J.O.Skip Robinson
Southern California Edison Company
Electric Dragon Team Paddler
SHARE MVS Program Co-Manager
323-715-0595 Mobile
626-543-6132 Office ⇐=== NEW
--
Advertising is a valuable economic factor because it is the cheapest way of
selling goods, particularly if the goods are worthless. -- Sinclair Lewis


Maranatha! <><
John McKown

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Paul Gilmartin
2017-05-07 23:22:28 UTC
Permalink
Huh? REPORTS? Someone's confused.
Perhaps, "jobs generating reports." But that's redundant.

Started tasks? TSO sessions? UNIX forked (BPXAS) address spaces?
INTRDR is used to submit REPORTS or JCL into SPOOL.
-- gil

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Peter Hunkeler
2017-05-08 05:50:37 UTC
Permalink
Post by Paul Gilmartin
Started tasks? TSO sessions? UNIX forked (BPXAS) address spaces?
What do you want to say by this??


--
Peter Hunkeler



----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
venkat kulkarni
2017-05-08 07:24:18 UTC
Permalink
Thanks for all suggestion and sorry for not being more precise. Our
requirement is



1) Any address space (STC) running continously and producing more number
of linee, we would like to cut lines on regulalr basis and put it in
seperate dataset and keep appending data

on regulalr basis.



2) But I am not aware of this process of doing this task. But after all our
discussion, I did as below.



I looked at IMS12RC3 proc in proclib library and noticed one of SYSOUT DD
statement as below



//JCLOUT DD SYSOUT=(A,INTRDR)



Job IMS12RC3 is,



BROWSE SYS1.DEVL.PROCLIB(IMS12RC3) - 01.03 Line 0000000



********************************* Top of Data ********************
Show quoted text

and then I used below command to spin IMS12RC3 address space lines and put
it in dataset.



$T JQ(IMS12RC3),SPIN,DDNAME=JCLOUT



and output from this command is



RESPONSE=TST4

$HASP890 JOB(IMS12RC3)

$HASP890 JOB(IMS12RC3) STATUS=(EXECUTING/TST4),CLASS=STC,

$HASP890 PRIORITY=15,SYSAFF=(TST4),HOLD=(NONE)







But I think my understanding is wrong somehow but not able to point out the
issue.



I think, the flow of this process will be use SPIN command to cut lines
from running address space to spool and then from spool, we should copy to
dataset.



As I am new in this process, please help me with the required steps to be
performed to achieve this.
Post by Peter Hunkeler
Post by Paul Gilmartin
Started tasks? TSO sessions? UNIX forked (BPXAS) address spaces?
What do you want to say by this??
--
Peter Hunkeler
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
venkat kulkarni
2017-05-08 07:33:20 UTC
Permalink
Just to add one more thing . Under ims12rc3 address space , below are dd
name available.

COMMAND INPUT ===>

PREFIX=* DEST=(ALL) OWNER=*

NP DDNAME StepName ProcSte

JESMSGLG JES2

JESJCL JES2

JESYSMSG JES2

JESMSGLG JES2

JESYSMSG JES2
Post by venkat kulkarni
Thanks for all suggestion and sorry for not being more precise. Our
requirement is
1) Any address space (STC) running continously and producing more number
of linee, we would like to cut lines on regulalr basis and put it in
seperate dataset and keep appending data
on regulalr basis.
2) But I am not aware of this process of doing this task. But after all
our discussion, I did as below.
I looked at IMS12RC3 proc in proclib library and noticed one of SYSOUT DD
statement as below
//JCLOUT DD SYSOUT=(A,INTRDR)
Job IMS12RC3 is,
BROWSE SYS1.DEVL.PROCLIB(IMS12RC3) - 01.03 Line 0000000
********************************* Top of Data ********************
Show quoted text
and then I used below command to spin IMS12RC3 address space lines and
put it in dataset.
$T JQ(IMS12RC3),SPIN,DDNAME=JCLOUT
and output from this command is
RESPONSE=TST4
$HASP890 JOB(IMS12RC3)
$HASP890 JOB(IMS12RC3) STATUS=(EXECUTING/TST4),CLASS=STC,
$HASP890 PRIORITY=15,SYSAFF=(TST4),HOLD=(NONE)
But I think my understanding is wrong somehow but not able to point out
the issue.
I think, the flow of this process will be use SPIN command to cut lines
from running address space to spool and then from spool, we should copy to
dataset.
As I am new in this process, please help me with the required steps to be
performed to achieve this.
Post by Peter Hunkeler
Post by Paul Gilmartin
Started tasks? TSO sessions? UNIX forked (BPXAS) address spaces?
What do you want to say by this??
--
Peter Hunkeler
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Lizette Koehler
2017-05-08 13:09:21 UTC
Permalink
So there is nothing to SPIN.

Instead of using JCLOUT which is an INTRDR (Very different than a normal SYSOUT statement)

Find a task that uses SYSOUT=* or SYSOUT=A (Or some similar OUTPUT CLASS)

Then try your $T command again

1) Verify there is output in the DD statement by following the steps provided
a) DA OSTC Screen
b) ? next to the Running task
c) Verify the DD statement has output by entering S next to the DD statement (Other than a JES prefixed DD)
2) Next, issue the SPIN command that you want against that output

3) See if there is a JES2 message indicating output has been actioned
a) When spinning remember it will still be in the Spool. Instead check the OUTPUT Panel O to see if it is there


Remember we cannot access your shop. You need to experiment based on the feedback you get. Read up on the $T command in the JES2 manuals to understand what it does, and what you should expect for the results.


Lizette
Post by Styles, Andy , ITS zPlatform Services
-----Original Message-----
Behalf Of venkat kulkarni
Sent: Monday, May 08, 2017 12:34 AM
Subject: Re: AW: Re: job output into dataset
Just to add one more thing . Under ims12rc3 address space , below are dd name
available.
COMMAND INPUT ===>
PREFIX=* DEST=(ALL) OWNER=*
NP DDNAME StepName ProcSte
JESMSGLG JES2
JESJCL JES2
JESYSMSG JES2
JESMSGLG JES2
JESYSMSG JES2
Post by venkat kulkarni
Thanks for all suggestion and sorry for not being more precise. Our
requirement is
1) Any address space (STC) running continously and producing more
number of linee, we would like to cut lines on regulalr basis and put
it in seperate dataset and keep appending data
on regulalr basis.
2) But I am not aware of this process of doing this task. But after
all our discussion, I did as below.
I looked at IMS12RC3 proc in proclib library and noticed one of SYSOUT
DD statement as below
//JCLOUT DD SYSOUT=(A,INTRDR)
Job IMS12RC3 is,
BROWSE SYS1.DEVL.PROCLIB(IMS12RC3) - 01.03 Line 0000000
********************************* Top of Data ********************
Show quoted text
and then I used below command to spin IMS12RC3 address space lines
and put it in dataset.
$T JQ(IMS12RC3),SPIN,DDNAME=JCLOUT
and output from this command is
RESPONSE=TST4
$HASP890 JOB(IMS12RC3)
$HASP890 JOB(IMS12RC3) STATUS=(EXECUTING/TST4),CLASS=STC,
$HASP890 PRIORITY=15,SYSAFF=(TST4),HOLD=(NONE)
But I think my understanding is wrong somehow but not able to point
out the issue.
I think, the flow of this process will be use SPIN command to cut
lines from running address space to spool and then from spool, we
should copy to dataset.
As I am new in this process, please help me with the required steps
to be performed to achieve this.
Post by Peter Hunkeler
Post by Paul Gilmartin
Started tasks? TSO sessions? UNIX forked (BPXAS) address spaces?
What do you want to say by this??
--
Peter Hunkeler
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Barkow, Eileen
2017-05-08 15:13:35 UTC
Permalink
As I explained to Vekat, he can use the SDSF/REXX clist I gave him to extract and archive the SYSOUT queue to a dataset as allocated in the clist.
Then the clist can issue a command like:

$TSTC04306,SPIN,DDNAME=DDNTOSPIN
To drain the queue.

The clist has the started task number to use for the $Tstcno,SPIN command.
Code can also be added to extract the number of existing lines in the DDNAME to determine whether or not to spin it.
Any DDNAME can be specified.


-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-***@LISTSERV.UA.EDU] On Behalf Of venkat kulkarni
Sent: Monday, May 08, 2017 3:34 AM
To: IBM-***@LISTSERV.UA.EDU
Subject: Re: AW: Re: job output into dataset

Just to add one more thing . Under ims12rc3 address space , below are dd
name available.

COMMAND INPUT ===>

PREFIX=* DEST=(ALL) OWNER=*

NP DDNAME StepName ProcSte

JESMSGLG JES2

JESJCL JES2

JESYSMSG JES2

JESMSGLG JES2

JESYSMSG JES2
Post by venkat kulkarni
Thanks for all suggestion and sorry for not being more precise. Our
requirement is
1) Any address space (STC) running continously and producing more number
of linee, we would like to cut lines on regulalr basis and put it in
seperate dataset and keep appending data
on regulalr basis.
2) But I am not aware of this process of doing this task. But after all
our discussion, I did as below.
I looked at IMS12RC3 proc in proclib library and noticed one of SYSOUT DD
statement as below
//JCLOUT DD SYSOUT=(A,INTRDR)
Job IMS12RC3 is,
BROWSE SYS1.DEVL.PROCLIB(IMS12RC3) - 01.03 Line 0000000
********************************* Top of Data ********************
Show quoted text
and then I used below command to spin IMS12RC3 address space lines and
put it in dataset.
$T JQ(IMS12RC3),SPIN,DDNAME=JCLOUT
and output from this command is
RESPONSE=TST4
$HASP890 JOB(IMS12RC3)
$HASP890 JOB(IMS12RC3) STATUS=(EXECUTING/TST4),CLASS=STC,
$HASP890 PRIORITY=15,SYSAFF=(TST4),HOLD=(NONE)
But I think my understanding is wrong somehow but not able to point out
the issue.
I think, the flow of this process will be use SPIN command to cut lines
from running address space to spool and then from spool, we should copy to
dataset.
As I am new in this process, please help me with the required steps to be
performed to achieve this.
Post by Peter Hunkeler
Post by Paul Gilmartin
Started tasks? TSO sessions? UNIX forked (BPXAS) address spaces?
What do you want to say by this??
--
Peter Hunkeler
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN

________________________________

This e-mail, including any attachments, may be confidential, privileged or otherwise legally protected. It is intended only for the addressee. If you received this e-mail in error or from someone who was not authorized to send it to you, do not disseminate, copy or otherwise use this e-mail or its attachments. Please notify the sender immediately by reply e-mail and delete the e-mail from your system.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
venkat kulkarni
2017-05-09 05:43:31 UTC
Permalink
Hello All,



Thanks for reply. I looked at my IMS proc and looks like below.



BROWSE SYS1.DEVL.PROCLIB(IMS12IMS) - 01.05 Line 00000000 Col 001
080

Command ===> Scroll ===>
CSR

********************************* Top of Data ******************************
****

// PROC RGN=0M,SOUT=A,

// SYS=,SYS2=,

// RGSUF=DBC,PARM1='AUTO=N',

// PARM2=

//IEFPROC EXEC PGM=DFSMVRC0,REGION=&RGN,

// PARM='DBC,&RGSUF,&PARM1,&PARM2'

//*

//STEPLIB DD DSN=IMS1.V120.&SYS2.SDFSRESL,DISP=SHR

//PROCLIB DD DSN=IMS1.V120.&SYS2.PROCLIB,DISP=SHR

//*

//IMSIRD DD SYSOUT=(A,INTRDR)

//*

//*

//DFSOLP00 DD DSN=IMS1.V120.&SYS.OLP00,DISP=SHR

//DFSOLP01 DD DSN=IMS1.V120.&SYS.OLP01,DISP=SHR

//DFSOLP99 DD DSN=IMS1.V120.&SYS.OLP99,DISP=SHR

//*

//DFSWADS0 DD DSN=IMS1.V120.&SYS.WADS0,DISP=SHR

//DFSWADS1 DD DSN=IMS1.V120.&SYS.WADS1,DISP=SHR

//*

//IMSACBA DD DSN=IMS1.V120.ACBLIBA,DISP=SHR

//* DD DSN=DBCR.V120.ACBLIB.FAID,DISP=SHR

//IMSACBB DD DSN=IMS1.V120.ACBLIBB,DISP=SHR

//* DD DSN=DBCR.V120.ACBLIB.FAID,DISP=SHR

//MODBLKSA DD DSN=IMS1.V120.&SYS2.MODBLKSA,DISP=SHR

//MODBLKSB DD DSN=IMS1.V120.&SYS2.MODBLKSB,DISP=SHR

//MODSTAT DD DSN=IMS1.V120.&SYS.MODSTAT,DISP=SHR

//******** SYSTEM REQUIRED DD CARDS **************

//*

//SYSUDUMP DD SYSOUT=&SOUT,

// DCB=(LRECL=125,RECFM=FBA,BLKSIZE=3129),

// SPACE=(6050,300,,,ROUND)

//IMSRDS DD DSN=IMS1.V120.&SYS.RDS,DISP=SHR

//MATRIXA DD DSN=IMS1.V120.&SYS2.MATRIXA,DISP=SHR

//MATRIXB DD DSN=IMS1.V120.&SYS2.MATRIXB,DISP=SHR

//PRINTDD DD SYSOUT=&SOUT

//*

//IMSMON DD DSN=IMS1.V120.IMSMON,DISP=SHR


//****** EXTERNAL SUBSYSTEM DD CARDS ***********

//*

//* USER MAY OPTIONALLY ADD THE DFSESL DD CARD

//* FOR EXTERNAL SUBSYSTEM CONNECTION.

//*

//DFSESL DD DSN=IMS1.V120.&SYS2.SDFSRESL,DISP=SHR

//************ DATA BASE DD CARDS ***************

******************************** Bottom of Data
********************************



And in DA, I see this



COMMAND INPUT ===>

PREFIX=IMS12IMS DEST=(ALL) OWNER=* SYSNAME=

NP DDNAME StepName ProcStep DSID Owner C Dest

JESMSGLG JES2 2 STCBRCR Z

JESJCL JES2 3 STCBRCR Z

JESYSMSG JES2 4 STCBRCR Z

JESMSGLG JES2 104 STCBRCR Z

JESYSMSG JES2 105 STCBRCR Z



So, I don’t have any other SYSOUT withSYSOUT=* or SYSOUT=A as you can see
in the above mentioned proc.



So, can you please suggest, what are all change I need to make for spin to
work .

I think, I will also have to addFREE=CLOSE,SPIN=UNALLOC in this IMS proc
DD, So that spin function can work. Because, currently when I run spin
command like below,

$T JQ(IMS12RC3),SPIN,DDNAME=JCLOUT



I just get output as below.



and output from this command is

RESPONSE=TST4

$HASP890 JOB(IMS12RC3)

$HASP890 JOB(IMS12RC3) STATUS=(EXECUTING/TST4),CLASS=STC,

$HASP890 PRIORITY=15,SYSAFF=(TST4),HOLD=(NONE)



But this doesn’t show that spin successfully completed or not.



I tried to provide you as much as detail this time. Can you please suggest,
how spin will work looking at my current proc
Post by Barkow, Eileen
As I explained to Vekat, he can use the SDSF/REXX clist I gave him to
extract and archive the SYSOUT queue to a dataset as allocated in the clist.
$TSTC04306,SPIN,DDNAME=DDNTOSPIN
To drain the queue.
The clist has the started task number to use for the $Tstcno,SPIN command.
Code can also be added to extract the number of existing lines in the
DDNAME to determine whether or not to spin it.
Any DDNAME can be specified.
-----Original Message-----
Behalf Of venkat kulkarni
Sent: Monday, May 08, 2017 3:34 AM
Subject: Re: AW: Re: job output into dataset
Just to add one more thing . Under ims12rc3 address space , below are dd
name available.
COMMAND INPUT ===>
PREFIX=* DEST=(ALL) OWNER=*
NP DDNAME StepName ProcSte
JESMSGLG JES2
JESJCL JES2
JESYSMSG JES2
JESMSGLG JES2
JESYSMSG JES2
Post by venkat kulkarni
Thanks for all suggestion and sorry for not being more precise. Our
requirement is
1) Any address space (STC) running continously and producing more number
of linee, we would like to cut lines on regulalr basis and put it in
seperate dataset and keep appending data
on regulalr basis.
2) But I am not aware of this process of doing this task. But after all
our discussion, I did as below.
I looked at IMS12RC3 proc in proclib library and noticed one of SYSOUT DD
statement as below
//JCLOUT DD SYSOUT=(A,INTRDR)
Job IMS12RC3 is,
BROWSE SYS1.DEVL.PROCLIB(IMS12RC3) - 01.03 Line 0000000
********************************* Top of Data ********************
Show quoted text
and then I used below command to spin IMS12RC3 address space lines and
put it in dataset.
$T JQ(IMS12RC3),SPIN,DDNAME=JCLOUT
and output from this command is
RESPONSE=TST4
$HASP890 JOB(IMS12RC3)
$HASP890 JOB(IMS12RC3) STATUS=(EXECUTING/TST4),CLASS=STC,
$HASP890 PRIORITY=15,SYSAFF=(TST4),HOLD=(NONE)
But I think my understanding is wrong somehow but not able to point out
the issue.
I think, the flow of this process will be use SPIN command to cut lines
from running address space to spool and then from spool, we should copy
to
Post by venkat kulkarni
dataset.
As I am new in this process, please help me with the required steps to
be
Post by venkat kulkarni
performed to achieve this.
Post by Peter Hunkeler
Post by Paul Gilmartin
Started tasks? TSO sessions? UNIX forked (BPXAS) address spaces?
What do you want to say by this??
--
Peter Hunkeler
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
________________________________
This e-mail, including any attachments, may be confidential, privileged or
otherwise legally protected. It is intended only for the addressee. If you
received this e-mail in error or from someone who was not authorized to
send it to you, do not disseminate, copy or otherwise use this e-mail or
its attachments. Please notify the sender immediately by reply e-mail and
delete the e-mail from your system.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Gibney, Dave
2017-05-09 06:39:30 UTC
Permalink
There is no DD named JCLOUT.
There is nothing (aside from the JESxxxxx) to SPIN.
Why do you want to spin job?
Post by Styles, Andy , ITS zPlatform Services
-----Original Message-----
On Behalf Of venkat kulkarni
Sent: Monday, May 08, 2017 10:44 PM
Subject: Re: AW: Re: job output into dataset
Hello All,
Thanks for reply. I looked at my IMS proc and looks like below.
BROWSE SYS1.DEVL.PROCLIB(IMS12IMS) - 01.05 Line 00000000 Col 001
080
Command ===> Scroll ===>
CSR
********************************* Top of Data
******************************
****
// PROC RGN=0M,SOUT=A,
// SYS=,SYS2=,
// RGSUF=DBC,PARM1='AUTO=N',
// PARM2=
//IEFPROC EXEC PGM=DFSMVRC0,REGION=&RGN,
// PARM='DBC,&RGSUF,&PARM1,&PARM2'
//*
//STEPLIB DD DSN=IMS1.V120.&SYS2.SDFSRESL,DISP=SHR
//PROCLIB DD DSN=IMS1.V120.&SYS2.PROCLIB,DISP=SHR
//*
//IMSIRD DD SYSOUT=(A,INTRDR)
//*
//*
//DFSOLP00 DD DSN=IMS1.V120.&SYS.OLP00,DISP=SHR
//DFSOLP01 DD DSN=IMS1.V120.&SYS.OLP01,DISP=SHR
//DFSOLP99 DD DSN=IMS1.V120.&SYS.OLP99,DISP=SHR
//*
//DFSWADS0 DD DSN=IMS1.V120.&SYS.WADS0,DISP=SHR
//DFSWADS1 DD DSN=IMS1.V120.&SYS.WADS1,DISP=SHR
//*
//IMSACBA DD DSN=IMS1.V120.ACBLIBA,DISP=SHR
//* DD DSN=DBCR.V120.ACBLIB.FAID,DISP=SHR
//IMSACBB DD DSN=IMS1.V120.ACBLIBB,DISP=SHR
//* DD DSN=DBCR.V120.ACBLIB.FAID,DISP=SHR
//MODBLKSA DD DSN=IMS1.V120.&SYS2.MODBLKSA,DISP=SHR
//MODBLKSB DD DSN=IMS1.V120.&SYS2.MODBLKSB,DISP=SHR
//MODSTAT DD DSN=IMS1.V120.&SYS.MODSTAT,DISP=SHR
//******** SYSTEM REQUIRED DD CARDS **************
//*
//SYSUDUMP DD SYSOUT=&SOUT,
// DCB=(LRECL=125,RECFM=FBA,BLKSIZE=3129),
// SPACE=(6050,300,,,ROUND)
//IMSRDS DD DSN=IMS1.V120.&SYS.RDS,DISP=SHR
//MATRIXA DD DSN=IMS1.V120.&SYS2.MATRIXA,DISP=SHR
//MATRIXB DD DSN=IMS1.V120.&SYS2.MATRIXB,DISP=SHR
//PRINTDD DD SYSOUT=&SOUT
//*
//IMSMON DD DSN=IMS1.V120.IMSMON,DISP=SHR
//****** EXTERNAL SUBSYSTEM DD CARDS ***********
//*
//* USER MAY OPTIONALLY ADD THE DFSESL DD CARD
//* FOR EXTERNAL SUBSYSTEM CONNECTION.
//*
//DFSESL DD DSN=IMS1.V120.&SYS2.SDFSRESL,DISP=SHR
//************ DATA BASE DD CARDS ***************
******************************** Bottom of Data
********************************
And in DA, I see this
COMMAND INPUT ===>
PREFIX=IMS12IMS DEST=(ALL) OWNER=* SYSNAME=
NP DDNAME StepName ProcStep DSID Owner C Dest
JESMSGLG JES2 2 STCBRCR Z
JESJCL JES2 3 STCBRCR Z
JESYSMSG JES2 4 STCBRCR Z
JESMSGLG JES2 104 STCBRCR Z
JESYSMSG JES2 105 STCBRCR Z
So, I don’t have any other SYSOUT withSYSOUT=* or SYSOUT=A as you can see
in the above mentioned proc.
So, can you please suggest, what are all change I need to make for spin to
work .
I think, I will also have to addFREE=CLOSE,SPIN=UNALLOC in this IMS proc DD,
So that spin function can work. Because, currently when I run spin command
like below,
$T JQ(IMS12RC3),SPIN,DDNAME=JCLOUT
I just get output as below.
and output from this command is
RESPONSE=TST4
$HASP890 JOB(IMS12RC3)
$HASP890 JOB(IMS12RC3) STATUS=(EXECUTING/TST4),CLASS=STC,
$HASP890 PRIORITY=15,SYSAFF=(TST4),HOLD=(NONE)
But this doesn’t show that spin successfully completed or not.
I tried to provide you as much as detail this time. Can you please suggest,
how spin will work looking at my current proc
Post by Barkow, Eileen
As I explained to Vekat, he can use the SDSF/REXX clist I gave him
to extract and archive the SYSOUT queue to a dataset as allocated in the
clist.
Post by Barkow, Eileen
$TSTC04306,SPIN,DDNAME=DDNTOSPIN
To drain the queue.
The clist has the started task number to use for the $Tstcno,SPIN
command.
Post by Barkow, Eileen
Code can also be added to extract the number of existing lines in the
DDNAME to determine whether or not to spin it.
Any DDNAME can be specified.
-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-
On Behalf Of venkat kulkarni
Sent: Monday, May 08, 2017 3:34 AM
Subject: Re: AW: Re: job output into dataset
Just to add one more thing . Under ims12rc3 address space , below are
dd name available.
COMMAND INPUT ===>
PREFIX=* DEST=(ALL) OWNER=*
NP DDNAME StepName ProcSte
JESMSGLG JES2
JESJCL JES2
JESYSMSG JES2
JESMSGLG JES2
JESYSMSG JES2
On 08-May-2017 10:25 AM, "venkat kulkarni"
Post by venkat kulkarni
Thanks for all suggestion and sorry for not being more precise. Our
requirement is
1) Any address space (STC) running continously and producing more
number of linee, we would like to cut lines on regulalr basis and
put it in seperate dataset and keep appending data
on regulalr basis.
2) But I am not aware of this process of doing this task. But after
all our discussion, I did as below.
I looked at IMS12RC3 proc in proclib library and noticed one of
SYSOUT DD statement as below
//JCLOUT DD SYSOUT=(A,INTRDR)
Job IMS12RC3 is,
BROWSE SYS1.DEVL.PROCLIB(IMS12RC3) - 01.03 Line 0000000
********************************* Top of Data
********************
Post by Barkow, Eileen
Post by venkat kulkarni
Show quoted text
and then I used below command to spin IMS12RC3 address space lines
and put it in dataset.
$T JQ(IMS12RC3),SPIN,DDNAME=JCLOUT
and output from this command is
RESPONSE=TST4
$HASP890 JOB(IMS12RC3)
$HASP890 JOB(IMS12RC3) STATUS=(EXECUTING/TST4),CLASS=STC,
$HASP890 PRIORITY=15,SYSAFF=(TST4),HOLD=(NONE)
But I think my understanding is wrong somehow but not able to point
out the issue.
I think, the flow of this process will be use SPIN command to cut
lines from running address space to spool and then from spool, we
should copy
to
Post by venkat kulkarni
dataset.
As I am new in this process, please help me with the required steps to
be
Post by venkat kulkarni
performed to achieve this.
Post by Peter Hunkeler
Post by Paul Gilmartin
Started tasks? TSO sessions? UNIX forked (BPXAS) address spaces?
What do you want to say by this??
--
Peter Hunkeler
-------------------------------------------------------------------
--- For IBM-MAIN subscribe / signoff / archive access instructions,
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send
________________________________
This e-mail, including any attachments, may be confidential,
privileged or otherwise legally protected. It is intended only for the
addressee. If you received this e-mail in error or from someone who
was not authorized to send it to you, do not disseminate, copy or
otherwise use this e-mail or its attachments. Please notify the sender
immediately by reply e-mail and delete the e-mail from your system.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email to
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Tom Marchant
2017-05-09 14:23:06 UTC
Permalink
and also after spin, all these messages should be no longer exist in this
imsproc.
SPIN does not delete messages. It makes them available for print or cancel.
--
Tom Marchant

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Tom Marchant
2017-05-09 14:53:26 UTC
Permalink
The JCL Ref. indicates that they are available to the
//*FORMAT PR statement.
("//*FORMAT PR" looks uncomfortably like a comment. Is
this a reserved comment? Ugh!)
It's a JES3 JECL statement.
There is a good reason it looks like a comment.
It allows JCL to be coded that contains Job Entry Control Language statements
for both JES2 and JES3, so that it can be run in either environment.
--
Tom Marchant

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Paul Gilmartin
2017-05-09 15:02:09 UTC
Permalink
Post by Tom Marchant
The JCL Ref. indicates that they are available to the
//*FORMAT PR statement.
("//*FORMAT PR" looks uncomfortably like a comment. Is
this a reserved comment? Ugh!)
It's a JES3 JECL statement.
There is a good reason it looks like a comment.
It allows JCL to be coded that contains Job Entry Control Language statements
for both JES2 and JES3, so that it can be run in either environment.
I don't consider it a good reason. It would have been better to provide a
PRAGMA directive as many other languages do, rather than to usurp
part of the comment grammar with attendant risk of astonishment.

-- gil

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
John McKown
2017-05-09 15:30:03 UTC
Permalink
On Tue, May 9, 2017 at 10:03 AM, Paul Gilmartin <
Post by Lizette Koehler
Post by Tom Marchant
The JCL Ref. indicates that they are available to the
//*FORMAT PR statement.
("//*FORMAT PR" looks uncomfortably like a comment. Is
this a reserved comment? Ugh!)
It's a JES3 JECL statement.
There is a good reason it looks like a comment.
It allows JCL to be coded that contains Job Entry Control Language
statements
Post by Tom Marchant
for both JES2 and JES3, so that it can be run in either environment.
I don't consider it a good reason. It would have been better to provide a
PRAGMA directive as many other languages do, rather than to usurp
part of the comment grammar with attendant risk of astonishment.
​In a perfect world, you are correct. But JES2 was originally HASP, whereas
JES3 was ASP. And those "products" were non-IBM developed (as not in PID)
"add ons" back in the days of OS/MFT & OS/MVT. Many of the strange things
in JES2 (such as the DUPL_JOB=DELAY) were inherited from HASP. Since they
were "add ons", they could not introduce any changes to the JCL
converter/interpreter. After 40+ years, changing all your old JES{2,3} JECL
to the "new and improved!" stuff would cause people to tear IBM a new one.
One big problem with z/OS is all the "cruft" left over from restriction in
the past which were _required_ (due to the "smallness" of the computers) at
the time but are now just a PITA.​

IMO, IBM needs to _replace_ JCL with "something else". But, honestly, I'm
not knowledgeable enough to design the "something else". And, even then,
you'd need to allow both the old JCL and the new WCL (Workload Control
Language, just to give it a name) to be "submitted". But, also quite
honestly, I'd really prefer that IBM use its time and money for better
things. If you don't like JCL (and I don't really), then just run UNIX
scripts via JCL using Dovetailed Technologies' Co:Z Launcher. It has the
nice property of being able to allow the reading and writing of physical
sequential data sets defined in DDs using their "fromdsn" and "todsn" UNIX
commands.
Post by Lizette Koehler
-- gil
--
Advertising is a valuable economic factor because it is the cheapest way of
selling goods, particularly if the goods are worthless. -- Sinclair Lewis


Maranatha! <><
John McKown

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Farley, Peter x23353
2017-05-09 16:19:50 UTC
Permalink
Burroughs 5500 MCS (and possibly later, I didn't get to see those) had WFL, Work Flow Language, which was nearly the full Burroughs Algol language, minus the I/O facilities.

Very powerful and flexible. Your "JCL" was an actual program, and IIRC it was compiled for execution. Fun stuff.

Shell scripts are all well and good for those who understand them I suppose, but they have their quirks and deficiencies too. I can read and write them myself, but many application programmers cannot yet do so, and are stuck with JCL.

Peter

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-***@LISTSERV.UA.EDU] On Behalf Of John McKown
Sent: Tuesday, May 09, 2017 11:31 AM
To: IBM-***@LISTSERV.UA.EDU
Subject: Re: AW: Re: job output into dataset

<Snipped>

IMO, IBM needs to _replace_ JCL with "something else". But, honestly, I'm not knowledgeable enough to design the "something else". And, even then, you'd need to allow both the old JCL and the new WCL (Workload Control Language, just to give it a name) to be "submitted". But, also quite honestly, I'd really prefer that IBM use its time and money for better things. If you don't like JCL (and I don't really), then just run UNIX scripts via JCL using Dovetailed Technologies' Co:Z Launcher. It has the nice property of being able to allow the reading and writing of physical sequential data sets defined in DDs using their "fromdsn" and "todsn" UNIX commands.

--


This message and any attachments are intended only for the use of the addressee and may contain information that is privileged and confidential. If the reader of the message is not the intended recipient or an authorized representative of the intended recipient, you are hereby notified that any dissemination of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by e-mail and delete the message and any attachments from your system.


----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Tom Marchant
2017-05-09 15:20:42 UTC
Permalink
Post by Paul Gilmartin
Post by Tom Marchant
There is a good reason it looks like a comment.
It allows JCL to be coded that contains Job Entry Control Language statements
for both JES2 and JES3, so that it can be run in either environment.
I don't consider it a good reason. It would have been better to provide a
PRAGMA directive as many other languages do, rather than to usurp
part of the comment grammar with attendant risk of astonishment.
Hindsight.

How many languages had a PRAGMA directive when ASP was written in the 1960's?
--
Tom Marchant

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Paul Gilmartin
2017-05-09 15:39:07 UTC
Permalink
Post by Tom Marchant
How many languages had a PRAGMA directive when ASP was written in the 1960's?
I see that as having been an excellent opportunity to innovate.
IBM often misses such opportunities.

The term "pragma[t]" appears to have originated with ALGOL-68. But
processing directives are much older. How long has assembler had a
PRINT directive, very similar in purpose to //* FORMAT?

On JES2-only or JES3-only constructs:

IIRC, there was an interval during which the JCL OUTPUT statement was
supported by JES2 but not by JES3. What happened at that time if a
programmer attempted to run a JES2 job containing "OUTPUT" on JES3?

o OUTPUT was quietly ignored?

o OUTPUT was ignored except for a warning?

o Syntax error?

I consider the "quietly ignored" behavior the worst

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Paul Gilmartin
2017-05-09 17:51:24 UTC
Permalink
You can SPIN SYSOUT (I do not think you can SPIN INTRDR )
For INTRDR, the program can close it (and re-open or FREE and re-ALLOCATE.)
I don't think I'd want to spin INTRDR by an external command unless I knew
that data set was at a JOB statement boundary.

-- gil

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
David W Noon
2017-05-09 17:59:02 UTC
Permalink
On Tue, 9 May 2017 12:52:19 -0500, Paul Gilmartin
(0000000433f07816-dmarc-***@LISTSERV.UA.EDU) wrote about "Re: job
output into dataset" (in
Post by Paul Gilmartin
You can SPIN SYSOUT (I do not think you can SPIN INTRDR )
For INTRDR, the program can close it (and re-open or FREE and re-ALLOCATE.)
I don't think I'd want to spin INTRDR by an external command unless I knew
that data set was at a JOB statement boundary.
The INTRDR writer will "spin" a job stream to the input spool
automatically when:

i) the job stream arrives at a null statement;

ii) the job stream arrives at a new JOB statement;

iii) the SYSOUT DD statement is closed.

If an INTRDR stream does not release the job stream to the input spool
then the submitter program is incorrectly coded.
--
Regards,

Dave [RLU #314465]
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
***@googlemail.com (David W Noon)
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Paul Gilmartin
2017-05-09 18:10:34 UTC
Permalink
Post by David W Noon
The INTRDR writer will "spin" a job stream to the input spool
i) the job stream arrives at a null statement;
ii) the job stream arrives at a new JOB statement;
iii) the SYSOUT DD statement is closed.
If an INTRDR stream does not release the job stream to the input spool
then the submitter program is incorrectly coded.
It's pretty hard to commit that error since at least for (iii) the CLOSE is
automatic when the program terminates.

(Well, yes, I've done it by FREEMAINing BSAM buffers prematurely.
But I know better now.)

-- gil

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Paul Gilmartin
2017-05-09 18:24:49 UTC
Permalink
Post by David W Noon
The INTRDR writer will "spin" a job stream to the input spool
i) the job stream arrives at a null statement;
...
I'm skeptical about that point since I often submit jobs with noise
such as comments after a null statement and SDSF shows me
those lines in JESJCLIN, indicating that the job was not spun until
the SYSOUT was closed.

-- gil

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
John McKown
2017-05-09 18:56:53 UTC
Permalink
On Tue, May 9, 2017 at 1:25 PM, Paul Gilmartin <
Post by Paul Gilmartin
Post by David W Noon
The INTRDR writer will "spin" a job stream to the input spool
i) the job stream arrives at a null statement;
...
I'm skeptical about that point since I often submit jobs with noise
such as comments after a null statement and SDSF shows me
those lines in JESJCLIN, indicating that the job was not spun until
the SYSOUT was closed.
​Being weird (as is well know here), I have the following two JCL
statements last:

//
/*EOF

ref:
https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0/com.ibm.zos.v2r1.ieab500/iea3b5_Destination_control_to_internal_reader.htm

​*Sending internal reader buffer directly to JES*
Instead of waiting for the buffer in your address space to fill up, send
the contents of the internal reader buffer directly to JES by coding as the
last record in the job:/*EOFThis control statement delimits the job in the
data set and makes it eligible for immediate processing./*DELThis control
statement cancels the job in the data set and schedules it for immediate
output processing. The output consists of any JCL submitted, followed by a
message indicating that the job was deleted before execution./*PURGE*For
JES2 only*, this control statement cancels the job in the data set and
schedules it for purge processing; no output is produced for the job./*SCAN*For
JES2 only*, this control statement requests that JES2 only scan the job in
the data set for JCL errors. The job is not to be executed.

​Also, any more, I use the ACB interface instead of the DCB interface. This
allows the use of the "VSAM" ENDREQ macro, which also closes out a job.
This latter is even better since the JCL "null" and the /*EOF could both be
"swallowed up" by something like:

//SYSIN DD DATA,DLM=$$


as the last JCL statement.
ref:
https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.2.0/com.ibm.zos.v2r2.hasc300/has2z1_Submitting_to_the_internal_reader_from_jobs_or_tasks.htm
Post by Paul Gilmartin
-- gil
--
Advertising is a valuable economic factor because it is the cheapest way of
selling goods, particularly if the goods are worthless. -- Sinclair Lewis


Maranatha! <><
John McKown

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
J R
2017-05-09 19:05:22 UTC
Permalink
It also returns the JES JobId of the submitted job which is extremely helpful if the same JobName is submitted multiple times.

Sent from my iPhone
Post by John McKown
Also, any more, I use the ACB interface instead of the DCB interface. This
allows the use of the "VSAM" ENDREQ macro, which also closes out a job.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
David W Noon
2017-05-09 19:19:24 UTC
Permalink
On Tue, 9 May 2017 13:25:43 -0500, Paul Gilmartin
(0000000433f07816-dmarc-***@LISTSERV.UA.EDU) wrote about "Re: job
output into dataset" (in
Post by Paul Gilmartin
Post by David W Noon
The INTRDR writer will "spin" a job stream to the input spool
i) the job stream arrives at a null statement;
...
I'm skeptical about that point since I often submit jobs with noise
such as comments after a null statement and SDSF shows me
those lines in JESJCLIN, indicating that the job was not spun until
the SYSOUT was closed.
What kind of null statement did you use?

The JCL null statement is coded as two slashes followed by blanks to the
end of the card image (or column 72 at least).
--
Regards,

Dave [RLU #314465]
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
***@googlemail.com (David W Noon)
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Tom Marchant
2017-05-09 18:37:06 UTC
Permalink
Post by Paul Gilmartin
Post by David W Noon
i) the job stream arrives at a null statement;
...
I'm skeptical about that point since I often submit jobs with noise
such as comments after a null statement and SDSF shows me
those lines in JESJCLIN, indicating that the job was not spun until
the SYSOUT was closed.
I don't believe it.

The behavior that David describes is very old. Back in the 70's,
operators would routinely add a null JCL statement to the end of
a tray of JCL to be processed so that the last job would be
processed immediately. I just submitted such a job and the
contents of JESJCLIN ends with the last statement before the
null JCL statement.
--
Tom Marchant

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Paul Gilmartin
2017-05-09 19:55:38 UTC
Permalink
Post by David W Noon
On Tue, 9 May 2017 13:25:43 -0500, Paul Gilmartin
output into dataset" (in
Post by Paul Gilmartin
Post by David W Noon
The INTRDR writer will "spin" a job stream to the input spool
i) the job stream arrives at a null statement;
...
I'm skeptical about that point since I often submit jobs with noise
such as comments after a null statement and SDSF shows me
those lines in JESJCLIN, indicating that the job was not spun until
the SYSOUT was closed.
What kind of null statement did you use?
The JCL null statement is coded as two slashes followed by blanks to the
end of the card image (or column 72 at least).
Two slashes and nothing else; no blanks. Do I need to have blanks?

-- gil

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
David W Noon
2017-05-09 20:39:00 UTC
Permalink
On Tue, 9 May 2017 14:56:33 -0500, Paul Gilmartin
(0000000433f07816-dmarc-***@LISTSERV.UA.EDU) wrote about "Re: job
output into dataset" (in
[snip]
Post by Paul Gilmartin
Post by David W Noon
What kind of null statement did you use?
The JCL null statement is coded as two slashes followed by blanks to the
end of the card image (or column 72 at least).
Two slashes and nothing else; no blanks. Do I need to have blanks?
I think you will need at least 1 blank. I have never used varying length
records for JCL, since I date back to the days of Hollerith cards, which
were always 80 bytes long.
--
Regards,

Dave [RLU #314465]
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
***@googlemail.com (David W Noon)
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*



----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Paul Gilmartin
2017-05-09 20:03:21 UTC
Permalink
Post by Tom Marchant
The behavior that David describes is very old. Back in the 70's,
operators would routinely add a null JCL statement to the end of
a tray of JCL to be processed so that the last job would be
processed immediately. I just submitted such a job and the
contents of JESJCLIN ends with the last statement before the
null JCL statement.
What command(s) did you use to submit it?

Does the SDSD SJ command show the same?

I probably observed this in a job submitted by FTP.

-- gil

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Paul Gilmartin
2017-05-09 21:32:40 UTC
Permalink
Post by David W Noon
On Tue, 9 May 2017 14:56:33 -0500, Paul Gilmartin
output into dataset" (in
[snip]
Post by Paul Gilmartin
Post by David W Noon
What kind of null statement did you use?
The JCL null statement is coded as two slashes followed by blanks to the
end of the card image (or column 72 at least).
Two slashes and nothing else; no blanks. Do I need to have blanks?
I think you will need at least 1 blank. I have never used varying length
records for JCL, since I date back to the days of Hollerith cards, which
were always 80 bytes long.
What happens to any additional records between the null statement and
the next JOB statement? are they quietly ignored (with perhaps a message
to operator?)

At what point if any in the logic does the access method recognize INTRDR
as special, different from ordinary SYSOUT?

Does the
//
/*EOF
... that John M. mentioned cause flushing of any SYSOUT or only one with
W=INTRDR?

What happens if the operator issues "$TOJ W=INTRDR" on an ordinary
SYSOUT data set after the fact?

-- gil

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
David W Noon
2017-05-09 22:15:17 UTC
Permalink
On Tue, 9 May 2017 16:33:35 -0500, Paul Gilmartin
(0000000433f07816-dmarc-***@LISTSERV.UA.EDU) wrote about "Re: JCL
null statement (Was: job output into dataset" (in
<***@listserv.ua.edu>):

[snip]
Post by Paul Gilmartin
What happens to any additional records between the null statement and
the next JOB statement? are they quietly ignored (with perhaps a message
to operator?)
The IBM term is "flushed". They never hit the spool and no console
message is issued.
Post by Paul Gilmartin
At what point if any in the logic does the access method recognize INTRDR
as special, different from ordinary SYSOUT?
QSAM doesn't distinguish between INTRDR and any other SYSOUT writer.
VSAM detects on the OPEN and uses a specific form called JAM (JES Access
Method).
Post by Paul Gilmartin
Does the
//
/*EOF
... that John M. mentioned cause flushing of any SYSOUT or only one with
W=INTRDR?
Only using INTRDR. Other SYSOUT streams have to tolerate any character
sequence and cannot safely reserve them for commands to the writer
(unless some custom writer can process commands). The other IBM writers
do not have internal commands, AFAIAA.
Post by Paul Gilmartin
What happens if the operator issues "$TOJ W=INTRDR" on an ordinary
SYSOUT data set after the fact?
Probably nothing good.
--
Regards,

Dave [RLU #314465]
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
***@googlemail.com (David W Noon)
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Jesse 1 Robinson
2017-05-09 22:56:15 UTC
Permalink
I've used null cards for decades to terminate the JES-readable lines is a job stream. Rather than maintain a dozen similar job members that vary only slightly from one run to another, I copy key but variable lines after a null card at the bottom. I can refer to those lines or even copy them back to the execution stream to get desired results while maintaining only one PDS member. JES(2) never reads or echoes past the null card.

.
.
J.O.Skip Robinson
Southern California Edison Company
Electric Dragon Team Paddler
SHARE MVS Program Co-Manager
323-715-0595 Mobile
626-543-6132 Office ⇐=== NEW
***@sce.com


-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-***@LISTSERV.UA.EDU] On Behalf Of David W Noon
Sent: Tuesday, May 09, 2017 3:16 PM
To: IBM-***@LISTSERV.UA.EDU
Subject: (External):Re: JCL null statement

On Tue, 9 May 2017 16:33:35 -0500, Paul Gilmartin
(0000000433f07816-dmarc-***@LISTSERV.UA.EDU) wrote about "Re: JCL null statement (Was: job output into dataset" (in
<***@listserv.ua.edu>):

[snip]
Post by Paul Gilmartin
What happens to any additional records between the null statement and
the next JOB statement? are they quietly ignored (with perhaps a
message to operator?)
The IBM term is "flushed". They never hit the spool and no console message is issued.
Post by Paul Gilmartin
At what point if any in the logic does the access method recognize
INTRDR as special, different from ordinary SYSOUT?
QSAM doesn't distinguish between INTRDR and any other SYSOUT writer.
VSAM detects on the OPEN and uses a specific form called JAM (JES Access Method).
Post by Paul Gilmartin
Does the
//
/*EOF
... that John M. mentioned cause flushing of any SYSOUT or only one
with W=INTRDR?
Only using INTRDR. Other SYSOUT streams have to tolerate any character sequence and cannot safely reserve them for commands to the writer (unless some custom writer can process commands). The other IBM writers do not have internal commands, AFAIAA.
Post by Paul Gilmartin
What happens if the operator issues "$TOJ W=INTRDR" on an ordinary
SYSOUT data set after the fact?
Probably nothing good.
--
Regards,

Dave [RLU #314465]
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
***@googlemail.com (David W Noon)
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*


----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Paul Gilmartin
2017-05-09 23:19:55 UTC
Permalink
I've used null cards for decades to terminate the JES-readable lines is a job stream. Rather than maintain a dozen similar job members that vary only slightly from one run to another, I copy key but variable lines after a null card at the bottom. I can refer to those lines or even copy them back to the execution stream ...
Me, too. "View; make desired changes (dismiss annoying warning); SUBmit; CANcel.
"refer" seems irrelevant since JES(2) never reads them. Oh! a mnemonic "refer",
not a JCL "refer".
to get desired results while maintaining only one PDS member. JES(2) never reads or echoes past the null card.
I thought I had observed otherwise (with memorable astonishment),
but I can no longer exhibit an example.

-- gil

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Paul Gilmartin
2017-05-09 23:06:36 UTC
Permalink
Post by David W Noon
Only using INTRDR. Other SYSOUT streams have to tolerate any character
sequence and cannot safely reserve them for commands to the writer
(unless some custom writer can process commands). The other IBM writers
do not have internal commands, AFAIAA.
Post by Paul Gilmartin
What happens if the operator issues "$TOJ W=INTRDR" on an ordinary
SYSOUT data set after the fact?
Probably nothing good.
Or a SYSOUT class having W=INTRDR.

Or multiple OUTPUT statements applicable to a single DD SYSOUT with
some having W=INTRDR and others having no writer or a writer other
than INTRDR.

(The JCL Ref. cautions against having INTRDR on the DD statement but
a(nother) writer on the OUTPUT statement, but I don't see any prohibition
of different writers on various applicable OUTPUT statements.)

Generally, options on the DD statement override any on the OUTPUT
statement(s). INTRDR seems to be an exception.

-- gil

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Jesse 1 Robinson
2017-05-09 23:43:32 UTC
Permalink
Yes, 'refer' for my eyes only. But no, I don't cancel after submit. I save the member with old lines copied safely to the bottom out of harm's way. JESx does not see them. They're there for my personal future reference and perhaps reuse.

.
.
J.O.Skip Robinson
Southern California Edison Company
Electric Dragon Team Paddler
SHARE MVS Program Co-Manager
323-715-0595 Mobile
626-543-6132 Office ⇐=== NEW
***@sce.com


-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-***@LISTSERV.UA.EDU] On Behalf Of Paul Gilmartin
Sent: Tuesday, May 09, 2017 4:21 PM
To: IBM-***@LISTSERV.UA.EDU
Subject: (External):Re: JCL null statement
I've used null cards for decades to terminate the JES-readable lines is a job stream. Rather than maintain a dozen similar job members that vary only slightly from one run to another, I copy key but variable lines after a null card at the bottom. I can refer to those lines or even copy them back to the execution stream ...
Me, too. "View; make desired changes (dismiss annoying warning); SUBmit; CANcel.
"refer" seems irrelevant since JES(2) never reads them. Oh! a mnemonic "refer", not a JCL "refer".
to get desired results while maintaining only one PDS member. JES(2) never reads or echoes past the null card.
I thought I had observed otherwise (with memorable astonishment), but I can no longer exhibit an example.

-- gil


----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Tom Marchant
2017-05-10 13:00:50 UTC
Permalink
Yes. It's not.so I should code jesmsglg dd stmt as
//JESMSGLG dd sysout=a,free=close,spin=unalloc
No, you should not.
Doing so would define a DD statement for your step. But the JESYSMSG
for the job has already been allocated before your step starts.

Look up JESLOG=SPIN.
--
Tom Marchant

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Lizette Koehler
2017-05-10 20:47:08 UTC
Permalink
NOTE: JES2 has a counter in the JCT. Even if output is spun, it will not reduce that counter by what is spun. The counter will continue to increase. And it can increase until, the number of lines, exceeds what JES2 knows that should be produced which can cause a task to abend with a S722 abend. No way around that other than cycling the tasks.

I currently have a task that is prone to S722 abends. It is an STC and it is now being cycled monthly to prevent an unexpected S722 abend.



Spin - to copy/route the information in a SYSOUT DD statement to the OUTPUT class specified by the SYSOUT statement.

If your JES2 INITDECK says

OUTPUT(A) OUTDISP=(HOLD,HOLD)

You have
//DDlabel DD SYSOUT=A

Then the DDlabel: $Txxxxxx,SPIN,DDNAME=DDlabel

The output will show up in the HELD Class A queue. So the H Panel in SDSF

If you have coded in the JES2 INITDECK
OUTPUT(A) OUTDISP=(WRITE,WRITE)

And you have
//DDLabel DD SYSOUT=A

The output will show up in the OUTPUT CLASS A. So the O Panel in SDSF

Note: If you do not CODE FREE=CLOSE,SPIN=UNALLOC You will NOT see the output

The SPIN will not be available until TASK end.

The ST panel in SDSF can see everything available on Spool.

NOTE SYSOUT=* in a started task defaults the the STC definition in JES2.

Spin data set processing

z/OS JES2 Initialization and Tuning Guide
SA32-0991-00

Coding FREE=CLOSE or SPIN=UNALLOC in the JCL of a SYSOUT DD statement or specifying the DALCLOSE text unit key on a dynamic allocation (SVC99) parameter list for a SYSOUT data set causes JES2 to spin the data set for output processing when it is closed. JES2 then has the capability of performing output processing on the data set while the job continues execution. JESLOG data sets can be spun through $T J/S/T,SPIN.

In most cases, JES2 frees spool tracks allocated to the data set after printing, canceling, or transmitting the last copy of the data set.

For applications that dynamically allocate a spin SYSOUT data set (unallocation at Close - Key X'001C') but fail to issue FREE=CLOSE or SPIN=UNALLOC, JES2 does not free spool tracks allocated to the spin data set until the job is purged. In this case, end-of-task processing deallocates the data set and job purge processing returns the allocated tracks.



NOTE: There are some DD Statements that are created at job creation time

DDNAME StepName ProcStep DSID
JESMSGLG JES2 2
JESJCL JES2 3
JESYSMSG JES2 4

Note: Sometimes even though you "see" output, the Spin command may provide the message: $HASP138 SPIN rejected, no spinnable data set

Hope this helps.

Lizette



The DD statements with DSID numbers less than 100 are special.



z/OS z/OS 2.2.0 z/OS JES2 z/OS JES2 Initialization and Tuning Guide Controlling JES2 processes Printers and punches

Table 1. JES2 system data setsData Set Name Purpose of data set
JESJCLIN Indicates the actual JCL submitted.
JESMSGLG Indicates any system messages for this job.
JESJCL Indicates all job control statements in the input stream, that is, all JCL statements and JES2 control statements, plus all procedure statements from any in-stream or cataloged procedure a job step calls, plus all messages about job control statements.
JESYSMSG Indicates the job's hardcopy log, which contains the JES2 and operator messages about the job's processing: allocation of devices and volumes, execution and termination of job steps and the job, and disposition of data sets.



You should talk to your friendly z/OS system programmer for assistance specific to your shop.

Lizette


-----Original Message-----
Sent: May 10, 2017 11:42 AM
Subject: Re: AW: Re: job output into dataset
Hello Lizette,
Couple of important points,
1) I am still not clear that, what happens when we run spin command $T
job(ims12RC1),spin,ddname=JESMSGLG . Where messages goes from DD JESMSGLG .
In my case, when i run this command, it clear all record from DD JESMSGLG
but its not storing in output queue. But my requirement is that it should
keep those record in output queue after this spin command and from output
queue, we use some way to suck this output and archive it for later use.
2) I have set my outdisp parameter to (write, write) for this STC class
but still my records from this DD JESMSGLG not coming to output queue.
Please help to provide some reason on this issue.
3) When i run $T job(ims12RC1),spin,ddname=JESMSGLG command, it start
processing this DD but i never get message saying successfully completed. I
waited for long but it never finish but I see my record becomes zero in
address space for this DD name.
I tried reading all document possible for this and couldnt find any help.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
venkat kulkarni
2017-05-11 16:35:53 UTC
Permalink
Hello All,

Finally I have good news. Today we performed below steps.

1) I changed my message class z out disp parameter to write,write and then
run spin command but still no oputut saved in output queue.

2) I restarted IMS address space and before running spin command against
jesmsglg dd, I verified that my stc class outdisp is set to write,write .
Now, when I run spin command, I get record in output queue with destination
local and this is what we were looking for u .

But this whole excersice make me to conclude that

a) any running address space will not accept new value of outdisp parameter
on stc class( or any other class) using dynamic command $t .
So, we will have to recycle address space to take this effect. This dynamic
command is only useful for new address space we start after we change
parameter using $t.

b) when we use spin command with jes dd like jesmsglg etc, we will not get
successful completion message on console .

3) do we have any way to make this process successful without recycle of
address space .

Thank you so much for all help .
Post by Lizette Koehler
NOTE: JES2 has a counter in the JCT. Even if output is spun, it will not
reduce that counter by what is spun. The counter will continue to
increase. And it can increase until, the number of lines, exceeds what
JES2 knows that should be produced which can cause a task to abend with a
S722 abend. No way around that other than cycling the tasks.
I currently have a task that is prone to S722 abends. It is an STC and it
is now being cycled monthly to prevent an unexpected S722 abend.
Spin - to copy/route the information in a SYSOUT DD statement to the
OUTPUT class specified by the SYSOUT statement.
If your JES2 INITDECK says
OUTPUT(A) OUTDISP=(HOLD,HOLD)
You have
//DDlabel DD SYSOUT=A
Then the DDlabel: $Txxxxxx,SPIN,DDNAME=DDlabel
The output will show up in the HELD Class A queue. So the H Panel in SDSF
If you have coded in the JES2 INITDECK
OUTPUT(A) OUTDISP=(WRITE,WRITE)
And you have
//DDLabel DD SYSOUT=A
The output will show up in the OUTPUT CLASS A. So the O Panel in SDSF
Note: If you do not CODE FREE=CLOSE,SPIN=UNALLOC You will NOT see the output
The SPIN will not be available until TASK end.
The ST panel in SDSF can see everything available on Spool.
NOTE SYSOUT=* in a started task defaults the the STC definition in JES2.
Spin data set processing
z/OS JES2 Initialization and Tuning Guide
SA32-0991-00
Coding FREE=CLOSE or SPIN=UNALLOC in the JCL of a SYSOUT DD statement or
specifying the DALCLOSE text unit key on a dynamic allocation (SVC99)
parameter list for a SYSOUT data set causes JES2 to spin the data set for
output processing when it is closed. JES2 then has the capability of
performing output processing on the data set while the job continues
execution. JESLOG data sets can be spun through $T J/S/T,SPIN.
In most cases, JES2 frees spool tracks allocated to the data set after
printing, canceling, or transmitting the last copy of the data set.
For applications that dynamically allocate a spin SYSOUT data set
(unallocation at Close - Key X'001C') but fail to issue FREE=CLOSE or
SPIN=UNALLOC, JES2 does not free spool tracks allocated to the spin data
set until the job is purged. In this case, end-of-task processing
deallocates the data set and job purge processing returns the allocated
tracks.
NOTE: There are some DD Statements that are created at job creation time
DDNAME StepName ProcStep DSID
JESMSGLG JES2 2
JESJCL JES2 3
JESYSMSG JES2 4
Note: Sometimes even though you "see" output, the Spin command may
provide the message: $HASP138 SPIN rejected, no spinnable data set
Hope this helps.
Lizette
The DD statements with DSID numbers less than 100 are special.
z/OS z/OS 2.2.0 z/OS JES2 z/OS JES2 Initialization and Tuning Guide
Controlling JES2 processes Printers and punches
Table 1. JES2 system data setsData Set Name Purpose of data set
JESJCLIN Indicates the actual JCL submitted.
JESMSGLG Indicates any system messages for this job.
JESJCL Indicates all job control statements in the input stream,
that is, all JCL statements and JES2 control statements, plus all procedure
statements from any in-stream or cataloged procedure a job step calls, plus
all messages about job control statements.
JESYSMSG Indicates the job's hardcopy log, which contains the JES2
and operator messages about the job's processing: allocation of devices and
volumes, execution and termination of job steps and the job, and
disposition of data sets.
You should talk to your friendly z/OS system programmer for assistance
specific to your shop.
Lizette
-----Original Message-----
Sent: May 10, 2017 11:42 AM
Subject: Re: AW: Re: job output into dataset
Hello Lizette,
Couple of important points,
1) I am still not clear that, what happens when we run spin command $T
job(ims12RC1),spin,ddname=JESMSGLG . Where messages goes from DD
JESMSGLG .
In my case, when i run this command, it clear all record from DD JESMSGLG
but its not storing in output queue. But my requirement is that it should
keep those record in output queue after this spin command and from output
queue, we use some way to suck this output and archive it for later use.
2) I have set my outdisp parameter to (write, write) for this STC class
but still my records from this DD JESMSGLG not coming to output queue.
Please help to provide some reason on this issue.
3) When i run $T job(ims12RC1),spin,ddname=JESMSGLG command, it start
processing this DD but i never get message saying successfully completed.
I
waited for long but it never finish but I see my record becomes zero in
address space for this DD name.
I tried reading all document possible for this and couldnt find any help.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Lizette Koehler
2017-05-12 07:04:27 UTC
Permalink
So the best option would be to do

1) Check the STC in the JES2 Class and see if JESLOG=SPIN is included.

2) Start the STC with the SPIN Option

JESLOG=
Specifies for the indicated jobclass that each job's JESLOG data (JESMSGLG and JESYSMSG data sets) is to be spun at a certain time interval, suppressed from being recorded, or not spun at all.
Note: Specifying JESLOG=SPIN will cause a job in this class to use at least 2 additional track groups of SPOOL space for the two JESLOG data sets (JESMSGLG or JESYSMSG ). If this job class normally has a large number of jobs that use a minimal amount of SPOOL space, then an increase of 2 track groups could significantly increase SPOOL utilization. Consider these additional SPOOL requirements when deciding whether to use JESLOG=SPIN.

SPIN
Jobs running in this job class are 'spinnable'. $TJnnnn,SPIN can be used to immediately spin the JESMSGLG and JESYSMSG data sets.

(SPIN,+hh:mm)
Indicates to spin JESLOG every hh:mm time interval.

where:

hh is hours and has a range of 0 through 23
mm is minutes and has a range of 00 through 59

Note: You must specify a minimum of 10 minutes or JES2 issues an error message. Also, for time intervals of less than one hour, you must specify the following format: JESLOG=(SPIN,+00:mm).
(SPIN,hh:mm)
Indicates to spin JESLOG at hh:mm every 24 hours.
(SPIN,nnn)
Indicates to spin JESLOG whenever either JESMSGLG or JESYSMSG has nnn lines.'nnn is the number (1–999) of lines in the data set.
Note:
You must specify a minimum of 500 lines or JES2 issues an error message.
(SPIN,nnnK)
Indicates to spin JESLOG whenever either JESMSGLG or JESYSMSG has "nnnK" lines, where "K" indicates thousands of lines.
(SPIN,nnnM)
Indicates to spin JESLOG whenever either JESMSGLG or JESYSMSG has "nnnM" lines, where "M" indicates millions of lines.


Lizette
Post by Styles, Andy , ITS zPlatform Services
-----Original Message-----
Behalf Of venkat kulkarni
Sent: Thursday, May 11, 2017 9:37 AM
Subject: Re: AW: Re: job output into dataset
Hello All,
Finally I have good news. Today we performed below steps.
1) I changed my message class z out disp parameter to write,write and then
run spin command but still no oputut saved in output queue.
2) I restarted IMS address space and before running spin command against
jesmsglg dd, I verified that my stc class outdisp is set to write,write .
Now, when I run spin command, I get record in output queue with destination
local and this is what we were looking for u .
But this whole excersice make me to conclude that
a) any running address space will not accept new value of outdisp parameter
on stc class( or any other class) using dynamic command $t .
So, we will have to recycle address space to take this effect. This dynamic
command is only useful for new address space we start after we change
parameter using $t.
b) when we use spin command with jes dd like jesmsglg etc, we will not get
successful completion message on console .
3) do we have any way to make this process successful without recycle of
address space .
Thank you so much for all help .
Post by Lizette Koehler
NOTE: JES2 has a counter in the JCT. Even if output is spun, it will
not reduce that counter by what is spun. The counter will continue to
increase. And it can increase until, the number of lines, exceeds what
JES2 knows that should be produced which can cause a task to abend with a
S722 abend. No way around that other than cycling the tasks.
I currently have a task that is prone to S722 abends. It is an STC
and it is now being cycled monthly to prevent an unexpected S722 abend.
Spin - to copy/route the information in a SYSOUT DD statement to the
OUTPUT class specified by the SYSOUT statement.
If your JES2 INITDECK says
OUTPUT(A) OUTDISP=(HOLD,HOLD)
You have
//DDlabel DD SYSOUT=A
Then the DDlabel: $Txxxxxx,SPIN,DDNAME=DDlabel
The output will show up in the HELD Class A queue. So the H Panel in SDSF
If you have coded in the JES2 INITDECK
OUTPUT(A) OUTDISP=(WRITE,WRITE)
And you have
//DDLabel DD SYSOUT=A
The output will show up in the OUTPUT CLASS A. So the O Panel in SDSF
Note: If you do not CODE FREE=CLOSE,SPIN=UNALLOC You will NOT see the output
The SPIN will not be available until TASK end.
The ST panel in SDSF can see everything available on Spool.
NOTE SYSOUT=* in a started task defaults the the STC definition in JES2.
Spin data set processing
z/OS JES2 Initialization and Tuning Guide
SA32-0991-00
Coding FREE=CLOSE or SPIN=UNALLOC in the JCL of a SYSOUT DD statement
or specifying the DALCLOSE text unit key on a dynamic allocation
(SVC99) parameter list for a SYSOUT data set causes JES2 to spin the
data set for output processing when it is closed. JES2 then has the
capability of performing output processing on the data set while the
job continues execution. JESLOG data sets can be spun through $T
J/S/T,SPIN.
Post by Lizette Koehler
In most cases, JES2 frees spool tracks allocated to the data set after
printing, canceling, or transmitting the last copy of the data set.
For applications that dynamically allocate a spin SYSOUT data set
(unallocation at Close - Key X'001C') but fail to issue FREE=CLOSE or
SPIN=UNALLOC, JES2 does not free spool tracks allocated to the spin
data set until the job is purged. In this case, end-of-task processing
deallocates the data set and job purge processing returns the
allocated tracks.
NOTE: There are some DD Statements that are created at job creation time
DDNAME StepName ProcStep DSID
JESMSGLG JES2 2
JESJCL JES2 3
JESYSMSG JES2 4
Note: Sometimes even though you "see" output, the Spin command may
provide the message: $HASP138 SPIN rejected, no spinnable data set
Hope this helps.
Lizette
The DD statements with DSID numbers less than 100 are special.
z/OS z/OS 2.2.0 z/OS JES2 z/OS JES2 Initialization and Tuning
Guide Controlling JES2 processes Printers and punches
Table 1. JES2 system data setsData Set Name Purpose of data set
JESJCLIN Indicates the actual JCL submitted.
JESMSGLG Indicates any system messages for this job.
JESJCL Indicates all job control statements in the input stream,
that is, all JCL statements and JES2 control statements, plus all
procedure statements from any in-stream or cataloged procedure a job
step calls, plus all messages about job control statements.
JESYSMSG Indicates the job's hardcopy log, which contains the JES2
and operator messages about the job's processing: allocation of
devices and volumes, execution and termination of job steps and the
job, and disposition of data sets.
You should talk to your friendly z/OS system programmer for assistance
specific to your shop.
Lizette
-----Original Message-----
Sent: May 10, 2017 11:42 AM
Subject: Re: AW: Re: job output into dataset
Hello Lizette,
Couple of important points,
1) I am still not clear that, what happens when we run spin command
$T job(ims12RC1),spin,ddname=JESMSGLG . Where messages goes from DD
JESMSGLG .
In my case, when i run this command, it clear all record from DD
JESMSGLG but its not storing in output queue. But my requirement is
that it should keep those record in output queue after this spin
command and from output queue, we use some way to suck this output and
archive it for later use.
Post by Lizette Koehler
2) I have set my outdisp parameter to (write, write) for this STC
class but still my records from this DD JESMSGLG not coming to output
queue.
Post by Lizette Koehler
Please help to provide some reason on this issue.
3) When i run $T job(ims12RC1),spin,ddname=JESMSGLG command, it
start processing this DD but i never get message saying successfully
completed.
Post by Lizette Koehler
I
waited for long but it never finish but I see my record becomes zero
in address space for this DD name.
I tried reading all document possible for this and couldnt find any help.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email to
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
venkat kulkarni
2017-05-12 07:53:48 UTC
Permalink
Hello Lizette,

Thanks for reply. I will add JESLOG=SPIN in my proc. But one of my query
still answered that do we need to recycle address space after changing STC
class outdisp paramter to write,write to make this spin work . Or can we
do it dynamically without shutting down address space.
Post by Lizette Koehler
So the best option would be to do
1) Check the STC in the JES2 Class and see if JESLOG=SPIN is included.
2) Start the STC with the SPIN Option
JESLOG=
Specifies for the indicated jobclass that each job's JESLOG data
(JESMSGLG and JESYSMSG data sets) is to be spun at a certain time interval,
suppressed from being recorded, or not spun at all.
Note: Specifying JESLOG=SPIN will cause a job in this class to use at
least 2 additional track groups of SPOOL space for the two JESLOG data sets
(JESMSGLG or JESYSMSG ). If this job class normally has a large number of
jobs that use a minimal amount of SPOOL space, then an increase of 2 track
groups could significantly increase SPOOL utilization. Consider these
additional SPOOL requirements when deciding whether to use JESLOG=SPIN.
SPIN
Jobs running in this job class are 'spinnable'. $TJnnnn,SPIN can
be used to immediately spin the JESMSGLG and JESYSMSG data sets.
(SPIN,+hh:mm)
Indicates to spin JESLOG every hh:mm time interval.
hh is hours and has a range of 0 through 23
mm is minutes and has a range of 00 through 59
Note: You must specify a minimum of 10 minutes or JES2 issues
an error message. Also, for time intervals of less than one hour, you must
specify the following format: JESLOG=(SPIN,+00:mm).
(SPIN,hh:mm)
Indicates to spin JESLOG at hh:mm every 24 hours.
(SPIN,nnn)
Indicates to spin JESLOG whenever either JESMSGLG or JESYSMSG
has nnn lines.'nnn is the number (1–999) of lines in the data set.
You must specify a minimum of 500 lines or JES2 issues an error message.
(SPIN,nnnK)
Indicates to spin JESLOG whenever either JESMSGLG or JESYSMSG
has "nnnK" lines, where "K" indicates thousands of lines.
(SPIN,nnnM)
Indicates to spin JESLOG whenever either JESMSGLG or JESYSMSG
has "nnnM" lines, where "M" indicates millions of lines.
Lizette
Post by Styles, Andy , ITS zPlatform Services
-----Original Message-----
Behalf Of venkat kulkarni
Sent: Thursday, May 11, 2017 9:37 AM
Subject: Re: AW: Re: job output into dataset
Hello All,
Finally I have good news. Today we performed below steps.
1) I changed my message class z out disp parameter to write,write and
then
Post by Styles, Andy , ITS zPlatform Services
run spin command but still no oputut saved in output queue.
2) I restarted IMS address space and before running spin command against
jesmsglg dd, I verified that my stc class outdisp is set to write,write .
Now, when I run spin command, I get record in output queue with
destination
Post by Styles, Andy , ITS zPlatform Services
local and this is what we were looking for u .
But this whole excersice make me to conclude that
a) any running address space will not accept new value of outdisp
parameter
Post by Styles, Andy , ITS zPlatform Services
on stc class( or any other class) using dynamic command $t .
So, we will have to recycle address space to take this effect. This
dynamic
Post by Styles, Andy , ITS zPlatform Services
command is only useful for new address space we start after we change
parameter using $t.
b) when we use spin command with jes dd like jesmsglg etc, we will not
get
Post by Styles, Andy , ITS zPlatform Services
successful completion message on console .
3) do we have any way to make this process successful without recycle of
address space .
Thank you so much for all help .
Post by Lizette Koehler
NOTE: JES2 has a counter in the JCT. Even if output is spun, it will
not reduce that counter by what is spun. The counter will continue to
increase. And it can increase until, the number of lines, exceeds what
JES2 knows that should be produced which can cause a task to abend with a
S722 abend. No way around that other than cycling the tasks.
I currently have a task that is prone to S722 abends. It is an STC
and it is now being cycled monthly to prevent an unexpected S722 abend.
Spin - to copy/route the information in a SYSOUT DD statement to the
OUTPUT class specified by the SYSOUT statement.
If your JES2 INITDECK says
OUTPUT(A) OUTDISP=(HOLD,HOLD)
You have
//DDlabel DD SYSOUT=A
Then the DDlabel: $Txxxxxx,SPIN,DDNAME=DDlabel
The output will show up in the HELD Class A queue. So the H Panel in
SDSF
Post by Styles, Andy , ITS zPlatform Services
Post by Lizette Koehler
If you have coded in the JES2 INITDECK
OUTPUT(A) OUTDISP=(WRITE,WRITE)
And you have
//DDLabel DD SYSOUT=A
The output will show up in the OUTPUT CLASS A. So the O Panel in SDSF
Note: If you do not CODE FREE=CLOSE,SPIN=UNALLOC You will NOT see
the
Post by Styles, Andy , ITS zPlatform Services
Post by Lizette Koehler
output
The SPIN will not be available until TASK end.
The ST panel in SDSF can see everything available on Spool.
NOTE SYSOUT=* in a started task defaults the the STC definition in
JES2.
Post by Styles, Andy , ITS zPlatform Services
Post by Lizette Koehler
Spin data set processing
z/OS JES2 Initialization and Tuning Guide
SA32-0991-00
Coding FREE=CLOSE or SPIN=UNALLOC in the JCL of a SYSOUT DD statement
or specifying the DALCLOSE text unit key on a dynamic allocation
(SVC99) parameter list for a SYSOUT data set causes JES2 to spin the
data set for output processing when it is closed. JES2 then has the
capability of performing output processing on the data set while the
job continues execution. JESLOG data sets can be spun through $T
J/S/T,SPIN.
Post by Lizette Koehler
In most cases, JES2 frees spool tracks allocated to the data set after
printing, canceling, or transmitting the last copy of the data set.
For applications that dynamically allocate a spin SYSOUT data set
(unallocation at Close - Key X'001C') but fail to issue FREE=CLOSE or
SPIN=UNALLOC, JES2 does not free spool tracks allocated to the spin
data set until the job is purged. In this case, end-of-task processing
deallocates the data set and job purge processing returns the
allocated tracks.
NOTE: There are some DD Statements that are created at job creation time
DDNAME StepName ProcStep DSID
JESMSGLG JES2 2
JESJCL JES2 3
JESYSMSG JES2 4
Note: Sometimes even though you "see" output, the Spin command may
provide the message: $HASP138 SPIN rejected, no spinnable data set
Hope this helps.
Lizette
The DD statements with DSID numbers less than 100 are special.
z/OS z/OS 2.2.0 z/OS JES2 z/OS JES2 Initialization and Tuning
Guide Controlling JES2 processes Printers and punches
Table 1. JES2 system data setsData Set Name Purpose of data set
JESJCLIN Indicates the actual JCL submitted.
JESMSGLG Indicates any system messages for this job.
JESJCL Indicates all job control statements in the input
stream,
Post by Styles, Andy , ITS zPlatform Services
Post by Lizette Koehler
that is, all JCL statements and JES2 control statements, plus all
procedure statements from any in-stream or cataloged procedure a job
step calls, plus all messages about job control statements.
JESYSMSG Indicates the job's hardcopy log, which contains the
JES2
Post by Styles, Andy , ITS zPlatform Services
Post by Lizette Koehler
and operator messages about the job's processing: allocation of
devices and volumes, execution and termination of job steps and the
job, and disposition of data sets.
You should talk to your friendly z/OS system programmer for assistance
specific to your shop.
Lizette
-----Original Message-----
Sent: May 10, 2017 11:42 AM
Subject: Re: AW: Re: job output into dataset
Hello Lizette,
Couple of important points,
1) I am still not clear that, what happens when we run spin command
$T job(ims12RC1),spin,ddname=JESMSGLG . Where messages goes from DD
JESMSGLG .
In my case, when i run this command, it clear all record from DD
JESMSGLG but its not storing in output queue. But my requirement is
that it should keep those record in output queue after this spin
command and from output queue, we use some way to suck this output and
archive it for later use.
Post by Lizette Koehler
2) I have set my outdisp parameter to (write, write) for this STC
class but still my records from this DD JESMSGLG not coming to output
queue.
Post by Lizette Koehler
Please help to provide some reason on this issue.
3) When i run $T job(ims12RC1),spin,ddname=JESMSGLG command, it
start processing this DD but i never get message saying successfully
completed.
Post by Lizette Koehler
I
waited for long but it never finish but I see my record becomes zero
in address space for this DD name.
I tried reading all document possible for this and couldnt find any
help.
Post by Styles, Andy , ITS zPlatform Services
Post by Lizette Koehler
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send
email to
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
venkat kulkarni
2017-05-14 12:08:25 UTC
Permalink
1) Finally, we wanted all STC JES DD to be spin off at morning 9 AM daily.

2) So, I set my STC Job class to



RESPONSE=TST1

$HASP837 JOBCLASS(STC)

$HASP837 JOBCLASS(STC) AUTH=(ALL),BLP=YES,COMMAND=EXECUTE,

$HASP837 CONDPURG=YES,DSENQSHR=ALLOW,

$HASP837 IEFUJP=YES,IEFUSO=YES,JESLOG=(SPIN,

$HASP837 +0:15),LOG=YES,MSGLEVEL=(1,1),

$HASP837 MSGCLASS=Z,OUTDISP=(HOLD,HOLD),

$HASP837 OUTPUT=YES,PERFORM=000,PROCLIB=00,

$HASP837 QAFF=(ANY),REGION=0004M,SWA=BELOW,

$HASP837 TIME=(000120,00),TYPE26=YES,

$HASP837 TYPE6=YES





3) My MSGCLASS Z is set to



RESPONSE=TST1

$HASP842 OUTCLASS(Z)

$HASP842 OUTCLASS(Z) OUTPUT=PRINT,BLNKTRNC=YES,

$HASP842 OUTDISP=(PURGE,HOLD),TRKCELL=NO





3) After all this above changes, I restarted my one of the STC task , IMS
address space to test and result is



a) I am able to spin JES DD manually by using "W" command or by using /$T
JQ(IMS12IMS),SPIN,DDNAME=JESMSGLG command and I can see output in held
queue.

b) But if you look at changes, I made above in my JESLOG parameter in STC
class to start spin in every 15 min, it’s not starting. I am not able to
find root cause of this issue now.



I want to know that what more I am missing to start this automated SPIN
working for my all STC task
Thanks and I made all these suggested changes in stc class jes parmlib
member.
But to take this in effect, do I need to restart the address space or it
will pick up these new value automatically after changing stc class using
$T command.
JESLOG can be coded in the JES2 INIT DECK. It is not part of JCL.
Check your JES2 INITDECK to see how your JOBCLASS(STC) is coded.
Starting the STC with SPIN= is also helpful to spin all JES2 jcl DDs.
Either or both can be used.
Review the JES2 INIT and TUNING manuals referenced early to see what you
want to do.
Lizette
*Sent:* Friday, May 12, 2017 12:55 AM
*Subject:* Re: AW: Re: job output into dataset
Hello Lizette,
Thanks for reply. I will add JESLOG=SPIN in my proc. But one of my query
still answered that do we need to recycle address space after changing STC
class outdisp paramter to write,write to make this spin work . Or can we
do it dynamically without shutting down address space.
On Fri, May 12, 2017 at 10:05 AM, Lizette Koehler <
So the best option would be to do
1) Check the STC in the JES2 Class and see if JESLOG=SPIN is included.
2) Start the STC with the SPIN Option
JESLOG=
Specifies for the indicated jobclass that each job's JESLOG data
(JESMSGLG and JESYSMSG data sets) is to be spun at a certain time interval,
suppressed from being recorded, or not spun at all.
Note: Specifying JESLOG=SPIN will cause a job in this class to use at
least 2 additional track groups of SPOOL space for the two JESLOG data sets
(JESMSGLG or JESYSMSG ). If this job class normally has a large number of
jobs that use a minimal amount of SPOOL space, then an increase of 2 track
groups could significantly increase SPOOL utilization. Consider these
additional SPOOL requirements when deciding whether to use JESLOG=SPIN.
SPIN
Jobs running in this job class are 'spinnable'. $TJnnnn,SPIN can
be used to immediately spin the JESMSGLG and JESYSMSG data sets.
(SPIN,+hh:mm)
Indicates to spin JESLOG every hh:mm time interval.
hh is hours and has a range of 0 through 23
mm is minutes and has a range of 00 through 59
Note: You must specify a minimum of 10 minutes or JES2 issues
an error message. Also, for time intervals of less than one hour, you must
specify the following format: JESLOG=(SPIN,+00:mm).
(SPIN,hh:mm)
Indicates to spin JESLOG at hh:mm every 24 hours.
(SPIN,nnn)
Indicates to spin JESLOG whenever either JESMSGLG or JESYSMSG
has nnn lines.'nnn is the number (1–999) of lines in the data set.
You must specify a minimum of 500 lines or JES2 issues an error message.
(SPIN,nnnK)
Indicates to spin JESLOG whenever either JESMSGLG or JESYSMSG
has "nnnK" lines, where "K" indicates thousands of lines.
(SPIN,nnnM)
Indicates to spin JESLOG whenever either JESMSGLG or JESYSMSG
has "nnnM" lines, where "M" indicates millions of lines.
Lizette
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Loading...