PF size can be reduced by running RGZPFM command on this file.
Something like this :
RGZPFM FILE(library_name/file_name) KEYFILE(*RPLDLTRCD)
RBDACCPTH(*NO) ALWCANCEL(*YES) LOCK(*SHRUPD)
Reorganization can be accelerated by use:
RGZPFM KEYFILE(*RPLDLTRCD). This may reduce the amount of rows that are needed to be moved. This option should not be used if arrival sequence is needed for the file.
Use SETOBJACC to bring the file into the pool that the RGZPFM is running in during the preparation phase.
When RGZPFM is started on file that is used by another job. RGZPFM can end over time with this message :
CPD319B Diagnostic 20
Message . . . . : Reorganize returned less storage than estimated.
Cause . . . . . : Reorganize estimated 38125178048 bytes of storage could be
returned. The actual storage returned is 0 bytes. Recovery . . . : The
reorganize was successful, but it is possible that not all storage was
returned. If the estimated amount of storage is significantly greater than
the actual amount of storage returned, specify FROMRCD(*PRVRGZ). Then try
your request again.
The probable cause is that another task was writing to the file during the reorganization.
Files set up with Reuse Deleted Records *NO requires all inserts to be placed at the end of the file. This increases the chance of limited space being returned. Files that are set up to Reuse Deleted Records *YES will have a greater chance of production jobs inserting rows in the middle of the file and not impacting the RGZPFM job. There is still a chance that rows can get inserted at the end and prevent space being returned even with Reuse Deleted Records turned on.