Given record array definition:
p_rebatl dynamic array of record # Record like the sre025a screen
_seqno2 integer,
id integer,
parid integer,
itm_no decimal(7,3),
pay_ref like aurebatl.pay_ref,
bnk_bsb like aurebatl.bnk_bsb,
rcp_amt like aurebatl.rcp_amt,
rcp_typ like aurebatl.rcp_typ,
fmt_acc like aurebatl.fmt_acc,
rcp_nm1 like aurebatl.rcp_nm1,
rcp_val like aurebatl.rcp_val
end record,
Tree image (in part)
tree s_dsre025a (idcolumn=id, parentidcolumn=parid, doubleclick=dclick)
field attribute definitions:
PHANTOM formonly._seqno2 type integer;
PHANTOM formonly.id type integer;
PHANTOM formonly.parid type integer;
D0 = formonly.itm_no type decimal, format="&&&&.&&&", noentry;
D2 = aurebatl.pay_ref, width=17;
BUTTONEDIT D3 = aurebatl.bnk_bsb, picture="###-###", action=zoom, image="c_zoom_11";
D4 = aurebatl.rcp_amt, format="---------$&.&&", unhidable;
BUTTONEDIT D5 = aurebatl.rcp_typ, unhidable, action=zoom, image="c_zoom_11";
BUTTONEDIT D6 = aurebatl.fmt_acc, upshift, unhidable, action=zoom, image="c_zoom_11";
D7 = aurebatl.rcp_nm1, unhidable;
D8 = aurebatl.rcp_val, format="---------$&.&&", unhidable;
And screen array definition:
screen record s_dsre025a[10] (formonly._seqno2, formonly.id, formonly.parid,
formonly.itm_no, aurebatl.pay_ref, aurebatl.bnk_bsb, aurebatl.rcp_amt,
aurebatl.rcp_typ, aurebatl.fmt_acc, aurebatl.rcp_nm1, aurebatl.rcp_val)
The following code:
display "DRAWING ", m + n, " to ", n
display p_rebatl[m + n].* to s_dsre025a[n].*
is crashing with:
DRAWING 1 to 1
Program stopped at 'detail.4gl', line number 1384.
FORMS statement error number -6327.
Internal error in the run time library file myWindow.c(1745):
mydom_getAttrNode(f, A_colName).
However when I replace the display code with:
display "draw ", m + n, " to ", n
display p_rebatl[m + n]._seqno2 to s_dsre025a[n]._seqno2
display p_rebatl[m + n].id to s_dsre025a[n].id
display p_rebatl[m + n].parid to s_dsre025a[n].parid
display p_rebatl[m + n].itm_no to s_dsre025a[n].itm_no
display p_rebatl[m + n].pay_ref to s_dsre025a[n].pay_ref
display p_rebatl[m + n].bnk_bsb to s_dsre025a[n].bnk_bsb
display p_rebatl[m + n].rcp_amt to s_dsre025a[n].rcp_amt
display p_rebatl[m + n].rcp_typ to s_dsre025a[n].rcp_typ
display p_rebatl[m + n].fmt_acc to s_dsre025a[n].fmt_acc
display p_rebatl[m + n].rcp_nm1 to s_dsre025a[n].rcp_nm1
display p_rebatl[m + n].rcp_val to s_dsre025a[n].rcp_val
it works fine. I can't say it's the fault of the tree control or the phantom fields, but I've previously used phantom fields with a table so I'm guessing the problem is with the tree control.
Is this enough info for someone to understand, or do you need a trimmed-down sample program? I would expect any simple sample should manifest the problem, but let me know if you need me to trim my program down to the essential failure.
Version of BDL (32bit) is 2.20.09 on Linux, and GDC is 2.20.15-2168.12