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

Printing batch job

edited August 2001 in General
Hello All,

I am printing multiple accounting reports through an NT service to a HP
printer. The service processes the accounting data and then loops through a
database templete file to print all the reports. Is there a way to set the
begin and end of print job, since there are going to be multiple servers
printing to the same printer. I don't what the report jobs to be mixed
together. Something like a Netware capture and end capture. I plan on
printing a header report with the client name and then send all the rest of
the reports. Right now since the reports are sent as seperate jobs it is
first come first serve to the printer and the client reports get mixed
together.

HP8100 & HP4050 printers
WIN 20000
RB6

Thanks,
Bo

Comments

  • edited August 2001
    Generally, the approach is to load the reports such that each is in its own
    section style subreport in a single report component. Then you can print
    the one report and all of the reports will print as one print job. The main
    report will have a detail band that only prints once. Set Report.AutoStop =
    True.


    Cheers,

    Jim Bennett
    Digital Metaphors


  • edited August 2001
    Hello Jim,

    These reports are coming from a database template and are very complex with
    lots of subreports. How can I combine all these reports at runtime into one
    report.

    Thanks,
    Bo

  • edited August 2001
    We are not aware of any network solutions to lock the printer for a
    particular service to begin and end printing.

    You can dynamically load each report template into a subreport. You're
    already querying the database to get the report count, so you should be able
    to dynamically create subreport components in the detail band of a blank
    'driver' report. As you have mentioned, the only forseeable problem would
    be that you may run into resource issues. If you're running NT/Win2K, you
    should be able to print as many pages as you want, of course this is all
    dependent on the capabilities of your machine.

    Cheers,

    Jim Bennett
    Digital Metaphors


  • edited August 2001
    Hello Jim,

    How is the report going to be loaded into the sub report, the code bellow
    triggers an exception.

    ppChildReport1.Template.DatabaseSettings.Name :=
    ibqUserReportsREPORT_DESCRIPTION.AsString;
    ppChildReport1.Template.LoadFromDatabase;

    When I try to load it into the main report there is no exception. I also
    tried to load it manually with the load subreport menu item while the
    enduser report writer is running but it loads the report in the main not the
    sub.

    Bo

  • edited August 2001
    The child report is accessed via the report property of the subreport
    component.

    The following works for file based loading, so check your database settings
    again.

    procedure TForm1.Button1Click(Sender: TObject);
    begin

    ppSubreport1.Report.Template.FileName := 'C:\Templates\123.rtm';
    ppSubreport1.Report.Template.LoadFromFile;

    ppSubreport2.Report.Template.FileName := 'C:\Templates\1234.rtm';
    ppSubReport2.Report.Template.LoadFromFile;

    ppReport1.Print;

    end;


    Cheers,

    Jim Bennett
    Digital Metaphors


This discussion has been closed.