Preprocessor built-in functions

A function reference can invoke one of a set of predefined functions called preprocessor built-in functions. These built-in functions are invoked in the same way that programmer-defined functions are invoked, except that they must be invoked with the correct number of arguments.

These are the preprocessor built-in functions:

COLLATE
COMMENT
COMPILEDATE
COMPILETIME
COPY
COUNTER
DIMENSION
HBOUND
INDEX
LBOUND
LENGTH
LOWERCASE
MACCOL
MACLMAR
MACNAME
MACRMAR
MAX
MIN
PARMSET
QUOTE
REPEAT
SUBSTR
SYSDIMSIZE
SYSOFFSETSIZE
SYSPARM
SYSPOINTERSIZE
SYSTEM
SYSVERSION
TRANSLATE
TRIM
UPPERCASE
VERIFY

The preprocessor executes a reference to a preprocessor built-in function in input text only if the built-in function name is active. The built-in functions can be activated by a %DECLARE or %ACTIVATE statement.

In preprocessor statements, the preprocessor built-in function names are always active as built-in functions unless they are declared with some other meaning.

If a preprocessor built-in function name is used as the name of a user-defined preprocessor procedure, references to the name are references to the procedure, not to the built-in function. In such cases, the identifiers must be declared with the BUILTIN attribute when the built-in function is to be used within a preprocessor procedure.

The following preprocessor built-in functions do not require arguments and must not be given a null argument:

COLLATE
COMPILEDATE
COMPILETIME
COUNTER
MACCOL
MACLMAR
MACNAME
MACRMAR
SYSDIMSIZE
SYSOFFSETSIZE
SYSPARM
SYSPOINTERSIZE
SYSTEM
SYSVERSION