V5R1 Storage Model Mismatch
November 20, 2002 Timothy Prickett Morgan
I made a small change to a CL module, compiled it, and tried to use the Update Program (UPDPGM) command to replace the changed module in the program. However, the update of the program failed because of the storage model of the recompiled module.
Apparently, the default values for the storage model (and teraspace) have been changed since we migrated from V4R5 to V5R1. The error message (CPD5CD1) says that the module that I am trying to replace was created with storage model *SNGLVL, while the replacement module was created with storage model *INHERIT. I cannot set this value while using the Create CL Module (CRTCLMOD) command, nor change it using the Change Module (CHGMOD) command. GO CMDSTGMDL gave no results either. Other than recreating the program, do you know of any solution for this?
The Create CL Module (CRTCLMOD), Create RPG Module (CRTRPGMOD), and CRTCBLMOD (Create COBOL Module) commands do not allow you to specify the storage model. Only Create C Module (CRTCMOD) command gives you a TERASPACE parameter. However, this does not mean that you will have to recreate these programs as you update the modules.
Bruce Vining, of IBM, gave me a good solution to this problem. When you create these modules under V5R1, compile with a target release of V4R5:
Then your program updates will work fine.
ADVANCED SYSTEMS CONCEPTS
SEQUEL FYI offers outstanding OLAP business intelligence functionality for a fraction of the cost of comparable solutions.