Sei sulla pagina 1di 33

Chapter 8: How to Manage SYSOUT Data Sets

In chapter 4, you learned how to code a simple form of the DD statement for working with
SYSO! data sets" #s you$ll recall, SYSO! data sets are output files that are designed to
%e printed rather than stored on D#SD or tape" &ow, in this chapter, you$ll learn new
techni'ues for handling SYSO! data sets" (or e)ample, you$ll learn how to print multiple
copies of a data set without rerunning the entire *o% and how to send a data set to a printer
in the department that needs the output"
#s you read this chapter, please keep in mind that you only need these techni'ues for
special SYSO! processing" #lso, since this chapter presents far more information than you
can remem%er, you should read it first to get the general idea of what SYSO! functions are
a+aila%le" !hen, you can refer %ack to this chapter when you need to use one of these
functions later on"
The basics of the OUTPUT JCL statement
#s you might guess, a DD statement can include many more parameters to handle SYSO!
data than what you$+e seen so far, and you$ll learn how to code them later in this chapter"
(irst, though, you$ll %e introduced to another statement that you can use for SYSO!
processing, the O!,! -C. statement /or *ust O!,! statement0"
!he O!,! statement lets you specify many of the options for SYSO! processing that
you would otherwise code on a DD statement" !he ad+antage of the O!,! statement is
that the SYSO! options can apply to multiple data sets in a *o%, so you don$t ha+e to code
the same parameters on each DD statement" #fter you see how and when to use the
O!,! statement, you$ll learn how to code %oth the O!,! and SYSO! DD
parameters in detail"
The syntax for the OUTPUT statement
(igure 812 shows the synta) for the O!,! statement and lists the parameters that are
presented in this chapter" 3e aware, though, that this statement contains many more
parameters" !his figure simply summari4es the ones that you$re most likely to use" (or a
complete list and description of all of the parameters a+aila%le, please consult the I35
manual, OS/390 MVS JCL Reference"
In the ne)t two figures, you$ll see that the O!,! statement can %e used in two ways"
(irst, you can code a default O!,! statement that applies to all of the SYSO! data sets
produced %y a *o% or *o% step" Second, you can code an O!,! statement that must %e
referred to directly %y a DD statement %efore it takes effect"
Figre !"#$ The syntax for the OUTPUT statement
The syntax for the OUTPUT statement
66name O!,! 7 ,C.#SS8class 9
7 ,CO&!:O.8 ;,:O<:#5= 9
;SI&<.> =
;DO3.> =
;!:I,.> =
7 ,CO,I>S8 ;nnn = 9
;/,/group1+alue7,group1+alue?900=
7 ,D>(#.!8 ;Y>S= 9
;&O =
7 ,D>S!8destination 9
7 ,(C38fc%1name 9
7 ,(.#S@8o+erlay1name 9
7 ,(O:5S8form1name 9
7 ,->SDS8 ;#..= 9
;-C.=
;.O<=
;5S<=
7 ,.I&>C!8nnn 9
7 ,O!DIS,8/normal1disp7,a%normal1disp90 9
7 ,,:!Y8nnn 9
%x&'anation
C.#SS #ssigns an
output class
for
SYSO!
data sets"
CO&!:O. Specifies
the line
spacing for
each record
that$s
printed"
CO,I>S Specifies
how many
copies of
the data set
should %e
printed"
D>(#.! Specifies
whether or
not this
O!,!
statement
supplies
default
SYSO!
processing"
D>S! Specifies a
destination
for the
SYSO!
data set"
(C3 Specifies
the forms
control
%uffer
image to %e
downloade
d to the
printer
when
printing a
special
form"
(.#S@ Specifies
the name of
the o+erlay
to %e used
in printing a
special
form on a
A8BB
printing
su%system"
(O:5S Specifies
the name of
the form on
which the
SYSO!
data set is
to %e
printed"
->SDS Specifies
the ->S
system
data sets to
which this
O!,!
statement
applies"
.I&>C! ->SC onlyD
specifies
the
ma)imum
num%er of
lines to %e
printed on
each page"
O!DIS, ->SC onlyD
specifies
the
disposition
for a
SYSO!
data set"
,:!Y Specifies a
priority for
the output
data set"
Descri&tion
!he O!,! statement is used to set options that can apply to multiple SYSO!
data sets within a *o%"
#n O!,! statement can %e used to pro+ide default options for all the SYSO!
data sets produced %y a *o% or a *o% step" Or it can %e used only for those data sets
that e)plicitly reference it in their DD statements"
How to se (efa't OUTPUT statements
(igure 81C shows the synta) for the D>(#.! parameter of the O!,! statement" !o
create a default statement, you code D>(#.!8Y>S or D>(#.!8Y along with any output
processing options" !hen, any su%se'uent SYSO! data sets that don$t refer to a specific
O!,! statement in a *o% or *o% step will use the default statement for its output options"
If you code a default O!,! statement after the -O3 statement %ut %efore the first >E>C
statement, it is a job-level default statement" !hat means that the options in the O!,!
statement apply to all SYSO! data sets in the *o% that don$t refer to other O!,!
statements"
If you code a default O!,! statement within a *o% step, it is a step-level default
statement" !hen, the options apply to all SYSO! data sets within the *o% step that don$t
e)plicitly refer to other O!,! statements" In other words, step1le+el O!,! statements
o+erride *o%1le+el O!,! statements"
Fhen you$re using default O!,! statements, the DD statements for the SYSO! data
sets in the *o% don$t ha+e to include any options" !he SYSO! parameter is still re'uired,
though, so you can code it as SYSO!8/,0 as shown in this figure" !his specifies that no
output class /also called a null class0 is assigned to the data set" If you code a class or any
other options on the DD SYSO! statement, they will o+erride the e'ui+alent defaults in the
O!,! statement"
!o gi+e you a %etter idea of how default O!,! statements work, look at the e)ample in
this figure" #s you can see, there are two default O!,! statements coded for this *o%"
O!2 is a *o%1le+el default while O!C is a step1le+el default" Fhen S!>,2 e)ecutes, the
!:#&:,! data set prints to class @ since that$s what$s specified in the O!2 statement" In
contrast, when S!>,C e)ecutes, the CS!:,! data set prints to class # since O!C is a
step1le+el statement that o+errides the O!2 statement" In addition, three copies of
CS!:,! are printed at remote printer :2CG"
If necessary, you can code more than one *o%1le+el or step1le+el default statement for a *o%
or *o% step" !hen, the SYSO! data sets in the *o% are processed once for each O!,!
statement that applies to them" Suppose, for e)ample, that you code two *o%1le+el default
O!,! statements: one that specifies normal class # printing, and another that specifies
that the SYSO! data should %e routed to a remote destination" In this case, each SYSO!
data set produced %y the *o% is printed twice: once using normal class # output processing,
and again after %eing routed to the remote destination"
Figre !")$ How to se (efa't OUTPUT statements
The syntax for the D%F*ULT &arameter of the OUTPUT statement
D>(#.!8 ;Y>S=
;Y =
;&O =
;& =
%x&'anation
Y>S, Y Indicates
that the
options in
the
O!,!
statement
apply to all
SYSO!
data sets
in the *o%
or *o% step
/in other
words, the
O!,!
statement
is implicitly
referenced
%y the
SYSO!
DD
statements
within the
*o%0"
&O, & Indicates
that the
O!,!
statement
isn$t
implicitly
referenced
%y the
SYSO!
DD
statements
within the
*o%" #s a
result, it
must %e
e)plicitly
referenced
"
How to co(e a DD SYSOUT statement that (oesn+t s&ecify any o&tions
SYSO!8/,0
* ,ob that ses ,ob"'e-e' an( ste&"'e-e' OUTPUT statements
6655B2:& -O3 /AHG2C0,I: 5>&>&D>JI,&O!I(Y855B2,5S<C.#SS8E
66O!2 O!,! D>(#.!8Y>S,C.#SS8@
66S!>,2 >E>C ,<58#::,!2
66!:#&I& DD DS&#5>855#C"#:"!:#&S,DIS,8S@:
66!:#&:,! DD SYSO!8/,0
66S!>,C >E>C ,<58#::,!C
66O!C O!,! D>(#.!8Y>S,C.#SS8#,CO,I>S8A,D>S!8:2CG
665#S!I& DD DS&#5>855#C"CS!O5>:"5#S!>:,DIS,8S@:
66CS!:,! DD SYSO!8/,0
Descri&tion
!he parameters in a default O!,! statement apply to all of the SYSO! data
sets in a *o% or *o% step that don$t e)plicitly refer to another O!,! statement"
!o code a default O!,! statement, you must include the D>(#.!8Y>S or
D>(#.!8Y parameter"
# job-level O!,! statement appears after the -O3 statement %ut %efore the
first >E>C statement" nless otherwise specified, its parameters apply to all of the
SYSO! data sets in the *o%"
# step-level O!,! statement is coded within a *o% step after the >E>C
statement" nless otherwise specified, its parameters apply to all of the SYSO!
data sets that follow it within the *o% step"
Step1le+el O!,! statements o+erride *o%1le+el statements"
If you code SYSO!8K on a DD statement, the output class in the 5S<C.#SS
parameter on the -O3 statement is used for the data set" !o use the output class
gi+en in a default O!,! statement, you ha+e to specify a null class %y coding
SYSO!8/,0" /See figure 81G for more details"0
If you code more than one *o%1le+el or step1le+el default statement, the SYSO!
data sets in the *o% or step are processed once for each default statement"
How to se ex&'icit'y reference( OUTPUT statements
Sometimes, you want to use an O!,! statement for multiple SYSO! data sets, %ut you
don$t want to use it as the default for the entire *o% or *o% step" In that case, you omit the
D>(#.! parameter or code D>(#.!8&O or &" !hen, whene+er you want to use the
O!,! statement for a data set, you ha+e to code an O!,! parameter that points to it
on the DD SYSO! statement" !his is summari4ed in figure 81A"
If you look at the synta) for the O!,! parameter on the DD statement, you can see that
the reference formats are similar to refer%acks" If you specify *ust a name in the reference,
you$re referring to a *o%1le+el O!,! statement" If you specify a stepname and a name,
you$re referring to a step1le+el O!,! statement" #nd if you specify a stepname,
procstepname, and name, you$re referring to an O!,! statement in a cataloged or in1
stream procedure, which you$ll learn a%out in the ne)t chapter"
!o illustrate, the e)ample in this figure includes se+eral O!,! statements that are
referred to e)plicitly %y SYSO! data sets" !o start, I&L.IS! in S!>,2 refers to O!2,
which is a *o%1le+el O!,! statement" It will %e assigned to class C, and four copies of the
data set will %e printed at remote printer :2CG" &e)t, I&L:,! e)plicitly refers %oth to O!2
and to O!C, which is a step1le+el O!,! statement" @ere again, the data set will %e
assigned to class C" !his time, howe+er, four copies will %e printed at printer :2CG and two
copies will %e printed at printer :2GB" .ast, .O<:,! doesn$t e)plicitly refer to any O!,!
statement, so its output will %e handled according to the default O!,! statement" !hat
means it will %e assigned to class # and will %e printed at the .OC#. /main0 printer"
#lthough you can code e)plicitly referenced O!,! statements at either the *o% or step
le+el, their placement doesn$t affect processing the way it does with default O!,!
statements" #n O!,! statement that isn$t a default *ust has to come %efore any DD
statement that refers to it" #s a result, some programmers group all of them at the %eginning
of a *o%, while others like to split them up, coding those that will %e used throughout the *o%
at the *o% le+el and those that will %e used in a single step at the step le+el"
Figre !".$ How to se ex&'icit'y reference( OUTPUT statements
The syntax for the OUTPUT &arameter of the DD statement
O!,!8 ;reference =
;/,reference7,reference9?0=
/eference formats
K"name :efers to
a *o%1le+el
O!,!
statement
"
K"stepname"name :efers to
a step1
le+el
O!,!
statement
"
K"stepname"procstepname"name
:efers to
an
O!,!
statement
in a
procedure
/see
chapter
M0"
* ,ob that ses both (efa't an( ex&'icit'y reference( OUTPUT statements
6655B2:& -O3 /AHG2C0,I: 5>&>&D>JI,&O!I(Y855B2
66D>(#.! O!,! D>(#.!8Y>S,C.#SS8#,D>S!8.OC#.
66O!2 O!,! CO,I>S84,C.#SS8C,D>S!8:2CG
66S!>,2 >E>C ,<58#:4ACB
66O!C O!,! CO,I>S8C,C.#SS8C,D>S!8:2GB
66I&L.IS! DD SYSO!8/,0,O!,!8K"O!2
66I&L:,! DD SYSO!8/,0,O!,!8/K"O!2,K"S!>,2"O!C0
66.O<:,! DD SYSO!8/,0
66
Descri&tion
!o code an O!,! statement that is e)plicitly referenced %y a DD statement,
omit the D>(#.! parameter or code D>(#.!8&O or & on the O!,!
statement"
!o refer to an e)plicitly coded O!,! statement, include an O!,!
parameter on the DD statement for the SYSO! data set"
!he O!,! parameter can refer to a *o%1le+el or step1le+el O!,! statement"
(or a step1le+el statement, you must include the stepname"
!o refer to more than one O!,! statement in an O!,! parameter, list the
references in parentheses and separate them with commas" !hen, the data set is
processed once for each statement that$s referenced
How to se DD an( OUTPUT statement &arameters for SYSOUT
&rocessing
5any of the parameters of the O!,! statement ha+e parallels on the DD statement" #s a
result, you can often in+oke a specific SYSO! function %y coding an O!,! statement
parameter, a DD statement parameter, or %oth" !his topic %egins %y gi+ing you an o+er+iew
of the DD parameters that are related to SYSO! processing" !hen, you$ll learn how to use
these parameters along with those on the O!,! statement for specific processing
functions"
DD statement &arameters for SYSOUT &rocessing
(igure 814 shows the format for the DD statement as it$s used for SYSO! data sets" If you
compare it with the format for the O!,! statement in figure 812, you$ll see that
parameters such as CO,I>S, D>S!, and (C3 are a+aila%le on %oth statements" You$ll also
see that the DD statement has some additional parameters that aren$t a+aila%le on the
O!,! statement"
Fhether you use DD or O!,! statement parameters to control SYSO! processing is
up to you" In general, though, you should use the DD statement parameters to control the
processing for indi+idual SYSO! data sets" 3ut when you want to control multiple SYSO!
data sets in the same way, you should use an O!,! statement"
3e aware, too, that the parameters you code on a DD statement will o+erride e'ui+alent
parameters on any O!,! statements that are in effect" So if you$re using O!,!
statements in a *o%, %e sure to code the DD statements carefully so you get the results you
want"
Figre !"0$ DD statement &arameters for SYSOUT &rocessing
Common'y se( DD &arameters for SYSOUT &rocessing
66ddname DD 7 SYSO!8/class7,writer97, ;form1name= 90 9
;code1name=
7 ,CO,I>S8nnn/,/group1+alue7,group1+alue900 9
7 ,D>S!8destination 9
7 ,(C38fc%1name 9
7 ,(.#S@8o+erlay1name 9
7 ,(:>>8 ;>&D =
;C.OS>=
7 ,@O.D8 ;Y>S= 9
;&O =
7 ,O!.I58num%er 9
7 ,O!,!8 ;reference = 9
;/,reference7,reference9?0=
7 ,S><5>&!8page1count 9
7 ,S,I&8 ;&#..OC= 9
;&O =
%x&'anation
SYSO! Specifies
the output
class, the
name of an
output
writer used
to process
the file, and
the name of
any special
form
needed to
print the
file"
CO,I>S Specifies
how many
copies of
the data set
should %e
printed"
D>S! Specifies a
destination
for the
SYSO!
data set"
(C3 Specifies
the name of
the forms
control
%uffer to %e
downloade
d to the
printer
when
printing a
special
form"
(.#S@ Specifies
the name of
the o+erlay
to %e used
in printing a
special
form on a
A8BB
printing
su%system"
(:>> Specifies
that the
data set
should %e
unallocated
at the end
of the last
*o% step
that uses it
or when a
program
closes it"
@O.D Specifies
whether or
not the data
set should
%e held"
O!.I5 Specifies a
limit for the
num%er of
records that
can %e
written to
the data
set"
O!,! #ssociates
the
SYSO!
data set
with the
named
O!,!
statement"
S><5>&! ->SC onlyD
allows a
*o%$s output
to start
printing
while the
*o% step is
still
e)ecuting"
S,I& Specifies
when the
data set
should %e
released for
printing"
Descri&tion
!he DD statement pro+ides specific parameters that control output
processing for SYSO! data sets" 5any of these are e'ui+alent to
parameters on the O!,! statement"
!o control the characteristics of a specific SYSO! data set, code the
parameters on the DD statement" !o control multiple SYSO! data sets
in the same way, code an O!,! statement"
Fhen %oth an O!,! statement and a DD statement apply to a data
set, the DD statement parameters o+erride e'ui+alent parameters on the
O!,! statement"
How to s&ecify an ot&t c'ass
# SYSO! data set$s output class can affect the way the data set is printed %y indicating
which printer or printers may print the data set, whether the data set should %e held, and the
data set$s importance relati+e to data sets with other output classes" !o assign a class to a
SYSO! data set, you normally use the SYSO! parameter of the DD statement, as shown
in the synta) at the top of figure 81G" #s you can see, you can specify the class directly in
this parameter, using an appropriate +alue as defined %y your installation" It$s more common,
though, to code SYSO!8K, and that$s what you$ll see in most of the e)amples in this %ook"
!hen, the *o%$s message class, specified in the 5S<C.#SS parameter on the -O3
statement, is used /if the 5S<C.#SS is omitted, the installation$s default message class is
used0"
>ither of these +alues will o+erride the class setting in any O!,! statements that are in
effect, though" So if you want to use an O!,! statement to set the class, you specify
SYSO!8/,0" !hen, the class that$s coded in the C.#SS parameter of the O!,!
statement is used" !he synta) for this parameter is also shown in this figure"
!he *o% in this figure assigns output classes to the SYSO! data sets in a +ariety of ways"
@ere, the first four data sets are all created according to the default O!,! statement, %ut
only #:,.IS! and #::,2G use the default output class of #" !he DD statement for
#:,.O< o+errides the default and uses the 5S<C.#SS parameter on the -O3 statement
to o%tain an output class of E, and the DD statement for #::,2B o+errides the default %y
directly assigning an output class of D" (inally, #:S!5! refers to O!,! statement
O!2, so it$s created with an output class of C"
Incidentally, if you code SYSO!8/,0 and then don$t pro+ide a C.#SS parameter on an
O!,! statement, the *o%$s message class is used" #nd if you don$t code a 5S<C.#SS
parameter on the -O3 statement, an installation1dependent default message class is used"
How to s&ecify an ot&t &riority
&ormally, SYSO! data sets are printed on a first1come, first1ser+ed %asis, as soon as a
printer that$s eligi%le for the output class %ecomes a+aila%le" @owe+er, in some cases, a
SYSO! data set contains important information and must %e printed sooner than other
SYSO! data sets waiting in the output spool" !o alter the printing se'uence, you can code
the ,:!Y parameter on the O!,! statement to specify an output priority"
!he *o% in figure 81G includes two O!,! statements that use the ,:!Y parameter" !he
default O!,! statement has a priority of GB and the O!2 O!,! statement has a
priority of CBB" Fhen the SYSO! data sets are sent to the printer, the ones assigned to the
O!2 O!,! statement /in this case, #:S!5!0 will print %efore those created according
to the default O!,! statement /#:,.O<, #:,.IS!, #::,2B, and #::,2G0"
Figre !"1$ How to s&ecify an ot&t c'ass an( &riority
The syntax for the SYSOUT c'ass of the DD statement
SYSO!8 ;class=
;K=
;/,0=
The syntax for the CL*SS &arameter of the OUTPUT statement
C.#SS8 ;class=
;K =
%x&'anation
class Specifies
the output
class for the
SYSO!
data set"
!he class is
a one1
character
identifier
that can %e
# through J
or B through
M"
K Specifies
that the
output class
in the -O3
statement$s
5S<C.#S
S
parameter
%e used"
/,0 Specifies a
null class
/in other
words, no
output class
is specified
for the data
set0" If an
O!,!
statement is
in effect, the
output class
in the
C.#SS
parameter
is used for
the data
set" If not,
the output
class in the
-O3
statement$s
5S<C.#S
S
parameter
is used"
The syntax for the P/TY &arameter of the OUTPUT statement
,:!Y8nnn
%x&'anation
nnn Specifies
the
priority of
the
SYSO!
data set
as it
enters
the
output
'ueue"
!he
num%er
specified
can %e
from B to
CGG
where B
is the
lowest
priority"
* ,ob that ses ot&t c'asses an( sets &rinting &riorities
6655B2:& -O3 /AHG2C0,I: 5>&>&D>JI,&O!I(Y855B2,5S<C.#SS8E
66D>(#.! O!,! D>(#.!8Y>S,C.#SS8#,,:!Y8GB
66O!2 O!,! C.#SS8C,,:!Y8CBB
66S!>,2 >E>C ,<58#:GBBB
66#:,.O< DD SYSO!8K
66#:,.IS! DD SYSO!8/,0
66#::,2B DD SYSO!8D
66#::,2G DD SYSO!8/,0
66#:S!5! DD SYSO!8/,0,O!,!8K"O!2
66
Descri&tion
!o assign an output class to SYSO! data sets using an O!,!
statement, code the class in the C.#SS parameter"
!o assign an output class to a single SYSO! data set, code the class in
the DD SYSO! parameter"
If a SYSO! data set isn$t assigned an output class in a DD or O!,!
statement, the *o%$s 5S<C.#SS is used" If no 5S<C.#SS is coded, the
installation$s default output class is used"
!o specify an output priority for a data set in the print 'ueue, code the
,:!Y parameter on the O!,! statement"
Omitting the ,:!Y parameter causes the installation1specific priority to %e
used"
How to re'ease a SYSOUT (ata set for imme(iate &rocessing
In most cases, a *o%$s SYSO! data sets are held in the ->S output 'ueue until the *o%
completes" !hen, they$re all printed together" !here will %e times though, when you won$t
want to wait until a *o% finishes to %egin printing a SYSO! data set" (or e)ample, suppose
a *o% has two steps: the first produces a long report, and the second sorts a huge file" If the
sort step takes se+eral hours to complete, the user must wait unnecessarily for the report to
%egin printing" In a case like this, you can use the three DD parameters shown in figure 81H
to %egin printing the SYSO! data set %efore the *o% finishes"
!he S,I& parameter allows you to specify when a SYSO! data set is to %e released"
Specifying S,I&8&#..OC makes the data set a+aila%le %efore the *o% ends and specifying
S,I&8&O makes it a+aila%le after the *o% ends" !he outcome of S,I&8&#..OC depends
on how your system is set up, howe+er" It may mean that the data set is a+aila%le as soon
as the application closes it, or it may mean that the data set isn$t a+aila%le until the *o% step
ends"
!he (:>> parameter allows you to specify whether a data set should %e made a+aila%le
after the last step that uses it unallocates it or when the current program closes it" You$ll
typically code (:>>8C.OS> with S,I&8&#..OC to ensure that a SYSO! data set is
a+aila%le for immediate printing"
nder ->SC, the S><5>&! parameter causes a SYSO! data set to %e spun1off for output
processing while the *o% is still e)ecuting" !he num%er you specify in the parameter
represents the num%er of pages to produce for each segment" Fhen that page count is
reached, that segment of the data set is sent to the printer for processing"
Figre !"2$ How to re'ease a SYSOUT (ata set for imme(iate &rocessing
The syntax for the SP34 &arameter of the DD statement
S,I&8 ;&#..OC=
;&O =
%x&'anation
&#..OC Specifies that
the data set is
to %e
a+aila%le for
processing
immediately
after it is
unallocated"
Depending on
system
configurations
, this can %e
as soon as
the file is
closed or at
the end of the
*o% step"
&O Specifies that
the system
make the data
set a+aila%le
only when the
*o%
completes,
regardless of
when it$s
unallocated"
The syntax for the F/%% &arameter of the DD statement
(:>>8 ;>&D =
;C.OS>=
%x&'anation
>&D Specifies
that the
system
unallocat
e the data
set at the
end of the
last step
that uses
it"
C.OS> Specifies
that the
system
unallocat
e the data
set when
the
program
closes it"
The syntax for the S%5M%4T &arameter of the DD statement 6J%S) on'y7
S><5>&!8page1count
%x&'anation
page1count Specifies
the
num%er of
pages to
produce
for each
segment of
a SYSO!
data set"
Fhen the
page count
is reached,
the
segment is
released
for output
processing
"
Three ways to start &rinting a SYSOUT (ata set before a ,ob finishes
* re&ort that starts &rinting after the ,ob ste& en(s bt before the ,ob finishes
66:>,O:! DD SYSO!8#,S,I&8&#..OC
* re&ort that starts &rinting as soon as the SYSOUT (ata set is c'ose(
66:>,O:! DD SYSO!8#,S,I&8&#..OC,(:>>8C.OS>
* re&ort that starts &rinting after the first #88 &ages are &ro(ce(
66:>,O:! DD SYSO!8#,S><5>&!82BB
Descri&tion
!he S,I& parameter lets you specify whether a SYSO! data set is to %e
made a+aila%le for printing %efore the *o% ends" Depending on how your
system is set up, coding S,I&8&#..OC will make the data set a+aila%le
/20 as soon as the application closes the file or /C0 when the *o% step ends"
!he (:>> parameter lets you specify whether a data set should %e made
a+aila%le after the last step that uses it unallocates it or when a program
closes it"
In ->SC, the S><5>&! parameter causes a SYSO! data set to %e
spun1off for output processing after a gi+en num%er of pages are
produced, e+en though the *o% is still running"
How to rote a SYSOUT (ata set to a s&ecific (estination
&ormally, the system determines which printer to use %ased on the output class for the data
set, the source of the *o%, and which printers are currently a+aila%le" 3ut what if you want to
send your output to the remote printer near your desk rather than the default .OC#. printer
it would normally print toN In such situations, you can specify the D>S! parameter on either
the O!,! statement or the DD statement for the SYSO! data set in 'uestion"
!he rules for specifying a destination +ary from installation to installation" So you$ll need to
get a list of destinations that are +alid at your installation" In general, though, you can use the
D>S! parameter to route output data to a remote or local printer, a node, a node and printer
or terminal, or a user1id" !he chart at the top of figure 81O lists some of the types of
destinations you can specify as well as the -C. statements you can code them on" It also
shows what +alues can %e used in a ->SC or ->SA en+ironment"
Fhen using the D>S! parameter, %e mindful of the si4e of the output data set going to a
remote printer" If you send a huge report to a slow1speed departmental printer, you$ll hold up
e+eryone else$s output while yours is printing"
Figre !"9$ How to rote a SYSOUT (ata set to a s&ecific (estination
The syntax for the D%ST &arameter of the OUTPUT an( DD statements
D>S!8destination
Destination OUTPUT DD J%S) J%S. Descri&tion
#&Y.OC#. E E E

:outes
output to a
local de+ice"
.OC#. E E E E :outes
output to a
local de+ice"
&ame E E E

:outes
output to a
destination
identified %y
a sym%olic
name up to 8
characters
long"
&nnnn E E

:outes
output to a
node" !he
num%er can
%e from 2 to
2BBB"
:nnnn, :5nnnn, E E E

:outes
output to a
remote
terminal" !he
:5!nnnn

num%er can
%e from 2 to
MMMM"
serid E E E

:outes
output to a
user1id at the
local node"
nodename"userid E

E

:outes
output to a
node and a
Destination OUTPUT DD J%S) J%S. Descri&tion
user1id within
the node"
/node,userid0

E E E :outes
output to a
node and a
user1id within
the node"
PI,:ipaddr$, E

E E :outes
output to a
!C,6I,
routing
Pnodename"I,:ipaddr$

designation"
* SYSOUT (ata set that+s rote( to remote &rinter /#88
66:>,O:! DD SYSO!8#,D>S!8:2BB
*n OUTPUT statement that rotes ot&t to a no(e name( F/%S4O an( a &rinter with
an 3P a((ress of main")
66D>(#.! O!,! D>(#.!8Y>S,D>S!8I(:>S&O"I,:main1CI
Descri&tion
!he D>S! parameter lets you route a SYSO! data set to a specific
destination" !he destination can %e a remote or local printer or terminal, a
node, a node and printer or terminal, or a user1id"
Installations determine the rules and the format for specifying a
destination" So you$ll ha+e to find out what destinations are +alid at your
installation"
How to s&ecify the (is&osition for a SYSOUT (ata set
In chapter 4, you saw how to code a DIS, parameter on a DD statement for a data set that$s
stored on disk, %ut those DD +alues don$t apply to SYSO! data sets" In a ->SC system,
though, you can use the O!DIS, parameter on an O!,! statement to specify the
disposition of a SYSO! data set, as shown in figure 818"
#s you can see, the O!DIS, parameter allows you to specify two dispositions" !he first
one tells ->SC what to do if the *o% terminates normally, and the second one tells it what to
do if the *o% terminates a%normally" If you don$t specify an a%normal disposition, ->SC uses
the normal disposition if the *o% terminates a%normally" If you specify an a%normal
disposition without a normal disposition, the normal disposition defaults to F:I!>" #nd if you
omit the O!DIS, parameter, ->SC uses the normal and a%normal dispositions specified in
the SYSO! class for the data set"
!o illustrate how the O!DIS, parameter might %e used, suppose you ha+e a report that
should print on a printer in the corporate office as long as there$s no pro%lem with the output"
@owe+er, if the *o% terminates a%normally, the report data set should %e held on the local
printer so a programmer can look at it to determine the pro%lem" !hen, the data set can
either %e purged or printed if further e)amination is re'uired"
!he O!,! statements in the first e)ample in this figure set up this processing" In the
<OOD statement, the O!DIS, parameter specifies Q>>, to print the report at the remote
printer if the *o% ends normally and ,:<> so the corporate office won$t see the report if the
*o% ends a%normally" In the 3#D statement, the O!DIS, parameter says to purge the
report at the local destination if the *o% completes normally and hold it for re+iew if the *o%
terminates a%normally" !hen, the DD SYSO! statement says to process the data set once
for each O!,! statement" #s a result, if the *o% completes successfully, the output for
data set :>,O:! is printed at remote printer :2BB" On the other hand, if the *o% doesn$t end
successfully, the output is held until a programmer can e)amine it"
If you want to hold the output from a SYSO! data set no matter what its disposition is, you
can code the @O.D parameter on the DD statement as shown in this figure" #n alternate
way to hold a SYSO! data set using the DD statement is to specify a held output class in
the SYSO! parameter"
Figre !"!$ How to s&ecify the (is&osition for a SYSOUT (ata set
The syntax for the OUTD3SP &arameter of the OUTPUT statement 6J%S) on'y7
O!DIS,8/normal1disp7,a%normal1disp90
The (is&ositions that can be co(e( on the OUTPUT statement
F:I!> Specifies
that the
SYSO!
data set is
to %e
printed
and then
deleted"
@O.D Specifies
that the
system is
to hold the
SYSO!
data set
until the
user or
operator
releases
it" Once
printed,
the
SYSO!
data set is
deleted"
Q>>, Specifies
that the
SYSO!
data set is
to %e
printed"
#fter
printing,
its
dispositio
n is
changed
to .>#L>"
.>#L> Specifies
that the
SYSO!
data set is
to %e kept
in the
output
'ueue"
,:<> Specifies
that the
SYSO!
data set is
to %e
deleted
without
%eing
printed"
How the OUTD3SP &arameter can be se( to manage ot&t &rocessing
66<OOD O!,! O!DIS,8/Q>>,,,:<>0,D>S!8:2BB
663#D O!,! O!DIS,8/,:<>,@O.D0
66:>,O:! DD SYSO!8#,O!,!8/K"<OOD,K"3#D0
The syntax for the HOLD &arameter of the DD statement
@O.D8 ;Y>S=
;Y =
;&O =
;& =
%x&'anation
Y>S, Y :e'uests
that the
system
hold the
SYSO!
data set
until it is
released
%y a user
or
operator"
&O, & :e'uests
that the
system
perform
installation
1defined
processing
for the
SYSO!
data set
%ased on
its output
class"
How the HOLD &arameter can be se( :ee& a re&ort from &rinting imme(iate'y
66:>,O:! DD SYSO!8#,@O.D8Y>S
Descri&tion
In a ->SC system, you can use the O!,! statement$s O!DIS,
parameter to indicate the disposition of a SYSO! data set" .ike the DD
DIS, parameter, you code two dispositions" !his first one applies if the *o%
step completes normally, and the second one applies if it doesn$t"
If you omit the a%normal disposition, the system uses the normal
disposition you specify" If you omit the normal disposition, the system
defaults to F:I!>"
You can use the DD statement$s @O.D parameter to hold a SYSO! data
set until it$s released for printing %y a user or system operator" !he @O.D
parameter o+errides the O!DIS, parameter"
How to &ro(ce m'ti&'e co&ies of a SYSOUT (ata set
(rom time to time, it may %e necessary to print more than one copy of a report" <enerally, if
se+eral departments or indi+iduals need to +iew a report, this will %e the case" !o print
multiple copies, you can use the CO,I>S parameter on either the O!,! or DD
statement, as shown in figure 81M"
If you look at the e)amples in this figure, you$ll see that the first DD statement and the first
O!,! statement show how to code the CO,I>S parameter in its simplest form" In %oth
cases, two copies of the data set are produced" Fhen you print multiple copies of a data set
this way, the data set is sent to the printer twice" Fhen the first copy has finished printing,
->SC6->SA sends the second copy" If the two copies are to %e sent to different users, this is
efficient for the operator, who can *ust separate the copies and deli+er them" @owe+er, it$s
inefficient for the system %ecause the data set must %e processed twice"
(or efficiency, there is an alternati+e method for printing multiple copies of a data set if
you$re using a laser printer such as the A8BB printing su%system" !he alternati+e is to code a
group +alue in the CO,I>S parameter, which tells the system to print multiple copies of each
page as the data set is processed" (or e)ample, if you re'uest two copies of a data set, the
copies are printed in this order: two copies of page 2, two copies of page C, and so on" !his
way, ->S processes the data set *ust once /of course, this makes it more difficult for the
operator to separate the copies0"
!he second DD and O!,! statement e)amples in this figure show how to use group
+alues" In the DD e)ample, the first su%parameter is omitted and a comma marks its
position" !hen, the ne)t three su%parameters, all group +alues, are enclosed in parentheses"
!he result is that two copies of each page will %e printed %efore mo+ing on, then three
copies for each page, and then finally one copy for each page" Fhy not simply specify a
single group +alue of H since the copies will need to %e collated anywayN # parameter like
this might %e used if different departments needed different num%ers of copies" !hen, the
copies would %e deli+ered to the departments uncollated, as printed"
In the second O!,! e)ample, the group +alues specify that fi+e copies of the data set
are to %e printed in two groups if they$re printed on a laser printer" @ere, though, the first
su%parameter is also coded, specifying fi+e copies" #s a result, if the output de+ice is not a
laser printer, fi+e collated copies are produced"
Figre !";$ How to &ro(ce m'ti&'e co&ies of a SYSOUT (ata set
The syntax for the COP3%S &arameter of the OUTPUT an( DD statements
CO,I>S8 ;nnn =
;/nnn,/group1+alue7,group1+alue?900=
;/,/group1+alue7,group1+alue?900 =
%x&'anation
nnn Specifies
how
many
copies of
the
SYSO!
data set
to print"
You can
specify
up to CGG
copies in
->SC and
CG4
copies in
->SA" On
a laser
printer
system,
this +alue
is ignored
if a group
+alue is
coded"
group1+alue Specifies
the
num%er
of copies
to %e
printed of
each
page
%efore
the ne)t
page is
printed"
You can
code up
to 8
group
+alues
%ut the
sum of
the
pages
printed
must not
e)ceed
CGG
pages for
->SC and
CG4
pages for
->SA"
Lalid only
for laser
printer
systems"
S&ecifying the COP3%S &arameter on the DD statement
) co''ate( co&ies of the (ata set are &rinte( on any ty&e of &rinter
66:>,O:!2 DD SYSO!8#,CO,I>S8C
On a 'aser &rinter< 2 nco''ate( co&ies are &rinte( in . sets
66:>,O:!C DD SYSO!8#,CO,I>S8/,/C,A,200
S&ecifying the COP3%S &arameter on an OUTPUT statement
) co''ate( co&ies of the (ata set are &rinte( on any ty&e of &rinter
66O!2 O!,! C.#SS8#,CO,I>S8C
On an im&act &rinter< 1 co''ate( co&ies are &rinte(= on a 'aser &rinter< 1 nco''ate(
co&ies are &rinte( in ) sets
66O!C O!,! C.#SS8#,CO,I>S8/G,/C,A00
Descri&tion
!he CO,I>S parameter lets you specify how many copies of a SYSO!
data set are to %e printed" !he printed output is in page se'uence for each
copy"
If you$re printing on a A8BB printing su%system or other laser printer
system, you can print multiple copies of each page together %y coding
group +alues on the CO,I>S parameter" # group +alue specifies the
num%er of copies to %e printed for each page %efore mo+ing on to the
ne)t"
!he num%er +alue and the group +alues are mutually e)clusi+e" If %oth are
coded and the data set is sent to an impact printer, the num%er +alue is
used" If the data set is sent to a laser printer, the group +alues are used"
How to set an ot&t 'imit
If you need to limit the num%er of records written to a SYSO! data set, you can code an
O!.I5 parameter on the DD statement, as shown in figure 812B" #s you can see, the
O!.I5 parameter allows you to specify the num%er of logical records, or lines, that can %e
written to a SYSO! data set" If the limit is reached, the system will either e)it to an
installation1written routine or terminate the *o%" In the e)ample in this figure, the SYSO!
data set named :>,O:! is to %e no longer than CBBB lines"
!here may %e many reasons for coding such a parameter" (or e)ample, you may suspect
that one of the reports in a *o% is looping, generating the same lines of output o+er and o+er
again" !hen, you can sa+e your installation a lot of paper %y using the O!.I5 parameter"
Of course, you already learned in chapter G that you can also code the .I&>S, 3Y!>S,
,#<>S, or C#:DS parameters on the -O3, >E>C, 6K-O3,#:5, or 66K5#I& statements to
achie+e a similar effect" !he difference is that the limits specified in these parameters apply
to the entire *o% or *o% step rather than to an indi+idual SYSO! data set"
Figre !"#8$ How to set an ot&t 'imit
The syntax for the OUTL3M &arameter of the DD statement
O!.I58num%er
%x&'anation
num%er Specifies
the
num%er of
logical
records
that can
%e written
to the
SYSO!
data set"
!he +alue
can %e
from 2 to
2HOOOC2G
"
* SYSOUT (ata set with an ot&t 'imit
66:>,O:! DD SYSO!8#,O!.I58CBBB
Descri&tion
You can use the O!.I5 parameter on a DD statement to limit the
num%er of records written to a SYSO! data set"
If the output limit is reached, the system will either e)it to an installation1
written routine or terminate the *o%"
If no O!.I5 parameter is specified or O!.I58B is coded, the system
will use a default limit esta%lished %y your installation"
#n alternate way of limiting the num%er of records produced is %y
specifying the .I&>S, 3Y!>S, ,#<>S, or C#:DS parameters on the
-O3, >E>C, 6K-O3,#:5, or 66K5#I& statements, %ut these options apply
to the entire *o% or *o% step, not to a specific SYSO! data set"
How to contro' 'ine s&acing an( the nmber of 'ines on each &age
!wo O!,! statement parameters, CO&!:O. and .I&>C!, let you control the line
spacing and the num%er of lines on each page of SYSO! output" (igure 8122 shows the
synta) for %oth parameters"
!he CO&!:O. parameter lets you +ary the line spacing of a SYSO! data set" If you omit
CO&!:O. or specify CO&!:O.8,:O<:#5, ->S assumes that the first position of each
line in the SYSO! data set contains a carriage1control character that affects line spacing"
!hat$s normally the case" @owe+er, you can o+erride the carriage1control settings %y
specifying single, dou%le, or triple spacing instead"
!his figure includes a *o% that uses the CO&!:O. parameter in two O!,! statements"
!he &O:5 O!,! statement defers line spacing to the program" !he .S!I&< O!,!
statement re'uires that the data set %e dou%le1spaced when printed"
!he .I&>C! parameter, a+aila%le only under ->SC, changes the ->S default for the
ma)imum num%er of lines printed on each page of a SYSO! data set" sually, the default
.I&>C! +alue is HH lines per page" !hat$s the physical ma)imum that can %e printed with
normal line spacing using standard 22 ) 24 paper on an impact printer or 8126C ) 22 paper
on a laser printer in landscape mode" If you want fewer lines per page or if you$re using
smaller1si4ed paper, you should reduce the line count accordingly"
Figre !"##$ How to contro' 'ine s&acing an( the nmber of 'ines on each &age
The syntax for the CO4T/OL &arameter of the OUTPUT statement
CO&!:O.8 ;,:O<:#5=
;SI&<.> =
;DO3.> =
;!:I,.> =
%x&'anation
,:O<:#5 Specifies
that each
record in
the
SYSO!
data set
%egins
with a
carriage1
control
character
that
determine
s the line
spacing"
SI&<.> Specifies
forced
single
spacing"
DO3.> Specifies
forced
dou%le
spacing"
!:I,.> Specifies
forced
triple
spacing"
* ,ob that ses the CO4T/OL &arameter to contro' 'ine s&acing
6655B2:& -O3 /AHG2C0,I: 5>&>&D>JI,&O!I(Y855B2
66&O:5 O!,! C.#SS8#,CO&!:O.8,:O<:#5
66.S!I&< O!,! C.#SS8#,CO&!:O.8DO3.>
66S!>,2 >E>C ,<58#:OBBB
66#:.IS! DD SYSO!8/,0,O!,!8K".S!I&<
66#::,! DD SYSO!8/,0,O!,!8K"&O:5
66
The syntax for the L34%CT &arameter of the OUTPUT statement 6J%S) on'y7
.I&>C!8nnn
%x&'anation
nnn Specifies
the
ma)imum
num%er
of lines
allowed
per page"
!he
num%er
can %e
from B to
CGG"
*n OUTPUT statement that ses the L34%CT &arameter to contro' the nmber of 'ines on
each &age
66.S!I&< O!,! C.#SS8#,.I&>C!8HH
Descri&tion
!he CO&!:O. parameter on the O!,! statement lets you specify
whether each record in a SYSO! data set starts with a carriage1control
character or whether the records should %e printed with single, dou%le, or
triple spacing"
Specifying SI&<.>, DO3.>, or !:I,.> o+errides the line spacing
specified %y any carriage1control characters in the data set"
In ->SC, the .I&>C! parameter on the O!,! statement lets you
specify the ma)imum num%er of lines the system can print on each page"
If you omit it, a ->SC initiali4ation default +alue is used"
How to se s&ecia' forms
#lthough most SYSO! data sets are printed on standard computer paper, some ha+e to %e
printed on special forms" (or e)ample, payroll checks are usually printed on %lank check
forms, and in+oices are printed on %lank in+oice forms" #s a result, the DD and O!,!
statements pro+ide se+eral parameters for printing SYSO! data sets on special forms" !he
parameters you code in a gi+en *o% depend on whether you$re using an impact printer or a
laser printer such as a A8BB printing su%system"
On an impact printer, pre1printed forms are typically used" !hese forms usually +ary in si4e
and colorD they may also contain your company$s logo and contact information" #nother
common feature of pre1printed forms is that they include a num%er of %o)es that your
SYSO! data set will fill with data"
!o print on these types of forms, you need to pro+ide two elements: the form name and the
(C3 name" !he form name identifies the form you want to use" !hen, when the data set is
released for printing, this name is used in a message to the operator that indicates which
form to mount on the printer" You can specify the form name in the SYSO! parameter of a
DD statement or in the (O:5S parameter of an O!,! statement" !he results are the
same either way"
#s for the (C3 name, it identifies a forms control buffer that corresponds to the form" #
forms control %uffer is a series of coded instructions that$s loaded into the printer$s memory"
It pro+ides information that the printer needs to print on the form, such as the length of the
form" sually, the (C3 name is the same as the form name" You specify it in an (C3
parameter on either a DD or O!,! statement"
On a laser printer, pre1printed forms aren$t generally used" Instead, you use the forms-flas
tecn!"ue to print the form itself along with the data on a %lank piece of paper" !his
techni'ue re'uires that the operator load a photographic negati+e image of the form into the
printer" #s a result, you specify an o+erlay name in the (.#S@ parameter on a DD or
O!,! statement to identify which negati+e the operator needs to mount into the printer
%efore the data set is printed"
!he e)amples in this figure show three different ways to code for special forms" !he first two
are for forms printed on an impact printer" In either case, the same output is produced" !hen,
the third e)ample shows how to print the same form on a laser printer"
Figre !"#)$ How to se s&ecia' forms
The syntax for the forms"han('ing &arameters of the DD statement
SYSO!8/class,,form1name0
(C38fc%1name
(.#S@8 ;o+erlay1name=
;S!D =
The syntax for the forms"han('ing &arameters of the OUTPUT statement
(O:5S8 ;form1name=
;S!D =
(C38fc%1name
(.#S@8 ;o+erlay1name=
;S!D =
%x&'anation
form1name Specifies the
form to %e
used for the
output" In the
SYSO!
parameter,
the name
can %e 2 to 4
alphanumeri
c or national
characters"
In the
(O:5S
parameter,
the name
can %e 2 to 8
alphanumeri
c or national
characters"
fc%1name Specifies the
(C3 image"
!he name
can %e 2 to 4
alphanumeri
c or national
characters"
o+erlay1name Specifies the
name of a
form$s
photographic
negati+e
image" Lalid
only for laser
printers"
S!D # form or
o+erlay
specified on
system
initiali4ation"
Three ways to &rint in-oices
S&ecifying the name of a &re"&rinte( in-oice form on the DD statement
66I&LOIC> DD SYSO!8/C,,I&L20,(C38I&L2
S&ecifying the name of a &re"&rinte( in-oice form on the OUTPUT statement
66O!2 O!,! C.#SS8C,(O:5S8I&L2,(C38I&L2
Printing the in-oice on a 'aser &rinter with a b'an: sheet of &a&er
66O!2 O!,! (.#S@8I&L2
Descri&tion
!o print on special forms on an impact printer, you specify a form name
and an (C3 name on either the SYSO! DD statement or an O!,!
statement"
!he form name is used in a message to the operator that tells which form
to mount on the printer"
!he (C3 name identifies a forms control buffer that corresponds to the
form" It pro+ides information the printer needs to print on the form, such as
the length of the form"
!o print forms on a laser printer, you include a (.#S@ parameter on either
the SYSO! DD statement or O!,! statement" !he o+erlay specified
%y the parameter represents a form image that$s printed along with the
data" !he operator is instructed to load the image into the printer %efore
the data is printed"
How to co(e the OUTPUT statement for J%S system (ata sets
Fhen a *o% e)ecutes, ->S produces system1managed SYSO! data sets that contain
information relating to the *o%$s e)ecution" !he ->S message log lists messages produced
%y ->SC6->SA as it processes the *o%" !he -C. listing simply lists the -C. statements for the
*o%" #nd the system message log contains allocation and other messages produced as the
*o% e)ecutes" !ogether, they can %e used to +erify that the *o% e)ecuted successfully or to
help you de%ug any errors produced during e)ecution"
In chapter 4, you learned that you can use the 5S<C.#SS and the 5S<.>L>. parameters
on the -O3 statement to control the output processing for these system1managed data sets"
!he 5S<.>L>. parameter lets you suppress some or all of the output, while the
5S<C.#SS parameter lets you associate an output class with the ->S data sets" !o %e
honest, though, 5S<C.#SS and 5S<.>L>. are limited in their capa%ilities" (or e)ample,
you can$t control how many copies of the data sets to print or what remote printer they
should %e sent to"
(or greater control o+er the ->S data sets produced %y your *o%, you can code the ->SDS
parameter on the O!,! statement, as shown in figure 812A" Fith this parameter, you can
associate an O!,! statement with one or more ->S data sets" In most cases, you$ll want
to specify ->SDS8#.."
!he O!,! statement in this figure shows how the ->SDS parameter allows for more
fle)i%ility than the 5S<C.#SS and 5S<.>L>. parameters" @ere, the ->SDS parameter
says that this O!,! statement applies to all three ->S system data sets" In addition, the
O!,! statement specifies that three copies should %e produced of all the ->S output and
those three copies should %e sent to remote printer :2BB"
Figre !"#.$ How to co(e the OUTPUT statement for J%S system (ata sets
The syntax for the J%SDS &arameter of the OUTPUT statement
->SDS8 ;#..=
;.O<=
;-C.=
;5S<=
%x&'anation
#.. Specifies
that the
O!,!
statement
applies to
all of the
system1
managed
data sets
for the *o%"
.O< Specifies
that the
O!,!
statement
applies only
to the
->S5S<.
< data set
/the
message
log0"
-C. Specifies
that the
O!,!
statement
applies only
to the
->S-C.
data set
/the -C.
listing0"
5S< Specifies
that the
O!,!
statement
applies only
to the
->SYS5S
< data set
/the system
message
log0"
*n OUTPUT statement that contro's J%S (ata sets
66O!2 O!,! C.#SS8#,->SDS8#..,CO,I>S8A,D>S!8:2BB
* JO> statement that contro's J%S (ata sets
6655B2:& -O3 /AHG2C0,I: 5>&>&D>JI,5S<C.#SS8#,5S<.>L>.8/2,20
Descri&tion
You can code the ->SDS parameter on the O!,! statement to control
how the system1managed data sets for the *o% are printed"
!he system1managed data sets consist of a ->S message log, a -C.
listing, and a system message log"
#n alternate way to control the printing of these data sets is to include the
5S<C.#SS and 5S<.>L>. parameters in your -O3 statement" :efer to
chapter 4 for more information a%out these two parameters
J%S)?J%S. contro' statements for SYSOUT (ata
3oth ->SC and ->SA pro+ide control statements that let you manage how SYSO! data is
handled" Since most of their functions duplicate those pro+ided %y the standard DD and
O!,! -C. statements, you pro%a%ly won$t e+er code them" @owe+er, %ecause you may
come across them in a production en+ironment, it$s a good idea to %e familiar with two of
these statements: the ->SC 6KO!,! statement and the ->SA 66K(O:5#! ,: statement"
!he %asic synta) for %oth statements is shown in figure 8124" .ike the O!,! -C.
statement, they specify SYSO! parameters %ut then ha+e to %e related to specific
SYSO! data sets for the parameters to take effect" !his figure focuses on how those
relationships are coded rather than on the parameters that can %e used" @owe+er, if you
e+er ha+e to code one of these statements yourself, you can find the information you need in
I35$s OS/390 MVS JCL Reference manual"
The J%S) ?@OUTPUT statement
!he ->SC 6KO!,! statement lets you specify output processing parameters for SYSO!
data sets under ->SC" #s you can see in the synta) in this figure, a code is used to identify
the statement, followed %y one or more parameters" (or e)ample, in the 6KO!,!
statement that$s shown, the code is O!2 and a CO,I>S parameter *ust like the one on the
O!,! -C. and DD statements is used to produce four copies of a SYSO! data set"
In a *o%, the 6KO!,! statement is placed after the -O3 statement and %efore the first
>E>C statement" !hen, to relate a SYSO! data set to the 6KO!,! statement, you
specify the 6KO!,! statement$s code in the form1name position of the DD SYSO!
parameter, as shown in this figure" nlike the O!,! -C. statement, there$s no way to
specify a default 6KO!,! statement, so you ha+e to specify the code in the DD statement
for eac data set that should use the 6KO!,! options"
The J%S. ??@FO/M*T P/ statement
!he ->SA 66K(O:5#! ,: statement lets you specify output processing parameters for
SYSO! data sets under ->SA" #s you can see in its synta), it includes a DD&#5>
parameter that specifies the SYSO! data set or data sets to which the statement applies"
In the e)ample in this figure, the :>,O:! DD statement in *o% step <O is referenced" If the
ddname is omitted in the DD&#5> parameter, the statement will apply to each SYSO!
data set the *o% produces other than the SYSO! data sets referred to e)plicitly %y other
66K(O:5#! ,: statements"
Figre !"#0$ The J%S) ?@OUTPUT statement an( the J%S. ??@FO/M*T P/ statement
The basic syntax for the J%S) ?@OUTPUT statement
6KO!,! code 7,parameter97,parameter9?
%x&'anation
code # one1 to
four1
character
+alue
that$s
coded in a
DD
statement
SYSO!
parameter
to refer to
the
6KO!,!
statement"
parameter # +ariety of
parameter
s similar to
those on
the DD
SYSO!
and
O!,!
-C.
statements
can %e
coded,
including
CO,I>S,
D>S!, and
(O:5S"
How to se the ?@OUTPUT statement
*n ?@OUTPUT statement that s&ecifies for co&ies
6KO!,! O!2 CO,I>S84
* SYSOUT (ata set that refers to the ?@OUTPUT statement
66:>,O:! DD SYSO!8/#,,O!20
The basic syntax for the J%S. ??@FO/M*T P/ statement
66K(O:5#! ,:,DD&#5>87ddname1specification9 7,parameter97,parameter9?
%x&'anation
DD&#5> Specifies the
SYSO! data set
to which the
66K(O:5#! ,:
statement applies"
You can specify
stepname"ddnam
e or SYS5S<,
->S-C., or
->S5S<"
parameter # +ariety of
parameters
similar to those on
the DD SYSO!
and O!,! -C.
statements can %e
coded, including
CO,I>S, D>S!,
and (O:5S"
* ??@FO/M*T P/ statement that a&&'ies to the /%PO/T DD statement in the 5O ste&
66K(O:5#! ,: DD&#5>8<O":>,O:!,CO,I>S84
Descri&tion
#lthough rarely used, the ->SC 6KO!,! statement and the ->SA
66K(O:5#! ,: statement are two alternate ways of managing SYSO!
data" Fhene+er possi%le, though, use the DD SYSO! and O!,! -C.
parameters instead"
!he purpose of this figure is to show you how to relate a ->SC 6KO!,!
statement or a ->SA 66K(O:5#! ,: statement to a specific SYSO!
data set" (or detailed information on the parameters that can %e coded in
these statements, please see I35$s OS/390 MVS JCL Reference manual"

Potrebbero piacerti anche