Literals

A literal is a direct representation of a value. Enclose character literals in quotation marks. Numeric variables consist of numerals, and can also include a decimal point, a plus or minus sign, or the letter "E" (in the case of floating point literals). The following examples show numeric literals in assignment statements. For more about assigning values to variables, see Assignments:

The last example, 2.539E7, is shorthand for 2.539 x 10**7, or 25,390,000.

The following table shows the assumptions that EGL makes about the type of a numeric literal:

Table 1. Types of numeric literals
Number of digits Decimals? Exponent Assumed type
1-4 N N SMALLINT
5-9 N N INT
10-18 N N BIGINT
x (where x>18) N N NUM(x)
x (with y decimal places) Y N DECIMAL(x,y)
any either Y FLOAT
Character literals can also include a one-letter prefix, as shown in the following examples. You might need this prefix when using a literal as an argument in a function call, or in a transfer of control that requires a particular type. For an explanation of these types, see Primitive data types:
C
Indicates a CHAR value. C"ABC" is a CHAR(3).
M
Indicates an MBCHAR value. M"ABC" is an MBCHAR(3).
D
Indicates a DBCHAR value. D"ABC" is a DBCHAR(3), assuming A, B, and C are double-byte characters.
X
Indicates a HEX value. X"AB" is a HEX(2) specifying one byte, 1010 1011 in binary.
In addition, the following two-letter prefixes are available to indicate a hexadecimal codepoint for an unprintable character, such as Ctrl+L, the form-feed character in both ASCII and EBCDIC:
CX
CX"0C" is a CHAR(1) containing a form-feed character.
MX
MX"0C" is an MBCHAR(1) containing a form-feed character.
DX
DX"8F41" is an example of a DBCHAR(1); if you use code page 949, it represents a Korean character. (DBCHAR literals or variables cannot contain single-byte data like hex 0C.)
UX
UX"000C" is a UNICODE(1) containing a form-feed character.
The following details apply to character literals:

In addition to numeric and character literals, EGL also provides array literals. For more on that subject, see Arrays.

Compatibility

Table 2. Compatibility considerations for literals
Platform Issue
JavaScript generation The following types (including literals, as appropriate) are not supported: ArrayDictionary, BIN (with decimal places), BLOB, CHAR, CLOB, DBCHAR, HEX, INTERVAL, MBCHAR, NUMC, STRING (with a size limit), PACF, UNICODE, and structured Record parts.

Feedback