为什么Oracle Fusion EBS在其数据库表中同时使用ENABLED_FLAG和START_DATE_ACTIVE / END_DATE_ACTIVE?

时间:2018-04-25 16:46:56

标签: oracle oracle-ebs oracle-fusion-apps

许多Oracle EBS表包括ENABLED_FLAGSTART_DATE_ACTIVEEND_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_ACTIVEEND_DATE_ACTIVE似乎足以确定该行是否应该在应用程序中可用? ENABLED_FLAG还有另一个我没有看到的目的吗?

1 个答案:

答案 0 :(得分:0)

马修提到 - 这主要是历史性的。诸如FND_LOOKUPS之类的表在代码中被引用了数千次。因此,没有简单的方法来改变现有的语义 - 你只能添加新的语义。

从好的方面来说,你只需要在允许选择值时这样做,而不是在加入时...

相关问题