Reporting Strategy using NW2004s

Hi,
Here is the scenario:
I need to run few (nine)  BW reports daily (actually, first 10 days of every month) and make it available for the users.  Each report runs multiple times (for different entities). The reports need to be formatted nicely (not an excel download). The goal is, every morning any user will be able to get his/her data in nicely formatted way (with company logo, pdf etc.) so that they can just print their report and run into a meeting (if requires). They also need not run the reports, they can just open reports already run and get their data.
So we created COGNOS reports on top of BW. You have to enter parameters in those reports (which is a real pain, because every time you go back to the parameter screen you have to enter every single parameter) and schedule them overnight. In the morning all outputs will be available in a network folder.
Users adore the outputs. But I would like to get rid of this process, now that I am going to implement NW2004s.
So, my question is: how I can replace COGNOS tool by using NW2004s features without hurting my user base. The requirements are: a) outputs need to be formatted pdf (with logo, page number etc.); b) reports should be scheduled; c) outputs can be accessed from a common location d) not all outputs will be available to every user i.e. selective access of outputs.
I will wait for valuable suggestions from experts.
Regards,
SN

Hi,
Try this.
BI 7.0 reporting features
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/910aa7a7-0b01-0010-97a5-f28be23697d3
http://help.sap.com/saphelp_nw2004s/helpdata/en/b2/e50138fede083de10000009b38f8cf/frameset.htm
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/4487dd91-0b01-0010-eba1-bcd6419
http://searchsap.techtarget.com/cgi-bin/rd.pl/ftID-1121728-ctID-1064004?//expert/KnowledgebaseAnswer/0,289625,sid21_gci1064004,00.html
http://help.sap.com/saphelp_nw04s/helpdata/en/9d/24ff4009b8f223e10000000a155106/content.htm
bex to pdf.
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/b931a890-0201-0010-268d-a7bedf8aa720
Reporting and the BI Suite
https://www.sdn.sap.com/irj/sdn/docs?rid=/webcontent/uuid/a8cd1f71-0a01-0010-4783-f119b6132d25
WAD
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/6dd54713-0c01-0010-8691-a3576b9a95d9
InformationBroadcasting
https://service.sap.com/~sapidb/012003146900000085752006E/HowtoInformationBroadcasting.pdf
Thanks,
JituK

