ReportBuilder Automation: Documentation/Examples Needed

Discussion forum about all things Report Builder (all versions).
David Johnston
Great Britain
Posts: 20
Joined: 06 Feb 2018, 21:03
Location: Basingstoke, UK

ReportBuilder Automation: Documentation/Examples Needed

Post by David Johnston » 23 Sep 2008, 15:17

We are attempting to write a web service to generate PDFs using ReportBuilder 5.1. It seems that we can generate PDFs OK, but we are struggling due to lack of knowing what the parameters are for some of the ReportBuilder Automation functions e.g. AddCondition, Print etc. This makes progress slow.

We are looking for more detailed examples which demonstrate how to use the ReportBuilder Automation functions in C++, C#.Net or VB.Net?

Or has anyone got more detailed documentation on what the parameters are for all the ReportBuilder Automation functions?

Thanks in advance

Jeff Luther

Re: ReportBuilder Automation: Documentation/Examples Needed

Post by Jeff Luther » 24 Sep 2008, 09:07

re your request for "more detailed examples", David: You don't say what you do have already with ReportBuilder (RB) samples et al, so let me mention what I'm aware of that comes from Unify:

-- TD Samples\SQLWindows\Report Builder -- several samples using the AX

-- TD Samples\SQLWindows\QuickObjects\QuickReports

-- TD PDF on RB: I've attached report.pdf that has an overview at least on the AX functions et al.

-- Lastly, TD online help has a section on RB: https://support.guptatechnologies.com/Do ... title.html

Anyone else know of anything further, feel free to contribute!!
You do not have the required permissions to view the files attached to this post.

David Johnston
Great Britain
Posts: 20
Joined: 06 Feb 2018, 21:03
Location: Basingstoke, UK

Re: ReportBuilder Automation: Documentation/Examples Needed

Post by David Johnston » 24 Sep 2008, 16:45

Jeff

Thanks for your input, we are using the TD online documentation as our guide for the ReportBuilder Automation methods do, but we are unsure as to what the parameters o some of these methods are. The list of methods seems comprehensive, but where are the parameters to these methods documented?

What does the 'SetFetchOverride' boolean do for example?.

To begin with we just want to pass the results of a query done external to ReportBuilder through to the Input Items of a QRP in a similar way to that which Team Developer does through the SAM_Report... messages, but through an event structure rather than windows messages.

Tomorrow we will go through your suggestions and report back. Many thanks for the zip.

David Johnston
Great Britain
Posts: 20
Joined: 06 Feb 2018, 21:03
Location: Basingstoke, UK

Re: ReportBuilder Automation: Documentation/Examples Needed

Post by David Johnston » 24 Sep 2008, 17:14

Jeff

I have just opened your Reports.PDF. This looks really useful.

To ensure that we did not need to load all the Team Developer modules we downloaded just the ReportBuilder 5.1application to our .Net development team. Perhaps we should have installed the full Team Developer 5.1 kit, which the SQLWindows guys use... Our mistake.

Thanks again.

David Johnston
Great Britain
Posts: 20
Joined: 06 Feb 2018, 21:03
Location: Basingstoke, UK

Re: ReportBuilder Automation: Documentation/Examples Needed

Post by David Johnston » 26 Sep 2008, 06:28

Jeff Luther wrote:re your request for "more detailed examples", David: You don't say what you do have already with ReportBuilder (RB) samples et al, so let me mention what I'm aware of that comes from Unify:

-- TD Samples\SQLWindows\Report Builder -- several samples using the AX

-- TD Samples\SQLWindows\QuickObjects\QuickReports

-- TD PDF on RB: I've attached report.pdf that has an overview at least on the AX functions et al.

-- Lastly, TD online help has a section on RB: https://support.guptatechnologies.com/Do ... title.html

Anyone else know of anything further, feel free to contribute!!
The above information was very useful, but there is still a lot of functionality that is not documented.

There is a function called AddCondition with the following signature:
object AddCondition(int lMode1, int lMode2, int lDataType, string lpszTable1, string lpszCreator1, string lpszTable2, string lpszCreator2, string lpszOperator, string lpszOperand1, string lpszOperand2, bool bOpConstants, bool bOr);
Has anyone used this function? We can not find any examples which use this function, so we do not know the parameters

For reading conditions from an existing CQT report we would like to know about the object GetCondition(int lIndex);
We got exceptions on accessing some of the methods (such as GetOperand1, GetOperand2, GetOperator)

