Tuning the performance of dynamic calls under CICS

The performance of persistent CICS transactions is improved by default in COBOL for AIX applications by means of module caching.

You can disable module caching by adding the following setting to the environment file for the CICS region:
COB_CPM_SIZE_MAX=0

When a module is cached, its execution semantics might change, because its WORKING-STORAGE data items that do not have VALUE clauses and for which there are no explicit initialization statements remain in last-used state. If a program in memory is not cached but is instead reloaded from disk, the last-used state of these uninitialized variables is lost.

Do not rely on the value of uninitialized data items. Either initialize such data items explicitly, or temporarily use the WSCLEAR compiler option to clear WORKING-STORAGE to binary zeros each time the program is entered.

WSCLEAR can impact performance because the option increases the time and possibly space required for program initialization. To obtain the best performance when module caching is in effect, review your application code and decide whether to explicitly initialize variables. When you have made any required code changes, reenable module caching by:
  1. Removing the COB_CPM_SIZE_MAX setting from the environment file for the CICS region
  2. Restarting the CICS region
When testing an application, you can enable and disable module caching dynamically without using the environment file:
  • To disable module caching, call IWZ_CPM_DISABLE.
  • To enable module caching, call IWZ_CPM_ENABLE.
The CICS NEWCOPY command is not supported for COBOL for AIX applications that run under TXSeries. To get a fresh copy of a cached module, create a transaction that either:
  • Unloads all cached modules by calling "IWZ_CPM_UNLOAD_ALL"
  • Unloads a specific module by calling:
    "IWZ_CPM_UNLOAD" USING BY REFERENCE z"module_name"

related references  
WSCLEAR