Page 1 of 1

What is the difference between SYSPRINT and SYSOUT DD names?

Posted: Mon Jul 25, 2016 2:46 pm
by Kannan P
Hi,

When we code like this in a JCL

Code: Select all

//SYSPRINT DD SYSOUT=* 
//SYSOUT   DD SYSOUT=* 
What difference exists between SYSPRINT and SYSOUT DD names ? Why do we use SYSOUT=* in both?

I replied that they are to disply the system messages but I am not sure why we used SYSOUT=* in both? Can there be something like //SYSPRINT DD SYSPRINT=* too?

Re: What is the difference between SYSPRINT and SYSOUT DD names?

Posted: Mon Jul 25, 2016 5:42 pm
by Robert Sample
Some utilities use SYSPRINT and some use SYSOUT for messages; rather then remember which is used when, most programmers just code both to cover the bases. There are historical reasons for the difference, but these days those differences don't matter nearly as much.

SYSOUT=* can be referenced in the JCL Reference manual as part of the DD statement. SYSOUT= indicates to JES that you want this data spooled to print. The * indicates to use the default message class (from the JOB statement) rather than a specific message class. Most sites have different SYSOUT classes defined different ways, perhaps using special forms or special routing.

Re: What is the difference between SYSPRINT and SYSOUT DD names?

Posted: Wed Jul 27, 2016 2:28 pm
by Kannan P
Thanks a lot Robert.

Re: What is the difference between SYSPRINT and SYSOUT DD names?

Posted: Mon Aug 08, 2016 6:35 pm
by Lbdyck
The best way to answer that is that it depends on the particular program. Read the doc to see what each DD is and how it is used.

Re: What is the difference between SYSPRINT and SYSOUT DD names?

Posted: Thu Aug 11, 2016 8:30 pm
by Kannan P
Thanks Lbdyck. But this is an interview question but I think this answer will work in interview too.

Re: What is the difference between SYSPRINT and SYSOUT DD names?

Posted: Fri Aug 19, 2016 7:22 pm
by Lbdyck
Be aware that z/OS is not the same a Unix where stdout and stderr have special and agreed upon meanings. With z/OS a DD can be whatever the programmer wants it to be. Thus a SYSPRINT and a SYSOUT DD could be used for completely different purposes in different programs.

From a different perspective, SYSOUT is typically not a DD but is a DD keyword that defines the SYSOUT characteristics of the spool file that will be created by the DD.

hope this helps a bit more

Re: What is the difference between SYSPRINT and SYSOUT DD names?

Posted: Tue Sep 06, 2016 3:28 pm
by Kannan P
Lbdyck wrote: Be aware that z/OS is not the same a Unix where stdout and stderr have special and agreed upon meanings. With z/OS a DD can be whatever the programmer wants it to be. Thus a SYSPRINT and a SYSOUT DD could be used for completely different purposes in different programs.

From a different perspective, SYSOUT is typically not a DD but is a DD keyword that defines the SYSOUT characteristics of the spool file that will be created by the DD.

hope this helps a bit more
Thanks Lbdyck.
Thus a SYSPRINT and a SYSOUT DD could be used for completely different purposes in different programs.
But for a specifc program, for example IEGENER, they will always have same meaning in all companies?

Re: What is the difference between SYSPRINT and SYSOUT DD names?

Posted: Tue Sep 06, 2016 3:31 pm
by enrico-sorichetti
But for a specifc program, for example IEGENER, they will always have same meaning in all companies?
as already said the meaning and the function of a DDNAME depend ONLY on the program using it
- not on the company/location/system where the program is used .