Peter,

Okay, I was remembering an incident where a Production IMS Reslib
disappeared because the application programmer coded (in the RESLIB
concatenation) 

        //    DD DSN=reslib

And nothing else in the DD statement.  When the IMS Control region came down
- it was deleted.

I think what I should have said is the following:

          If you do not code DISP you get the following conditions
                DISP=(disp1,disp2,disp3)
        If disp1 is not coded it will default to NEW
        If disp2 is not coded it will default to DELETE for NEW or KEEP -
OLD
        If disp3 is not coded it will be DELETE for NEW or Keep for OLD

So, if you do not code a DISP on a DD statement then you will default to NEW
which creates an EXCL enq on the data set if it is in use by another
function.  Once the function that allocated the file as default NEW ends, it
sets the DELETE bit on the file.  Then when all the other functions that
have the file, free it, it will be deleted.  Which could be days, weeks, or
months later?

So, in the case I was thinking of the data set got the DISP as NEW, DELETE.
This also created an ENQ on the RESLIB and the batch job cancelled.  Later
when the IMS Control Region came down (several days later) the production
RESLIB showed DELETED in the JESLOG.

A valuable lesson to the programmer about proper coding of DISP in JCL
statements.  Later, the application group setup an ISPF function to
eliminate the need to know the JCL for the programmers.

Sorry I got a little confused.

Lizette Koehler

----------------------------------------------------------------------
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