Home DADE
New Blog Posts: Merging Reports - Part 1 and Part 2

Pipeline information

edited October 2002 in DADE
Hi there, Im using RB7 Serv for D6 ent.


SCENARIO:

I am designing a system that must allow users to specify selection criteria
for a report using a FilterBox component provided by Dream.

At run time, I load the template and then call
daGetDataModule(Report).GetDataPipelines(PipeLineList)

This places the definitions of the data specified in the template in
PipeLineList.

I then use
TdaQueryDataView(TppDBPipeline(PipeLineList[i]).DataView).SQL.MagicSQLText.T
ext
to obtain the underlying SQL that defines each dataset. I take this SQL
place it in a dummy ADODataSet and hook it up to my FilterBox component and
I am able to design selection filters on the dataset using the FilterBox.

PROBLEM:

If I design a new template with new data from scratch and save it, then the
call to
daGetDataModule(Report).GetDataPipelines(PipeLineList)
Return correctly and PipeLineList contains an entry for each dataset define
in DADE.

However, if I make any edits to the data used in the template ( Add, Edit,
Delete) and save it, the next call to
daGetDataModule(Report).GetDataPipelines(PipeLineList) still reflects the
original set of pipelines that were defined on creation of the template.

How can I get an up to date list of the datasets defined in the template?

Cheers,
Ben

Comments

  • edited October 2002
    The MagicSQLText is generated by the dataview. If you would like to edit
    the SQL text and have it be persistent, then set EditSQLAsText to true on
    the TdaSQL object and use the SQLText property and not the MagicSQLText
    property.


    Cheers,

    Jim Bennett
    Digital Metaphors

  • edited October 2002
    Hi Jim,

    My problem is that even if I use DADE to Add,Edit,Delete datasets ( not by
    modifying the SQL directly) and save the report, the call to
    daGetDataModule(Report).GetDataPipelines(PipeLineList) is returning the
    original set of datasets defined by using DADE not the new set.

    Cheers,
    Ben

  • edited October 2002
    When are you trying to retrieve this information? Perhaps it is too soon and
    the normal sequence of events hasn't caused the dataviews to generate. I
    used the designer's OnTabChanged event and the SQL reflected the new
    configuration that I made to the dataviews, which were checked after I
    loaded the report. So by default it is working to regenerate the SQL. What
    happens when the tab changes, is that the dataviews are told that they
    should get ready to provide data. You can trigger this by looping through
    the dataviews and calling their Sync routine.

    Cheers,

    Jim Bennett
    Digital Metaphors

This discussion has been closed.