Consultor Eletrônico



Kbase 20633: I18N. Internationalization Startup Parameters Explained
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   5/13/2008
Status: Verified

GOAL:

I18N. Function of each of the Progress I18N Internationalization startup parameters.

GOAL:

Internationalization Startup Parameters Explained

GOAL:

What are the Internationalization startup parameters?

GOAL:

Log File Code Page -cplog startup parameter

GOAL:

Print Code Page -cpprint startup parameter

GOAL:

R-code in Code Page -cprcodein startup parameter

GOAL:

Stream I/O Code Page -cpstream startup parameter

GOAL:

Terminal Code Page -cpterm startup parameter

GOAL:

Language -lng startup parameter

GOAL:

Fractional Separator -numdec startup parameter

GOAL:

Thousands Separator -numsep startup parameter

GOAL:

Initial Value Segment No Convert -isnoconv startup parameter

GOAL:

Number format -E startup parameter

GOAL:

Date Format -d startup parameter

GOAL:

Year Offset -yy startup parameter

FACT(s) (Environment):

Progress 9.x
OpenEdge 10

FIX:

Conversion Map:

-convmap <filepath>
Pathname of your CONVMAP file.

Use -convmap to identify the CONVMAP file to use for code page conversions, collation orders, and case conversions. By default, Progress uses the convmap.cp file in the DLC directory.

Case Table:

-cpcase <case table name>
Name of a case table in the convmap.cp file and for the
current -cpinternal codepage.

Use -cpcase to specify the case table. This table establishes case rules. The case rules are used by the caps and lower case functions. Also, in a character field format, you can use an exclamation point (!) to tell Progress to convert all characters to uppercase during input. To retrieve the value of this startup parameter at runtime, use:

SESSION:CPCASE.

Collation Table:

-cpcoll <collation table name>
Name of a collation table within the convmap.cp file and for the current -cpinternal code page.

Use -cpcoll to identify a collation table for Progress to use. Progress uses collation rules to compare characters and sort records if a by clause cannot be satisfied by an index. To retrieve the value of this startup parameter at runtime, use:

SESSION:CPCOLL.

Internal Code Page:

-cpinternal <code page name>
Name of the code page that Progress uses in memory.

The ISO 8859-1 code page is used by default. If you are using Progress/400, the default code page is IBM 037. To retrieve the value of this startup parameter at runtime, use:

SESSION:CPINTERNAL.

Log File Code Page:

-cplog <code page name>
Name of the code page for messages written to the log file.

Use -cplog to identify the code page that Progress uses to write messages to the log (.lg) file. The default value is the code page specified by Stream Code Page (-cpstream). To retrieve value of this startup parameter at runtime, use:

SESSION:CPLOG.

Print Code Page:

-cpprint <code page name>
Name of the code page used for printer output.

Use Print Code Page (-cpprint) to identify the codepage Progress uses when it prints. When you print a file, the codepage specified by -cpprint overrides the codepage specified by Stream Code Page (-cpstream). To retrieve the value of this startup parameter at runtime, use:

SESSION:CPPRINT.

R-code in Code Page:

-cprcodein <code page name>
Name of the code page for reading r-code text segments.

Use R-code In Code Page (-cprcodein) to read the r-code text segments, as if they were written in the code page specified by -cprcodein, and convert them to the Internal Code Page (-cpinternal) code page.

CAUTION: This parameter is for use during very rare situations and, in general, should not be used. To retrieve the value of this startup parameter at runtime, use:

SESSION:CPRCODEIN.

To determine the code page of an r-code file, use the RCODE-INFO handle.

R-code out Code Page:

-cprcodeout <code page name>
Name of the code page for writing r-code text segments.

Use -cprcodeout to direct Progress to use the code page that you specify to mark and convert text segments (any translatable text) when it writes r-code. If you do not specify cprcodeout, Progress uses the code page you specify with Internal Code Page (-cpinternal) to write r-code.

Typically, you do not need to specify this parameter. If the code page of the intended user is known, however, you can use this parameter to provide r-code in the user's code page. Performance savings are not significant.

To retrieve the value of this startup parameter at runtime, use:

SESSION:CPRCODEOUT.

To determine the code page of an r-code file, use the RCODE-INFO handle.

Stream I/O Code .Page:

-cpstream <code page name>
Name of the code page for stream I/O.

