Bug #8200
Explicit buffer used instead of the implicit one for a persistent table
Status:
New
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
Due date:
% Done:
0%
billable:
No
vendor_id:
GCD
case_num:
History
#1 Updated by Andrei Bălteanu 4 months ago
Assuming we have a persistent table called t1
with only 1 field, f1
, which is an integer.
For the following testcase, FWD will not work as expected.
/*create t1. t1.f1 = 1.*/ def var copy_f1 like f1 no-undo. def buffer t1_buff for t1. form t1_buff.f1 at 28 no-label with side-labels no-box frame invacc down width 80. find t1 no-lock. assign copy_f1 = f1. message copy_f1.
The problem can be found at conversion.
At the time when we want to modify the value of copy_f1
, FWD will use the explicit buffer t1_buff
instead of the implicit one:
... new FindQuery(t1, (String) null, null, "t1.recid asc", LockType.NONE).unique(); copyF1.assign(t1Buff.getF1()); ...
For simplicity of testing this out, I also attached the .df
and .d
files.