If anyone has a working piece of code that manipulates report conditions we would be really grateful for an example.
Thanks in advance to anyone willing to shed some light on the above issues.

David Johnston
Great Britain
Posts: 20
Joined: 06 Feb 2018, 21:03
Location: Basingstoke, UK

Re: ReportBuilder Automation: Documentation/Examples Needed

Post by David Johnston » 30 Sep 2008, 07:35

It is as if the ReportBuilder ActiveX is tightly coupled with the database connection. We would like to fill a report template with our own custom data, without the ReportBuilder querying the database. We want to use the ReportBuilder engine for report rendering and not data retrieval. Is it at all possible?

We deduced that this could be achieved if the reading of data was controlled by returning true from FetchNext and supplying appropriate data inside FetchInputData event. The number of calls to FetchNext is called is equal to the number of rows from the database and it is not possible to e.g. add another row of data. Is there any way of controlling the number of report rows manually using the events?

GenerationNotify (Each block is generated for a page when a report is previewed or printed)
FetchFirst (First report input data fetch when a report is previewed or printed)
FetchNext (Each fetch of report input data after the first fetch)
FetchInputData (Each report input for each row fetch)

Thanks in advance

Jeff Luther

Re: ReportBuilder Automation: Documentation/Examples Needed

Post by Jeff Luther » 30 Sep 2008, 10:42

Let me briefly respond, David:

First, AddCondition() documentation -- one additional source of info. is in TD's help itself. I didn't see any response to you on this but if, for example, you select ReportBuilder_IReportBuilder.AddCondition and click the F1 key, Help is displayed for that method:
bOK = AddCondition( lMode1, lMode2, lDataType, strTable1, strCreator1, strTable2, strCreator2, strOperator, strOperand1, strOperand2, bOpConstants, bOr, objQueryCondition )
"This method adds a QueryCondition object to the report."
along with some detail about each parameter.

Ditto for GetCondition:
bOK = GetCondition( lIndex, objCondition )
"This method returns a QueryCondition object."
"ReportBuilder [RB] ActiveX is tightly coupled with the database connection" -- I believe it is, due I think to the fact that the DBExplorer's Query/Report feature in TD is 'hard-coded' for a SQL query. I don't have--nor have I heard of anyone writing--a code example using the RB AX with other than a DB backend as the data source.

"We deduced that this could be achieved if..." is the direction I would pursue in writing a sample and testing your theory. I have seen examples of using SalReportView(), trapping and processing the SAM_Report msgs. and having your own non-SQL data source: a file of data, computed value, non-SQL data in a table window, to name a few data sources.

I have not used the "On FetchXXX" events in the AX, but that's where I'd start. "calls to FetchNext is called is equal to the number of rows from the database" -- if that event follows the model of the SAM_ReportFetchNext msg. then the # is equal, really, to the number of Return TRUE's in that msg. That may happen to be the # of rows in the result set, or # of lines in a text file, but whenever the TD code detects an end-of-dataset point and does a Return FALSE, ReportBuilder (invoked from SalReportView or SalReportPrint) considers this the end of the report.

RB itself doesn't know anything about the primary source of the data; in the case of sending SAM_ReportFetchNext and catching the T/F return, its knowledge of the 'data source' is only the window in the TD appl. that traps the SAM_Report msgs, retrieves the data (via a SqlFetchNext(), read/parse of data off a disk file, etc.) and either assigns the input vars. for the report with these values and returns TRUE, or can't get another set of value and returns FALSE.

You been speculating on a couple new issues. I'd suggest getting in and experimenting with some code to find out what you can do. You might try accessing the old gupta NG (newsgroup.guptaworldwide.com) to see what it might have in terms of info + source code as well.

David Johnston
Great Britain
Posts: 20
Joined: 06 Feb 2018, 21:03
Location: Basingstoke, UK

Re: ReportBuilder Automation: Documentation/Examples Needed

Post by David Johnston » 03 Oct 2008, 01:01

Jeff

Thanks for your response.

We appreciate your help. Next week we will try trapping the On FetchXX events within ReportBuilder and see how we get on.

Our experience with ReportBuilder means that we know this very well.

Since all the ReportBuilder Automation examples start from the viewpoint of ReportBuilder doing the database query with a CQT file, we do not see how to pass the input values through to a QRP file except by writing the example in TD using parameters and getting TD to generate the PDF file using SalReportToFile. We may end up doing this is we are stuck, but a web service calling TD we feel would take too long to execute?

Many Thanks

Return to “General Discussion”

Who is online

Users browsing this forum: [Ccbot] and 0 guests