Skip to main content
InterSystems IRIS Data Platform 2024.3
AskMe (beta)
Loading icon

Macro Preprocessor Directives

This reference provides information on the preprocessor directives that you can use when defining macros.

Note:

These directives are not case-sensitive. For example, #include is treated the same as #INCLUDE (and other case variations).

  • #; – Creates a single line comment.
  • #def1arg – Defines a macro with only one argument, where that argument can include commas.
  • #define – Defines a macro.
  • #dim – Specifies the intended data type of a local variable and can optionally specify its initial value. When the data type is an object class, IDEs can provide code-completion assistance.
  • #else – Specifies the beginning of the fall-through case in a set of preprocessor conditions.
  • #elseif – Specifies the beginning of a secondary case in a set of preprocessor conditions that begin with #if.
  • #endif – Concludes a set of preprocessor conditions.
  • #execute – Executes a line of ObjectScript at compile time.
  • #if – Begins a block of conditional text.
  • #ifDef – Marks the beginning of a block of conditional code where execution depends on a macro having been defined.
  • #ifNDef – Marks the beginning of a block of conditional code where execution depends on a macro having not been defined.
  • #import – Specifies the schema search path for any subsequent Embedded SQL DML statements.
  • #include – Loads a specified file name that contains preprocessor directives.
  • #noshow – Ends a comment section that is part of an include file.
  • #show – Begins a comment section that is part of an include file.
  • #sqlcompile audit – Specifies whether any subsequent Embedded SQL statements should be audited.
  • #sqlcompile mode – Deprecated.
  • #sqlcompile path – Specifies the schema search path for any subsequent Embedded SQL DML statements.
  • #sqlcompile select – Specifies the data format mode for any subsequent Embedded SQL statements.
  • #undef – Removes the definition for an already-defined macro.
  • ##; – Makes the remaining part of the current line a comment that does not appear in .int code.
  • ##beginquote ... ##EndQuote – Quote the text string they enclose, doubling all quotes within text.
  • ##continue – Continues a macro definition on the next line, to support multiline macro definitions.
  • ##expression – Evaluates an ObjectScript expression at compile time.
  • ##function – Evaluates an ObjectScript function at compile time.
  • ##lit – Preserves the content of its argument in literal form.
  • ##quote – Takes a single argument and returns that argument quoted.
  • ##quoteExp – Takes as an argument an expression that gets evaluated during compilation. This expression can contain nested/recursive MPP functions.
  • ##sql – Invokes a specified Embedded SQL statement at runtime.
  • ##stripq – Takes a single argument and returns that argument with quotes removed.
  • ##unique – Creates a new, unique local variable within a macro definition for use at compile time or runtime.
FeedbackOpens in a new tab