This content has been marked as final. Show 10 replies
I am using Oracle positional where-clause parameters in my VOs.
When I set the inner VO bind params... it is set. But when I click on the node to expand it.. I get 'Missing IN or OUT parameretes' error.
I see it does not come to VOImpl of the inner query ... when inner VO is executed in the treetable.
Can someone suggest me ways to set the binds for VOs which are part of inner queries of the tree hierarchy.
RowSet rs = (RowSet)r.getAttribute("B"); worked....
but RowSet rs = (RowSet)r.getAttribute("C"); did not work
immediately i tried to get Rowset for 'C' did not work .. getting an error 'Attribute C not available'
and I need to set filter for VO 'C' also... how can I go about it?
The idea is to set the filter for all VOs (A,B,C) just to display the tree.
Edited by: user939201 on May 8, 2013 6:03 AM
One possible solution is not to use where clause .
You may ask , so how still I get to filter my inner data?
If you use where clause in the inner data , it is probably use one of the attributes of the parent VO.
So in parent VO , make this attribute available and also in child VO.
Next , define in View Link that connection between parent and child VO is also based on this particular attribute.
Jdev will do the rest. It will automatically generate a "where" statement which will join attribute from parent to attribute from child
how can I achieve something complicated like follows using the viewlink...
and (( c.term_type='DT'
and c.dict_content_entry_ts < :dtDate
and c.end_ts >= :dtDate)
or ( c.term_type='VTA'
and c.dict_content_entry_ts < :vtDate
and c.end_ts >= :vtDate))
and (( r.relation_type='DT'
and r.dict_relation_entry_ts < :dtDate
and r.end_ts >= :dtDate)
or ( r.relation_type='VTA'
and r.dict_relation_entry_ts < :vtDate
and r.end_ts >= :vtDate))
I would not do it per row as this is just going to return more rows and not viewobjects that you can define viewcriteria and bind params on.
//In one case parentVO will be A and childAccessorName "B", then parentVO=B and childAccessorName="C" AttributeDef attrDef = parentVO.findAttributeDef(childAccessorName); ViewObject childVO= attrDef.getAccessorVO(parentVO); // set bind parameter value on child view oibject childVO.ensureVariableManager().setVariableValue("BindParameterName", "BindParameterValue");