Skip to main content

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