Project

General

Profile

Bug #8200

Explicit buffer used instead of the implicit one for a persistent table

Added by Andrei Bălteanu 4 months ago. Updated 4 months ago.

Status:
New
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
Due date:
% Done:

0%

billable:
No
vendor_id:
GCD
case_num:

t1.d (184 Bytes) Andrei Bălteanu, 01/16/2024 07:53 AM

fwd.df (218 Bytes) Andrei Bălteanu, 01/16/2024 07:54 AM

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.

Also available in: Atom PDF