Observability involves the kinds of data that can be stored with an object,
and that allow the object to be changed without recompiling the source. The
addition of this data increases the size of the object. Consequently, you
may want to remove the data in order to reduce object size. But once the data
is removed, observability is also removed. You must recompile the source and
recreate the program to replace the data. The types of data are:
- Create Data
- Represented by the *CRTDTA value. This data is necessary to translate
the code to machine instructions. The object must have this data before you
can change the optimization level.
- Debug Data
- Represented by the *DBGDTA value. This data is necessary to allow an
object to be debugged.
- Profiling Data
- Represented by the *BLKORD and *PRCORD values. This data is necessary
to allow the system to re-apply block order and procedure order profiling
data.
Use the CHGPGM command or the CHGMOD command to remove some or all the
data from a program or module respectively. Removing all observability reduces
an object to its minimum size (without compression). It is not possible to
change the object in any way unless you re-create it. Therefore, ensure that
you have all source required to create the program or have a comparable program
object with CRTDATA. To re-create it, you must have authorization to access
the source code.