Hi, I'm using JDeveloper 11.1.2.1.0 for the record.
I've got a Task Flow that implements a Train. I want to define the navigation to some of the Train stops depending on a Router in the Task Flow. What I want to do is execute a binding query and direct the router based on the result of this query... specifically the count of records with a certain criteria (which is what I deinfed as the query of the View Object).
I am really struggling with the syntax of the Router Expressions with respect to referencing the data bindings. I initially had problems with matching datatypes of Long to Integer - I read on this forum that there might be issues with this. So I revisited the View Object and defined a transient Boolean column in the View Object that resolves based on the query count being > 0.
Now I implement the Expression like this:
Outcome1:
#{data.view_createReportsTrain_createReportsTrain_ExecuteWithParamsPageDef1.viewsPresent.inputValue?true : false}
(even though viewsPresent.inputValue is a Boolean?)
And let Outcome2 be the default... This seems to work...
I have a second router in the Task Flow where I just want to check the status of the Iterator binding (e.g. estimated row count) to determine the flow, but this syntax is even more confusing:
(Outcome1 - the default)
#{data.view_createReportsTrain_createReportsTrain_ExecuteWithParamsPageDef.getReportParamVO1Iterator.estimatedRowCount !=0}
(Outcome2)
#{data.view_createReportsTrain_createReportsTrain_ExecuteWithParamsPageDef.getReportParamVO1Iterator.estimatedRowCount==0}
This will not work at all. The router always resolves to Outcome2... Is there something wrong with my syntax?
Is there a better way to get the router decision criteria from these data bindings into the PageFlowScope bean...?
Thanks.