Try OpenEdge Now
skip to main content
DataServer for Oracle
Initial Programming Considerations : Cursors


ABL uses cursors to keep track of where it is in a file. A cursor is like a pointer that points to consecutive records in a file. For example, ABL uses cursors when it processes FOR EACH types of statements. ABL maintains cursor positioning across queries.
The DataServer supports this behavior for Oracle tables that have a mandatory unique index on an INTEGER column or that contain the PROGRESS_RECID column. (The OpenEdge DB-to-Oracle migration utility creates an indexed NUMBER column named PROGRESS_RECID with unique values for the rows in each Oracle table.)
Suppose that you are reading records from the customer file using the custnum index, and your "current" record is customer number 50. This means that ABL has a cursor positioned at custnum 50.
* Static FIND cursor repositioning
* Stale cursors
* Allocating cursors