Similar Messages

  • Reporting strategy with Bo

    hi all,
    we are working on a document on SAP bi reporting strategy using BO.i have to think of what goes into this document.this is my first time with working on reports coming from SAP BW .
    Thanks

    Hi Usha,
    that really depends on what your requirements are. Did you look at the combined roadmap ?
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/b00a1a75-c49d-2b10-0ebb-ecc80ab88994
    Ingo

  • Error while creating a report that uses Oracle OCI JDBC connectivity

    Please let me know why my CR and LF characters are removed from my forum posting *****
    Hi,
    I was trying to create a report that uses Oracle OCI JDBC connectivity. I am using Eclipse3.4 download from "cr4e-all-in-one-win_2.0.2.zip".  I have successfully created a JDBC OCI connection.
    The connection parameters are given below:
    URL: jdbc:oracle:oci8:@xe
    Database: xe
    username: <userName>
    password: <password>
    I have tested the above connection in Data source Explorer and it works fine!!!
    But I am getting the following error when I drag-and-drop a table from the list of tables. Not sure what I am missing here?  Any help is highly appreciated.
    com.businessobjects.reports.jdbinterface.common.DBException: InvalidURLOrClassName
         at com.crystaldecisions.reports.queryengine.driverImpl.jdbc.JDBCConnection.Open(Unknown Source)
         at com.crystaldecisions.reports.queryengine.JDBConnectionWrapper.Open(SourceFile:123)
         at com.crystaldecisions.reports.queryengine.Connection.br(SourceFile:1771)
         at com.crystaldecisions.reports.queryengine.Connection.bs(SourceFile:491)
         at com.crystaldecisions.reports.queryengine.Connection.t1(SourceFile:2979)
         at com.crystaldecisions.reports.queryengine.Table.u7(SourceFile:2408)
         at com.crystaldecisions.reports.dataengine.datafoundation.AddDatabaseTableCommand.new(SourceFile:529)
         at com.crystaldecisions.reports.common.CommandManager.a(SourceFile:71)
         at com.crystaldecisions.reports.common.Document.a(SourceFile:203)
         at com.businessobjects.reports.sdk.requesthandler.f.a(SourceFile:175)
         at com.businessobjects.reports.sdk.requesthandler.DatabaseRequestHandler.byte(SourceFile:1079)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.do(SourceFile:1163)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.if(SourceFile:657)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.a(SourceFile:163)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter$2.a(SourceFile:525)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter$2.call(SourceFile:523)
         at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
         at java.util.concurrent.FutureTask.run(Unknown Source)
         at com.businessobjects.crystalreports.designer.core.util.thread.ExecutorWithIdleProcessing$3.doWork(ExecutorWithIdleProcessing.java:182)
         at com.businessobjects.crystalreports.designer.core.util.thread.AbstractCancellableRunnable.run(AbstractCancellableRunnable.java:69)
         at com.businessobjects.crystalreports.designer.core.util.thread.PriorityTask.run(PriorityTask.java:75)
         at com.businessobjects.crystalreports.designer.core.util.thread.PriorityCompoundCancellableRunnable.runSubtask(PriorityCompoundCancellableRunnable.java:187)
         at com.businessobjects.crystalreports.designer.core.util.thread.PriorityProgressAwareRunnable.runSubtask(PriorityProgressAwareRunnable.java:90)
         at com.businessobjects.crystalreports.designer.core.util.thread.PriorityCompoundCancellableRunnable.doWork(PriorityCompoundCancellableRunnable.java:144)
         at com.businessobjects.crystalreports.designer.core.util.thread.AbstractCancellableRunnable.run(AbstractCancellableRunnable.java:69)
         at com.businessobjects.crystalreports.designer.core.util.thread.ExecutorWithIdleProcessing$IdleTask.run(ExecutorWithIdleProcessing.java:320)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    Thanks
    Karthik
    Edited by: KARTHIK1 on Oct 14, 2009 9:38 PM

    Hi Ted,
    Thanks for the feedback. I was able to create a report in Creystal Reports Designer 2008 using OCI.  It is not allowing only in the Eclipse plugin. In our environment we are not allowed to user Oracle thin connections and ONLY OCI is allowed.
    1) Can you please let me know if there is a way to do this? 
    2) Will it allow data sources using native database driver?
    3) If so, can I use JRC to create these reports from a desktop java program?
    Thanks & Regards
    Karthik
    Edited by: KARTHIK1 on Oct 15, 2009 4:38 PM

  • How to suppress extra form feed for character report printing using ORARRP?

    Dear All,
    We are using Oracle Application Server 10g (10.1.2.0.2) on Windows 2003 Server and most of our client PC's are Windows XP Professional machines. We are migrating our existing oracle application from 2-tier architecture to 3-tier architecture (6i to 10g). We have installed ORARRP utility for remote direct printing and to a limited extent we are successfull in getting the things work out for our system users, However, we are facing a problem using the ORARRP utility for which we are not able to find a solution till date.
    We have configured ORARRP utility on every user's PC and the printing of bitmap reports is working well. However, while printing CHARACTER reports using ORARRP utility, after the report gets printed, an EXTRA FORM FEED is issued by ORARRP to the printer and because of this the printer stationary skips one extra page and advances to the next page. Please note that this EXTRA FORM FEED happens only while printing a CHARACTER REPORT.
    Has anyone come across such a problem using ORARRP ? How can we avoid this extra FORM FEED from CHARACTER REPORT printing using ORARRP ? Is there any other tool which supports remote direct printing just like ORARRP?
    I shall be highly obliged if anyone could reply to my queries ASAP.
    Regards,
    KrishnaKumar S

    Please help ! I tried the "send_form_feed" and "postscript_dos_print" parameters without success. The extra form feed is always there. Thanks.

  • How to create new Custom XML Report without using Form Builder

    Hi,
    What are the steps to create new Custom XML Report without using Report Builder ?
    Thanks and Regards,
    Abhi

    Hi,
    Steps we now follow
    1)Create Data Model in Reports Builder
    2)Create xml
    3)Insert xml in Publisher to build Fomat
    4)FTp rdf
    5)Create Data Definition and Template
    6)Create executable and Concurrent Program
    Is there any way we can build reports without use of Report Builder ? By writing PL SQL Package for Before Report and After Report etc ...
    Thanks and Regards,
    Abhijit Rode

  • How can i call report 9i using  developer form 6i

    hi all
    I want to run report 9i using form6i.
    for example i create report in report 9i that use java class.
    i must run this report with form 6i.
    I use RUN_PRODUCT built in.
    if my report dont use java class i haven't any problem
    but when i import java class in my report, in runtime
    with form6i i find "Report contains uncompiled PL/SQl"
    message.(there is not uncompiled pl/sql)
    is there any way to solve this problem?or is it possible
    to do this?
    any help appreciated.
    Nahid Bastani

    You need to use RUN_REPORT_OBJECT built-in instead of RUN_PRODUCT. Refer Integrating 9iAS Reports Services in 9iAS Forms services paper at http://otn-stage.us.oracle.com/products/forms/pdf/frm9isrw9i.pdf.
    Thanks
    Rohit

  • Issue while opening BI4 webi report instance using CMC on IE8 browser

    Hi,
    Having issue while opening BI4 webi report instance using CMC on IE8 browser.
    Steps to reproduce the error:
    1. Login to CMC
    2.  View Webi History.
    3.  Open successful instance  (For the 1st or 2nd time reports are opening up, from the 3rd time it just freeze the session)
    4. After it get freeze we need to close the IE using Task Manager.
    Can any one please suggest a resolution for this issue.
    Thanks,
    Ganesh.M

    Hello Gokul,
    first thing is to check is if your chrome version is supported by your current BO version as specified in the PAM (is it?). If the chrome version is supported, and you still have an issue, then you can check with a sap support engineer.
    best regards,
    Victor

  • Open a Crystal Report preview using a button

    Hello. I need to open a Crystal Report preview using a button from my add-on. I've already created my report, so I need to create the object, pass the parameters and open an screen with my preview. Does anyone has a C# example? Thank you.

    hi,
    this is code for open the crystal report press the button.
    First import the crystal report  using Report  and  layout manager
    goto administration->setup->general--->Report  and  layout manager
    create one button in add-on form.when we press the button the following event triggered.
    get the docnumber for that particular form and pass it.
    Case SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED
                            If pVal.ItemUID = "btnPrint" Then
                                Dim strAcNcmr As Integer
                                strAcNcmr = objForm.Items.Item("txtDocNo").Specific.Value
                                Dim oRS As SAPbobsCOM.Recordset
                                oRS = objSBOAPI.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
                                oRS.DoQuery("SELECT MenuUID FROM OCMN WHERE Name = ' Purchase Indend' AND Type = 'C'")
                                objSBOAPI.SBO_Appln.ActivateMenuItem(oRS.Fields.Item(0).Value.ToString())
                                Dim oForm1 As SAPbouiCOM.Form
                                oForm1 = objSBOAPI.SBO_Appln.Forms.ActiveForm
                                oForm1.Items.Item("1000003").Specific.String = strAcNcmr
                                oForm1.Items.Item("1").Click()
                                oForm1.Items.Item("1").Visible = False
                                oForm1.Items.Item("2").Click()
                            End If
    this is easy solution for open the crystal report for add-on form
    Thanks & regards
    B.lakshmi narayanan

  • How to publish crystal report designed using SAP Add-on toolbar

    we have installed the crystal report designer V10 and the SAP add-on on the desktop.
    we have designed a formatted report in crystal report designer using an existing BW report that was created using Bex query designer. After this we saved the crystal report back in BW to a role.
    We have not published the report to crystal enterprise server, since the connection to same is not in place.
    We would like to know how to publish this report in Enterprise portal ?
    Can we bypass publishing the report to crystal enterprise server and publish the report on browser or through EP ?

    hi
    Check on this help page if it can help you
    http://help.sap.com/saphelp_erp2004/helpdata/en/f1/0a569ae09411d2acb90000e829fbfe/frameset.htm
    REgards
    Alain

  • Create crystal report file using JAVA

    Can someone tell me how to a Create crystal report file using JAVA Programming
    I want a very simple example

    Please help me. It's urgent.[http://catb.org/~esr/faqs/smart-questions.html#urgent]
    Be back in an hour or two...

  • CREATE XML PUBLISHER REPORT WITHOUT USING RDF

    Hi Every one ,
    Can anybody share his/her expertise on following issue ?
    "How to create XML Publisher Report without using RDF?"
    Your help is appreciated.

    Hi Swapnesh
    YOu do not need to create the XDODTEXE, its seeded for you. You need to do the following:
    1. Create and test the data template
    2. Load the data template to the template manager against a data definition
    3. Create a concurrent program definition that uses the XDODTEXE as its executable
    4. Create parameters (if required) for the CP and DT that match in name
    You're done
    Regards
    Tim

  • XML Publisher (now BI Publisher) reports without Using RDF

    Hi All,
    We am trying to generate XML Publisher (now BI Publisher) reports from Oracle EBS reports without Using RDF.
    We have generated the required report using RDF however as we are trying to move away from RDF, we are looking for this type of solution (i.e without RDF). We simply want to use SQL query for XML output.
    I tried to generate XML output from a concurrent program which is a SQL query however the output doesn't come out in proper XML format.
    I am sure this can be done through XML publisher using pl/sql procedure. By using a procedure and using the function DBMS_XMLGEN.getxml to generate the output in XML format & storing it in a variable declared as CLOB type. The reports are running fine smaller result set but its giving error "Value or Numeric Error' for larger resul set. Following is the way i am using the function:
    select DBMS_XMLGEN.GETXML('select * from dual') into result from dual;
    Where result is declared as CLOB Type.
    Can anyone help please?
    Thanks.

    I used a different approach.
    I registered a concurrent program with executable as XDODTEXE and output as XML.
    I added a XML data definition (which contains my SQL query) on XML Publsiher admin and Registerd a template against that XML data definition.
    This solved my problem.
    Thanks all.

  • How to print the report directly without previewing (report viewer) using c# windows application

    Hi,
    Currently, we are using crystal report to all of our reporting applications, but since I/users have encountered some issues about CR's speed to load only a simple report, maybe it is now time for us to adopt a new reporting environment in which I think SSRS
    can fill this problem.
    To start with, I have here a sample code, that uses the crystal report to print the report directly without previewing:
    csCashInvoiceCal csCashCal; --Crystal report name .rpt
    dsCsReceipt dsCs; --created dataset
    DataTable u;
    DataRow s;
    private System.Drawing.Printing.PrintDocument printDocument1;
    private System.Windows.Forms.PrintDialog printDialog1;
    ParameterValues paramValue;
    ParameterDiscreteValue discreteValue;
    ParameterFieldDefinition fieldDefinition;
    private void btnPrint_Click(object sender, EventArgs e)
    this.Cursor = Cursors.WaitCursor;
    loadReceipt2();
    print2();
    csCashCal.Close();
    this.Cursor = Cursors.Default;
    private void loadReceipt2()
    dsCs = new dsCsReceipt(); --created dataset
    u = dsCs.Tables.Add("DtCsReceipt");
    u.Columns.Add("Qty", Type.GetType("System.String"));
    u.Columns.Add("UOM", Type.GetType("System.String"));
    u.Columns.Add("Description", Type.GetType("System.String"));
    u.Columns.Add("UnitPrice", Type.GetType("System.String"));
    u.Columns.Add("Discount", Type.GetType("System.String"));
    u.Columns.Add("Amount", Type.GetType("System.String"));
    try
    for (int i = 0; i < dgvDesc.Rows.Count - 1; i++)
    s = u.NewRow(); double.TryParse(dgvDesc.Rows[i].Cells[Discount2.Name].Value.ToString(), out discount);
    s["Qty"] = double.Parse(dgvDesc.Rows[i].Cells[Qty.Name].Value.ToString());
    s["UOM"] = dgvDesc.Rows[i].Cells[Uom2.Name].Value.ToString();
    s["Description"] = invcode + dgvDesc.Rows[i].Cells[Description.Name].Value.ToString();
    s["UnitPrice"] = dgvDesc.Rows[i].Cells[UnitPrice.Name].Value.ToString();
    if (discount != 0)
    s["Discount"] = "(" + string.Format("{0:0.##}", discount) + "%)";
    else
    s["Discount"] = "";
    s["Amount"] = dgvDesc.Rows[i].Cells[Amount2.Name].Value.ToString();
    u.Rows.Add(s);
    catch (Exception) { }
    csCashCal = new csCashInvoiceCal();
    csCashCal.SetDataSource(dsCs.Tables[1]);
    //csCashCal.Refresh();
    loadParameter2();
    private void loadParameter2()
    ParameterFieldDefinitions paramFieldDefinitions;
    paramValue = new ParameterValues();
    discreteValue = new ParameterDiscreteValue();
    paramFieldDefinitions = csCashCal.DataDefinition.ParameterFields;
    discreteValue.Value = date;
    fieldDefinition = paramFieldDefinitions["Date"];
    commonParam();
    discreteValue.Value = txtcsno.Text;
    fieldDefinition = paramFieldDefinitions["InvoiceNo"];
    commonParam();
    discreteValue.Value = txtNameTo.Text;
    fieldDefinition = paramFieldDefinitions["CustomerName"];
    commonParam();
    discreteValue.Value = txtAdd.Text;
    fieldDefinition = paramFieldDefinitions["CustomerAddress"];
    commonParam();
    ------other parameters----
    private void commonParam()
    paramValue.Clear();
    paramValue.Add(discreteValue);
    fieldDefinition.ApplyCurrentValues(paramValue);
    private void print2()
    using (printDocument1 = new System.Drawing.Printing.PrintDocument())
    using (this.printDialog1 = new PrintDialog())
    //this.printDialog1.UseEXDialog = true;
    this.printDialog1.Document = this.printDocument1;
    DialogResult dr = this.printDialog1.ShowDialog();
    if (dr == DialogResult.OK)
    int nCopy = this.printDocument1.PrinterSettings.Copies;
    int sPage = this.printDocument1.PrinterSettings.FromPage;
    int ePage = this.printDocument1.PrinterSettings.ToPage;
    string PrinterName = this.printDocument1.PrinterSettings.PrinterName;
    try
    csCashCal.PrintOptions.PrinterName = PrinterName;
    csCashCal.PrintToPrinter(nCopy, false, sPage, ePage);
    printcount++;
    //saveCountPrint();
    catch (Exception err)
    MessageBox.Show(err.ToString());
    This is only a simple sales receipt application that uses dgv and textboxes to push its data to dataset to the crystal report, a simple one but there are instances that it is very slow.
    But I'm having trouble implementing this using SSRS, since I'm only new to this one, wherein I created the report using report wizard, with two button options inside the form for print preview or direct print selection. Actually, it is very easy to implement
    with print preview because it uses reportviewer. My problem is that how can I print the report directly without using a reportviewer?
    So here is my code so far which I don't know what's next:
    private void button2_Click(object sender, EventArgs e)
    this.Cursor = Cursors.WaitCursor;
    loadReceipt3();
    //print3();
    this.Cursor = Cursors.Default;
    ReportParameter[] parameter = new ReportParameter[11];
    private void loadParameter3()
    parameter[0] = new ReportParameter("InvoiceNo", txtcsno.Text);
    parameter[1] = new ReportParameter("Date", date);
    parameter[2] = new ReportParameter("CustomerTin", txtTin.Text);
    parameter[3] = new ReportParameter("CustomerName", txtNameTo.Text);
    parameter[4] = new ReportParameter("CustomerAddress", txtAdd.Text);
    parameter[5] = new ReportParameter("Agent", agent);
    parameter[6] = new ReportParameter("Discount", "Discount: ");
    parameter[7] = new ReportParameter("TotalDiscount", lblDiscount.Text + "%");
    parameter[8] = new ReportParameter("TotalSales", rdtotal);
    parameter[9] = new ReportParameter("Tax", rdtax);
    parameter[10] = new ReportParameter("TotalAmount", rdnet);
    private void loadReceipt3()
    DataSet dsrs = new DataSet();
    DataTable dtrs = new DataTable();
    DataRow drs;
    dtrs.Columns.Add("Qty", Type.GetType("System.String"));
    dtrs.Columns.Add("UOM", Type.GetType("System.String"));
    dtrs.Columns.Add("Description", Type.GetType("System.String"));
    dtrs.Columns.Add("UnitPrice", Type.GetType("System.String"));
    dtrs.Columns.Add("Discount", Type.GetType("System.String"));
    dtrs.Columns.Add("Amount", Type.GetType("System.String"));
    try
    for (int i = 0; i < dgvDesc.Rows.Count - 1; i++)
    drs = dtrs.NewRow();
    drs["Qty"] = double.Parse(dgvDesc.Rows[i].Cells[Qty.Name].Value.ToString());
    drs["UOM"] = dgvDesc.Rows[i].Cells[Uom2.Name].Value.ToString();
    drs["Description"] = invcode + dgvDesc.Rows[i].Cells[Description.Name].Value.ToString();
    drs["UnitPrice"] = dgvDesc.Rows[i].Cells[UnitPrice.Name].Value.ToString();
    if (discount != 0)
    drs["Discount"] = "(" + string.Format("{0:0.##}", discount) + "%)";
    else
    drs["Discount"] = "";
    drs["Amount"] = dgvDesc.Rows[i].Cells[Amount2.Name].Value.ToString();
    dtrs.Rows.Add(s);
    catch (Exception) { }
    int addtlRow = 7;
    if (addtlRow > (count - 1))
    addtlRow = addtlRow - (count - 1);
    for (int i = 0; i < addtlRow; i++)
    dtrs.Rows.Add();
    loadParameter3();
    LocalReport localreport = new LocalReport();
    localreport.SetParameters(parameter);
    localreport.DataSources.Clear();
    localreport.DataSources.Add(new ReportDataSource("dsSalesReceiptSsrs", dtrs));
    localreport.Refresh();
    //what's next....
    So what's next after local..refresh()? Actually, I have googled a lot but I didn't found the exact solution that I'm looking for which confuses me a lot.
    Anyway I'm using VS 2010 with sql server 2012 express.
    You're help will be greatly appreciated.
    Thank you,
    Hardz

    After some further studies with ReportViewer controls and with the use of this tutorial @ : http://msdn.microsoft.com/en-us/library/ms252091.aspx, which helps me a lot on how to print a report without using a report viewer, I found out what is missing
    with my code above and helps solve my question.
    Here's the continuation of the code above:
    private void loadReceipt3()
    loadParameter3();
    LocalReport localreport = new LocalReport();
    localreport.ReportPath = @"..\..\SsrsCashReceipt.rdlc";
    localreport.SetParameters(parameter);
    localreport.DataSources.Clear();
    localreport.DataSources.Add(new ReportDataSource("dsSalesReceiptSsrs", dtrs));
    Export(localreport);
    print4();
    private IList<Stream> m_streams;
    private int m_currentPageIndex;
    private void Export(LocalReport report)
    string deviceInfo =
    @"<DeviceInfo>
    <OutputFormat>EMF</OutputFormat>
    <PageWidth>8.5in</PageWidth>
    <PageHeight>11in</PageHeight>
    <MarginTop>0.25in</MarginTop>
    <MarginLeft>0.25in</MarginLeft>
    <MarginRight>0.25in</MarginRight>
    <MarginBottom>0.25in</MarginBottom>
    </DeviceInfo>";
    Warning[] warnings;
    m_streams = new List<Stream>();
    report.Render("Image", deviceInfo, CreateStream,
    out warnings);
    foreach (Stream stream in m_streams)
    stream.Position = 0;
    private void print4()
    if (m_streams == null || m_streams.Count == 0)
    throw new Exception("Error: no stream to print.");
    PrintDocument printDoc = new PrintDocument();
    PrintDialog printDlg = new PrintDialog();
    printDlg.Document = printDoc;
    DialogResult dr = printDlg.ShowDialog();
    if (dr == DialogResult.OK)
    if (!printDoc.PrinterSettings.IsValid)
    throw new Exception("Error: cannot find the default printer.");
    else
    printDoc.PrintPage += new PrintPageEventHandler(PrintPage);
    m_currentPageIndex = 0;
    printDoc.Print();
    Dispose();
    public void Dispose()
    if (m_streams != null)
    foreach (Stream stream in m_streams)
    stream.Close();
    m_streams = null;
    private Stream CreateStream(string name, string fileNameExtension, Encoding encoding, string mimeType, bool willSeek)
    Stream stream = new FileStream(name + "." + fileNameExtension,
    FileMode.Create);
    m_streams.Add(stream);
    return stream;
    private void PrintPage(object sender, PrintPageEventArgs ev)
    Metafile pageImage = new
    Metafile(m_streams[m_currentPageIndex]);
    // Adjust rectangular area with printer margins.
    Rectangle adjustedRect = new Rectangle(
    ev.PageBounds.Left - (int)ev.PageSettings.HardMarginX,
    ev.PageBounds.Top - (int)ev.PageSettings.HardMarginY,
    ev.PageBounds.Width,
    ev.PageBounds.Height);
    // Draw a white background for the report
    ev.Graphics.FillRectangle(Brushes.White, adjustedRect);
    // Draw the report content
    ev.Graphics.DrawImage(pageImage, adjustedRect);
    // Prepare for the next page. Make sure we haven't hit the end.
    m_currentPageIndex++;
    ev.HasMorePages = (m_currentPageIndex < m_streams.Count);
    Thank you very much for this wonderful tutorial. :)

  • Can not print report when using HTML or DHTML

    Can not print report when using HTML or DHTML. When I open the report and click the print icon I get a small blank dialog box and then nothing. If I change to activex it works and I can print.
    Any Ideas?
    Thanks
    Jeff

    Hi,
    I did not come across this situation before. Did you apply any fix packs. Try to check whether its a issue which can be fixed by applying fix pack( try to check release notes of fix pack and see if they mentioned any thing about this).
    Thanks,
    SK.

  • How to slection screen fields in  output of the  report by using alv classe

    hi all,
    i want to get all the fields in the selection screen to be displayed in the output layout.i am developing report by using alv grid classes can any one help me.
    answers are rewarded

    Hello
    u first place some dictionary input/output fields in your screen and
    below that u place ur custom control,
    so what ever input u are giving in those fields  , u seelct data accordingly,
    for example.
    in screen there is one icon 'dictionary/program fields, click that and give some table , suppose u want to extract data from kna1 table using kunnr, select kunnr and press enter, then along withn cursor u get one frame, take that on to screen and place it ,
    now in the program write
    tables: kna1.
    select  *  from kna1 into it_kna1  where kunnr = kna1-kunnr. 
    now u get the data into it_kna1.
    it will work , try this.
    bye.

