Kbase P143551: ADM: Code error in adecomm\_mfldlst.p procedure
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  4/7/2009 |
|
Status: Unverified
SYMPTOM(s):
ADM: Code error in adecomm\_mfldlst.p procedure
The code error causes invalid field names when creating an SDO with a buffer having a name containing the name of the DB.
The following 4GL/ABL statement is wrong:
ASSIGN cTTName = ENTRY(2, ENTRY(iNumTT, p_TT), "|":U)
cType = ENTRY(2, ENTRY(iNumTT, p_TT), "|":U).
FACT(s) (Environment):
The correct version of the above statement is:
ASSIGN cTTName = ENTRY(2, ENTRY(iNumTT, p_TT), "|":U)
cType = ENTRY(3, ENTRY(iNumTT, p_TT), "|":U).
All Supported Operating Systems
Progress 9.x
OpenEdge 10.1C
OpenEdge 10.2A
CAUSE:
Bug# OE00182845
CAUSE:
The error is either a logic error or simply a typo that has been there since 9.x. The error did not surface using a database name qualified buffer names is rare. The code is wrong because it references the cType as the second element of the p_TT list even though it is actually the third element of that list.
FIX:
Correct the offending statement by its corrected version. Namely, replace the statement:
ASSIGN cTTName = ENTRY(2, ENTRY(iNumTT, p_TT), "|":U)
cType = ENTRY(2, ENTRY(iNumTT, p_TT), "|":U).
with the statement:
ASSIGN cTTName = ENTRY(2, ENTRY(iNumTT, p_TT), "|":U)
cType = ENTRY(3, ENTRY(iNumTT, p_TT), "|":U).