Troubleshooting
Problem
IEFC019I MISPLACED DD STATEMENT received when SUBMIT pre-processing inserts TIVDST00 and TIVDSTAL into JCL
Cause
JCL conventions
For example, the following JCL causes this problem:
//JOBLIB DD DSN=$SCSRNG.TSO.LOAD,DISP=SHR
// INCLUDE MEMBER=SKIPIT
/*
//FLPALE01 EXEC PGM=IEFBR14
where member SKIPIT contains:
// DD DSN=XXX.PROD.PLI.RUNTIME,
// DISP=SHR
// DD DSN=XXX.PROD.COB.COB2LIB,
// DISP=SHR
In this case, the two OUTPUT statements are inserted BEFORE the INCLUDE card is expanded, which causes a sequence of:
JOBLIB
OUTPUT
DD
which is not permitted.
Resolving The Problem
Use of the SKIPINCLUDE parameter in RCLOPTS and a member containing RCLSKIP statements can avoid this problem.
For example, add to RCLOPTS:
SKIPINCLUDE(SKIPMEM)
Then add in PARMLIB (EQQPARM DD) a member named SKIPMEM which has the following contents:
RCLSKIP INCLNAME(SKIPIT)
With this parameter and PARMLIB member in place, the OUTPUT statements added for Restart&Cleanup processing will be placed AFTER the expanded INCLUDE member, instead of BEFORE it.
The controller must be cycled after making this change to process the new SKIPINCLUDE parameter-- however, if subsequently additional RCLSKIP statements are added to the parmlib member, the following command will REFRESH the SKIPINCLUDE list (so a cycle of the controller will not be needed):
F subsystem,SKIPINC(member)
where:
subsystem is the name of the controller subsystem
member is the member name specified on the SKIPINCLUDE statement (SKIPIT in the above example).
Was this topic helpful?
Document Information
Modified date:
13 September 2019
UID
swg21145480