I have defined a validation query for a flex item containing both :ItemValue and :DependsOnItemValue. The flex item depends on another flex item (this has also been defined).
When I turn on JDBC tracing in the application module I notice that the :ItemValue is substituted correctly, whereas the :DependsOnItemValue is not.
As a test, I included a reference to the :DependsOnItemValue in the default query for that same flex item (e.g. select ':DependsOnItemValue' from dual). This substitution is successful.
I looked at the source code for FlexItemImpl.java, there were a number of sLog.debug statements, particularly in the substitute method. I could not find the corresponding messages in any log file, though.
We're using JDeveloper version 10.1.3.3.0 and JHeadstart version 10.1.3.2.52.
I ran the application in debug mode and noticed in FlexItemImpl:
public FlexItemImpl getDependsOnItem()
// so we loop over all flex item defs of this region set and check the FidId
FlexItemImpl dependsOnItem = null;
RowIterator iterator = getFlexRegion().getFlexItem();
FlexItemImpl item = (FlexItemImpl) iterator.next();
dependsOnItem = item;
in the while loop, the only FlexItemImpl item found during iteration is the one currently being validated i.e. none of the other flex items in the flex region are found. Consequently, the flex item on which the current flex item depends is never found either.
That's strange. Can you reproduce this with a simple app based on the HR schema? If so, can you send it to email@example.com? Please leave out the jar files in web-inf/lib and rename extension .zip to .zipp.