skip to main content
OpenEdge Data Management: DataServer for ODBC
Programming Considerations : ABL issues : Automated ROWID and RECID support
 

Automated ROWID and RECID support

When working with Sybase or DB2/400 foreign data sources, you can enable ROWID and RECID support when using the OpenEdge-to-ODBC migration utility. For Sybase, selecting the option to create a RECID column will cause an integer column with unique values for each row, called PROGRESS_RECID, to be used as the ROWID/RECID. For DB2/400, you can choose to either create a RECID column for all tables (like the Sybase RECID support option does by default) or for only those tables that do not have a unique key constraint. Other ODBC data sources do not allow setting ROWID/RECID compatibility with a migration switch.
However, you can add a PROGRESS_RECID column to ODBC tables manually and when the table is updated into the schema holder it will select the added PROGRESS_RECID column for ROWID/RECID support assuming it is set up properly. This is acceptable for three possible scenarios:
1. When creating a schema holder for a data source other than Sybase or DB2/400 and the OpenEdge database you are migrating that does not have a natural unique integer key that would serve as a logical designation for RECID/ROWID.
2. Any time foreign schema is migrated to an OpenEdge schema holder, compatibility is switched off, and the criteria in the first scenario cannot be met.
3. When you are using an existing native data source whose definitions you are pulling back into an OpenEdge schema holder but did not migrate to the server originally from an OpenEdge database.
For more information on adding a PROGRESS_RECID column, see Modifying tables to support ROWID function for Sybase.
You can make an existing application that includes RECID behave more consistently across data sources by replacing RECID with ROWID. For more information on ROWID function, see ROWID function.