Hi all,
I've discovered some very odd behaviour when running a DFHSM command in the
same batch job as a DFSORT step, and I'm completely baffled by what's happening.
We're running z/OS 2.2, although it also happens on 1.3 and 1.10.
I've written a piece of JCL that issues some DFHSM commands, runs a REXX to
format the output, then a SORT to sort the formatted output. The job fails
every time.
I've re-coded the job a number of times, and run the steps individually, and it
seems the job *only* fails when the SORT step is included.
Rather than post the whole job, I've discovered I can re-create the failure
with a really simple example.
Consider the following JCL: -
<code>
//HSMLIST EXEC PGM=IKJEFT1A
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD *
HSENDCMD WAIT LIST PVOL OUTDATASET('MAINT.TEMP.LIST')
</code>
This works as expected. If 'MAINT.TEMP.LIST' doesn't exist, it gets created.
If it does, the responses from the LIST PVOL command are appended to the end of
the dataset. All good so far.
I create a new empty dataset, 'MAINT.TEMP.TEMP', based on 'MAINT.TEMP.LIST'. I
then delete 'MAINT.TEMP.LIST', and run the following JCL:-
<code>
//HSMLIST EXEC PGM=IKJEFT1A
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD *
HSENDCMD WAIT LIST PVOL OUTDATASET('MAINT.TEMP.LIST')
/*
//SORTIT EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTIN DD DISP=SHR,DSN=MAINT.TEMP.LIST
//SORTOUT DD DISP=MOD,DSN=MAINT.TEMP.TEMP
//SYSIN DD *
SORT FIELDS=COPY
/*
</code>
The job *fails* with a JCL error. I get the following message to my terminal: -
ARC0141I ERROR ALLOCATING OUTPUT DATA SET
The joblog for the SORT step shows:-
IEFA107I xxxxxxxx SORTIT SORTIN - DATA SET MAINT.TEMP.LIST NOT FOUND
Can anyone shed any light on what's happening here?
Thanks in advance.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN