Module observability refers to three kinds of data that can be stored with a module object. This data allows the module object to be debugged, to be changed without being created again, or to be optimized with an intermediate language optimizer. Once a module object is created, you can only remove this data. Once the data is removed, you must create the module object again to replace it. The three types of data are:
Removing all observability reduces the module object to its minimum size (with compression). Once all observability is removed, you cannot change the module object in any way unless you create the module object again.
To remove a type of data from the module object, remove all types, or remove none, use the Work with Modules (WRKMOD) command. Type WRKMOD on the command line and the Work with Modules display is shown. Select option 5 (Display) to view the attribute values that need to be changed. The Display Module Information display is shown in Figure 26.
First, check the value of the Creation Data parameter. If it is *YES, the Create Data exists and can be removed. If the value is *NO, there is no Create Data to remove. The module object cannot be translated again unless you create it again and include the machine instruction template.
Next, press the Roll Down key to see more information about the module object. Check the value of the Debug data parameter. If it is *YES, the Debug Data exists and the module object can be debugged. If it is *NO, the Debug Data does not exist and the module object cannot be debugged unless you create it again and include the Debug Data. Select option 2 (Change) for the module object whose observability you want to change. The CHGMOD command prompt is shown. Type over the value specified for the Remove observable info prompt.
You can ensure that the module object is created again using the Force module recreation parameter. When the optimization level is changed, the module object is always created again if the Create Data has not been removed. If you want the program object to be translated again removing the debug data and not changing the optimization level, you must change the Force module recreation parameter value to *YES.
Repeat the process for any additional module objects you may want to change. Whether you are changing one module object or several in the same program object, the program creation time is the same because all imports are resolved when the system encounters them.
When you are finished changing the optimization level for the module objects in a program object, create the program object again using the CRTPGM command, or update the existing program object with the new module objects using the UPDPGM command.
(C) Copyright IBM Corporation 1992, 2005. All Rights Reserved.