When you work with a VO’s default row set, you can call the createRowSet()method on the ViewObject interface to create secondary, named row sets based on the same VO’s query. This is valid when your VO’s SQL query contains named bind variables. Because each RowSet object stores its own copy of bind variable values, you can use a single VO to produce and process multiple row sets based on different combinations of bind variable values. You can find a named row set using the findRowSet()method. After you finish using a secondary row set, call its closeRowSet()method.
For any RowSet, when you work with its default row set iterator, you can call the createRowSetIterator()method of the RowSet interface to create secondary, named row set iterators. You can find a named row set iterator using the findRowSetIterator()method. After you finish using a secondary row set iterator, call its closeRowSetIterator()method.
Note: Through the ADF Model declarative data binding layer, UI pages or panels in your application work with the default row set iterator of the default row set of VOs in the application module’s data model. Due to this, the most typical scenario to create secondary row set iterators is to write business logic that iterates over a VO’s default row set without disturbing the current row of the default row set iterator used by the UI layer.