Kbase P17795: Treeviewer UpdateState fails with European format
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  07/11/2005 |
|
Status: Unverified
FACT(s) (Environment):
Dynamics 2.0A
SYMPTOM(s):
Treeviewer fails in PRG mode
Record is added and saved
Treeview nodes are not deleted as they should
** Unable to understand after -- "". (247)
** Missing file specification after FOR keyword. (235)
PREPARE syntax is: {FOR | PRESELECT} EACH OF.. WHERE ... etc". (7324)
QUERY-OPEN for query requires a previous QUERY-PREPARE. (7312)
Cannot run GET methods on query until it is opened. (7313)
Using European format (-E)
CAUSE:
Bug# 20030123-013
CAUSE:
Known problem in a QUERY-PREPARE() of tvcontr.p/updateState when session is using European format. Single quotes around the value of a decimal object field were missing, so it it leads to something like:
"FOR EACH table WHERE DecObj = 1234,23" which fails in 4GL
However, "FOR EACH table WHERE DecObj = '1234,23'" enables 4GL to take the comma as a decimal point.
FIX:
Upgrade to Dynamics 2.0A02 or later.
Workaround:
Change the following in tvcontr.p/updateState and recompile tvcontr.phQry:
QUERY-PREPARE(SUBSTITUTE('FOR EACH &1 WHERE &1.node_obj = &2':U, hTable:NAME,dNodeObj)).
to
hQry:QUERY-PREPARE(SUBSTITUTE('FOR EACH &1 WHERE &1.node_obj = "&2"':U, hTable:NAME,dNodeObj)).