Dataset and relations

Hi everyone,

I need a little help with my dataset and his relations. I'll explain my problem with an example.

Currently I've got a dataset dsOrders that contains 2 temp-table's, ttOrder1 and ttOrder2.

I've made a relation for it and everything works perfect.

Now, the next step is to get more info. Therefor I need the table ttLines, this table can only be linked to ttOrder2. When I make a new order relation between these 2 table's, it doesn't work.

DEFINE DATASET dsOrder FOR ttOrder1,
ttiOrder2
DATA-RELATION drOrdreg FOR ttOrder1, ttOrder2
RELATION-FIELD (field1, field1,
field2, field2,
field3, field3).


Anyone who can help me with this?
 

Casper

ProgressTalk.com Moderator
Staff member
You say it doesn't work. It would be helpfull if you said what doesn't work. Or at least a description of the problems you are facing.

An example of the situation you have is this:
(will work on sports2000 database)

Code:
DEFINE TEMP-TABLE ttCustomer NO-UNDO LIKE customer.
DEFINE TEMP-TABLE ttOrder NO-UNDO LIKE order.
DEFINE TEMP-TABLE ttOrderLine NO-UNDO LIKE orderline.
DEFINE DATASET dsCustOrd FOR ttCustomer, ttOrder, ttOrderLine
    DATA-RELATION drCustOrd FOR ttCustomer, ttOrder
        RELATION-FIELDS (ttCustomer.custnum, ttOrder.custnum)
    DATA-RELATION drOrdLine FOR ttOrder, ttOrderline
        RELATION-FIELDS(ttOrder.ordernum,ttOrderLine.ordernum).

/* now fill the dataset */
DEFINE DATA-SOURCE daCust FOR customer.
DEFINE DATA-SOURCE daOrd FOR Order.
DEFINE DATA-SOURCE daOrdLine FOR orderline.
DATASET dsCustOrd:GET-BUFFER-HANDLE("ttCustomer"):ATTACH-DATA-SOURCE(DATA-SOURCE daCust:HANDLE).
DATASET dsCustOrd:GET-BUFFER-HANDLE("ttOrder"):ATTACH-DATA-SOURCE(DATA-SOURCE daOrd:HANDLE).
DATASET dsCustOrd:GET-BUFFER-HANDLE("ttOrderLine"):ATTACH-DATA-SOURCE(DATA-SOURCE daOrdLine:HANDLE).
DATASET dsCustOrd:GET-BUFFER-HANDLE("ttCustomer"):DATA-SOURCE:FILL-WHERE-STRING = 'where customer.custnum = 1'.
DATASET dsCustord:FILL().
DATASET dsCustOrd:GET-BUFFER-HANDLE("ttCustomer"):DETACH-DATA-SOURCE.
DATASET dsCustOrd:GET-BUFFER-HANDLE("ttOrder"):DETACH-DATA-SOURCE.
DATASET dsCustOrd:GET-BUFFER-HANDLE("ttOrderLine"):DETACH-DATA-SOURCE.
FOR EACH ttcustomer:
    DISPLAY ttCustomer.custnum.
    FOR EACH ttOrder:
          DISP ttOrder.
        FOR EACH ttOrderLine OF ttOrder:
            DISP ttOrderLine.
        END.
    END.
END.

HTH,

Casper.
 
Top