Getting Started with TRANSACT (32247-90007)
138 Chapter8
Special Topics
Subprograms
Figure 8-17. Calling a Subprogram
1 system ex70,base=orders;
2 define(item) order-table 10 x(50):
3 ot-yr-indx x(50) = order-table:
4 ot-year 9(2)=ot-yr-indx:
5 ot-mo-indx 12 9(4)=ot-yr-indx(3):
6 ot-mo 9(4)=ot-mo-indx;
7 define(item) date x(6):
8 date-yy 9(2)=date:
9 date-mm 9(2)=date(3):
10 indx i(4):
11 end-of-table i(4),init=1;
12 define(item) dun i(4):
13 no i(4),init=0:
14 yes i(4),init=1;
15 list dun:
16 no:
17 yes;
18 list order-table,init:
19 end-of-table:
20 indx:
21 date:
22 order-no:
23 order-date:
24 quantity;
25 find(serial) orderhead,list=(order-no,order-date),
26 perform=100-each-order;
27 display order-table;
28 exit;
29
30 100-each-order:
31
32 move (date) = (order-date);
33 set(key) list (order-no);
34 find(chain) orderline,list=(quantity)
35 ,perform=200-each-line;
36 return;
37
38 200-each-line:
39 call ex70a;
40 return;