it was failed in this step first time due to some reason.After correcting I restarted the job from step
UNLD001, but it is failed with JCL error "IEF344I JOP32D4P UNLD001 SYSREC00 - ALLOCATION FAILED DUE TO DATA FACILITY
IGD17101I DATA SET JLC.DRYUNLD.P0.BEFORE
NOT DEFINED BECAUSE DUPLICATE NAME EXISTS IN CATALOG"
But I have given the disposition is (,catlg,delete) means the data set was deleted at the time of failure.
But I dont know why it is telling duplicate name exists in catalog.
The abend is due to the existence of the, to be newly created file. Delete the file and re-run the job it will rin without any fail.
The reason it did not get deleted even by giving the
DISP=(,CATLG,DELETE) is that the job actually did not start running. Before running any job the system does an JSCAN and in this case it found the file to be exisiting when actually it should not be.
That's true, what my doubt is why the data set not deleted, eventhough I have given the disposition
is (,catlg,delete). It means if the job abends, the data set should have to delete it right?
Then next time why it is showing JCL error.
Joined: 23 Nov 2006 Posts: 19270 Location: Inside the Matrix
If the original job ended with a non-zero return code, that is not an abend. Unsuccessful completion of a job step may not mean an abend.
If the job/step issues a controlled termination, this will not use the 3rd disp parameter. In these cases, the file must be deleted before the restart (or the jcl must be modified to always make sure the file is not left over from some prior run). An IEFBR14 before the step that creates the file can bake sure it is always "gone" by using DISP=(MOD,DELETE,DELETE) and SPACE=(TRK,0).