Problem with dataset and fill method

rpigeyre

New Member
Hi every body!

I've got a mistake while i'm using fill method from prodataset.

I'm building a prodataset with 2 temp-tables. One of them is filling from a query with outer-join.(tthab).

In the database, there is no record of boi_habmen to join with boi_appl. But after fill call It seems that a record of boi_habmen exist for each record of boi_appl. In fact all common fields of both of table are filled whereas other fields still empty.


Why does common fields are filled? How can I resolve it?

Thanks a lot.

Ps:
I'm using 10.1A .

Here is my code :

Code:
DEFINE BUFFER bboiappl FOR boi_appl.
DEFINE TEMP-TABLE ttboiappl NO-UNDO LIKE boi_appl. 
DEFINE TEMP-TABLE tthab NO-UNDO LIKE boi_habmen.
DEFINE DATASET pds FOR ttboiappl, tthab.
DEFINE QUERY q FOR bboiappl, boi_habmen.
 
DEFINE DATA-SOURCE dsboiappl  FOR boi_appl.
DEFINE DATA-SOURCE dshabmen   FOR QUERY q.
 
 
/* Attaching DataSource */
BUFFER ttboiappl:ATTACH-DATA-SOURCE(DATA-SOURCE dsboiappl:HANDLE).
BUFFER tthab:ATTACH-DATA-SOURCE(DATA-SOURCE dshabmen:HANDLE).
 
/* Prepare Query */
QUERY q:HANDLE:QUERY-PREPARE("for each bboiappl , first boi_habmen of bboiappl outer-join.").
 
/* Populate ProDataSet */
DATASET pds:FILL().
 
/* CleanUp */
CLOSE QUERY q.
 
BUFFER ttboiappl:DETACH-DATA-SOURCE().
BUFFER tthab:DETACH-DATA-SOURCE().
 
FOR EACH ttboiappl:
    DISPLAY ttboiappl.
    FOR EACH tthab OF ttboiappl:
        DISPLAY tthab.
    END.
END.
 
Top