Lettercase insensitivity

Genero BDL is case insensitive (with some exceptions).

Genero BDL does not make distinction between uppercase and lowercase letters, except within quoted strings.

You can mix uppercase and lowercase letters in the identifiers that you assign to language entities, but any uppercase letters in identifiers are automatically shifted to lowercase during compilation:
INPUT BY NAME ...
    ON ACTION PrintReport     -- becomes "printreport" in 42m pcode

It is strongly recommended that you define a naming convention for your projects. For example, you can use underscore notation (get_user_name). If you plan to use the Java notation (getUserName), do not forget that Genero BDL is case insensitive (getusername is the same identifier as getUserName).

Tip: For better readability, and to be consistent with SQL syntax conventions, consider writing BDL language keywords in UPPERCASE, and other language elements like identifiers in lowercase:
INPUT BY NAME cust_rec.* ATTRIBUTES(UNBUFFERED)
Exceptions regarding case-senstivity:
  1. Genero BDL interfaces with Java classes and objects. Java symbols are case-sensitive.
  2. The module name (and filename) used with IMPORT FGL moduleIMPORT FGL is case sensitive.
  3. Resource files using XML such as .4ad files are case-sensitive (regarding action names for example).