Progress
Internationalization Guide
Modifying Collation Tables
Modifying collation tables is somewhat different from modifying the other non-word-break character-processing tables. You must first dump the collation table, edit it, load the modified table, and rebuild the indexes.
Preliminary Considerations
Before you modify the database’s collation tables, check the
DLC/prolang
directory for region-specific data definition (.df
) files. These are database collation files that can be loaded into an empty database. Progress provides a collection of data definition files, one of which might suit your collation needs. For example, theDLC/prolang/ger
directory contains the German-specific data definition filesger850.df
andger8859.df
.To modify how Progress performs 4GL comparisons, start Progress against the database that contains collation tables you want, or use the -cpcoll startup parameter to point to the tables you want. However, -cpcoll can point only to tables that reside in the
convmap.cp
file. If the collation/code-page pair you want does not reside inconvmap.cp
, you can build your own collation table, as described in the “Editing the Collation Table” section of this chapter.Dumping a Collation Table
To dump a collation table, follow these steps:
The
_tran.df
file contains the collation table for your database. Figure 3–5 shows a sample_tran.df
file.
Figure 3–5: Sample _tran.df File
NOTE: The IBM850 code page that appears in the trailer of the sample_tran.df
file in Figure 3–5 is not the code page name of the database. It is the code page that was used to write out the data definition (.df
) file.Editing the Collation Table
As you read this section, you can refer to Figure 3–3, which shows a Greek collation table.
To modify the CASE-INSENSITIVE-SORT and CASE-SENSITIVE-SORT tables, use your favorite text editor.
A collation table for a single-byte code page must provide 256 values in 16 rows of 16 cells. The number you provide for each cell is a three-digit decimal. A collation name cannot exceed 19 characters and can include the characters A–Z, a–z, 0–9, and the dash (-).
The keyword COLLATION tells Progress that the following table entry is for 4GL comparisons. The keyword CODEPAGE-NAME specifies the name of the code page that the collations are for. The keyword COLLATION-NAME specifies a name for the collation.
At run time, Progress searches the
convmap.cp
file (or an equivalent file) to locate the correct collation tables. As a key to these tables, Progress uses the collation name (specified by -cpcoll) and a code page name (specified by -cpinternal). The names specified for these parameters must match the names in theconvmap.cp
file. These names are case insensitive.The keyword COLLATION-TRANSLATION-VERSION specifies a value that Progress uses internally. Progress Software Corporation recommends that you specify the value 1.1-16 for single-byte collations.
The CASE-INSENSITIVE-SORT and CASE-SENSITIVE-SORT tables are identical to those used for a database and operate the same way. You modify them in the same way. For information on how to modify these tables, see the "Modifying Collation Tables" section.
The ENDTABLE keyword tells Progress that the table is finished. The ENDCOLLATION keyword tells Progress that the collation entry is complete.
Loading the Modified Collation Table
To load the modified tables back into the database, follow these steps:
Rebuilding the Indexes
The Data Administration tool loads the schema information into the database. Before the database can use these tables, you must run the rebuild the database’s indexes. To do so, run the PROUTIL utility with the IDXBUILD modifier.
NOTE: The database cannot be in use when you do this.The syntax of the PROUTIL utility with the IDXBUILD qualifier is:
For the complete syntax of the PROUTIL utility, see the Progress Database Administration Guide and Reference .
Modifying, Compiling, and Providing Access To the CONVMAP File
You must still:
- Modify the
convmap.dat
file. For more information, see the "Modifying convmap.dat Or a File It Includes" section.- Compile the
convmap.dat
file. For more information, see the "Compiling the convmap.dat File" section.- Provide access to the resulting
convmap.cp
file. For more information, see the "Providing Access To the convmap.cp File" section.
Copyright © 2004 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |