Getting Started with TRANSACT (32247-90007)

130 Chapter8
Special Topics
Arrays
Figure 8-12. Two-Dimensional Array (Continued)
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;
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 let (indx) = 0;
40 let (dun) = (no);
41 while (dun) = (no)
42 do
43 let (indx) = (indx) + 1;
44 if (ot-year((indx))) = (date-yy)
45 then let (dun) = (yes)
46 else
47 if (indx) = (end-of-table)
48 then
49 do
50 let (end-of-table) = (end-of-table) + 1;
51 let (ot-year((indx))) = (date-yy);
52 let (dun) = (yes);
53 doend;
54 doend;
55 let offset(ot-mo) = [(date-mm) - 1] * 4;
56 let (ot-mo((indx))) = (ot-mo((indx))) + (quantity);
57 return;