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?
Release : all supported releases
Component : SQLOPT
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>’ ) ;
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