Paul
You got my attention with the subject line, DISP=(MOD,DELETE), since I used
to encourage students to consider using this "trick" in order to immunise
their JCL against irritating errors when they had usually started task
procedures relating to networking products and they didn't care whether or
not a data set existed when the task was started. The types of data sets
involved were for traces, logs and dumps.
Typically the started task procedure had an IEFBR14 step where the data sets
were definitely erased if they happened to exist - from, typically of
course, any previous execution - using the DISP=(MOD,DELETE) "trick". The
IEFBR14 step was then followed by the "business" step.[1]
What you show in fact is DISP=(MOD,KEEP).
An explanation - not at all necessarily *the* explanation since it's very
much a guess - for the IEF285I message is that, with DISP=MOD, logically the
data set is considered to exist and thus it can logically be "kept".
However, with, DISP=NEW, the data set is considered *not* to exist - and you
get another error presumably earlier in the processing sequence if it does
exist - and so, before it can be "kept", it must actually be created. In
order to be created, the SPACE parameters are needed.
So *I* understand it. Of course whether or not I understand it correctly is
quite another thing!
Chris Mason
[1] Of course the "business" step program needed *not* to have the SYST
attribute specified in any SCHEDxx member - but that's another story - see
topic "SYST" dated Sat, 25 Feb 2006 07:59:37 -0800.
----- Original Message -----
From: "Paul Gilmartin" <[EMAIL PROTECTED]>
Newsgroups: bit.listserv.ibm-main
To: <[email protected]>
Sent: Wednesday, May 23, 2007 12:05 AM
Subject: DISP=(MOD,DELETE)
The JCL fragment:
//STEP EXEC PGM=IEFBR14
//*
//SYSUT1 DD DSN=user.FOO.BAR.SMPLOG,DISP=(MOD,KEEP),
// VOL=SER=TSO026,
// UNIT=SYSALLDA
where 'user.FOO.BAR.SMPLOG' does not pre-exist on the volume
produces allocation messages:
IEF236I ALLOC. FOR MODKEEP STEP
IEF237I 3ECA ALLOCATED TO SYSUT1
IEF142I MODKEEP STEP - STEP WAS EXECUTED - COND CODE 0000
IEF285I user.FOO.BAR.SMPLOG KEPT
IEF285I VOL SER NOS= TSO026.
IEF373I STEP/STEP /START 2007142.1554
... but VTOC listing does not show the data set. As I read
the " 12.19.11 Summary of Disposition Processing" in the JCL
RM, I believe it should be kept. When I change to DISP=(NEW,KEEP),
it fails with:
IGD17045I SPACE NOT SPECIFIED FOR ALLOCATION OF DATA SET
Is this working as expected? Should I be able to understand
this?
Thanks,
gil
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html