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

Reply via email to