Example with REPOSITION set: navigation
- Last Updated: February 11, 2026
- 1 minute read
- OpenEdge
- Version 13.0
- Documentation
During navigation, REPOSITION mode
serves a somewhat different purpose. As you learned in the introduction,
the AVM generates a dynamic query for each child table of a Data-Relation.
You can use this query to browse the current records at that level,
where the meaning of "current" is normally the set of children for
the currently selected parent. If REPOSITION is true
when your application is navigating the ProDataSet, then the query
works differently. The query does not filter children, but selects
all rows in the child table regardless of the parent. However, the
child query is repositioned to the child row for the currently
selected parent.
Once again using the same example, if your
user interface uses browse objects to show OrderLines of
the current Order in one browse and Items in another
browse, then with REPOSITION false, the Item browse
will show only the one ttItem row for the current ttOrderLine.
With REPOSITION true, the ttItem browse
displays all Items and repositions to the Item for
the current OrderLine. This REPOSITION mode
has no other effect when you are navigating the ProDataSet. Again,
set REPOSITION to true or false for this kind of
many-to-one relationship, depending on which default behavior you
want.
ATTACH-DATA-SOURCE( ) method of
the buffer handle provides much of the internal definition for the FILL.
Among other things, this method creates the FILL query.
If you want to change the REPOSITION attribute,
you must do it before the ATTACH-DATA-SOURCE( ) method.
If you need to do it afterward, you must do a detach and attach
on the child table.