I'm upgrading from PB 12.5 to 2019 R2 (build 2353) and have come across a problem. We have a structure that is a set of arrays of each type of variable, that we use to generalize passing parameters. One of the variable types is an array of powerobjects (po_parm[]):
global type s_parm from structure
string s_parm[]
integer i_parm[]
long l_parm[]
date d_parm[]
datetime dt_parm[]
boolean b_parm[]
decimal dec_parm[]
n_ds ds_object[]
powerobject po_parm[]
any any_parm[]
end type
What I'm finding is that as variables are assigned to the po_parm array, the new value is overwriting all the earlier values. So, the first element is correct, but when the second element is assigned, the value in the first element is overwritten with the second element, so there are two identical elements. When the third element is assigned, it overwrites the first and second element with the same values as the third element.
Here's a code sample, if that helps.
FOR li_keyfield = 1 TO li_keyfieldcount
IF Len(is_keycolumns[li_keyfield]) > 0 THEN
//get the value from the list
lstr_keyfield.s_parm[1] = is_keycolumns[li_keyfield]
lstr_keyfield.s_parm[2] = String(idw_list.of_getitem(ll_rc, is_keycolumns[li_keyfield]))
//construct a structure of key fields, with field name and field value
as_key_parm.po_parm[li_keyfield] = lstr_keyfield
END IF
NEXT
Is this a known bug?
Thanks,
Monica