许多Oracle EBS表包括ENABLED_FLAG
,START_DATE_ACTIVE
和END_DATE_ACTIVE
列,用于确定该行是否在应用程序中可用。
例如,要从FND_LOOKUP
表中获取当前查找代码的列表,我将运行以下SQL查询
select lookup_code
from fnd_lookups fl
where and fl.enabled_flag = 'Y' and sysdate between nvl(fl.start_date_active,sysdate) and nvl(fl.end_date_active,sysdate)
我的问题是为什么ENABLED_FLAG
给出START_DATE_ACTIVE
和END_DATE_ACTIVE
似乎足以确定该行是否应该在应用程序中可用? ENABLED_FLAG
还有另一个我没有看到的目的吗?
答案 0 :(得分:0)
马修提到 - 这主要是历史性的。诸如FND_LOOKUPS之类的表在代码中被引用了数千次。因此,没有简单的方法来改变现有的语义 - 你只能添加新的语义。
从好的方面来说,你只需要在允许选择值时这样做,而不是在加入时...