Object types *PGM, *SRVPGM, *MODULE, *PNLGRP, *MENU, and *FILE
(display and print files only) can be compressed or decompressed using the
CPROBJ or DCPOBJ commands.
Objects can be compressed only when both of the following are true:
- If the system can obtain an exclusive lock on the object.
- When the compressed size saves disk space.
The following restrictions apply to the compression of objects:
- Programs created before Version 1 Release 3 of the operating system cannot
be compressed.
- Programs, service programs, or modules created before Version 3 Release
6 of the operating system that have not been translated again cannot be compressed.
- Programs in IBM-supplied libraries QSYS and QSSP cannot be compressed
unless the paging pool value of the program is *BASE. Use the Display
Program (DSPPGM) command to see the paging pool value of a program.
Programs in libraries other than QSYS and QSSP can be compressed regardless
of their paging pool value.
- Only menus with the attribute UIM can be compressed.
- Only files with attributes DSPF and PRTF can be compressed.
- The system must be in restricted state (all subsystems ended) in order
to compress program objects in system libraries.
- The program must not be running in the system when it is compressed, or
the program will end abnormally.
Compression runs much faster if you use multiple jobs in nonrestricted
state as shown in the following table:
Table 1. Compressing Objects
using Multiple JobsObject Type |
IBM-supplied |
User-supplied |
*FILE |
Job 3: QSYS |
Job 7: USRLIB1 |
*MENU |
Job 2: QSYS |
Job 8: USRLIB1 |
*MODULE |
Not applicable |
Job 10: USRLIB1 |
*PGM |
Restricted State Only |
Job 5: USRLIB1 |
*PNLGRP |
Job 1: QSYS Job 4: QHLPSYS |
Job 6: USRLIB1 |
*SRVPGM |
Job 11: QSYS |
Job 9: USRLIB1 |