ILE C/C++ Programmer's Guide
Before you can observe a module, two types of data must be stored
with the module.
The two types of data are:
- Create Data
- Represented by the *CRTDTA value. This data is necessary to
translate the code to machine instructions. The module must have this
data before you can change the module optimization level.
- Debug Data
- Represented by the *DBGDTA value.
Both *CRTDTA and *DBGDTA are necessary for a module to be debugged.
You can change the module without re-compiling it only if these two
data types are stored with it. After the module is re-compiled, only
this data can be removed. After this data is removed, its observability
is also removed, and you must recompile the module to replace the
data.
Removing all observability reduces the module to its minimum size (with
compression). It is not possible to change the module in any way unless
you compile the module again. To compile it again, you must have
authorization to access the source code.
You can use the CHGMOD command to remove either kind of data from the
module.
Example:
Use the following procedure to remove observability from the T1520IC4
program:
- Enter WRKMOD. The Work with Modules display is
shown.
- Select option 5 (Display) to see the attribute values that need
to be changed. The Display Module Information display is shown.
Check the value of the field Creation data. If it is
*YES, the Create Data exists, and can be removed. If this value is *NO,
there is no Create Data to remove. The module cannot be translated
again unless you re-create it.
- Press the Roll Down key to see more information for the
module. Check the value of the field Debug Data. If
it is *YES, the module can be debugged. If it is *NO, the module cannot
be debugged unless you compile it again, and include the debug data.
Then press F3 to get back to Work with Modules display.
- Select option 2 (Change) for the module whose observability you
want to change. The CHGMOD command prompt is shown.
- Type over the value specified for the Remove Observable
Info prompt. The following command appears in the job log for the
Change Module command after the Enter key is pressed.
CHGMOD MODULE(MYLIB/T1520IC4) RMVOBS(*ALL)
- You can ensure that the module is created again by changing the value of
the Force Module Recreation parameter to *YES.
- Note:
- This parameter is not required simply because the optimization level is
changed. A change in the optimization level typically results in module
re-creation unless the Create Data has been removed. If you
want the program to be translated again after removing the debug
data, without changing the optimization level, you must use the Force
Module Recreation parameter.
- Do steps 2 through 5 again for any additional modules you want
to change. Whether you are changing one module or several in the same
ILE program, the program creation time is the same because all imports are
resolved when the system encounters them.
- Note:
- Imports can be left unresolved using the *UNRSLVREF parameter of the CRTPGM
command. Program creation time is the same.
- Create the ILE program again by using the CRTPGM command.
[ Top of Page | Previous Page | Next Page | Table of Contents ]
(C) Copyright IBM Corporation 1992, 2005. All Rights Reserved.