Kbase P166777: 4GL/ABL: Application with fields or variables having the same name as some functions may break.
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  5/26/2010 |
|
Status: Unverified
SYMPTOM(s):
4GL/ABL: Application with fields or variables having the same name as some functions may break.
Field names having the same name as some function names will return the function value instead of their expected field values unless the fields are qualified with their table names.
Unqualified field references and variable references will return the function name if the field/variable name is the same as one of the following 4GL/ABL functions:
AUDIT-ENABLED
GENERATE-PBE-SALT
GENERATE-RANDOM-KEY
GENERATE-UUID
GUID
MTIME
PAGE-SIZE
TIMEZONE
Legacy ADM2 code that had all its field references qualified with rowObject or other table names will break and return function names if the table name qualification is dropped by a later version AppBuilder or by the developer.
Legacy SmartDataBrowse developed under a version that qualifies the field names with the rowObject table name will loose that table name qualification if opened and saved in an OpenEdge 10.x AppBuilder causing the fields named the same as any of the above functions to return functions values.
FACT(s) (Environment):
All Supported Operating Systems
OpenEdge Category: Language (4GL/ABL)
OpenEdge 10.2x
CAUSE:
Bug# OE00197860
FIX:
None at this time. As a workaround:
1. For new applications, avoid naming any fields or variables like any of the above listed 4GL/ABL functions unless you want to deploy the -k forget list client session startup parameter to exclude the above list of functions from being recognized as functions in your production environment.
2. For legacy applications, rename all fields or variables having the same name as any of the above listed 4GL/ABL functions or qualify the field references if renaming the fields is not feasible.
3. Use the -k forget list client session startup parameter to exclude all the the above listed 4GL/ABL functions from being recognized as functions in your production environment.