Try OpenEdge Now
skip to main content
Internationalizing Applications
OpenEdge Resources : ABL
 

ABL

The following table describes the ABL elements particularly useful for internationalizing and localizing applications. For more information, see OpenEdge Development: ABL Reference.
Table 30. ABL elements that support internationalization and localization
ABL element
Description
ASC function
Returns the value that a character has in the code page OpenEdge uses (default or the code page that -cpinternal specified). You can also specify a target and source code page, so ASC converts the value a character has in the source code page to the value it has in the target code page before returning it.
CAPS function
Changes any lowercase letters in a character string to uppercase. To do this, OpenEdge uses a case table. Any double-byte characters in a double-byte code page are not changed.
CHR function
Returns the character that an integer represents in the code page OpenEdge uses (default or the code page that -cpinternal specified). You can also specify a target and source code page, so that CHR returns the value in the source code page and returns the character that the value represents in the target code page.
Note: Do not use CHR for sorting. The code-page value of a character is not the same as its sort weight. The sort weight of a character resides in a collation table for the code page.
CODEPAGE-CONVERT function
Converts a string value from one code page into another.
COLLATE option on the FOR statement, OPEN QUERY statement, and PRESELECT phrase
Generates the collation value of a string after applying a particular strength, and optionally, a particular collation.
COMPARE function
Compares two strings after applying a particular strength, and optionally, a particular collation.
CURRENT-LANGUAGE function
Returns the value of the CURRENT-LANGUAGE variable.
CURRENT-LANGUAGE statement
Sets the CURRENT-LANGUAGE variable with a string expression for the current OpenEdge session.
DBCODEPAGE function
Returns the code page that a connected database uses.
DBCOLLATION function
Returns the name of the collation table that a connected database uses.
ENCODE function
Encodes a character string. The string can contain multi-byte characters.
GET-CODEPAGES function
Returns the list of code pages in the convmap.cp file that the current OpenEdge session uses.
GET-COLLATIONS function
Returns the list of collation tables in the convmap.cp file that the current OpenEdge session uses.
LANGUAGES option of the COMPILE statement
Specifies which languages to generate text segments in r-code. At compilation, OpenEdge reads translated strings from the translation databases that you provide. The r-code has a text segment for each language.
LC function
Changes any uppercase letters in a character string to lowercase. OpenEdge uses a case table for this operation.
NUMERIC-DECIMAL-POINT attribute of the SESSION system handle
The character that separates the integer portion and the fractional portion of a decimal value.
NUMERIC-FORMAT attribute of the SESSION system handle
AMERICAN, EUROPEAN, or a character string consisting of the thousands separator followed by the fractional separator.
NUMERIC-SEPARATOR attribute of the SESSION system handle
The character that separates each group of three digits in a number.
RCODE-INFO handle
The RCODE-INFO handle has two useful attributes for international applications: CODEPAGE, which returns the code page with which the r-code is labelled (that is, the -cpinternal value when the r-code was compiled), and LANGUAGES, which returns the languages for which there are text segments.
SESSION handle
The SESSION handle has many attributes that indicate code-page setting and the numeric and date formats that the current OpenEdge session uses.
SET-NUMERIC-FORMAT method of the SESSION system handle
Sets the NUMERIC-SEPARATOR and NUMERIC-DECIMAL attributes to arbitrary values simultaneously.
The following table describes the ABL elements that support multi-byte characters.
Table 31. ABL elements that support multi-byte characters
ABL element
Description/Multi-byte support
APPLY statement
Performs the function of a specified key. The expression you APPLY can contain multi-byte characters.
ASC function
You can specify source and target code pages. If you do, ASC converts the value from source to target before returning it to you. Code pages can be multi-byte. For a double-byte character, ASC returns a value between 256 and 65,535. For a UTF-8 character up to 3 bytes, ASC returns a value between 65,536 and 15,712,191. For a Unicode supplementary character (4 bytes), ASC returns a negative integer between -191,905,857 and -258,965,376.For an invalid character, ASC returns -1.
BEGINS operator
Tests a character expression to see whether it begins with a second character expression. Both expressions can contain multi-byte characters.
CAPS function
Changes any lowercase letters in a character string to uppercase. Any double-byte characters in a double-byte code page are not changed. Any UTF-8 character up to 3 bytes is subject to upper easing.
CHR function
You can specify source and target code pages. If you do, CHR converts the value from source to target before returning it to you. Code pages can be multi-byte. For values between 256 and 44,103,061,439, inclusive, CHR returns a character, if the value represents a valid combination of lead and trail bytes. For values not representing valid combinations of lead and trail bytes, CHR returns a null string. For double-byte characters, you can run CHR on one byte at a time.For Unicode supplementary characters, CHR can accept as input:
*The large decimal values obtained from the 4-byte UTF-8 characters ranging from 0xF0809090 to 0xF48FBFBF
*The negative integer values returned by ASC for Unicode supplementary characters
*Hex values (such as 0xF0809090)
CODEPAGE-CONVERT function
Converts a string value from one code page into another.
ENCODE function
Encodes a source character string and returns the encoded character string result. The source string can contain multi-byte characters.
Note: If the ENCODE function processes a string under one code page and then processes the same string under a different code page, the results might not match. For more information, see the ENCODE function reference entry in OpenEdge Development: ABL Reference.
ENTRY function
Returns a character string entry from a character-delimited list based on an integer position. The string can contain multi-byte characters since ENTRY determines the location based on a unit of measure in characters.
ENTRY statement
Sets an element in a character-delimited list of strings to a value. All strings and character separators can contain multi-byte characters.
FILL function
Generates a character string made up of a character string repeated a number of times. Both strings can contain multi-byte characters.
FORMAT phrase
Specifies the display format of, among other things, character strings. For a field containing multi-byte characters, you can specify the width in columns.
INDEX function
Returns an integer that indicates the character position of the target string within the source string. The strings can contain multi-byte characters.
IS-LEAD-BYTE function
Returns TRUE if the first byte of a string is valid as a lead byte of a multi-byte character. It returns FALSE if the first byte of a string is not valid as a lead byte.
LASTKEY function
Returns the integer code of the most recent key sequence returned from the keyboard buffer. A key sequence is the set of keystrokes necessary to send one character or function key to the application. The LASTKEY values are available only after the Input Method Editor places the data in the keyboard buffer.
LC function
Changes any uppercase letters in a character string to lowercase. Any double-byte characters in the string are not changed.
LEFT-TRIM function
Removes specified leading characters in a character string. The string and trimmed characters can contain multi-byte characters.
LENGTH function
Returns the number of characters or bytes in a string. You can set the unit of measure to characters, bytes, or columns.
LOOKUP function
Returns an integer that indicates the position of an expression in a list. It returns a 0 if the expression is not in the list. The list, expression, and delimiter can contain multi-byte characters.
MATCHES operator
Compares a character expression to a pattern and returns a TRUE value if the expression satisfies the pattern criteria. The expression and pattern can contain multi-byte characters.
NUM-ENTRIES function
Returns the number of items in a character-delimited list of strings. All strings can contain multi-byte characters.
OVERLAY statement
Overlays a character expression in a field or variable starting at a given position, and optionally for a given length. You can set the unit of measure to characters, bytes, or columns.
R-INDEX function
Returns an integer that indicates the position of the target string within the source string. The search is performed right to left. Both strings can contain multi-byte characters.
READKEY statement
Reads one key sequence from an input source and sets the value of READKEY to the keycode of that key sequence. READKEY and LASTKEY values are available only after the Input Method Editor places the data in the keyboard buffer. (A key sequence is the set of keystrokes necessary to send one character or function key to the application.)
REPLACE function
Lets you replace a substring with another substring. Both substrings can contain multi-byte characters.
RIGHT-TRIM function
Removes specified trailing characters from a character string. The string and trimmed characters can contain multi-byte characters.
SEARCH function
Searches the directories and libraries defined in the PROPATH environment variable for a file. The opsys-file can contain multi-byte characters.
STRING function
Converts a source value of any data type to a character value. The source value can contain multi-byte characters.
SUBSTITUTE function
Returns a character string that is made up of a base string plus substitute arguments in the string. The base string and arguments can contain multi-byte characters.
SUBSTRING function
Extracts a position of a character string from a field or variable. You can set the unit of measure to characters, bytes, or columns.
SUBSTRING statement
Replaces characters in a field or variable with an expression you specify. You can replace the lead bytes or trail byte of the source string. You can set the unit of measure to characters, bytes, or columns.
TRIM function
Removes leading and trailing single-byte spaces in a character string. The string and trimmed characters can contain multi-byte characters.