GeneXus reserved words

Official Content
This documentation is valid for:

Reserved words in GeneXus are, first of all, related to the target language (C#, .NET Core, Java, Swift, JavaScript, etc.), and DBMS reserved words, Windows reserved words, etc.

These words have a special meaning in the target languages, SQL sentences, DBMS, or Windows environment; therefore, if they are used as object names, attribute names, table names, index names, module names, etc., unexpected errors may occur.

On the other hand, GeneXus also has some keywords that you cannot use as object names, attribute names, table names, index names, variable names, etc. Please refrain from using the following patterns:

  • GX: Do not use GX at the beginning (prefix) of your object names, attribute names, table names, index names, etc. That means you cannot name a transaction GXCustomer or an attribute gxCustomerId.
  • _BC: Do not use the suffix  _BC to name your objects, attributes, tables, or indexes.
  • Database: Do not name a transaction object Database.
  • modified, calendar, gxgral, gxwebsocket, static: Do not use these words to name your objects, attributes, tables, or indexes.
  • _impl: Do not use the suffix _impl to name your procedures in Java.
  • GAM: Do not use GAM as the name of your KB when GAM is activated.
  • Refrain from using the following prefixes:
    • agxpl_apwf
    • awfwf

Languages

C# reserved words

Java reserved words

Swift Lexical Structure

DBMS (valid for table and index names)

SQL Server

MySQL

PostgreSQL

Oracle

Environment

Windows (reserved words for filenames)

For instance, if you name a Transaction "con," a generation error will occur:

Waiting for 1 generator to finish their work...

Front-End

Also, do not use Location as the name of web objects; for more information, read SAC #47209.

JavaScript

Refrain from declaring objects (located inside the Root module) whose names:

Take this into account also when developing Web User Controls or User Control objects.

Do not use the "Scripts" value for property values on a User Control, as this is internally used to load Scripts dependencies.

IDE

Do not use Order as the name of a Transaction object; for more information, read SAC #47215.