DEFINE TEMP-TABLE ttCus LIKE Customer.
DEFINE TEMP-TABLE ttOrder LIKE Order.
DEFINE DATASET dsCus FOR ttCus,ttOrder DATA-RELATION dr1
FOR ttCus, ttOrder RELATION-FIELDS(CustNum,CustNum).
DEFINE DATA-SOURCE dscCus FOR Customer.
DEFINE DATA-SOURCE dscOrd FOR Order.
DEFINE QUERY q1 FOR ttCus.
DEFINE QUERY q2 FOR ttOrder.
DEFINE BROWSE b1 QUERY q1
DISPLAY ttCus.CustNum ttCus.Name ttCus.Address WITH 3 DOWN.
DEFINE BROWSE b2 QUERY q2
DISPLAY ttOrder.CustNum ttOrder.OrderNum ttOrder.ShipDate WITH 6 DOWN.
BUFFER ttCus:ATTACH-DATA-SOURCE(DATA-SOURCE dscCus:HANDLE).
BUFFER ttOrder:ATTACH-DATA-SOURCE(DATA-SOURCE dscOrd:HANDLE).
DATA-SOURCE dscCus:FILL-WHERE-STRING = "WHERE CustNum < 3".
DATASET dsCus:FILL( ).
DATASET dsCus:GET-RELATION(1):WHERE-STRING
= DATASET dsCus:GET-RELATION(1):WHERE-STRING
+ " AND ttOrder.OrderNum < 100".
/* Shows full dataset */
FOR EACH ttCus:
DISPLAY ttCus.CustNum.
FOR EACH ttOrder OF ttCus:
DISPLAY ttOrder.OrderNum ttOrder.OrderDate.
END.
END.
BROWSE b1:QUERY = DATASET dsCus:TOP-NAV-QUERY.
BROWSE b2:QUERY = DATASET dsCus:GET-RELATION(1):QUERY.
/* Shows only filtered records */
ENABLE b1 b2 WITH FRAME frX ROW 1 SIZE 70 BY 30.
WAIT-FOR WINDOW-CLOSE OF CURRENT-WINDOW.
|