Getting Started with TRANSACT (32247-90007)

Chapter 5 89
Automatic Error Handling and Prototyping
Figure 5-8. Prototype with Programmatic Data Validation
1 system ex39,base=orders,vpls=formfile;
1.1 define(item) lastkey i(4):
1.2 enter i(4),init=0;
1.3 list lastkey:
1.4 enter;
2 list(auto) vorderhead;
3 list(auto) vorderline;
3.01 set(form) vorderhead,init,list=();
3.1 level;
4 get(form) vorderhead,fkey=lastkey;
4.1 if (lastkey)
(enter)
4.2 then
4.3 do
4.5 end(level);
4.6 end;
4.7 doend;
4.8 set(key) list (order-no);
4.9 get order,list=(),nofind;
4.91 set(key) list (cust-no);
4.92 get customer,list=();
5 put orderhead,list=(order-no,
6 cust-no,
7 order-status,
7.01 order-date);
7.1 set(form) vorderhead,freeze;
7.2 put(form) vorderline,init,list=();
8 level;
9 get(form) vorderline,fkey=lastkey,current;
9.1 if (lastkey)
(enter)
9.2 then
9.3 do
9.4 set(form) vorderhead,init,list=();
9.5 end(level);
9.6 end;
9.7 doend;
9.8 set(key) list (part-number);
9.9 get parts,list=(part-number);
10 put orderline,list=(order-no,
11 line-no,
12 part-number,
13 quantity);
19 set(form) vorderline,append;
20 put(form) vorderline,init,list=();