A number of the Oracle EBS tables include the columns ENABLED_FLAG
, START_DATE_ACTIVE
, and END_DATE_ACTIVE
which are used to determine whether the row is available in the application or not.
For example to get a list of the current lookup codes from the FND_LOOKUP
table I would run the following SQL query
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)
My question is why is there an ENABLED_FLAG
given that the START_DATE_ACTIVE
and END_DATE_ACTIVE
appear to be sufficient to determine whether the row should be available in the application? Is there another purpose for ENABLED_FLAG
which I'm not seeing?
As Matthew mentions - this is primarily historical. A table such as FND_LOOKUPS is referenced thousands of times in the code. As such, there's no easy way to change the existing semantics - you can only add on new semantics.
On the plus side, you only need to do this when allowing the values to be chosen, and not when joining...