ANY type

The special EGL data type ANY lets you create a variable whose data type is not fixed. When you assign a value to an ANY type variable, EGL knows the type of that value at run time, but not at development or generation time.

You can assign an INT value to an ANY type variable at one point in your program, and assign a STRING or HEX value to the same variable at a later time.

You cannot use an ANY type variable in a numeric expression unless you use the as operator to cast the variable as a numeric type, as in the following example:
myInt INT = 42;
myAny ANY = myInt;
myInt = myAny as INT + 38;

ANY, like the BLOB, CLOB, and array types, is a reference type rather than a value type. This means that the variable contains a reference to an area of reserved memory rather than containing a value. For more on this distinction, see Reference variables.

Compatibility considerations

Table 1. Compatibility considerations
Platform Issue
JavaScript generation The following types are supported: ANY, BIGINT, BIN (but only in the absence of decimal places), Boolean, DataItem, DATE, DECIMAL, Delegate, Dictionary, FLOAT, INT, NUM, NUMBER, SMALLFLOAT, SMALLINT, STRING (but only in the absence of a size limit) , TIME, TIMESTAMP, NUM, MONEY, Service parts, Interface parts, External types (stereotype JavaScript), arrays of supported types, and non-structured Basic, Exception, and SQL Record parts.

The following types 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