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.