PDSMAN handling PDSFAST ZERODIR

Document ID : KB000119949
Last Modified Date : 06/11/2018
Show Technical Document Details
Issue:
Converting from PDSFAST to PDSMAN. Execute a job to empty a PDSE who is in LNKLST. This used to be done by running ZERODIR command in PDSFAST. After running the job, new members should be loaded into the PDSE but the PDSE is out of space.
In the Knowledge Doc: 
 https://comm.support.ca.com/kb/which-pdsfast-functions-are-intercepted-by-pdsman-what-pdsman-fastcopy-function-replaces-each-intercepted-function/kb000011015#/

It says ZERODIR is replaced by EMPTYO.

A test was created: A ZERODIR-job followed by IEBPDSE-job.

After running this job and after receiving messages FCO105I ZERODIR OUTDD=OUT PDSM10-5 LIBRARY EMPTIED L.G33874.JCL.COPY the PDSE is not empty. Members are gone but space is not freed. IEBPDSE utility returns message IGW705I No Pending Delete Members Exist.
The assumption was made that the PDSE would be completely empty after the ZERODIR(EMPTYO) process. That was not the case. 
Environment:
z/OS 2.1 and above
PDS< 7.7 and above
Resolution:
When a PDSE is managed by LLA, a  connection gets established to each member. 

The effect of this is that the EMPTYO operation does not release space.
The members get deleted but since LLA still holds a connection the space is not actually available.

 You can force LLA to release connections and effectively release the space.

  To do that you should refresh the library in LLA - here are a couple of  examples:

1. Add a PDSMAN $LLA rule that matches the library and specifies UPDATELLA=Y

OR

2. Add a step to the job between the EMPTYO step and the COPY step that execs

    PDSM35 with PARM='F LLA,REFRESH=library.name'