The visibility, from within the Open Client, of an update to the SDOResultSet object depends on whether the update is applied by:
The Open Client itself
An external application working on the same data source that feeds the SDOResultSet
The following rules determine the visibility of updates initiated by the Open Client:
Column updates — Column updates are visible
Row inserts — New rows are invisible until the ResultSet is reopened
Row deletion — Row deletions are visible
Updates by external applications typically can occur on the data source that feeds the SDOResultSet. You can make any such updates visible to the Open Client application by calling reOpenQuery(), which refreshes all data in the SDOResultSet. If you do not call reOpenQuery(), however, the following rules determine the visibility of updates from external applications:
Column updates — The modification of a column by another application can be made visible by calling the refreshRow() method.
Row inserts — Row inserts are not visible in PREFETCH mode. In other scrolling modes, the visibility is determined by a combination of the underlying implementation of SmartDataObject and the ABL query. The guideline is that the application should not make any assumptions unless it makes an explicit call to reOpenQuery().
Row deletion — Row deletions are not visible in PREFETCH scrolling mode. In other scrolling modes, the visibility is determined by a combination of the underlying implementation of the SmartDataObject and the ABL query. The guideline is that the application should not make any assumptions unless it makes an explicit call to refreshRow() or reOpenQuery(). In these cases, the specific row deletion or all the row deletions become visible, respectively.