ABOUT XSLT MAPPING

HI
to all,
i dn;t have any knowlege on xlst mapping ,any one can help me ? where can i use ? what are the steps?
Thanks&Regards
upendakumar

Hi ,
Start with these.....
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/01a57f0b-0501-0010-3ca9-d2ea3bb983c1
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/9692eb84-0601-0010-5ca0-923b4fb8674a
Regards,

Similar Messages

  • XSLT mapping throws error in XI, but not in XMLSPY

    Hi everybody,
    I got a really complex XSLT mapping. It works fine in XMLSPY.
    But when I execute the mapping in XI, I get the following error:
    Error during XSLT Transformation: Could not load stylesheet.com.sap.engine.lib.xml.util.NestedException: Operator or ')' expected.
    I asume there is a special character that XI cannot execute.
    has anybody an idea of finding this character?
    Thanks, regards Mario

    Hi Mario
    Check your input data, and also try to see test in Interface mapping test tab,
    you will get an idea about the input is correct or not
    see the below links..
    <u><b>XSLT Mapping</b>[/u
    /people/prasadbabu.nemalikanti3/blog/2006/03/30/xpath-functions-in-xslt-mapping
    /people/sreekanth.babu2/blog/2005/01/05/design-time-value-mappings-in-xslt
    /people/anish.abraham2/blog/2005/12/22/file-to-multiple-idocs-xslt-mapping
    <u><b>XSLT Mapping with java enhancement</b></u>
    /people/pooja.pandey/blog/2005/06/27/xslt-mapping-with-java-enhancement-for-beginners
    /people/r.eijpe/blog/2005/11/04/using-abap-xslt-extensions-for-xi-mapping - Using ABAP XSLT Extensions for XI Mapping
    Cheers..
    Vasu
    <i>** Reward Points if found useful **</i>

  • How to Count schedule lines in IDoc ORDERS05 using XSLT Mapping

    Hi Experts,
    In a Scenario where we are sending Purchase order (ORDERS05) to SAP SNC using XSLT Mapping,
    where in we need to count the no. of schedule lines against the Purchase Order line.
    As in Schedule line segment there is no such provision, so it needs to be handle in XSLT mapping to count the schedule lines.
    Can you all please guide me how to go about the same.
    Regards,
    Nitin P

    Hi Satish,
    Thank you very much for the reply,
    as there is only Quantity and other information is maintained against schedule lines how we can count the schedule line repeatation against PO line ? Is that very simple as you suggested or some other consideration also needs to be taken.
    Please clarify the same and let me also know if there are some standard documents also for the same.
    Regards,
    Nitin P

  • Graphical Mapping Vs XSLT mapping Vs Java Mapping Vs ABAP Mapping

    Hi Experts,
              I have a question regarding different message mapping options available in XI namely
    Graphical Mapping
    XSLT mapping
    Java Mapping
    ABAP Mapping
    Q1: Which amoung the above mappings is the best and why?
    Q2: On what cases Graphical, XSLT, Java and ABAP Mapping should be used?
    Q3: Is it true that graphical and XSLT mappings are converted into Java class internally?
    Kindly help!
    Thanks
    Gopal
    Message was edited by:
            gopalkrishna baliga

    Hi,
    There is no hard and fast rule for using the mapping techniques.
    Graphical Mapping is used for simple mapping cases. When, the logic for your mapping is simple and straight forward and it does not involve mult hiearchical mapping requirement. and context handling.
    Java and XSLT mapping are used when graphical mapping cannot help you.
    When the choice is between Java And XSLT, XSLT is simpler than java mapping and easier. But, it has its drawbacks.  XSLT can lead to a bad perfrormance if the Source XML is huge.
    Java Mapping uses 2 types of parsers. DOM and SAX. DOM is easier to use with lots of classes to help you create nodes and elements, but , DOM is very processor intensive.
    SAX parser is something that parses your XML one after the other, and so is not processor intensive. But, it is not exaclty easy to develop either.
    For further info on each of the mapping, refer to these links,
    Graphical Mapping,
    http://help.sap.com/saphelp_nw04/helpdata/en/6d/aadd3e6ecb1f39e10000000a114084/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/43/c4cdfc334824478090739c04c4a249/content.htm
    XSLT Mapping
    http://help.sap.com/saphelp_nw04/helpdata/en/73/f61eea1741453eb8f794e150067930/content.htm
    http://www.w3.org/TR/xslt20/
    Java Mapping
    http://help.sap.com/saphelp_nw04/helpdata/en/e2/e13fcd80fe47768df001a558ed10b6/content.htm
    DOM parser API
    http://java.sun.com/j2se/1.4.2/docs/api/org/w3c/dom/package-frame.html
    Also, check this thread for more info,
    Different types of Mapping in XI
    Am not sure about XSLT , but , yes graphical mapping is converted into java classes internally and these classes use SAX parsing as well.
    Regards,
    Bhavesh

  • Java ,abap and XSLT mapping

    Hi all,
               can any one provide some material on java ,ABA and XSLT mapping(as i got requirement on my current project)..
    thanks in advance.
    regards
    krish..

    Hi
       All mapping related links
    There is no hard and fast rule for using the mapping techniques.
    Graphical Mapping is used for simple mapping cases. When, the logic for your mapping is simple and straight forward and it does not involve any complex logic.
    Java and XSLT mapping are used when graphical mapping cannot help you and you have multilevel hierarchy structure data.
    When the choice is between Java and XSLT, XSLT is simpler than java mapping and easier. But, it has its drawbacks. One among them being that you cannot use Java APIs and Classes in it. There might be cases in your mapping when you will have to perform something like a properties file look up or a DB lookup, such scenarios are not possible in XSLT and so, when you want to use some specific Java API's you will have to go for Java Mapping.
    Java Mapping uses 2 types of parsers. DOM and SAX. DOM is easier to use with lots of classes to help you create nodes and elements, but, DOM is very processor intensive.
    SAX parser is something that parses your XML one after the other, and so is not processor intensive. But, it is not exactly easy to develop either.
    To know more about each of them please go thru the following links. And if you ask me your which is better, it depends basically on the scenario you implementing and the complexity involved. Anyways please go thru the following links:
    Graphical mapping
    http://help.sap.com/saphelp_nw04/helpdata/en/6d/aadd3e6ecb1f39e10000000a114084/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/43/c4cdfc334824478090739c04c4a249/content.htm
    /people/bhanu.thirumala/blog/2006/02/02/graphical-message-mapping-150-text-preview
    http://www.sapgenie.com/netweaver/xi/mapping1.htm
    /people/alessandro.guarneri/blog/2006/01/26/throwing-smart-exceptions-in-xi-graphical-mapping
    XSLT mapping
    http://help.sap.com/saphelp_nw04/helpdata/en/73/f61eea1741453eb8f794e150067930/content.htm
    http://www.w3.org/TR/xslt20/
    JAVA mapping
    http://help.sap.com/saphelp_nw04/helpdata/en/e2/e13fcd80fe47768df001a558ed10b6/content.htm
    DOM parser API
    http://java.sun.com/j2se/1.4.2/docs/api/org/w3c/dom/package-frame.html
    ABAP mapping
    /people/r.eijpe/blog
    To know more about the value mapping tools for the SAP Exchange Infrastructure (XI), please go thru the following link:
    http://www.applicon.dk/fileadmin/filer/XI_Tools/ValueMappingTool.pdf
    To get an idea as to what value mapping is, please go thru the following links:
    http://help.sap.com/saphelp_nw04/helpdata/en/13/ba20dd7beb14438bc7b04b5b6ca300/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/f2/dfae3d47afd652e10000000a114084/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/2a/9d2891cc976549a9ad9f81e9b8db25/content.htm
    most of the links that I have provided also helps you get the step by step procedure of doing the same. And also involves the procedure to implement certain advanced features.
    And please go through this link which clearly explains the 3 types of mappings.
    /people/ravikumar.allampallam/blog/2005/02/10/different-types-of-mapping-in-xi
    regards
    Prasad

  • Xslt mapping cidx message is Load Tender Motor

    Hi
    I am working on XSLT  Mapping from the below link SAP Technical
    Import corresponding XSD structure under External Definitions in IR. Here the corresponding CIDX message is Load Tender Motor.
    In the above line what is CIDX, I have little bit knowledge about that, I read that in Adapters topic CIDX, PIDX this are some industry standard adapters. but how to import that Load Tender Motor in to my Scenario.
    So can any body please go through that link and provide some usefull information.
    Thanks
    G V Anil

    Hi
    CIDX is adapter.use this thread for detail
    About CIDX
    CIDX scenario
    XI CIDX

  • XSLT mapping for fixed values

    Hi,
    i am doing a XSLT mapping. i have a field which has fixed values(can be performed using graphical mapping). but the same i am not able to implement for XSLT. can anyone give me a idea about this
    <removed by moderator>
    Thanks
    Deepika
    Edited by: Mike Pokraka on Jul 24, 2008 12:57 PM

    Step u2013 By u2013 Step Simple Approach for XSLT Mapping                         
    Step – By – Step Simple Approach for XSLT Mapping                         
    generic xslt mapping part 1                                             
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/01a57f0b-0501-0010-3ca9-d2ea3bb983c1                                             
    generic xslt mapping part2                                   
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/9692eb84-0601-0010-5ca0-923b4fb8674a                                             
    xslt recursive templates                                             
    XSLT: Recursive Templates
    regards
    kummari

  • XSLT Mapping - problem with prefixes when calling template

    Hi all,
    I am having a problem with using an XSLT mapping in XI to combine various fields from 2 input messages of different structures into a single output message.  I understand that XI puts a wrapper around the 2 input messages so the structure of the XML I am mapping is:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns2:Messages xmlns:ns2="http://sap.com/xi/XI/SplitAndMerge">
    <ns2:Message1>
    <ns:(root of first message)>
    </ns:(root of first message)>
    </ns2:Message1>
    <ns2:Message2>
    <ns:(root of second message)>
    </ns: (root of second message)>
    </ns2:Message2>
    </ns2:Messages>
    Currently my XSL looks like the following:
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns="http://example.co.uk/example" xmlns:ns2="http://sap.com/xi/XI/SplitAndMerge" xmlns:javamap="java:systemDate.CurrentDate" version="2.0">
    <xsl:output method="xml" version="1.0" encoding="UTF-8"/>
    <xsl:param name="inputparam"/>
    <xsl:template match="ns2:Messages">
    ...<xsl:calltemplate name="FormattingTemplate"/>
    </xsl:template>
    <xsl:template name="FormattingTemplate">
    </xsl:template>
    </xsl:stylesheet>
    When I test the mapping it works fine until it calls the FormattingTemplate.  Then it throws out a "transformer exception" error saying the prefix 'ns2' is not mapped to a namespace.
    If anyone could tell me where I am going wrong I would be very grateful.
    Thanks,
    Mike

    Hi Udo,
    Thanks for your reply.
    When testing the stylesheet locally with XMLSpy, it works fine, but I have just noticed that it adds information in the root tag of the target message as follows:
    <(root of target message) xmlns:javamap="java:systemDate.CurrentDate" xmlns:ns="http://example.co.uk/example" xmlns:ns2="http://sap.com/xi/XI/SplitAndMerge">
    I checked the root tag of the target message in XI and it does not automatically add this information. Thus I added it in my stylesheet so the information above is projected in the target message, but the same error message appears when the call template function is called.  Do you know if I need to somehow add a namespace to templates other than the main one? If so, do you know how I go about doing that?
    Thanks,
    Mike

  • Removing specific XML tag in XSLT mapping

    Hi there,
    I've asked before about a XML to string XSLT mapping and the answers provided here helped me to successfully do that mapping! Thanks a lot!
    I'm using the following mapping to convert a string back to XML.
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:m="http://my.namespace.com">
         <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
         <xsl:template match="/">
              <xsl:for-each select="//m:my_tag">
                   <xsl:value-of select="." disable-output-escaping="yes"/>
              </xsl:for-each>
         </xsl:template>
    </xsl:stylesheet>
    But now, I'm having a problem converting back from string to XML. The response tag "m:mytag" has a string like this:
    "<?xml version="1.0" encoding="UTF-8"?><tag1><tag2>Data</tag2></tag1>".
    And  when I use the XSLT mapping shown above, the output file comes like this:
    <?xml version="1.0" encoding="UTF-8"?>
    <?xml version="1.0" encoding="UTF-8"?>
    <tag1>
    <tag2>Data</tag2>
    </tag1>
    As you can see, the initial <?xml ...> tag is duplicated, and it generates a parsing error in XI.
    How can I eliminate one of the "<?xml version="1.0" encoding="UTF-8"?>" strings in the mapping?
    Thanks a lot.

    Wow!!!
    The output="html" actually worked on XML Spy!
    Removing the XSLT file initial tag didn't work.
    I had already resolved this problem using the replace-string method that I found here: http://aspn.activestate.com/ASPN/Cookbook/XSLT/Recipe/65426
    But your method is way more elegant and efficient. :o)
    I'll test the html method on XI, but I'm almost sure it'll work too.

  • XSLT Mapping: Namespace for prefix 'ns0' has not been declared

    Hello, I am working on a synchronous SOAP call and having some trouble with the response message. The web service has its own namespace and I am trying to convert this to my custom data type in PI. PI wants the message to be in format of having ns0 prefix and namespace like we have defined (http://foo for example).
    I have an XSLT mapping (see below) which works fine with my test response payload (pulled from SXMB_MONI source) on this online XSLT test site:
    http://www.freeformatter.com/xsl-transformer.html
    However when I import this archive to PI and test with operation mapping it always says "Namespace for prefix 'ns0' has not been declared."
    This is very confusing because when I test it online, I see both prefix and namespace declaration perfectly. Is there a way to see the results in the PI test tool? After this XSLT java error it doesn't give me the output even in Trace Level All mode.
    Please advise on this issue or if you know an easier way (such as altering my datatype/message type to match the inbound SOAP message). I tried working with the 3rd party WSDL but the response message types show a different root level node than what PI is receiving so I gave up to make my own matching datatype. I just have to solve this last inbound namespace issue and should be finished.
    FYI I have refreshed all PI caches and activated all objects.
    Thanks for your ideas!
    <xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:ns0="http://foo"
      <xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
      <xsl:template match="@* | node()">
        <xsl:copy>
          <xsl:apply-templates select="@* | node()"/>
        </xsl:copy>
      </xsl:template>
      <xsl:template match="/*">
        <xsl:element name="ns0:{local-name()}">
          <xsl:apply-templates select="@* | node()" />
        </xsl:element>
      </xsl:template>
      <xsl:template match="/">
        <xsl:element name="{local-name()}">
          <xsl:apply-templates select="@* | node()" />
        </xsl:element>
      </xsl:template>
    </xsl:stylesheet>

    Some additional info, here is an example payload which goes through the XSLT mapping perfectly, but in PI I get the error about missing ns0 declaration.
    XML input:
    <bar xmlns='http://irrelevantnamespace'
    xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'
    xmlns:xsd='http://www.w3.org/2001/XMLSchema'
    xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
    <foo/>
    </bar>
    XSLT mapped output using test tool and XSL above:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:bar xmlns:ns0="http://foo">
       <foo />
    </ns0:bar>

  • Sorting on specific  field using XSLT Mapping

    Hi All,
    I am trying to sort the records on specific field using XSLT mapping.But I'm unable get the proper output for the following code.
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:a="http://xxxxxxxx">
    <xsl:output method="xml" indent="yes" />
         <xsl:template match="/">
              <a:T1>
                   <Row>
                             <xsl:for-each select="a:S1/Record">
                             <xsl:sort select="EmpID" />
                             <EMPID>
                                  <xsl:value-of select="EmpID"/>
                             </EMPID>
                             <ENAME>
                                  <xsl:value-of select="EmpName"/>
                             </ENAME>
                        </xsl:for-each>
                        </Row>
              </a:T1>
         </xsl:template>
    </xsl:stylesheet>>
    Currently getting following output :
    http://www.flickr.com/photos/21390012@N04/2074799747/
    Expected output should be like below :
    http://www.flickr.com/photos/21390012@N04/2074807393/
    Kindly send me suggestion to achieve this.
    Regards
    Pullarao

    Hi ,
    I donno much about srting in XSLT but i can give you one example on that.
    Example :
    This is how to sort numbers in xslt.
    Try this :
    <xsl:for-each select="learn[@kind='done']">
         <xsl:sort select="number(@rank)" data-type="number"/>
         <table border="00" cellpadding="3" width="100%">
                   <tr>
                        <td width="100" valign="top" align="right"><input type="checkbox" checked="checked" readonly="readonly"/></td>
                        <td width="10" valign="top" align="right"><xsl:value-of select="position()"/>. </td>
                        <td valign="top">
                             [<xsl:value-of select="@rank"/>] <xsl:value-of select="@title"/>
                        </td>
                   </tr>
         </table>
         <table border="00" cellpadding="3" width="100%">
                   <tr>
                        <td width="100"> </td>
                        <td valign="top">
                             <xsl:apply-templates/>
                        </td>
                   </tr>
         </table>
    </xsl:for-each>
    Regards
    Aashish Sinha
    PS : reward points if helpful

  • Required XSLT Mapping tips!

    Hi
    I'm new for XSLT mapping in XI, right now we about do some XSLT mapping in current assignment. So please provide your basic help on regarding  this.
    Thank u,
    regarads..rambarki

    Hi Rambarki,
    some links 4 u:
    <a href="http://help.sap.com/saphelp_nw04/helpdata/en/73/f61eea1741453eb8f794e150067930/content.htm">SAP Library: XSLT mapping</a>
    <a href="http://help.sap.com/saphelp_nw04/helpdata/en/55/7ef3003fc411d6b1f700508b5d5211/content.htm">SAP Library: XSLT Mapping with Java enhencement</a>
    <a href="http://www.w3.org/TR/xslt">W3C: XSLT</a>
    <a href="http://www.w3schools.com/xsl/">W3schools: XSLT Tutorial</a>
    Regards,
    Udo

  • Extracting more information from XI XSLT mapping failure

    Hello
    I am getting to grips with XI. When developing XSLT mappings I first run them on Stylus or XMLSpy, ensure they work, and then deploy them to XI.
    Unfortunately they sometimes fail to work in XI, and the amount of information retrieved about the failure is very small.
    I thought of a method to get more infomation in situations like this. I could write a Java method that sends messages to the XI console. This would involve seeing the javadoc API for GlobalContainer, Container and AbstractTrace. I would also need to have these objects in my classpath in order to compile the method. Then I could use the method in the XSL.
    There are two small drawbacks to this plan: I cannot find the Javadoc or the Jar file holding the classes.
    Perhaps one of you readers could either tell me where these things are, or suggest a better method of solving problems like this.
    In either case I look forward to receiving a reply.
    Thanks
    Bill Logan

    Thanks for the suggestion,
    completely forgot about the simpler <xsl:message/> command. I tried this, and it worked fine in Stylus.....but not in XI.
    I think the problem s when the file is being loaded. An alert box pops up. It says
    "Transformer configuration exception occurred when loading XSLT GDS_to_DP.xsl (http://sap.com/xi/GDSConsole, 155fc320-f69f-11d8-97f7-c0140a114c15, -1)"
    and the trace window says this
    "10:00:13 Start of test
    Creating XSLT mapping GDS_to_DP
    URIResolver called with href = GDS_DP_Common.xsl and base = GDS_to_DP.xsl
    Source resolved. System id = GDS_DP_Common.xsl
    10:00:14 End of test"
    It seems obvious (from deduction) that the problem lies in GDS_DP_Common.xsl. XI will not give me any information precisely where this occurs
    Thanks for you earlier answer Alessandro

  • Xi xslt mapping

    1.where do I write the xsl mapping?
    2.Do I need to import the xsd and namespaces for applying xsl onto the xml files(outbound xml and Inbound xml) in these IDEs?
    3.How to test whether applied xsl mapping on the Outbound xml data is mapped to Inbound or receiving xml file?
    4.how should I use this xslt developed outside XI and use it in XI?
    1.You can use any available XML transformation IDEs like Xml Spy or Stylus studio.
    2.  No. There is no need to import neither these xsd nor the necessity to create namespaces. You just create Outbound xml file with same structure as in xi and apply the XSL to that xml file.
    3.Here testing outside      XI means just transforming the outbound xml data into inbound xml data with whatever elements you want by applying the XSL.
    when you import this xsl file in XI as archive file you insert the namespace in the root element of the creating inbound xml tree in xslt.This namespace is very import.
    4.You should zip this xslt file and in XI goto Mapping objects and right click on imported archives and select new.goto the ziped files directory and click import archive button.To use this xslt mapping go to the interface mapping and in mapping program select xsl from the drop down and select the imported xslt mapping.

    Thanks for the suggestion,
    completely forgot about the simpler <xsl:message/> command. I tried this, and it worked fine in Stylus.....but not in XI.
    I think the problem s when the file is being loaded. An alert box pops up. It says
    "Transformer configuration exception occurred when loading XSLT GDS_to_DP.xsl (http://sap.com/xi/GDSConsole, 155fc320-f69f-11d8-97f7-c0140a114c15, -1)"
    and the trace window says this
    "10:00:13 Start of test
    Creating XSLT mapping GDS_to_DP
    URIResolver called with href = GDS_DP_Common.xsl and base = GDS_to_DP.xsl
    Source resolved. System id = GDS_DP_Common.xsl
    10:00:14 End of test"
    It seems obvious (from deduction) that the problem lies in GDS_DP_Common.xsl. XI will not give me any information precisely where this occurs
    Thanks for you earlier answer Alessandro

  • Step by step creating XSLT Mapping

    Hi ,
             Will any one help me how to create XSLT Mapping, and where to create the program. Please help me with an example.
    Regards,
    Amruth

    Hi
    I do not know much about Xi.  I tried to include a link to a site which provided an example but the forum guidelines would not allow for it to be included.  If you search Google for XSLT mapping and SAP there is a link to SAPtechnical which provides an example.
    Regards
    Paul Hawking
    SAP Academic Program Director
    Victoria University
    Australia

Maybe you are looking for

  • How to change the default langauge for logon-Urgent

    Hi All, I need to set the default language for the web-UI login (say english). Could you please help me how can I do it? My scenario is: Lets say if the end user is launching Web-UI from Germany (His browser default langauage will have German most of

  • How do i format a MMC in the PC?

    How do i format a MMC in the PC?

  • EEW: New field in CRMD_CUSTOMER_H results in error on generation

    Hello all, I am facing a problem and I need some help to solve it. I created some field extensions on CRMD_CUSTOMER_H and I released it. It's in production and it's working ok. Now, I need to include a new field. After run the wizard, when the system

  • IPhone 4 switched black screen

    My hubby's iPhone 4 just faded to black and got hot. Now it won't reset, charge or switch back on!! Help

  • Metadata not in Tiger

    I just noticed the Metadata JSR has changed from: "It is intended that this JSR will be delivered as part of the J2SETM "Tiger" release." to: "TBD" Is there a good reason for this?