Example

Suppose your system has an existing SMPPTS data set that is quite large and requires the space of an entire physical volume. You can use the SMP/E GIMCPTS compaction service routine to compact data within the members of the SMPPTS. In this example, the existing SMPPTS data set is compacted in place. However, a new data set could be allocated and used to receive the compacted data.
Figure 1. Sample GIMCPTS job stream
//JOBx     JOB …
//COMPACT  EXEC PGM=GIMCPTS,PARM='COMPACT,LANGUAGE=ENU'
//*
//SYSPRINT DD SYSOUT=*
//SYSUT1   DD DSN=SMP.ZOSR1.SMPPTS,DISP=SHR
//SYSUT2   DD DSN=SMP.ZOSR1.SMPPTS,DISP=OLD

When this is executed, the GIMCPTS service routine will compact the inline element data within all SYSMOD members in the SMPPTS data set and rewrite them to the SMPPTS data set.

Note: You should only attempt to compact a partitioned data set in place if it is a PDSE. If the data set is a simple PDS however, it is likely the data set will get an out of space condition during the operation, unless a large amount of free space is available.