The primary purpose of the collation table is to provide a sorting algorithm with a sort weight for each character. The sort weight determines the sort order for a character. The heavier the character weight, the further down it falls in sort order.
To change the sort order, the numeric values need to be modified in the collation table. For this purpose, the predefined .df files in the %DLC%\PROLANG directory can be used. There will only be subdirectories in the PROLANG directory for the languages selected when Progress/OpenEdge was installed.
The %DLC%\PROLANG\AME directory contains the American specific .df files ame1252.df, ame850.df and ame88591.df with collation Basic.To Change the Database Collation:
0. Before making any of the following changes, ensure there is a valid backup of the database.
1. If the database was created before 10.1A, for example 10.0B, and the collation change is performed in 10.1A, before loading the new collation table the database schema first needs to be updated to the 10.1A schema by using the following command:
$ proutil <dbname> -C updateschema
2. Before changing the database collation, the correct database code page
must be known. The database code page can be found for example from:
Data Administration > Utilities > Information.
3. Depending on the database code page
, choose the collation needed
These files can be viewed in a text editor, where the CODEPAGE-NAME needs to be that used by the database.
- ame1252.df for database code page 1252
- ame850.df for IBM 850
- ame88591.df for ISO 8859-1 and similar for other languages
4. To change the database collation, use the Data Administration tool to load the file
5. Rebuild Indexes.
It is absolutely necessary to rebuild all indexes after the Database Collation change. Not rebuilding indexes will result in a Logical Corruption of the Database.
$ proutil <database> -C idxbuild ALL -cpinternal <database code page>
The database collation is now changed.
Many non BASIC collations may fail with the error 4686 because the database does not have the correct Word Break Table
applied for the collation used. Refer to Article 000021231, Error 4686 with international collations need the new *.wbt word break tables