3.7.17 Convert Special Characters in Column Names
Specifies whether column names should be used as-is when creating database columns from column names.
Default = NO (unchecked/not selected) for tables created from LANSA Version 11 SP4 onwards. Tables created in earlier versions default to YES (checked/selected).
Prior to LANSA Version 11 SP4, any tables compiled under Windows might create database columns that did not match the column names. For example, the SECTION column on the Demonstration table SECTAB was created as S_CTION because SECTION was an SQL Keyword. For the same reason, the column MY@FLD would be created as MY_FLD.
From Version 11 SP4, column names in all new tables will not be converted in the database.
This now allows Visual LANSA to use tables that previously would not compile on Windows and failed with error 979. For example, if you had two columns named MY@FLD and MY#FLD on a table, the table would fail to build on Windows with the message:
979 FATAL - Fields MY@FLD and MY#FLD resolve to the same SQL column name MY_FLD
The table could only be used on IBM i. Now, you can change the setting to NO (unchecked/not selected) and the table will build successfully.
Warnings
-
LANSA provides no support for changing this setting to NO(unchecked/not selected) for tables that have previously compiled successfully on Windows. That is, you must only set it to unchecked/not selected from checked/selected if the table has failed to compile with error 979.
-
LANSA provides no support for changing this setting to YES (checked/selected) for tables created with V11 SP4 or later.
-
If you change this setting, you must also recompile and redeploy any functions or components that use SELECT_SQL against the table, and any OAMs for tables that have this table as a target of Batch Control or PJCs.
-
Any non-LANSA applications that access the table should use the actual column names for the column names, and should quote these identifiers to avoid any issues.
Tips & Techniques
-
Leave the setting as its default unless you have had problems with error 979 on table compile.
Platform Considerations
-
IBM i: This table attribute does not apply to tables in IBM i databases.