How to print the invoice(Billing document) using program RSNAST00

Hi,
  I want to print the invoice using the program RSNAST00,
but when i fill in selection screen with the following details,
Output Application : V3
Object Key : Billing Document Number
Output Type : ZPFM
Transmission Medium : 1
But it is throwing an Information Message "0 outputs were processed in total (0 successfully,0 incorrectly)
So please guide me, what are settings i have to do and what abap code i have to write to overcome this error.
Regards,
Shasiraj.C

Hi,
  As you told I am using the function module RV_MESSAGE_DIALOG in my program when I directly execute my program its not printing invoice,but when i keep the break point and execute a pop up comes in which i click on the PRINT button that time it is printing the invoice.
But I dont want to click on Print button manually, my code should automatically take care of printing also.
Can guide me in this issue.
Regards,
Shasiraj.C

Similar Messages

  • To Generate the invoices (billing document) in t-code VF02 to DIRs in DMS

    Hi All,
    I have requirement is to generate the invoices (billing document) in t-code VF02 to DIRs in DMS or print list using ArchiveLink every night in batch program.
    Did anybody worked on similar scenerios, please let me know.
    Regards
    MM

    Hi Manish (and everyone).
    Were you able to find the solution to this?
    I am in a similar situation - trying to generate invoices from an ArchiveLink document.
    All setup pertaining to ArchiveLink is already in place.  What I need to do now is access the document from the content repository and start from there.
    Any input will be greatly appreciated.
    And of course, points will be rewarded.
    Many thanks!

  • How to print our several Billing documents in one spool request?

    Hello all,
    I encountered a problem while printing billing document.
    Currently, we only can use VF02 to change billing document's condition type and print out Billing document. It's troublesome and waste a lot of time to change output condition type in each Billing document.
    Is there a function that will list all the billing document, so we can print the selected billing document by pick this billing documents and send to printer.
    If my description is confusing, Please let me know.

    Hi, Iimnava,
    Thanks for ur reply. But there is still some problem about this.
    Let me introduce the special setting for our company's system:
    There are 2 output condition set in SAP.
    1. First one-ZD00, it will process automatically and send to a archive software. but won't print out. all of our billing document are using this output condition.
    2. Second one-ZD01, manual print out. If we need to print out the billing document, we can go to header--output, select this output condition in the dropdown list, then set sent to Local printer. save and quit. the billing document will be printed out.
    I had tried Txn VF31 and SE38.
    1. If use repeat processing method, only pull out the billing documents with ZD01 output.
    2. If use initial processing method, only pull out the billing document with output condition-ZD00 which hasn't been sent to the archive software yet.
    So I still can't reprint the billing document with Output condition-ZD00 which has been already sent to archive software.
    Sorry for the complex situation, but it's very important that we need to reprint these billing document. hope u can help me to solve this problem....

  • How to print the Module pool screen using a push button in the screen

    Hi Every one,
                         i have developed a module program , which have a selection screen and it display the output in a structured way.
    output includes boxes, texts etc...
    my problem is :---
    How to print the Module pool screen using a push button in the screen.

    When the "Print" button is pressed:
    leave to list-processing and return to screen 100.  "(current screen)
    Call a transaction that runs your print program.
    Rob

  • How to print the texts retrived by using READ_TEXT fun module in Smartform

    Please tell me how to print the text which is rertrived by using the READ_TEXT function module in smartform.
    I have coded all things in the program lines and in that i am retriveing the long texts.
    I am getting the text lines in my internal table clearly, the thing is that I am not able to pass these lines to the text.
    I have to print the trouble ticket. in that the notes log I have to pass.
    its urgent. Points will be rewarded for any type of clue. whether it will work or not.

    There are a few ways to do it. If you need to take all of the text in the text type, in your SF text element choose "Include Text".
    Populate the fields with the data that corresponds to the text type. It is similar to the interface to the FM "Read_Text.
    Text Name
    Text Obje
    Text ID 
    Language
    Encase any variables with the "&" symbol.
    If you have already coded the call to the FM "READ_TEXT" and loaded the text into an internal table, create a loop and loop through the itab. Inside of the loop create a text element and add a variable in the text element for the field you are looking to output.

  • How to print the standard SMARTFORM by using NACE.

    Kindly provide the full steps.
    thanks in advance.

    Hi,
    <b>1.</b> In transaction NACE select application and then select click on the output button on the application toolbar.
    <b>
    2.</b> Select you output type which you will be using and click procesing routine.
    <b>3.</b> Enter your smartform name in smartform textbox. 
    <b>4</b>. Enter thr program name in the program text box. This is the program through which you are calling your samrtform funtion module.
    <b>5.</b> finally in the form routine enter the routine from where the processing will start in program mentioned above.
    Hope this helps you.
    Enjoy SAP.
    Pankaj Singh.

  • How to set print option for a Billing document using T-code VF02

    Hi All,
    Please suggest me the way to set print option for a Billing document for T-code VF02 and please let me know how to get print preview for any particular Billing document?
    regards
    Anand.

    Enter the billing documents detail
    Goto Goto> Header>Output.
    Check the status for your output type in this screen.
    If it is green then come back to the VF03 screen.Enter the billing document number.
    Click on Billing document-->Issue output to.
    Press (CtrlShiftF1) or click on the icon beside "Print options".
    Here you can see the print preview.
    If the status is red then click on the processing log.Here you will get the error messages.
    If the status is in yellow colour,then click on the "Further Data" button
    Set "Dispatch time" as "4 Send immediately (when saving the application)"
    Before the print preview option you should make sure you have added correct output type to the relevant billing document. To do that, go to transaction VF02.
    Enter the billing document no
    Go to Menu option -> Go to -> Header -> Output
    In that screen you have to add relevant output type. (Standard output type is RD00)
    Add that & press enter key
    Highlight that line & press "Further Data" button
    Set "Dispatch time" as "4 Send immediately (when saving the application)"
    Press "Back" Button
    again select that line & go to "Communication method" button
    Set "Logical destination" as LOCAL"
    Don't mark "Print immediately" & "Release after output" ticks. If you mark them, sa soon as you save the billing document, you'll get a print out.
    Press "Back" Button
    Save
    Now form the initial "Change Billing Document" screen, Go to Menu option; Billing Document -> Issue Output to
    You can see that output type line appear.
    select that line & press "Print Preview" button or (CTRLSHIFTF1)
    You can see the print preview.
    Alternatively you can use VF31 to print multiple print outs at same time.
    If you want to get PDF outputs of billing documents, go to your printer settings in the your computer from Control Panel.
    Set PDF Writer as "Default Printer" (Right click & select "Set as Default Printer")
    Then normal way, print the billing from SAP.
    It'll automatically send to your PDF writer. You can save it to the path you want,

  • 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. :)

  • Create Excise invoice(J1IIN) document while creating billing document using bapi BAPI_BILLINGDOC_CREATEMULTIPLE

    Dear Experts,
    My scenario is:
    We have batch split scenario, where the parent line item of billing document has 0 quantity and its subsequent item (item with batch number) holds actual quantity data.
    When we create billing document using VF01 against delivery document, system creates billing document along with excise invoice document (J1IIN Document). And in excise document contain same number of line items that of billing document. Please see the below attachment: 
    Biiling document screen shot:
    While creating billing document, the J1IIN Document created automatically. Below is the screen-shot for the same.
    Now the issue is:
    When we create billing document using BAPI: BAPI_BILLINGDOC_CREATEMULTIPLE system creating only billing document and not creating excise invoice document.
    When we create excise document manually using J1IIN the zero quantity line items are excluded in excise invoice document.
    Please see the below screen-shot for the same; The z quantity line items are missing.
    We want excise document to be created while creating billing document using BAPI BAPI_BILLINGDOC_CREATEMULTIPLE. Or is there any other BAPI for the same purpose.
    Customization is also maintained for creating excise invoice document automatically.
    Regards,
    Rajesh Sadula.

    HI
      Pricing will be carried basing on the pricing
    procedure.
    Case1: Prices will be carried out automatically if
    necessary condition records are maintained for the
    condition type.
      For this you can go to Sales Order-> Item Conditions
    In the screen you can click on command button Analysis,
    which gives you the list of condition types associated
    to the pricing procedure. By clicking on the condition
    type you can know the action that has taken place.
    Case2: Manually forcing prices for Items.
      To do this, you have to populate ORDER_CONDITIONS_IN &
    ORDER_CONDITIONS_INX. Also note to identify the item
    numbers, you manually pass the item number for each item
    in the sales order, use the same item number for
    populating conditions.
      Parameters required:
    ORDER_CONDITIONS_IN:
      ITM_NUMBER, COND_TYPE, COND_VALUE, CURRENCY
    ORDER_CONDITIONS_INX:
      ITM_NUMBER, COND_TYPE, UPDATEFLAG, COND_VALUE,CURRENCY.
       Hope the above info helps you. Do revert back if you
    need more info.
    Kind Regards
    Eswar

  • Is there any standard thing in sap to find how old is the invoice or Bill.

    Hi Experts,
    i have query regading the invoice or bill.
    i.e. is there any standard functionality in sap to find how old is the invoice or bill.
    Thanks i advance,
    Roopa.K.

    Bill Number and all its corresponding dates may be seen in the table VBRK.
    Bill Document: VBELN
    Billing Date: FKDAT
    Date on Which Record Was Created: ERDAT
    Billing date for the invoice list: FKDAT_RL

  • Delivery document how to print the BOM Parent and Child items

    Hi,
    I have a production BOM. In Delivery document how to print the Parent and Child items Item Code and Qty.At the time
    of add a delivery document Inventory stock redused only in Parent Item not child item because child item stock already reduced in issue for production.

    If you need to print both the BOM Parent and Child items, you have to create your own report. BOM is only for production if it is not Sales type.
    Thanks,
    Gordon

  • How can I print the invoice for my IPad Order?

    I bought the IPad Air from Apple a week ago and it has been delivered yesterday.  I am wondering how I could print the Invoice for that purchase. 
    I didn't make the AppleID when I bought it, so, my order is not linked to my AppleID.  I managed to go onto the "Print Invoice" link and clicked on the "Print Invoice" link.  But it keeps asking to fill in the AppleID.  Since I don't have one, I made the AppleID.  But when I logged in and go to the "Order History" page, it says, "you don't have any recent order".
    Please see the screenshot belows.  Could you please guide me how I could print the Invoice of my order?  Thanks very much.

    You are going to have to put the iPad into Recovery Mode and try again: http://support.apple.com/kb/HT4097

  • How to improve the load performance while using Datasources for the Invoice

    HI All,
    How to improve the  load performance while using Datasources for the Invoice . Actually my invoice load (Appx. 0.4 M records) is taking very long time nearly ~16 to 18 hrs  to update data from R/3 to 0ASA_DS01.
    If I load through flat file it will load with in ~20 Min for the same amount of data.
    Please suggest how to improve load performance.
    PS: I have done the Inpo package settings as per the OSS note.
    Regads
    Srininivasarao.Namburi.

    Hi Srinivas,
    Please refer to my blog posting [/people/divyesh.jain/blog/2010/07/20/package-size-in-spend-performance-management-extraction|/people/divyesh.jain/blog/2010/07/20/package-size-in-spend-performance-management-extraction] which gives the details about the package size setting for extractors. I am sure that will be helpful in your case.
    Thanks,
    Divyesh
    Edited by: Divyesh Jain on Jul 20, 2010 8:47 PM

  • I had a problem with print preview of billing document.

    HI all,
    I had a problem with print preview of billing document which contains two output types ZR1 ZR2..
    For the footer text of billing document I maintained the font size as 7,5 pts, But when i go for print preview from output type ZR1 the font size of footer text is very small and looks good for output type ZR2.
    If i change the print options-->logical destination of output type ZR1 same as Output type ZR2, the footer text looks good.
    I think there is some issue with logical destination in print options for the output type ZR1, how can i resolve  it.

    hi,
    for both the output types , r u using same sapscript or smartform?
    if yes then, u can control it in output options of smartform and also in sapscript , you can control through if condition.
    and if differect sapscript or smartform then you should not get such problem.
    you can check the sapscript or smartfrom in TNAPR table.

  • How to find out associated Billing Document from a PO

    Dear SAP wizards,
    just like we could check an associated PO for a Billing document by going to Display Document Flow, just wondering how can i find out the associted Billing Document for a PO.
    Thanks a lot in advance.
    Rashmi

    Hi Rashmi,
    If there is a sales billing document for a PO, ideally the cycle should be like this
    Sales order-Purchase OrderMIGO/MIRODelivery(If applicable)--Invoice.
    In this case it is not possible to find out the invoice number directly from the purchase order number.
    In the Purchase order, there is a tab at the item level called Account Assignment. It will have the details of the sales order number and line item number filled, if the PO is created with reference to the sales order.Get this sales order number.
    Using this sales order number, the delivery number or invoice number can be found out from the table VBFA by providing sales order number as VBFA-VBELV and giving VBFA-VBTYP_N as either J or M, J for delivery and M for invoice. Now you will get the invoice number for the transaction chain.
    Hope this helps.

Maybe you are looking for