Prefixes in GeneXus

Unofficial Content

The prefixes are used to avoid conflicts.

Conflicts are most common when using the property "Allow non-standard functions" = true. In this case many of the resolutions of the automatic grammar does not count, under the concept that is not known if xxx.yyy () refers to a standard expression or non-standard expression.

Then it's left, in this case, the resolution in the user's hands with the prefixes.

In general, the prefixes aren't needed, could have an attribute and a picture with the same name and never obtain a conflict message. The grammar has some rules for identifying the type of expression automatically and minimize the number of queries to the user.


If the object found in an expression which is valid only an attribute, although there is another type of object with the same name, automatically resolves that what you have is an attribute.

Example: an attribute that is passed as a parameter to a function, you can't pass a "&x = str(customerid)".

If the expression being evaluated is of type xxx.yyy(), the type of xxx is solved in conjunction with the method  yyy().

Example: we have an image object and an enumerated domain with the same name "xxx", using xxx.yyy() verifies that yyy() is a method that only applies to domain, then resolves the type as domain without made explicit the "dom:" prefix.

Supported prefixes in GeneXus

att: Identifies an attribute.
dom: Identifies a domain.
obj: Identifies a callable object.
image: Identifies an image object.
type: Identifies a type, for the case of using a static method.



This prefixes are compatibles with the following versions of GeneXus: