In Memory Form Tables
Every form that can load and save data from the application server uses in-memory tables. Those tables keep for every opened form an image of the data as they manipulated in the form. The following code example illustrates the use of those tables.
At form opening, the usage is:
proc Form_Start()
f = TopForm()
p1 = PByName(f,“MAIN_REC“) {...the “master“ frame of the form}
t1 = TByName(p1,“MAIN_REC“) {....the “maste“ in-memory table of the form}
p2 = PByName(f,“DETAIL_REC“) {...the “detail“ frame of the form}
t2 = TByName(p2,“DETAIL_REC“) { ....the “detal“ in-memory table of the form}
uval = TGetFld(t1,“MAIN_REC“) {....a field‘‘s value of the form}
count2 = TRecordCount(t2) {...the count of “detail“ records that are loaded on the form}
end
Before the form is closed, the usage is:
fun Form_BeforeClose()
{ save some detail fields in an AutoScript array}
count2 = TRrecordCount(t2) {....get the new record count}
call TFirst(t2)
for i = 1 to count2
name[i] = TGetFld(t2,“NAME“)
comm[i] = TGetFld(t2,“COMM“)
call TNext(t2)
next
end
After we have saved the form contents the usage is:
proc Form_End ( uvalue )
{the t1, t2 has no meaning here use only values saved in variables!!!!}
{there are no in-memory tables in this section!!!!}
for i = 1 to count2
call some_procedure ( name[i], comm[i],....)
next
end