search cancel

If a CA IDMS area is STAMPd BY AREA, do all AMs that reference the area need to be recompiled?

book

Article ID: 134531

calendar_today

Updated On:

Products

IDMS IDMS - Database IDMS - ADS

Issue/Introduction

CA IDMS SQL data areas can be defined with STAMP BY AREA or STAMP BY TABLE. If an area says STAMP BY AREA, and a table definition is changed, do all Access Modules (AMs) that reference the area need to be recompiled? Or only the ones that reference the table that was changed? 

Environment

Release : all supported releases

Component : SQLOPT

Resolution

When an area is defined with STAMP BY AREA, then when any table definition is changed in the area, the area timestamp gets updated. That will force all Access Modules (AMs) that reference the area to be recompiled at run-time, even if they do not access the specific table that was changed. To avoid this run-time recompile, then whenever a table definition is changed and the area says STAMP Y AREA, proactively recompile all access modules that reference the area.  TO get a list of the AMs which need to be recompiled when an area defintii9no si changed, you can execute this syntax: 

 

SELECT * FROM SYSTEM.AMDEP AMD1 

     WHERE AMD1.TABLE IN

   (SELECT NAME FROM SYSTEM.TABLE T2 

          WHERE   T2.SEGMENT = '<segment-for-area>'

                 AND  T2.AREA = ‘<area in question>’ ) ; 





Additional Information

Syntax for defining an area, including how it is stamped, can be found here: 

https://docops.ca.com/ca-idms/19/en/administrating/administrating-ca-idms-database/physical-database-ddl-statements/area-statements