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 |