GeneXus の予約語には、ターゲット言語に関連するもの (C#、.NET Core、Java、Swift、JavaScript など)、DBMS の予約語、Windows の予約語などがあります。
予約語は、ターゲット言語、SQL 文、DBMS、Windows 環境で特別な意味を持ちます。このため、オブジェクト名、項目属性名、テーブル名、インデックス名、モジュール名などで使用すると、予期しないエラーが発生する可能性があります。
このほかに、GeneXus には、オブジェクト名、項目属性名、テーブル名、インデックス名、変数名などとして使用できないキーワードもあります。次のパターンは使用しないでください。
- GX: GX をオブジェクト名、項目属性名、テーブル名、インデックス名などの先頭 (接頭語) に使用することはできません。つまり、トランザクション名 GXCustomer や項目属性名 gxCustomerId は使用できません。
- _BC: _BC をオブジェクト名、項目属性名、テーブル名、インデックス名の接尾語に使用することはできません。
- Database: トランザクションオブジェクト名を Database にすることはできません。
- modified、calendar、gxgral、gxwebsocket、static: これらの語をオブジェクト名、項目属性名、テーブル名、インデックス名に使用することはできません。
- _impl: _impl を Java のプロシージャー名の接尾語に使用することはできません。
- GAM: GAM が有効になっているときは GAM をナレッジベースの名前に使用できません。
- 次の接頭語を使用することはできません:
C# の予約語
Java の予約語
Swift の言語構造
SQL Server
MySQL
PostgreSQL
Oracle
Windows (ファイル名の予約語)
たとえば、トランザクションを「con」という名前にすると、次の生成エラーが発生します:
Waiting for 1 generator to finish their work...
Web オブジェクト名として Location を使用することはできません。詳細については、SAC #47209 を参照してください。
次の名前のオブジェクト (ルートモジュール内) を宣言することはできません:
これらの点は、Web ユーザーコントロールや User Control オブジェクトの開発時にも考慮します。
ユーザーコントロールのプロパティ値に「Scripts」を使用することはできません。これはスクリプトの依存関係をロードするために内部で使用されます。
Transaction オブジェクト名として Order を使用することはできません。詳細については、SAC #47215 を参照してください。
|