Try OpenEdge Now
skip to main content
DataServer for Oracle
Initial Programming Considerations : Database design issues : Code pages : Client code page
Client code page
The OpenEdge client might be using a different code page than the code page defined for the schema image in the schema holder.
Note: If you are using the OpenEdge DataServer for Oracle to access double-byte character data, the client code page must match the code page of the schema-holder database. The code page of the schema image must match the code page of the Oracle database. See Configuring an international environment for more information.
The Internal Code Page (-cpinternal) startup parameter determines the code page that the OpenEdge client uses when manipulating data in memory. If the client uses the -cpinternal startup parameter, then the DataServer translates between the two code pages. You must verify that the convmap.cp file contains a conversion table for the client and the code page setting in the schema image. For example, you might have set the schema image to code page xxx and the client might use code page zzz. The convmap.cp file must include a table that converts from xxx to zzz and from zzz to xxx. If convmap.cp does not include the appropriate table, OpenEdge allows you to define your own conversion table.
OpenEdge also allows you to define your own collation tables; however, customized collation tables have no effect when you use the DataServer to access Oracle. The Oracle collation tables are in effect when you perform comparisons and sorts.
In some cases, a superset of an ABL query is passed to Oracle and then a process called "client selection" is responsible for doing record sorting and/or comparisons that match server results against the original ABL query. Client selection is dependent on the collation table selected for your Oracle schema image. If the sort criteria and comparison rules of the schema holder's collation table do not match the server's, it is possible that client selection will exclude records in the client's results that the server would have included.
For a complete discussion of how OpenEdge handles code-page issues, see OpenEdge Development: Internationalizing Applications.