Use (-cpstream) to identify the code page Progress uses for stream I/O. Stream I/O consists of the following elements:

- Terminal and Keyboard I/O.
- File I/O, including:
Data (.d) files
Log files,
All files that can be compiled (.p, .w, .i, etc.)
- READ-FILE, WRITE-FILE, and INSERT-FILE methods for the EDITOR widget.
- INPUT FROM and OUTPUT TO statements.
- Compiler-generated LISTING, XREF, and PREPROCESS files.

To retrieve the value of this startup parameter at runtime, use:

SESSION:CPSTREAM.

Terminal Code Page:

-cpterm <code page name>
Name of the code page used for reading from or writing to character terminals.

Use -cpterm to identify the code page of your character terminals. This parameter allows you to specify a different code page for character terminals than used by the rest of stream I/O (that is set by Stream Code Page (-cpstream)).

NOTE: You can use a 7-bit table with -cpterm.

To retrieve the value of this startup parameter at runtime, use:

SESSION:CPTERM.

Language:

-lng <language name>
A character string that contains the name of the current language.

This value must be surrounded by quotes. Use -lng to specify the initial return value for the CURRENT-LANGUAGE function. This setting determines from which r-code segment Progress reads character-string constants.

The default value for the Language parameter is a character string that contains the question mark (?) character (not to be confused with the UNKNOWN value). This tells Progress to use the default language for the application.

Fractional Separator:

-numdec <numeric code point of separator character>
The numeric value of the character that represents the decimal point.

Use -numdec to change the character that represents a number's decimal point in formatted text. Progress converts numeric-value to its character equivalent using the code page that corresponds to the Internal Code Page (-cpinternal) startup parameter.

The decimal point cannot be represented by any of the following:

- The characters B C D R Z z 0 1 2 3 4 5 6 7 8 9 + - < > ( ) * ?

- The space character.

- Any multi-byte character.

As an example, to change the decimal point in formatted text to a comma (whose numeric value in the ISO8859-1 code page is 44), use:

-numdec 44

The default decimal point is the period (.).

Thousands Separator:

-numsep <numeric code point of separator character>
The numeric value of the character that represents the thousands separator.

Use -numsep to change the character that represents a number's thousands separator in formatted text. Progress converts numeric-value to its character equivalent using the code page that corresponds to the Internal Code page (cpinternal) startup parameter.

The thousands separator cannot be represented by any of the following:

- The characters B C D R Z z 0 1 2 3 4 5 6 7 8 9 + - < > ( ) * ?

- Any multi-byte character

NOTE: You can represent the thousands separator with the space character. As an example, to change the thousands separator in formatted text to an apostrophe (whose numeric value in the ISO8859-1 code page is 39), use:

-numsep 39

The default thousands separator is the comma (,).

Initial Value Segment No Convert:

-isnoconv

The Progress Compiler writes CHARACTER literals into R-Code in one of two segments: the Text segment or the Initial Value segment.

Whenever these R-code segments are read or written, they are converted between the R-code code page (-cprcodein, -cprcodeout) and the internal code page (-cpinternal).
How.ever, previous versions of Progress did not perform code page conversions of CHARACTER literals in the Initial Value Segment.

Previous Progress versions also did not convert CHARACTER literals in the text segment that had the :U (untranslated) attribute. When the conversion is not performed, characters might not display correctly.

If you have modified your applications to compensate for the lack of conversion, the -isnoconv parameter is provided to restore the behavior. A side effect of the change to perform additional conversions is that the text segment may increase
in size. If the increase causes an application to exceed the maximum segment size, the -isnoconv parameter might also be used to restore the segment to the size in the previous version.

You should only use this parameter to restore the older behavior, in situations where either the application compensates for the lack of conversion or code page
conversion is not required to maintain the integrity of character data.

Two scenarios, where code page conversion is not required, are:

Character literals only contain characters in the ASCII range (0-127).

The R-code code page is the same as the -cpinternal code page.

-checkdbe:

Warn if Overlay, Substring, Length are used without specifying RAW, Character, Column, Fixed.

Number format:

-E sets the European Number format.

Date Format:

-d DMY, YMD, MDY set the Date Format.

Year Offset:

-yy is the first year of the century. Set the century for 2 digit years..

FIX:

References to Written Documentation:

Progress Solutions:

20632, "I18N: The DLC/PROLANG directory Explained"
19146, "How to Find What I18N Parameters are used"