Maybe you are looking for

  • How do I clear a list of usernames which is automatically offered when I login to a site.

    For example, if I want to sign into gmail, it asks for the username. As soon as I type in the first letter, it gives me a selection which it stored. Once I made a mistake and typed my password in there which also begins with the same letter. How do I

  • [svn:fx-trunk] 9117: DropDownList bug fixes

    Revision: 9117 Author:   [email protected] Date:     2009-08-05 14:12:45 -0700 (Wed, 05 Aug 2009) Log Message: DropDownList bug fixes http://bugs.adobe.com/jira/browse/SDK-22536 - Spark DropDownList highlight not working as expected when navigating u

  • Illustrator gets stuck on hand tool

    I'm having this problem with my Adobe Illustrator CS3 where I'll be using the pen tool, and out of nowhere (usually after I've undone a couple of things it seems), the program will get stuck on the hand tool, and won't switch to any other tool. Time

  • Can only connect to smb share from Windows as "nobody"

    I'm trying to share some folders on my Mac using samba. When I connect from Windows, I do not get asked for a username and password, and I get connected as a guest user (nobody). What do I do to get connected as a real user? I've tried playing with /

  • Sending IOCTL messages from driver

    Hi! I need to perform some actions such as getting default gateway's IP and ARP, setting both NIC drivers to promiscuous mode etc, before my driver comes to work. I know how to implement it in user mode, but my task is to do it from kernel space when