ABL
- Last Updated: February 11, 2026
- 1 minute read
- OpenEdge
- Version 13.0
- Documentation
The following table describes the ABL elements particularly useful for internationalizing and localizing applications. For more information, see ABL Reference.
| 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 labeled (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.
| 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. The |
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:
|
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 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.
The
|
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. |