Beruflich Dokumente
Kultur Dokumente
UNIT
Page 2 of 107
Topic: Introduction
Concepts
JOB - It marks the beginning of a job and identifies the job name
EXEC - It marks the beginning of a job step and specifies the name of the program to be executed
Page 3 of 107
Introduction
Page 4 of 107
Concepts
Page 5 of 107
//JOB1
JOB Name
Concepts
JOB
776,M.FLURY
Page 6 of 107
//JOB1
JOB
776,M.FLURY
Operation
Field
Page 7 of 107
Parameter Fields
The parameter field, in the JOB statement defines
information that applies to the entire job. This
information includes accounting information,
programmer name, and additional information
regarding the job.
//JOB1
JOB
504,SMITH
Parameter
Field
Page 8 of 107
Page 9 of 107
Positional Parameters
The parameter field of a JOB statement appears
after the JOB operator field.
//JOB1 JOB 776,K.YALE
There are two types of parameters:
Positional
Parameters
Positional parameters
Keyword parameters
Keyword
Parameter
Concepts
Page 10 of 107
Concepts
Page 11 of 107
Multiple Parameters
Why?
It appears in parentheses because it consists of
two subparameters:
255
DEPT/OPS
Page 12 of 107
Special Character
Concepts
Page 13 of 107
Concepts
Page 14 of 107
Concepts
Programmer Name
Page 15 of 107
255,SMITH,MSGLEVEL=(1,0)
255,LONGPROGRAMERNAME
255,JOHN SMITH
Concepts
255,OHARA
Page 16 of 107
Concepts
Special Character
Page 17 of 107
Name contains an
apostrophe
Page 18 of 107
MSGLEVEL
MSGCLASS
Keyword Parameters
ADDRSPC
REGION
CLASS
RD
COND
LINES
GROUP
RESTART
MSGCLASS
SECLABEL
MSGLEVEL
TIME
CARDS
TYPRUN
NOTIFY
USER
PASSWORD
BYTES
PERFORM
PAGES
PRTY
SCHENV
CCSID
Continued
Concepts
Page 19 of 107
Concepts
Parameter
Page 20 of 107
Concepts
A listing of all user-supplied job control statements plus all inserted statements for procedures
invoked by any of the job steps
Page 21 of 107
Statements
Messages
MSGLEVEL=(statements,messages)
Multiple subparameters are enclosed in
parentheses as has been shown here.
Concepts
Page 22 of 107
Concepts
1 Print all JCL statements and JES2 or JES3 control statements, including invoked procedure
statements
2 Print only JCL statements and JES2 and JES3 control statements from the job stream
Page 23 of 107
Concepts
0 Print only JCL messages. Print JES and operator messages only if the job terminates
abnormally
Page 24 of 107
MSGCLASS=A
Concepts
Page 25 of 107
Page 26 of 107
Topic Objectives
At the end of this topic, you will be able to:
Introduction
Page 27 of 107
ADDRSPC
CLASS
NOTIFY
PRTY
REGION
TIME
TYPRUN
USER
PASSWORD
Concepts
Page 28 of 107
Concepts
Operator
Meaning
GT
Greater than
GE
EQ
Equal to
NE
Not equal to
LT
Less than
LE
Page 29 of 107
//JOB1
JOB 776,SMITH,COND=(12,LT)
COND=(12,LT)
e
od
Step1
Return
Code < 12
Step2
This example helps you read the COND parameter in the JOB statement in the JOB statement as: "If 12 is
less than the return code, do not execute any more job steps."
The job executes the remaining job steps only if the return code is 1 through 12. If the return code is 13 or
higher, the remaining steps will be bypassed.
Concepts
Concepts
Page 30 of 107
//JOB2
JOB 776,SMITH,COND=(12,GT)
COND=(12,GT)
e
od
Step1
Return
Code > 12
Step2
This example helps you to read the COND parameter in the JOB statement as: "If 12 is greater than the return
code of any job step, do not execute any more job steps."
The job executes the remaining job steps only if the return code is 12 or greater. If the return code is 0 through
11, the remaining steps will be bypassed.
Concepts
Concepts
Page 31 of 107
//JOB3
JOB 776,SMITH,
//
COND=((16,LT),(8,GT))
COND=((16,LT),
rn
u
et
R
e
od
Step1
(8,GT))
8 < Return
Code < 16
Step2
This example helps you to make multiple comparisons, which might be needed in some cases. Here you can
read the COND parameters in the JOB statement as: "If 16 is less than the return code or if 8 is greater than
the return code, do not execute any more job steps. The job executes subsequent job steps only if the return
code is 8, 9, 10, 12, 13, 14, 15, or 16 for each previous job step.
Concepts
Concepts
Page 32 of 107
//JOB3
JOB 776,SMITH,
COND=(12,GT)
COND=(12,GT)
//DD
DD
DSN=INPUT
rn
u
et
R
e
od
Step1
Return
Code > 12
Step2
You can include the COND parameter in either the EXEC statements or the JOB statements. COND
parameters coded in the JOB statement are tested before any COND parameters coded in EXEC statements
within the job. When coded in the EXEC statement, it is possible to test the return code of specific steps. In
the JOB statement, tests apply to all steps in the JOB.
Concepts
Concepts
Page 33 of 107
//JOB1
JOB
504,SMITH,CLASS=A
Concepts
Job class
Page 34 of 107
//EX
Concepts
JOB
...,NOTIFY=JSMITH
Page 35 of 107
//JOB1
JOB
504,SMITH,PRTY=3
PRTY
Parameter
Concepts
Page 36 of 107
//JOB1
//
JOB 504,SMITH,CLASS=T,
PRTY=3
Concepts
Page 37 of 107
//EXEC
//EXEC
JOB
JOB
...,REGION=valueK
...,REGION=valueM
Kilobytes
Megabytes
Continued
Concepts
Page 38 of 107
//EX
JOB
...,REGION=512K
REGION=512K
//EX
Concepts
JOB
REGION=1M
...,REGION=1M
Copyright IBM Corp., 2000, 2004. All rights reserved.
Page 39 of 107
//EX
//
JOB
...,REGION=512K,
ADDRSPC=REAL
REGION=512K
ADDRSPC=REAL
Concepts
REGION=1M
Page 40 of 107
JOB
...,TIME=(minutes,seconds)
The TIME parameter preserves processor time in case of an undetected error (like an endless loop) that
may
surface only during execution of program.
For example, to limit the CPU execution time to 2 minutes and 45 seconds, you will need to code the TIME
parameter on a JOB statement as:
//EXAMPLE1
Concepts
JOB
776,STUDENT,TIME=(2,45)
Page 41 of 107
//EXAMPLE
JOB
776,STUDENT,USER=HARRIS
Whether the USER parameter is required by you or not, depends on the requirements of your site.
In most cases, the USER parameter is used in conjunction with the PASSWORD parameter.
Concepts
Page 42 of 107
//JOB1
//
//
//
//
JOB 504,SMITH,
TIME=(2,45),
REGION=768K,CLASS=T,
PRTY=3,
NOTIFY=JSMITH
Concepts
Page 43 of 107
Glossary
Virtual Storage
Storage space that may be regarded as addressable main storage by the user of a
computer system in which virtual addresses are mapped into real addresses.
TSO/E
RACF
Resource Access Control Facility. An IBM licensed program that provides for
access control by identifying and verifying the users of the system, by authorizing
access to protected resources, by logging the detected unauthorized attempts to
enter the system, and by logging the detected accesses to protected resources.
Glossary
Page 44 of 107
UNIT
Page 45 of 107
Select the place in the job stream where STEPLIB and JOBLIB
DD statements should be located
Introduction
Page 46 of 107
Procedure
Page 47 of 107
Identifier
Name
Operation
Parameter
Comment
In Unit 2 Coding JOB Statements you learnt that the JOB statement has a particular coding syntax.
Similarly, the EXEC statement too has to be coded using a particular JCL syntax. Like the JOB
statement, the EXEC statement too has five fields. The EXEC statement format includes the following:
Concepts
Page 48 of 107
Operator
//STEP1 EXEC PGM=IEBUPDTE
Step
Name
Positional
Parameter
Page 49 of 107
Continued
Concepts
Page 50 of 107
Concepts
Page 51 of 107
Glossary
Procedure
Glossary
Page 52 of 107
Concepts
Page 53 of 107
//JOB1
JOB
3SPO3W,CLASS=B
Program
Payroll
Page 54 of 107
//LA$JOE JOB
//STEP1
3SPO3W,CLASS=B
EXEC PROC=MYPROC
Procedure
Page 55 of 107
Concepts
Page 56 of 107
//LA$JOE JOB
//STEP1
3SPO3W,CLASS=B
EXEC PGR=IEFBR14
Continued
Concepts
Page 57 of 107
Procedures
In addition to programs, you can use the EXEC
statement to invoke a cataloged procedure, which
is a set of JCL statements that you place in a
library and retrieve by its name.
A procedure can contain one or more EXEC
statements, with associated DD statements.
Concepts
Page 58 of 107
Keyword Parameters
You may code keyword parameters on the EXEC
statement in any order, following the program or
procedure name being executed.
You can use any of the keyword parameters
shown here on the EXEC statement.
If you code one of these keyword parameters on
the EXEC statement, the keyword parameter
value will apply only to that step.
The two keyword parameters used most
frequently with the EXEC statement are:
PGM=PROGA,keyword
ACCT
RD
DYNAMNBR
ADDRSPC
PERFORM
REGION
PARM
COND
TIME
DPRTY
CCSID
Concepts
Page 59 of 107
Concepts
Page 60 of 107
Concepts
Page 61 of 107
//JOB1
JOB
766,SMITH
PARM=MONTHLY
PARM=MONTHLY
PARM
Parameter
REPORT
This EXEC statement passes one value (MONTHLY) as input to a program named REPORT.
Concepts
Page 62 of 107
//JOB1
JOB
766,SMITH
PARM=10-31-98
PARM=10-31-98
PARM
Parameter
REPORT
This EXEC statement passes the date (10-31-98) as input to the program called REPORT. The subparameter
is enclosed in apostrophes because special characters are used.
Concepts
Page 63 of 107
//JOB1
JOB
766,SMITH
PARM=(MONTHLY,
10-31-98)
PARM=(MONTHLY,10-31-98)
PARM
Parameter
REPORT
In this example, the EXEC statement passes both the type of report (MONTHLY) and the date (10-31-98) as
subparameters of the PARM parameter. The two subparameters are enclosed in parentheses.
Concepts
Page 64 of 107
Topic Objectives
At the end of this topic, you will be able to:
Introduction
Page 65 of 107
Concepts
Page 66 of 107
Concepts
Operator
Meaning
GT
Greater than
GE
EQ
Equal to
NE
Not equal to
LT
Less than
LE
Page 67 of 107
JOB
778,SMITH
//EXAMPLE2 EXEC
PGM=DELETE
//EXAMPLE3 EXEC
PGM=UPDATE,
//
COND=(8,GT)
//DD1
DD
DSN=INPUT
DELETE
Page 68 of 107
//JOB1
JOB
COND=(8,GT,
STEP1)
778,SMITH
//EXAMPLE2 EXEC
PGM=DELETE
//EXAMPLE3 EXEC
PGM=UPDATE,
//
COND=(8,GT,EXAMPLE2)
//DD1
DD
DSN=INPUT
DELETE
The COND parameter in the step EXAMPLE3, includes a stepname subparameter. This causes the COND
statement to read as follows:
"If the return code from step EXAMPLE2 is less than 8, then bypass step EXAMPLE3."
Concepts
Page 69 of 107
//JOB1
JOB
778,SMITH
//EXAMPLE1 EXEC
PGM=STEP1
//EXAMPLE2 EXEC
PGM=STEP2
//EXAMPLE3 EXEC
PGM=STEP3
//EXAMPLE4 EXEC
PGM=STEP4,
//
COND=EVEN
//DD1
DD
DSN=INPUT
If you code COND=EVEN on an EXEC statement as shown here, the program STEP4 always executes, even
if a previous step (e.g. STEP3) in the job terminates abnormally.
Concepts
Page 70 of 107
//JOB1
JOB
778,SMITH
//EXAMPLE1 EXEC
PGM=STEP1
//EXAMPLE2 EXEC
PGM=STEP2
//EXAMPLE3 EXEC
PGM=STEP3
//EXAMPLE4 EXEC
PGM=STEP4,
//
COND=ONLY
//DD1
DD
DSN=INPUT
If you code COND=ONLY on an EXEC statement as shown here, the program STEP4 will execute only if a
previous step in the job terminates abnormally.
Concepts
Page 71 of 107
COND=((10,EQ,STEP5),EVEN)
COND=(EVEN,(10,EQ,STEP5))
Concepts
Page 72 of 107
//JOB1
JOB
//JOBLIB DD
//
776,SMITH
DSN=LIBRARY,
DISP=SHR
Concepts
Page 73 of 107
Topic Objectives
At the end of this topic, you will be able to:
Introduction
Page 74 of 107
Concepts
Page 75 of 107
//JOB1
JOB
777,SMITH
//STEP1
EXEC PGM=PROGA
//STEP2
EXEC PGM=MYPROG
//STEPLIB
DD
//
DISP=SHR
//STEP3
EXEC PGM=PROGB
DSN=LIBRARY,
Continued
Concepts
Page 76 of 107
//JOB1
JOB
777,SMITH
//JOBLIB
DD
DSN=USER1
//STEP1
EXEC PGM=MYPROG
//STEPLIB
DD
//
DISP=SHR
DSN=LIBRARY,
Concepts
Page 77 of 107
Topic Objectives
At the end of this topic, you will be able to:
Introduction
Page 78 of 107
//name
//name
//name
//name
//name
IF (relational-expression) THEN
JCL statement(s) to be executed when relational-expression is true
ELSE
JCL statement(s) to be executed when relational-expression is false
ENDIF
The IF/THEN/ELSE/ENDIF statement construct can be coded anywhere in the job after the JOB statement.
Page 79 of 107
Concepts
// CHECK1
//CHECK#2IF
Page 80 of 107
Name
Operation
Relational-Expression
Field
Field
Field
Field
Comment
Identifier
Field
COMMENT
Concepts
Page 81 of 107
Name
Operation
Comment
Field
Field
Field
Field
//
UNIQUE NAME
ELSE
COMMENT
Concepts
Concepts
Page 82 of 107
Name
Operation
Comment
Field
Field
Field
Field
//
UNIQUE NAME
ENDIF
COMMENT
Concepts
Concepts
Page 83 of 107
Relational-Expression
Field
Continued
Copyright IBM Corp., 2000, 2004. All rights reserved.
Page 84 of 107
Continued
Copyright IBM Corp., 2000, 2004. All rights reserved.
Page 85 of 107
Comparison Operators
What are the characteristics of a Comparison
Operator?
Comparison operators compare a relationalexpression keyword to a numeric value. The
result of the comparison is either true or false.
The comparison operators are either alphabetic
or
arithmetic.
Concepts
Operator
Meaning
GT or >
Greater than
GE or >=
NG or >
EQ or =
Equal to
NE or =
Not equal to
LT or <
Less than
LE or <=
NL or <
Page 86 of 107
Page 87 of 107
RC = 12
The
condition
is true
Page 88 of 107
Logical Operators- OR
What are the characteristics of the OR
operator?
The OR (|) operator returns a true value if either
of
the relational-expression is true.
IF (RC>8 | RC<16)
THEN
RC = 12
The
condition
is false
Page 89 of 107
IF (RC>12) THEN
RC = 8
The
condition
is true
Page 90 of 107
Relational-Expression Keywords
What are the characteristics of relational-expression keywords?
Relational-expression keywords are used to test a return code, abend condition or abend completion code, or
to test if a step began executing. The relational-expression keywords are:
RC
ABEND
ABEND
ABENDCC
RUN
RUN
Preceding the keyword with a step name relates the expression to a specific job step.
Syntax:
stepname.keyword
Preceding the keyword with both a step name and procedure step name relates the expression to a specific
procedure step.
Syntax:
Concepts
stepname.procstepname.keyword
Page 91 of 107
Relational-Expression Keywords - RC
What are the characteristics of the RC
keyword?
RC represents the highest return code received
from a previous job step.
Concepts
Page 92 of 107
Page 93 of 107
ABENDCC = Sxxx
ABENDCC = Uxxxx
U = Abnormal userdefined completion code
S = Abnormal system
completion code
Page 94 of 107
ABENDCC An Example
The first statement tests for an abnormal system
completion code of 0C1 in the previous job step.
The second statement tests for an abnormal
user-defined completion code of U0100 in a prior
job step named RUNPGM in the previous job
step.
Concepts
//TST4ABND IF RUNPGM.ABENDCC =
// U0100 THEN
Page 95 of 107
//TESTRUN
//GOOD
// ELSE
//ERROR
// ENDIF
//STEP2
IF STEP1.RUN THEN
EXEC PGM=CREATE
EXEC PGM=DELFILES
EXEC PGM=COMPRESS
The THEN clause contains one JCL statement named GOOD. The Program CREATE, specified in the
GOOD EXEC statement, will not be executed unless STEP1 has been executed successfully.
If STEP1 failed to execute, then a program DELFILES (specified in the statement named ERROR) will be
executed as it is contained under the ELSE clause.
Irrespective of whether STEP1 was executed successfully or not, the program COMPRESS specified in
STEP2 will run as if it is not part of the IF/THEN/ELSE/ENDIF statement construct.
Concepts
Page 96 of 107
//COMPPGM
//CHKCOMP
//LNKPGM
//CHKLKED
//DELPGM
// ELSE
//RUNPGM
// ENDIF
// ENDIF
//COMPLIB
EXEC PGM=COMPILE
IF (COMPPGM.RC<=4) THEN
EXEC PGM=LINK
IF (LNKPGM.RC>4) THEN
EXEC PGM=DELETE
EXEC PGM=MYPROG
EXEC PGM=COMPRESS
Concepts
Page 97 of 107
Introduction
Page 98 of 107
Introduction
Page 99 of 107
Backward Reference
What is Backward Reference?
A typical JCL job step may use or create a
number of data sets, each requiring a variety of
parameter values.
Backward reference is a coding technique that
directs the system to copy parameter values from
preceding DD statements within the current job.
DD PARAMETERS
PGM
VOL
DSN
DCB
Concepts
Concepts
keyword=*.stepname.ddname
Keyword=*.ddname
//JOB1
//STEP1 EXEC
Keyword=*.stepname.ddname
or
//DD1
//DD2
//DD3
DD DSN=ABC
DD DSN=...
DD DSN=*.DD1
Keyword=*.stepname.procstep.
ddname
//STEP
Concepts
EXEC PGM=*.stepname.ddname
A PGM backward reference is often used following a linkage edit step, in which a load module (program) is
stored in a temporary data set. PGM backward reference is used in coding a later step that executes the
program. The reference specifies the data set containing the program from the previous step.
Concepts
//LKED
EXEC PGM=LINKEDIT
//SYSLMOD DD
DSN=&&GOSET(GO),
//
DISP=(NEW,PASS),
// UNIT=SYSDA,SPACE=(1024,(200,20,1))
//STEPA
EXEC PGM=*.LKED.SYSLMOD
Concepts
Continued
Concepts
//STEP1 EXEC
//DD1
DD
//
//
Concepts
PGM=PROGA
DSN=XYZ,
DISP=(NEW,CATLG),
VOL=REF=ABC
Concepts
//STEPA
//DD2
//
//DD1
//
//
EXEC PGM=PROGA
DD
DSN=ABC,VOL=SER=123456,
DISP=SHR,UNIT=SYSDA
DD
DSN=XYZ,
DISP=(NEW,CATLG),
VOL=REF=*.DD2,
Concepts
//STEP1
//DD1
//
//
//STEP2
//DD2
EXEC
DD
EXEC
DD
PGM=PROG1
DCB=(RECFM=FB,
LRECL=80,
BLKSIZE=800)...
PGM=PROG2
DCB=*STEP1.DD1,...
DCB=(*.stepname.ddname,list-of
attributes)
The values of the DCB parameters being referred
will be overridden by the values that are being
coded. Any attributes that do not match the DCB
being referred will be added.
Continued
Concepts
Concepts
Concepts
//LEDGER DD DSN=JAN,DISP=SHR
//
DD DSN=FEB,DISP=SHR
.
.
.
//
DD DSN=DEC,DISP=SHR
//SUM
DD DSN=ACCT.1999,DISP=SHR
Overview
Each data set that is referred by a program
should
have a ddname. The JCL for the program must
contain the corresponding DD statements.
If a data set is not coded by a DD statement, then
the program will abnormally end (ABEND) as
shown.
When an input data set is optional for the
programs processing or when an output data set
is not required dummy data sets can be used.
Concepts
//ddname DD
DUMMY
Coding DSN=NULLFILE
Syntax:
//ddname DD
DSN=NULLFILE
//STEPA
//TIMECDS
//ADJUST
EXEC
DD
DD
PGM=PAY
----.
.
.
Continued
Concepts
//STEPA
//TIMECDS
//ADJUST
EXEC
DD
DD
PGM=PAY
---DUMMY
If the data set described by the DD statement named ADJUST is referred to by the PAY program, an
immediate end-of-file occurs. The program will continue as if it has processed the entire data set.
Concepts
Storage Dumps
What are Storage Dumps?
When a program abnormally terminates, storage
dumps are used as a debugging tool to find clues
to the cause for abnormal ending.
Storage dumps are not the most effective
debugging tool.
The main drawbacks of storage dumps are:
Concepts
Special DDnames
These reserved ddnames request storage dumps in the event that a program terminates abnormally:
Concepts
SYSUDUMP: Requests a formatted dump of the processing program area. It is most generally used
for debugging problem programs.
SYSABEND: Requests a formatted dump of the processing program area, system programs and
the system control blocks. It is often spooled for printing, although it may be written
onto any output device.
SYSMDUMP:Requests an unformatted dump of the processing program area and the system
nucleus in machine-readable form. It is generally directed to tape (or to direct access
storage) to allow subsequent processing by a dump analysis utility.
//STEP1
//SYSDUMP
//DD1
//STEP2
//SYSDUMP
EXEC
DD
DD
EXEC
DD
PGM=PROG1
SYSOUT=X
...
PGM=PROG2
SYSOUT=X
Concepts
Introduction
Concepts
Continued
Concepts
Continued
Concepts
Concepts
Analysis Explanation
The listing for the procedure TRANSACT
indicates the following:
The procedure executes 2 programs: PROG1 and
PROG2.
PROG1 uses the following data sets:
Continued
Concepts
Continued
Concepts
Coding Changes
A procedure listing helps a programmer to analyze
the procedure for its usability. In some cases a
procedure might satisfy all the basic requirements
for usability, but might need some minor
alterations.
This can be done by changing the EXEC and DD
parameters when the procedure is invoked.
However, these alterations are applicable only for
one invocation. They do not permanently modify
the procedure definition.
Continued
Concepts
Concepts
//STEP1 EXEC
//DD1
DD
parameter
//DD2
DD
parameter
Override
Nullify
procedure name,parameter
Add
New DD
Statement
//PSTEP1
//DD1
//DD2
//DD3
//DD4
//
//
//
//PSTEP2
//DD5
//
//DD6
EXEC
DD
DD
DD
DD
EXEC
DD
PGM=PROG1,TIME=(1,30)
DSN=INTRAN,DISP=SHR
DSN=MASTER,DISP=SHR
SYSOUT=A
DSN=&&VALID,
DISP=(NEW,PASS),
UNIT=SYSDA,
SPACE=(TRK,(1,1))
PGM=PROG2,TIME=5
DSN=&&VALID,
DISP=(OLD,DELETE)
DD SYSOUT=A
Continued
Concepts
Concepts
//PSTEP1
//DD1
//DD2
//DD3
//DD4
//
//
//
//PSTEP2
//DD5
//
//DD6
EXEC
DD
DD
DD
DD
EXEC
DD
PGM=PROG1,TIME=3
DSN=INTRAN,DISP=SHR
DSN=MASTER,DISP=SHR
SYSOUT=A
DSN=&&VALID,
DISP=(NEW,PASS),
UNIT=SYSDA,
SPACE=(TRK,(1,1))
PGM=PROG2,TIME=5
DSN=&&VALID,
DISP=(OLD,DELETE)
DD SYSOUT=A
Continued
Concepts
Concepts
//PSTEP1
//
//DD1
//DD2
//DD3
//DD4
//
//
//
//PSTEP2
//
//DD5
//
//DD6
EXEC
DD
DD
DD
DD
EXEC
DD
DD
PGM=PROG1,TIME=(1,30)
PARM=01/29/91
DSN=INTRAN,DISP=SHR
DSN=MASTER,DISP=SHR
SYSOUT=A
DSN=&&VALID,
DISP=(NEW,PASS),
UNIT=SYSDA,
SPACE=(TRK,(1,1))
PGM=PROG2,TIME=5
PARM=01/29/91
DSN=&&VALID,
DISP=(OLD,DELETE)
SYSOUT=A
Concepts