How to Customize Preview and Print / Sales Order Acknowledgement

Hi,
Our client needs some additional attributes on a sales order acknowledgement print ( Preview and Print ) output.
The current layout is based on ONTORDDFFN.xml and ONTORDDFN.xsd
How to customize the same to include additional attributes like Territory and Shipping instructions etc.These new fields are not there in xsd or the xml.
Appreciate your great help.
Regards,
Raju

Per Oracle you need to implement the method "getPrintExtensionXMLFragment" of  PrintExtensionObject.java. Oracle has given the flexibility that getPrintExtensionXMLFragment can either return a XMLFragement or a sql query.. If the code in getPrintExtensionXMLFragment returns a string which starts with "select" Applications code will execute that query and the corresponding XML will be appended to the main XML. This needs to be written in a CustomClass and then set to the Profile " OM: Printed Document Extension Class Name".
I would like to know if somebody has extensively added columns at the different levels (header, lines, Addresses, Line Discounts, Charges) and the same additional cols. were implemented in the CustomClass. Let me know.
Regards,
Rajesh.

Similar Messages

  • How to print sales order acknowledgement while printing purchase order

    how to print sales order acknowledgement while printing corresponding purchase order
    in me22n

    in print program of Purchase order.. try to trigger output for Order Ack. as well...
    Order acknowledgement

  • Sap afs - how to customize matrix grid in sales order creation

    Hello,
    can anyone help to understand how to customize the matrix grid shown at sales order creation/change (VA01 - AFS Item overview tab - Matrix entry pushbutton). Here system, starting from inserted material nr, shows all possible combination from material's sales grid. The requirement asks to manage the matrix grid before it is shown to the user.
    Thanks in advance for your help
    maurizio

    Hi
    It depends on master data of your material
    Max

  • Sales Order Acknowledgement Reports

    Has anyone had any problems printing Sales Order Acknowledgement Reports after upgrading to OE Patchset H?

    Has anyone had any problems printing Sales Order Acknowledgement Reports after upgrading to OE Patchset H?

  • Sales Orders Screen: Preview and Print Option Not Available in Actions LOV

    Hi,
    We are using Custom Responsibility for Order Management.
    We can't find the Preview and Print Option in Actions list(Sales Orders -> Query for Sales Orders -> Actions).
    Kindly let me know how to add the Preview and Print Option to the LOV.
    Thanks,
    Tamil

    Hello,
    You have to find this function in standard responsibility and copy this name to your own.
    Regards,
    Luko

  • I am unable to see print preview for my sales orders in VA03.

    Hi All,
    I am unable to see print preview for my sales orders in VA03.
    When ever i am selecting an order and from
    menu-> sales document-> issue output to
    it is raising information message on my status bar no output
    has been selected for printing.
    How can i view may print preview for sales order other
    than from va02/vao3.
    Can we view preview of a sales order if there is no output type is mapped to
    form. if yes can please give me the steps.
    Thanking in advance.
    Best Regards,
    TRS GUPTA

    Hi,
    Go to NACE transaction , from there choose the V1 application,now click on Output types. now see the Output types for print related.
    Now use them for your preview.
    you need to provide Output type  to view the preview
    May be you are missing some configuration(in your case Order type may be Z* so it requires Some Config ).
    Regards
    vijay

  • "Preview and Print " report extension in Order Management

    Looking for help on how to add extra information to this report.. I did setup the profile to implement the how to implement PrintExtensionObject interface with method getPrintExtensionXMLFragment.... and created the class file and compiled on Java_top. ( Am very new to java)
    -- enabled the logs
    -selected an order in OM and via action button (preview and print)
    --Shows error message "An error occured during the PDF document generation. Please contact your system Administrator."
    As per the fnd logs table (SELECT * FROM fnd_log_messages WHERE message_text LIKE '%PrintAM:writeBusinessDoc%';)
    shows the following ..
    PrintAM:writeBusinessDoc: Checking for Customer Extension Class
    PrintAM:writeBusinessDoc: Custom Extension Class Found
    PrintAM:writeBusinessDoc:Successfully instantiated the Custom Extension Class
    PrintAM:writeBusinessDoc: Retrieving Custom Extension XML failed
    So I am sure that the issue is on the class which I made.. but not sure what is the cause (Again as mentioned I am new to java) and can anyone help me on this..
    ( I did check the PrintAMImpl.java which calls this profile (Custom class) and can see the above message.
    (Oracle PrintAMImp.java related codes are this
    s29 = ((OADBTransaction)getDBTransaction()).getProfile("ONT_PRINT_CUSTOMER_EXTN_OBJECT");
    if(s29 != null || s29 == "")
    if(flag3)
    logfile.writeln("PrintAM:writeBusinessDoc: Custom Extension Class Found", 1);
    logfile.writeln("PrintAM:writeBusinessDoc: Instantiating the Custom extension class", 1);
    if(flag6)
    oadbtransaction.writeDiagnostics(s6, "PrintAM:writeBusinessDoc: Custom Extension Class Found", 1);
    oadbtransaction.writeDiagnostics(s6, "PrintAM:writeBusinessDoc: Instantiating the Custom extension class", 1);
    PrintExtensionObject printextensionobject = (PrintExtensionObject)Class.forName(s29).newInstance();
    if(flag6)
    oadbtransaction.writeDiagnostics(s6, "PrintAM:writeBusinessDoc:Successfully instantiated the Custom Extension Class", 1);
    if(flag3)
    logfile.writeln("PrintAM:writeBusinessDoc: Successfully instantiated the Custom Extension Class", 1);
    byte abyte0[] = printextensionobject.getPrintExtensionXMLFragment(s, s1).toByteArray();
    if(flag6)
    oadbtransaction.writeDiagnostics(s6, "PrintAM:writeBusinessDoc:Getting the data from the user impl class", 1);
    if(flag3)
    logfile.writeln("PrintAM:writeBusinessDoc: Getting the data from the user impl class", 1);
    bytearrayoutputstream.write(abyte0);
    if(flag6)
    oadbtransaction.writeDiagnostics(s6, "PrintAM:writeBusinessDoc:Writing the data to the main xml", 1);
    if(flag3)
    logfile.writeln("PrintAM:writeBusinessDoc: Writing the data to the main xml", 1);
    } else
    if(flag3)
    logfile.writeln("PrintAM:writeBusinessDoc: No Custom Extension Class Found", 1);
    if(flag6)
    oadbtransaction.writeDiagnostics(s6, "PrintAM:writeBusinessDoc: No Custom Extension Class Found", 1);
    catch(Exception exception1)
    if(flag2)
    logfile.writeln((new StringBuilder()).append("PrintAM:writeBusinessDoc: Retrieving Custom Extension XML failed for ").append(s29).append(" with Exception \n").append(exception1.toString()).toString(), 1);
    if(flag6)
    oadbtransaction.writeDiagnostics(s6, "PrintAM:writeBusinessDoc: Retrieving Custom Extension XML failed", 1);
    **********************THIS IS CUSTOM CLASS I WAS TRYING TO DO ********************************(not a java person)
    package oracle.apps.ont.print.server;
    import com.sun.java.util.collections.HashMap;
    import java.io.*;
    import java.sql.SQLException;
    import java.util.Hashtable;
    import java.util.Properties;
    import oracle.apps.fnd.common.AppsContext;
    import oracle.apps.fnd.common.MessageToken;
    import oracle.apps.fnd.common.EnvironmentStore;
    import oracle.apps.fnd.common.VersionInfo;
    import oracle.apps.fnd.cp.request.CpContext;
    import oracle.apps.fnd.cp.request.LogFile;
    import oracle.apps.fnd.cp.request.OutFile;
    import oracle.apps.fnd.cp.request.JavaConcurrentProgram;
    import oracle.apps.fnd.framework.OAException;
    import oracle.apps.fnd.framework.OAFwkConstants;
    import oracle.apps.fnd.framework.server.OAApplicationModuleImpl;
    import oracle.apps.fnd.framework.server.OADBTransaction;
    import oracle.apps.fnd.framework.server.OADBTransactionImpl;
    import oracle.apps.fnd.framework.*;
    import oracle.apps.okc.printing.server.ContractTermsXMLGenerator;
    import oracle.apps.okc.util.server.TermsConstants;
    import oracle.apps.okc.util.server.TermsUtil;
    import oracle.apps.ont.print.blanket.server.HeaderVOImpl;
    import oracle.apps.ont.print.blanket.server.HeaderVORowImpl;
    import oracle.apps.ont.print.blanket.server.LinesVOImpl;
    import oracle.apps.ont.print.order.server.EndCustomerVOImpl;
    import oracle.apps.ont.print.server.PrintExtensionObject;
    import oracle.apps.qp.print.blanket.server.ModAtrbsVOImpl;
    import oracle.apps.qp.print.blanket.server.ModHdrVOImpl;
    import oracle.apps.qp.print.blanket.server.ModLinesVOImpl;
    import oracle.apps.qp.print.blanket.server.ModPrBrkVOImpl;
    import oracle.apps.qp.print.blanket.server.PrlAtrbsVOImpl;
    import oracle.apps.qp.print.blanket.server.PrlHdrVOImpl;
    import oracle.apps.qp.print.blanket.server.PrlLinesVOImpl;
    import oracle.apps.qp.print.blanket.server.PrlPrBrkVOImpl;
    import oracle.apps.xdo.XDOException;
    import oracle.apps.xdo.oa.schema.server.Template;
    import oracle.apps.xdo.oa.schema.server.TemplateHelper;
    import oracle.apps.xdo.template.FOProcessor;
    import oracle.apps.xdo.template.RTFProcessor;
    import oracle.jbo.RowIterator;
    import oracle.jbo.RowSet;
    import oracle.jbo.XMLInterface;
    import oracle.jbo.domain.BaseLobDomain;
    import oracle.jbo.domain.BlobDomain;
    import oracle.jbo.domain.Number;
    import oracle.jbo.server.ApplicationModuleImpl;
    import oracle.jbo.server.DBTransaction;
    import oracle.jbo.server.ViewLinkImpl;
    import oracle.jdbc.OracleTypes;
    import oracle.jdbc.driver.OracleCallableStatement;
    import oracle.jdbc.driver.OraclePreparedStatement;
    import oracle.jdbc.driver.OracleResultSet;
    import oracle.jdbc.driver.OracleConnection;
    import oracle.xml.parser.v2.XMLNode;
    import java.lang.*;
    import java.sql.*;
    public class KciSoPrintClass implements PrintExtensionObject
    KciSoPrintClass()
    public ByteArrayOutputStream getPrintExtensionXMLFragment(String s, String s1)
    ByteArrayOutputStream bytearrayoutputstream = new ByteArrayOutputStream();
    String s2 = null;
    String s3 = null;
    String s40 ="KciCustomClass";
    byte abyte0[] = null;
    byte abyte1[] = null;
    OAApplicationModuleImpl a1=new OAApplicationModuleImpl();
    OADBTransaction dbtransaction = (OADBTransaction)a1.getTransaction();
    dbtransaction.writeDiagnostics(s40, "Sujo John"+ s,1);
    try
    //OAApplicationModuleImpl a1=new OAApplicationModuleImpl();
    //OADBTransaction dbtransaction = (OADBTransaction)a1.getTransaction();
    Statement stmt = dbtransaction.createStatement(1);
    System.out.println("Testline1");
    String str = "select attribute7, attribute8 from oe_order_headers_all where header_id = " + s + " and 'O' = " + s1;
    System.out.println("Testline2");
    ResultSet resultset = stmt.executeQuery(str);
    dbtransaction.writeDiagnostics(s40, "nessDoc method"+ s,1);
    dbtransaction.writeDiagnostics(s40, "START:Prinoc method"+ s1,1);
    //OAApplicationModule am = pageContext.getApplicationModule(webBean);
    //OracleConnection conn = (OracleConnection)dbtransaction.getJdbcConnection();
    //OracleConnection conn = (OracleConnection)dbtransaction.getLocalJDBCConnection();
    //Connection conn = (Connection)am.getOADBTransaction();
    //DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    //Connection conn = new oracle.jdbc.driver.OracleDriver().defaultConnection ();
    //Class.forName("oracle.jdbc.driver.OracleDriver");
    System.out.println("Sujo");
    //Connection conn = DriverManager.getConnection("jdbc:oracle:thin:APPS/[email protected]:1533");
    //System.out.println("Sujo2");
    //String s41 = "select shipping_instructions,attribute8 from OE_ORDER_HEADERS_ALL where header_id = " + s + " and 'O' = " + s1;
    //System.out.println("Sujo3");
    //Statement statement = conn.createStatement();
    //dbtransaction.createStatement();
    //ResultSet resultset = statement.executeQuery(s41);
    if(resultset.next())
    s2 = resultset.getString("attribute7");
    s3 = resultset.getString("attribute8");
    catch(SQLException sqlexception)
    sqlexception.printStackTrace();
    catch (Exception e)
    System.err.println("Got an exception! ");
    System.err.println(e.getMessage());
    try
    //s2 = "abc";
    if(s2 != null)
    abyte0 = s2.getBytes("UTF-8");
    //s3 = "abc1";
    if(s3 != null)
    abyte1 = s3.getBytes("UTF-8");
    bytearrayoutputstream.write("<attribute7>".getBytes("UTF-8"));
    bytearrayoutputstream.write(abyte0);
    bytearrayoutputstream.write("</attribute7>".getBytes("UTF-8"));
    bytearrayoutputstream.write("<Attribute8>".getBytes("UTF-8"));
    bytearrayoutputstream.write(abyte1);
    bytearrayoutputstream.write("</Attribute8>".getBytes("UTF-8"));
    catch(IOException ioexception)
    ioexception.printStackTrace();
    // dbtransaction.writeDiagnostics(s40, "START:PrintAM:writeBusinessDoc method"+ abyte0[0]);
    // dbtransaction.writeDiagnostics(s40, "START:PrintAM:writeBusinessDoc method"+ abyte1);
    return bytearrayoutputstream;
    Any help will be appreciated

    There is a custom extension class available for this "Print and Priview" report. You can implement that and return the SQL Query in the class so that it gets executed and adds the custom attribute information at the end of XML file and you can modify the layout to add the information. The extended java class can return "select statement" or XML data. If it returns select statement code executes the query and adds the xml data at the end or returned XML data will be added. Look for Profile "OM: Printed Document Extension Class Name"

  • Adding New View Objects/Link on "Preview and Print" - Order Acknowledgement

    Hi,
    Can we add New View Objects/View Links for the existing "Preview and Print" Order Acknowledgement.
    I want to add for the 2 new functionalities i.e., for Charges (from OE_PRICE_ADJUSTMENTS_V ) and the Line Level Notes, which is currently not supported by Oracle.
    Can anyone help me on acheving this functionality?
    Looking forward for your response.
    Thanks in advance,
    Regards,
    Muru

    You can do that. You should first create the new business objects(AM, VO, VL) in jdeveloper, create your new regions in jdeveloper, associate the AM to the top level region(stackLayout) you create. Use personalization and add a stack layout in the Preview and Print page, set the extends property to point to the new region which you had created. Donot forget to deploy all the files in middle tier before doing the personalization.
    The AM which you had added to the stackLayout will automatically be nested with the root AM of the page during runtime.

  • How to get the ammendment sales order number and original sales order no?

    Hello sir's,
    Please tell me the table for ammendment(revised) sales order number and original sales order no.
    Thanks in advance,
    vikram

    Solved

  • Preview and Print in Actions Tab

    Hi,
    I have customized the sales order acknowledgement report and created a new report with my modifications and designed a rtf template to view the output.
    I need to call my new template in the place of Preview and Print.
    I referred to Note:341206.1 which states to update the template. As I have modified the report itself , this doesn't works. Can anyone let me know to do the same?
    Thanks
    GM

    I found metalink note 404144.1 where is explained how to customize the data source. However I don't know how to define such java class. I'm just a beginner in JDeveloper.
    I hope this help. If you are interested please continue the thread. I will try to help, it's very interesting to me.

  • Preview and Print not seen in Actions Tab

    Hi,
    I could not see the preview and print option in the actions tab of the sales order, from where is it originated???
    What should i do to see this.
    Regards,
    prasad

    Guys,
    My XML Publisher was not installed, Thats why this problem.
    Enabled this, Issue is solved now.
    Prasad

  • Print preview and print doesn't show the correct out put result when i connnected with EPSON LX-300+II

    I hava an html webpage with css & print css. The print preview and print doesn't give correct output there is alignment problem when i connected with EPSONLX-300+II. But iam connected with hp laserjet they show the correct output with firefox. Please fix the problem as soon.....

    I have same problem as you, but later I know how to deal with it.
    1. change your print default preferences to
    print quality into (120x144 dpi, or other which suites you)
    mine goes well to 120x144 dpi
    2. Before print enter File->Page setup, set true to option shrink to page width
    in order to fit your page into your desired paper
    (firefox will resize your content to suit the paper you choose).
    If you dont want this you can disable this option.
    3. Still in Page Setup, if checkbox "Print background (color & images)" is unchecked then
    white text will be printed black.
    Set this checked if you want to print white text as it is color.
    I hope it answers your question.
    Steve
    http://www.dailymobilegames.com

  • Print Sale Order Number In PLD of A/R Invoice in SAP B1

    Dear support team,
    How to print Sale Order Number In PLD of A/R Invoice in SAP B1
    Thanking you
    Pradnya

    Hi Pradnya......
    You can do one thing.
    Create a UDF at SO header level and via FMS pull Document No. to that UDF.
    for this FMS please try this...
    Select $[ORDR.DocNum.0]
    Save above FMS to UDF at SO level.
    When you copy SO to Delivery and then to Invoice the SO no. gets copied to Invoice...
    from this fiedl you can pick in PLD....
    Hope this will help you......
    Regards,
    Rahul

  • Mass Print Sales Orders

    Hello,
    I need to mass print sales orders.
    Upon trying to use program SD70AV1A using the following settings:
    Output Type                       Z***
    Transmission Medium         1
    Sort order                           01
    Processing mode                1           (I have tried 2 and 3 also)
    Sales Document                 *****
    Sales Organization              ***
    I receive a status saying that there are no messages to be printed.
    I have read that this method will not work if the output type is not already defined in the sales order.
    How can I mass populate the output type in the sales order so I can use this program?
    I have also read that the program RSNAST00 may be used in this instance using output application 'V1' (for sales).
    In trying to use this program I also receive a status saying that there are 0 outputs processed.
    I have tried variations on the object key (Sales order number, Sales order number with leading zeros, sales order number concatenated with item number, sales order number concatenated with item number with leading zeroes) all to no avail.
    What am I doing wrong? How can I mass print sales orders?
    Thanks.
    N.B. Processing them one by one in VA02 works as it should.

    The trouble with using LSMW is that I need the process to be as simple as possible for end users who won't have access to LSMW.
    If it is a standard SAP report that can be used to mass print sales orders, we can always create a custom tcode for it, which would satisfy the requirement for an end user to be able to use it.
    I'd also like to point out that I realise there have been a fair few discussions started and closed on the same topic in this forum but I have not been able to find a solution in any of them that works.
    Message was edited by: Benjamin Allsopp

  • How to update  pricing in open sale order

    Hi all
    in open sale order suppose my basic price has been changed .how Can i update all open sales order basic price in one shot.

    Dear Sachin,
    Please follow the point as given below;
    1. In VTFL for your item category maintain pricing type as B if it is delivery related billing and if it is order related billing VTFA maintain pricing type as B and one more thing maintained Billing Quantity as C if you using VTFA and Billing Quantity as D if you using VTFL.
    2. Create the new condition records in VK11 for your new price ( Do not change the existing  condition record in VK12) with proper validity dates
    3. Use update button in billing the system will pick the new record by accessing VK11 in billing.
    Try this, it will work.
    Regards,
    Bharat B

Maybe you are looking for