Which FM used in xml inbound in SUS PO

Hi
Please let me know my queries.
a. What is the Function module used for xml inbound ( FOR PO document ) to SUS from MM system via XI system.
b .What are the BADIS available for xml inbound operation for SUS scenario from MM system
Regards
Pooja

Hi
Please see the ans below
BBP_SAPXML1_SUSPO_CREATE_IN---> INBOUND.
badi ---> BBP_SAPXML1_IN_BADI
Ashish

Similar Messages

  • Which Book is good for e-commerce using JAVA & XML

    I want to find a Book that is good for e-commerce using JAVA & XML,
    or where can find JAVA & XML new and develop?
    can you suggest me?
    Thanks very much!

    I can recommend "Java and XML" from O'Reilly. It's a very good book.

  • Xml inbound server

    Hi!
    I need to set up a inbound java proxy (stand-alone) for XI 2.0. There is a way to work around a bean implementation. By implementing the method on a Web Server.
    In the documentation I read that, SAP offers the alternative by using a so called XML-Inbound Server. Which is a standalone application listening on the HTTP Port to receive the HTTP request coming out of the XI, delegating the request to the implementation method, and returning with a http response to the XI....
    My only problem is to find this XML-Inbound Server. What is it? Just a bunch of jars? The Documentation tells me about go and startup scripts, and properties file where I can bound classes to lookup-names.
    any hint would be great

    Hello Emile,
    do you have a solution regarding your problem? If not, here is a good one.
    I think you have inserted the code inside the generated proxy method. Within this method it is a little bit tricky to get the controller structures filled. This could be done by parsing the input data once more... Here is an code example for this:
    ls_input_data-name = 'INPUT'.
    GET REFERENCE OF input INTO ls_input_data-value.
    APPEND ls_input_data TO lt_input_data.
    lo_server_context = cl_proxy_access=>get_server_context( ).
    lo_payload_protocol ?= lo_server_context->get_protocol( if_wsprotocol=>payload ).
    lo_payload_protocol->set_extended_xml_handling( extended_xml_handling = 'X' ).
    lo_payload_handler = lo_payload_protocol->get_payload_handler( '<Name of structure data element>' ).
    lo_payload_input = lo_payload_protocol->get_sent_request_payload( ).
    lo_payload_handler->get_request_data_from_payload(
      EXPORTING
        payload = lo_payload_input
      CHANGING
        request_data = ls_input_data ).
    But a much easier and better way is to insert the following coding within a constructor of the generated Proxy class.
    lo_server_context = cl_proxy_access=>get_server_context( ).
    lo_payload_protocol ?= lo_server_context->get_protocol( if_wsprotocol=>payload ).
    lo_payload_protocol->set_extended_xml_handling( extended_xml_handling = 'X' ).
    As in each standard ABAP class, you can insert your own constructor within proxy classes. If you do so and insert the code in it the controller table will be filled with the needed information.
    Best Regards,
    Lars

  • How to force simple tags and null attributes to appear when using SQL/XML?

    Hello everybody:
    I'm developing a non-schema based XMLType view.
    When the XML document is generated, i noticed two things I need to manage in order to achieve the desired result:
    1. Oracle generates a <tag></tag> pair for each XMLELEMENT defined; in my case, some tags need to appear as <tag/>... how do I do? Is it possible when using schema based XMLType views? Is it possible while using a non-schema approach?
    2. When using XMLATTRIBUTE('' AS "attribute") or XMLATTRIBUTE(NULL AS "attribute"), no one attribute with label "attribute" and null value appears at the output; how do I force to Oracle DB to render those attributes which are with no values (needed to render those attributes as another parsing code will await for all the items)?
    3. Some tip about how to route the output to an XML text disk file will be appreciated.
    Thanks in advance.
    Edited by: Enyix on 26/02/2012 11:21 PM
    Edited by: Enyix on 26/02/2012 11:22 PM

    Hello odie_63, thanks for your reply:
    Reasons why needed single tags are these two next: Needed to generate a single XML file from 50,000,000 rows, where the XML ouput matches not only row data but another default values for another elements and attributes (not from database but using strings and types with default values); by using start and end tag, the generated file is as much twice bigger than using single tags; second, needed a very precise presentation for all the document.
    For generating that document, currently focus is based on using a batch process relying on Spring Batch with using a single JDBC query where a join happens between two tables. From my point of view, that approach uses: database resources, network resources, disk resources, and processing resources, including the price of making the join, sending to network, creating objects, validating, and making the file (Expending too much time generating that XML file). That processs currently is in development.
    I think possibly another approach is delegating the complete generation of that file to the database using its XML capabilities. My current approach following your recomendations is to generate a clob where I will put all the XML and putting it into a table. It leads me to another issues: Considering limitations on memory, processing and disk space, needed to append a single row-as-xml into the clob as soon as possible, and putting the clob inside the field as soon as possible, or putting the clob inside the field, and appending into it as the data is generated; so How do I manage the process in order to achieve that goals?. Seen these issues aren't related to my original question, so I'll open a new post. Any help will be apreciated.
    Thanks again in advance.

  • How do I use XSLT & XML is stored in InterMedia Text.....

    I use interMedia Text to store XML document. How do I use the XSLT Processor API to transform the data which is searched by XML SQL Utility??
    //***Source Code
    public Document xmlquery(String tabName,String xslfilename)
    Document xmlDocToReturn = null;
    String xmlString;
    try
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    //initiate a JDBC connection
    // initialize the OracleXMLQuery
    OracleXMLQuery qry = new OracleXMLQuery(conn,"select XML_TEXT from bookstore where contains (xml_text,'John WITHIN authorsec')>0");
    // structure the generated XML document
    qry.setMaxRows(2);
    // set the maximum number of rows to be returned
    // get the XML document in string format
    xmlString = qry.getXMLString();
    // print out the XML document
    System.out.println(" OUTPUT IS:\n"+xmlString);
    // get the XML document in string format
    xmlDocToReturn = qry.getXMLDOM();
    conn.close();
    catch (SQLException e) {
    return xmlDocToReturn;
    xml = (XMLDocument)query.xmlquery(args[1],args[0]);
    // Instantiate the stylesheet
    XSLStylesheet xsl = new XSLStylesheet(xsldoc, xslURL);
    XSLProcessor processor = new XSLProcessor();
    // Display any warnings that may occur
    processor.showWarnings(true);
    processor.setErrorStream(System.err);
    // Process XSL
    DocumentFragment result = processor.processXSL(xsl, xml);
    Thank you.
    null

    Your problem here is that when you store an XML document in a CLOB and search it using intermedia, when you do a query like:
    SELECT xml_text
    FROM bookstore
    WHERE CONTAINS(xml_text,'John WITHIN authorsec')>0
    The output from the XML SQL Utility using getXMLDOM() looks like this:<ROWSET>
    <ROW>
    <XML_TEXT><![CDATA[
    <bookstuff>
    <authorsec>
    <name>Steve</name>
    </authorsec>
    etc.
    </bookstuff>
    ]]>
    </XML_TEXT>
    </ROW>
    </ROWSET>with the document as a single text value (it's actually just a text node, not a CDATA node) but the above illustrates conceptually that the whole XML document is one big text node.
    To transform this you'll need to parse that XML text into an XML document in memory by passing constructing a StringReader() on the text value and parsing that reader.
    null

  • HOW TO: Use the XML parser in Oracle 8.1.7

    I am trying to figure out how to use the xml parser provided in oracle 8.1.7. all i want to do is parse a xml report that is defined using a schema, and place the data into the proper tables. i am totally unfamiliar with the xml parser and how it works. i have done some reading on the subject, but seem to be getting some conflicting infromation about which utilites i need and how to invoke them. can someone please tell me what utilities i need, how to invoke them, and what i need to do to get a xml document to parse and insert to a table? I would greatly appreciate any help anybody could offer. thanks.

    You can parse the XML Document with XML Parser and place the data into database using XSU(XML SQL Utility).
    Both of these are included in XDK for Java at:
    http://otn.oracle.com/tech/xml/xdk_java
    The following document could also help:
    Oracle9i XML Developer's Guide--XDK [PDF] at http://otn.oracle.com/tech/xml/doc.html

  • Can I Use a XML file as Managed Resource?

    Hi,
    I have a XML file which has all employee details.
    Can I use that XML file as a Resource in IDM?
    If so please let me know the steps to do.
    Please help me in this regard.
    Thanks
    RMS

    No.
    Since the XML file you have has custom tags, there is not a way for IDM to understand it's contents.
    IDM does offer a "Simulated" resource, which is an XML based resource, but it has a defined structure. You might be able to alter your XML to match what the Simulated Resource expects, or better yet, get it into a database and use the database table adapter.

  • 500 error while trying to access a jsp which makes use of tiles tags

    Hi all,
    when im trying to access a jsp which makes use of tiles tags, im getting the following error.
    status 500:
    org.apache.jasper.JasperException: The absolute uri: http://struts.apache.org/tags-tiles cannot be resolved in either web.xml or the jar files deployed with this application
    what might be the problem?
    Thanks in advance.

    Hi all,
    sorry...got the reason for the above error..missed to include the tld file in WEB-INF.

  • Validate xslt against JDK5 so we can remove the 'Use SAP XML Toolkit' flag

    We are working on PI7.1 and have hit an issue with an XSLT mapping. We were getting an error when testing that said:
    TransformerException during XSLT processing:
    javax.xml.transform.TransformerException: com.sun.org.apache.xalan.internal.xsltc.TransletException: com.sun.org.apache.xalan.internal.xsltc.TransletException: java.io.FileNotFoundException
    We found a few threads on SDN pointing us to using the 'Use SAP XML Toolkit' flag, which we'd not even noticed before. Ticking this flag did get us around the problem. Further investigation suggested to us, however, that this flag will not be available in future releases, so I guess our best solution would be to try and resolve the issues in our mapping against the current version of java (JDK5). When we use other tools such as XMLSPY they do not detect a problem with the XSLT. Can anyone point me to a tool that would enable us to validate our XSLT file against JDK5, which will provide us with error messages that will enable us to fix the error and therefore remove the 'Use SAP XML Toolkit' flag?
    thanks,
    Malcolm.

    > Can anyone point me to a tool that would enable us to validate our XSLT file against JDK5, which will provide us with error messages that will enable us to fix the error and therefore remove the 'Use SAP XML Toolkit' flag?
    I am sorry to have to say that even inside SAP nobody can answer this question.
    In principle it will work when it is pure XSLT 1.1 but some commands from XSLT 2.0 might work also.

  • How many types of ports are there which we use for data transfe in ale/idoc

    friends let me know how many types of ports  are there which we use for transfering
    data in ale/idocs?

    Hello,
    you can use file port,trnasactional RFC port.FI you are using IDOC-XML conversion combination,then you can XML port also.
    Thanks

  • MDM adapter Non-XML Inbound Messaging

    Hi all,
    I have a scenario where I transport a csv file via PI (NW711_05_REL) to MDM using the File adapter (sender) and MDM adapter 7.1 7.1 (receiver).
    The message is sent through to the MDM port fine, and it seems to choose xml as default file type and PI MSG ID as file name.
    This results in an xml file with csv content.
    As I want to put the file on the port with its original file type (csv) and name, I need to tweak the MDM adapter a bit. For this I have tried to find MDM specific modules, but have been unable to do so.
    I have found a u201Cwork aroundu201D by using u201CSet Adapter Specific Message Attributeu201D on the sender file adapter u2013 described on help.sap.com
    Configuring the sender file adapter as described in http://help.sap.com/saphelp_nwmdm71/helpdata/en/48/9854884d3217cee10000000a421937/content.htm i am able to set the "FileName" attribute in dynamic configuration.
    This enables me to get some of the desired effect, as the file on the MDM port is now a csv file u2013 half way there!! However the file name remains PI MSG ID...
    Am I missing something here or is the adapter not working as intended? I donu2019t understand why it should only use the file type when the entire filename and type is there. I would assume that the entire filename and extension would be used in the MDM port.
    I have tried achieving the desired result by using the "AF_Modules/DynamicConfigurationBean" on a JMS adapter, but the result is the same.
    I would like to avoid developing my own custom module to handle this, as it seems like it should be possible to handle in a more standard way.
    I hope someone out there can help me out, and hope to see a lot of good replies.
    Best Regards,
    Jesper

    have you gone thur these settings?
    Non-XML Inbound Messaging
    When the backend system uses the PI File Adapter sender as the communication channel to deliver messages to the PI server, and the receiving MDM channel corresponds to an inbound MDM port of type other than XML (for example, Flat text file), then you must enable the File Adapter Specific Message Attribute named File Name as follows:
           1.      Edit the corresponding File Adapter sender communication channel.
           2.      In the Advanced tab, choose Set Adapter Specific Message Attribute.
           3.      Choose the File Name.
           4.      Save and activate the changes.
    http://help.sap.com/saphelp_nwmdm71/helpdata/en/48/9854884d3217cee10000000a421937/frameset.htm

  • Detecting transform errors when using org.xml.sax.XMLFilter

    I am using javax.xml.transform.sax.SAXTransformerFactory.newXMLFilter to transform xml against a pipeline of stylesheets (See function testPipelineTransform in the example below). The process works okay, excepting that I cannot figure out how to detect errors in the transformation process.
    I would like to achieve the same result for the pipeline process as I would for a single transformation using javax.xml.transform.Transformer.setErrorListener. The example below demonstrates how the call to javax.xml.transform.Transformer.setErrorListener does not generate the same result when using org.xml.sax.XMLFilter as it does when using a single transformation.
    import javax.xml.parsers.ParserConfigurationException;
    import javax.xml.parsers.SAXParser;
    import javax.xml.parsers.SAXParserFactory;
    import org.xml.sax.SAXException;
    import org.xml.sax.InputSource;
    import org.xml.sax.XMLReader;
    import org.xml.sax.XMLFilter;
    import javax.xml.transform.ErrorListener;
    import javax.xml.transform.Source;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.TransformerException;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.TransformerConfigurationException;
    import javax.xml.transform.sax.SAXTransformerFactory;
    import javax.xml.transform.sax.SAXSource;
    import javax.xml.transform.stream.StreamSource;
    import javax.xml.transform.stream.StreamResult;
    import java.io.*;
    public class FilterChain {
        static private final String newline = System.getProperty("line.separator");
         public static void main(String argv[]) {
              System.out.println("Testing pipeline transform");
              testPipelineTransform();
              System.out.println("Testing single transform");
              testXsltSingleTransform();
         } // main
         static private void testPipelineTransform() {
              try {
                   // Set up the input stream
                   BufferedInputStream bis = new BufferedInputStream(
                             new ByteArrayInputStream(getExample().getBytes()));
                   InputSource input = new InputSource(bis);
                   // Set up to read the input file
                   SAXParserFactory spf = SAXParserFactory.newInstance();
                   SAXParser parser = spf.newSAXParser();
                   XMLReader reader = parser.getXMLReader();
                   // Create the filters
                   SAXTransformerFactory stf = (SAXTransformerFactory) TransformerFactory
                             .newInstance();
                   XMLFilter filter1 = stf.newXMLFilter(new StreamSource(new StringReader(getStylesheet1())));
                   XMLFilter filter2 = stf.newXMLFilter(new StreamSource(new StringReader(getStylesheet2())));
                   // Wire the output of the reader to filter1
                   // and the output of filter1 to filter2
                   filter1.setParent(reader);
                   filter2.setParent(filter1);
                   // Set up the output stream
                   StreamResult result = new StreamResult(System.out);
                   // Set up the transformer to process the SAX events generated
                   // by the last filter in the chain
                   Transformer transformer = stf.newTransformer();
                   transformer.setErrorListener(new ErrorListener() {
                        public void error(TransformerException te)
                                  throws TransformerException {
                             System.out.println("Transform generated Transform Error");
                             System.out.println(te.getMessage());
                        public void fatalError(TransformerException te)
                                  throws TransformerException {
                             System.out
                                       .println("Transform generated Transform Fatal Error");
                             System.out.println(te.getMessage());
                        public void warning(TransformerException te)
                                  throws TransformerException {
                             System.out.println("Transform generated Transform Warning");
                             System.out.println(te.getMessage());
                   SAXSource transformSource = new SAXSource(filter2, input);
                   transformer.transform(transformSource, result);
              } catch (TransformerConfigurationException tce) {
                   // Error generated by the parser
                   System.out.println("\n** Transformer Factory error");
                   System.out.println("   " + tce.getMessage());
                   // Use the contained exception, if any
                   Throwable x = tce;
                   if (tce.getException() != null)
                        x = tce.getException();
                   x.printStackTrace();
              } catch (TransformerException te) {
                   // Error generated by the parser
                   System.out.println("\n** Transformation error");
                   System.out.println("   " + te.getMessage());
                   // Use the contained exception, if any
                   Throwable x = te;
                   if (te.getException() != null)
                        x = te.getException();
                   x.printStackTrace();
              } catch (SAXException sxe) {
                   // Error generated by this application
                   // (or a parser-initialization error)
                   Exception x = sxe;
                   if (sxe.getException() != null)
                        x = sxe.getException();
                   x.printStackTrace();
              } catch (ParserConfigurationException pce) {
                   // Parser with specified options can't be built
                   pce.printStackTrace();
         static private void testXsltSingleTransform() {
              try {
                   BufferedInputStream bis = new BufferedInputStream(
                             new ByteArrayInputStream(getExample().getBytes()));
                   // Set up the output stream
                   StreamResult result = new StreamResult(System.out);
                   InputSource input = new InputSource(bis);
                   TransformerFactory factory = TransformerFactory.newInstance();
                   Source source = new StreamSource(new StringReader(getStylesheet2()));
                   Transformer stylesheet = factory.newTransformer(source);
                   stylesheet.setErrorListener(new ErrorListener() {
                        public void error(TransformerException te)
                                  throws TransformerException {
                             System.out.println("Transform generated Transform Error");
                             System.out.println(te.getMessage());
                        public void fatalError(TransformerException te)
                                  throws TransformerException {
                             System.out
                                       .println("Transform generated Transform Fatal Error");
                             System.out.println(te.getMessage());
                        public void warning(TransformerException te)
                                  throws TransformerException {
                             System.out.println("Transform generated Transform Warning");
                             System.out.println(te.getMessage());
                   SAXSource transformSource = new SAXSource(input);
                   stylesheet.transform(transformSource, result);
              } catch (Exception exc) {
                   exc.printStackTrace();
         private static String getStylesheet1() {
              return
                     "<?xml version='1.0' encoding='ISO-8859-1'?>" + newline
                   + "<xsl:stylesheet" + newline
                   + "xmlns:xsl='http://www.w3.org/1999/XSL/Transform'" + newline
                   + "version='1.0'>" + newline
                   + "<xsl:output method='xml'/>" + newline
                   + "<xsl:template match='/'>" + newline
                   + "<DontCareAboutContent></DontCareAboutContent>" + newline
                   + "</xsl:template>" + newline
                   + "</xsl:stylesheet>" + newline;
         private static String getStylesheet2() {
              return
                     "<?xml version='1.0' encoding='ISO-8859-1'?>" + newline
                   + "<xsl:stylesheet" + newline
                   + "xmlns:xsl='http://www.w3.org/1999/XSL/Transform'" + newline
                   + "version='1.0'>" + newline
                   + "<xsl:output method='html'/>" + newline
                   + "<xsl:template match='/'>" + newline
                  + "<html><body>" + newline
                 + "<xsl:message>" + newline
                 + "Error Message for the xslt processor" + newline
                 + "</xsl:message>" + newline
                 + "Dont care about the xslt content," + newline
                 + "The only significant part is the xsl:message element" + newline
                 + "which results in a error to be handled by the xslt" + newline
                 + "processor" + newline
                   + "</body></html>" + newline
                   + "</xsl:template>" + newline
                   + "</xsl:stylesheet>" + newline;
         private static String getExample() {
              return
                     "<?xml version='1.0' encoding='ISO-8859-1'?>" + newline
                   + "<DontCareAboutContent>" + newline
                   + "</DontCareAboutContent>" + newline;
    }

    I made the following change which solves the problem but the sollution is tightly coupled to Xalan. If anyone has any ideas, I would still like to find a way to achieve the desired result using JAXP API's.
                   XMLFilter filter1 = stf.newXMLFilter(new StreamSource(new StringReader(getStylesheet1())));
                   if (filter1 instanceof org.apache.xalan.transformer.TrAXFilter) {
                        ((org.apache.xalan.transformer.TrAXFilter)filter1).getTransformer().setErrorListener(...);
    ...

  • XSLStylesheet constructor deprecated, which to use?

    I keep getting:
    Warning(91,44): constructor XSLStylesheet(oracle.xml.parser.v2.XMLDocument, java.net.URL) in class oracle.xml.parser.v2.XSLStylesheet has been deprecated
    But the docs(using latest release of Oracle9i and JDeveloper9i) says nothing about this constructor being deprecated and which to use instead.
    Also the method setParam(name,value) is deprecated in the same class.
    If someone knows which constructor and method to use, please post a reply!
    Best regards
    Christer

    Use this documentation:
    http://otn.oracle.com/docs/tech/xml/xdk_java/doc_library/Production9i/doc/java/javadoc/index.html
    Regards :
    Rob

  • Parse XML Inbound Interface file

    What are SAP best practices to parse XML Inbound Interface file?
    Currently we are parsing XML Inbound file with custom ABAP code, but it is somewhat cumbersome and requires maintenance.
    We do not any middleware that can parse file for us.
    Is there is any best way we can handle this without lot of maintenance..

    You can do it thro XLST..
    Check this links..
    Upload XML to internal table and vice versa in SAP 4.6C
    /people/r.eijpe/blog/2005/11/10/xml-dom-processing-in-abap-part-i--convert-an-abap-table-into-xml-file-using-sap-dom-approach
    YOu can do it through XLST. it is supported in ABAP from 4.7. you can create a XSLT, and read you XML, then CALL TRANSFORMATION to convert a XML into ABAP data structure.
    reference link:
    http://help.sap.com/saphelp_nw04/helpdata/en/fd/9d7348389211d596a200a0c94260a5/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/bb/576670dca511d4990b00508b6b8b11/content.htm
    Reward each helpful answer.
    Raja T
    Message was edited by:
            Raja Thangamani

  • Dynamic User,Role,Group rather than use jazn.xml

    Hi everyone
    For Jdev 11..
    can anybody tell me how to make application wich can make user,group,role dynamically...
    rather than use jazn.xml...
    I thought if i use jazn.xml for register user and group its very static...
    I cannot make it dinamycally....
    I read OPSS and I cannot found the idea behind it...
    thanks...

    Hi,
    You can achieve this by using a sql authentication provider. It gets the users and their roles & credentials from the db tables which you can configure in WLS. In JSF, you can create a creation form based on the table (which you configured for authentication), which can be used for the users to register.
    Check out this doc for more information.
    Regards,
    Arun

Maybe you are looking for