XSLT mapping and XSD definition

I have an XSLT and one source/input XSD. Do I need another target/output XSD?
I heard that I may not need target/output XSD since I can generate this using the XSLT and source/input XSD.
In order to use XSD which references to other XSDs (Referencing/multiple layers), SAP XI do not support this. Therefore one has to use SAP Conversion Agent which has this feature by March 2007? Is this true? Any workaround?
Please provide some comments. Thanks in advance.

Hi,
<i>>>>In order to use XSD which references to other XSDs (Referencing/multiple layers), SAP XI do not support this. Therefore one has to use SAP Conversion Agent which has this feature by March 2007? Is this true? Any workaround?</i>
There is no need for a conversion agent for this.
In general as Michal said you would need a target message type, but since you are using XSLT mapping it would generate target XML irrespective of the target message type. So to make the scenario work as Shabz said you can go ahead and creat a dummy message type and a message interface.. use it in the interface mapping.
Regards,
Prakash

Similar Messages

  • Source of xslt mapping and XSD/ XMT target structures for standard Idocs

    Hi,
    I am working on R/3 - XI - ICH scenario. I need xslt mapping and XSD/ XML target structures for standard IDoc like PROACT01,DELFOR01, DELVRY03. I tried to search it on marketplace but couldn't find it there. As per configuration document, these things are shipped with XI mapping content in live cache CD. But I don't have this CD with me. Can anybody tell me the source for these target structures and mapping program. ( Please share marketplace, site link or send me across the mail [email protected])
    Thank you in advance.
    Anand More.

    Anand the other option is to import the corresponding idocs into your integration repository and then you can view the generated XSD there.
    As regards XSLT mapping, you need to basically first identify as to what form you want to transform your source idoc into.
    For some help on XSLT mapping check the following threads,
    https://www.sdn.sap.com/sdn/collaboration.sdn?contenttype=url&content=https%3A//forums.sdn.sap.com/topusers.jspa%3FforumID%3D44
    https://www.sdn.sap.com/sdn/collaboration.sdn?node=linkFnode1-6&contenttype=url&content=https://Process Integration (PI) & SOA Middleware
    Also have a look at my code samples,
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/xi-code-samples/generic xslt mapping in sap xi, part i.pdf
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/9692eb84-0601-0010-5ca0-923b4fb8674a
    cheers
    Sameer

  • XSLT Mapping and Namespace Issues

    I have been reading through similar threads on this topic, but have not found the right combination for my problem.  I am doing an XSLT map and it works fine in Stylus Studio.  When I take it to PI, I get a "Prefix 'ns0' is not mapped to a namespace" error.  I have a namespace that is within the XSD files I received from my partner (http://www.ups.com/XMLSchema/EBR/Billing/v1).  I also have the namespace I made in PI for the source (http://graybar.com/upsbilling/) and a different namespace in PI for the destination (http://graybar.com/cold/invoice/).
    <u><b>XSLT:</b></u>
    <?xml version='1.0' encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns0="http://www.ups.com/XMLSchema/EBR/Billing/v1" xmlns:ns1="http://graybar.com/cold/invoice/">
    <xsl:template match="/">
    <ns1:ColdInvoiceData>
      <Header>
      <RecordID>HDR</RecordID>
      <InvoiceDate>
      <xsl:value-of select="ns0:UPS_EBR_BILL/ns0:InvoiceDetails/ns0:Invoice/ns0:InvoiceDateCCYYMMDD"/>
      </InvoiceDate>
    <u><b>Source XML</b></u>
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <UPS_EBR_BILL xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.ups.com/XMLSchema/EBR/Billing/v1" xsi:schemaLocation="http://www.ups.com/XMLSchema/EBR/Billing/v1 Billing_XML_Schema.xsd">
    <XMLBillFileVersion>1.0.1</XMLBillFileVersion>
    <Recipient>
    When I change the XSLT namespace from http://www.ups.com/XMLSchema/EBR/Billing/v1 to http://graybar.com/upsbilling/, the TransfromerException in PI goes away, but none of my referenced mappings work either (just my text hardcodes).
    Can someone tell me why this works in Stylus Studio, but not in PI?  Do I have too many namespaces?
    Message was edited by:
            Keith Wendel (to uncomment xsl:stylesheet line)

    > <ns1:ColdInvoiceData xmlns:ns1="http://graybar.com/cold/invoice/">
    This change did not affect anything.  Still works in Stylus Studio though.
    Did you mean to show any changes at the <xsl:value-of select> line?  I did not notice anything there.
    Can anyone explain what "not mapped to a namespace" means?  I have the declaration of ns0 at the top, so I don't see what else needs to be mapped.  Do I have to have my PI namespace where I store the partner's XSDs set as "http://www.ups.com/XMLSchema..." (partner's namespace)?

  • XSLT Mapping and Graphical Message Mapping

    Hi,
    Can any one let me which is advatageous and why or let me know where I can find docs.
    Thanks In Advance.
    Yaseen

    Hi Udo,
    I have used a lot of XSLt outside and from my own experience(java/c#) we have been hit very hard with performance when using XSLT, it is an interpreted approach.
    It may look easy, fast but in time you will pay the price. Java and ABAP mappings are compiled, and only the runtime is maintained.
    Is XSLT useful, sure it is, there are many things that can be done in XSLT that is very tough to accomplish using mappings.
    Should it be the first choice of development, no its a case by case basis. 
    Most common disadvantages of XSLT are
    -Scripts rapidly explode in size
    -Quite complex
    -Hard to debug
    -Slow processing
    There is an ever ending debate on pros and cons of XSLT. It upto individual Architect to decide whatz best for the interface at hand.
    cheers,
    naveen

  • Java enhancement in XSLT mapping in PI 7.1 and JDK5 XML processing

    Hi,
    I am implementing an XSLT mapping and I need to use java enhancements. I got those working but only if I check "Use SAP XML Toolkit" from Operation Mapping. I would like to use JDK5 XML processing.
    I also got this message to trace:
    Resource not found: META-INF/services/javax.xml.parsers.SAXParserFactory
    Thrown:
    com.sap.aii.ib.server.mapping.execution.MappingClassNotFoundException: META-INF/services/javax.xml.parsers.saxparserfactory
    I tried to use com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl but still couldn't get java enhancement working.
    Is there a way to get JDK5 XML processing working with java enhancements?

    > Is there a way to get JDK5 XML processing working with java enhancements?
    No. Java processing inside XSLT is no standard. So it works only with SAP lib.
    Regards
    Stefan

  • XSLT Mapping: how to add one day to TimeStamp

    Hello Experts,
    My requirement is to add one day to current timestamp. Used $TimeSent to get the currenttimestamp. In Expired field, the need to add one day
    say Created= 2011-03-30T20:29:13Z
           Expired = 2011-03-31T20:29:13Z
         <xsl:param name="TimeSent"/>
         <created><xsl:value-of select="$TimeSent"/></created>
         <expired>2011-03-31T20:29:13Z</expired>
    How to add one day to the current timestamp. I am new to XSLT mapping and need some help with the code.
    Thanks
    Shikha Jain
    Edited by: Jain Shikha on Mar 30, 2011 8:34 PM
    Edited by: Jain Shikha on Mar 30, 2011 8:36 PM

    Hello All,
    Thanks for your reply. i tried the function and the code is working when i am testing in stylus studio. But the same code gives error when i  tested the xslt mapping in PI (Error: TransformerConfigurationException triggered while loading XSLT mapping).
    $TimeSent function is working when code is tested in PI , but it doesnot give value in stylus studio. Also Current-dateTime() function is doesnot give value in PI but works in stylus studio. Is there any difference in the functions used in stylus studio and XSLT mapping in PI?
    Also if i remove the code used for function(to add one day to timestamp), and use constant value(2011-04-02T23:24:56.763Z)the code is working fine in PI. Please help me to find out where the code is going wrong when tested in PI.
    Below is the XSLT code i am using
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ds="http://xsltsl.org/date-time" xmlns:functx="http://www.functx.com" xmlns:xs="http://www.w3.org/2001/XMLSchema">
       <xsl:function name="functx:next-day" as="xs:date?">
          <xsl:param name="TimeSent" as="xs:anyAtomicType?"/>
          <xsl:sequence select="xs:date(current-date()) + xs:dayTimeDuration(&apos;P1D&apos;) "/>
       </xsl:function> 
    <xsl:template match="/">
          <xsl:param name="TimeSent"/>
          <soapenv:Envelope xmlns:olsa="http://www.skillsoft.com/services/olsa_v1_0/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
             <soapenv:Header>
                <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
                   <wsu:Timestamp wsu:Id="Timestamp-191900" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
            <wsu:Created>
                         <xsl:value-of select="$TimeSent"/>
               </wsu:Created>
    <wsu:Expires>
         <xsl:value-of select="concat(substring(functx:next-day($TimeSent) ,1,10) ,&apos;T&apos;, current-time())"/>                  </wsu:Expires>
                   </wsu:Timestamp>
                   <wsse:UsernameToken wsu:Id="UsernameToken-19030197" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
                      <wsse:Username>ABC</wsse:Username>
                      <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest">XYZ</wsse:Password>
                      <wsse:Nonce>erDTBNoUWv7GdHDaErrLwA==</wsse:Nonce>
                      <wsu:Created>2011-02-15T23:24:56.763Z</wsu:Created>
                   </wsse:UsernameToken>
                </wsse:Security>
             </soapenv:Header>
             <soapenv:Body>
                <olsa:GetMultiActionSignOnUrlRequest>
                   <olsa:customerId>ABC</olsa:customerId>
                   <olsa:userName>XYZ</olsa:userName>
                   <olsa:actionType>launch</olsa:actionType>
                   <olsa:assetId>222499_eng</olsa:assetId>
                   <olsa:groupCode>testgrp</olsa:groupCode>
                </olsa:GetMultiActionSignOnUrlRequest>
             </soapenv:Body>
          </soapenv:Envelope>
       </xsl:template>
    </xsl:stylesheet>
    Thanks
    Shikha Jain
    Edited by: Jain Shikha on Apr 2, 2011 9:51 PM

  • XSLT Mapping Docs

    Hi,
    Can any one post me some good Documents on XSLT mapping?
    With kind regards,
    Joseph

    Hi,
    Each mapping has its own adavantages and disadvantages. XSLT is one type of mapping that Xi supports. XSLT mapping also do have certain advantages like if you need a formatted output like HTML in XSLT it would be easy to implement... XSLT is a W3C standard so if also works in any other integration s/w other than XI so it is portable
    prefer XSLT Mappings over Graphical mappings, since it's easier to use. One other big advantage of using XSLT mapping not mention, atleast I think, is that changes to XSD's loses all mappings with graphical mappings but with XSLT's you just add the field changed or added, instead of starting over(which you will have to do if you re-import your XSD)...
    XSLT is made for mapping XML to HTML or XML to XML. In the XI environment there are different mappings options availiable e.g: graphical (message) mapping, XSLT, Java , ABAP.
    XSLT is, compared to the other techniques, easy to learn and good to enhance. It has a worse performance than the other techniques.
    Usually it is the decision of the developer which mapping to choose looking at the different aspects of the requirement like message size, complexity of mapping and so on.
    For "An Overview of XSLT Mapping":
    https://www.sdn.sap.com/irj/sdn/developerareas/java?rid=/webcontent/uuid/110ff05d-0501-0010-a19d-958247c9f798
    Few other links that might help you to understand XSLT in better way :
    http://help.sap.com/saphelp_nw2004s/helpdata/en/73/f61eea1741453eb8f794e150067930/content.htm
    https://sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/xi-code-samples/generic%20xslt%20mapping%20in%20sap%20xi%2c%20part%20i.pdf
    File to Multiple IDocs (XSLT Mapping)
    And also Refer these links
    Creating XSLT Mapping using STYLUS studio Editor
    xpath functions in xslt mapping
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/006aa890-0201-0010-1eb1-afc5cbae3f15
    Hope this helps.
    Cheers,
    Suryanarayana

  • XSLT Mapping with Java Enhancement - how to pass Java Errors

    Hi all,
    I plan to build a XSLT-Mapping and do a RFC-Call out of it. (Client order!) So, I have to call my selfwritten Java class from the XSLT mapping and therefore report Connection errors back to the XSLT mapping (from Java). Is there a definition for the interface between Java and XSLT I can use?
    Thanks and regards.
    Daniel

    hi,
    hope this one will be more appropriate link
    http://help.sap.com/saphelp_nw04s/helpdata/en/55/7ef3003fc411d6b1f700508b5d5211/frameset.htm
    and this link will also be useful
    http://help.sap.com/saphelp_nw04s/helpdata/en/4c/b2ad3de2d76b3be10000000a114084/frameset.htm
    regards,
    sundararamaprasad

  • Find target XSLT mapping

    Hi experts,
    The situation is that we have a outbound IDoc which gets transformed using XSLT mapping and is the sent out as an attachment.
    Interface Mapping looks like this:
    Idoc --> XSLT Mapping1
                 XSLT Mapping2 --> Mail (attachment)
    Now, the requirement is to add another FTP receiver, which needs the XML resulting from Mapping1.
    So, I know the source and the mapping program but do not know how or what the target from it is but I do know that whatever that mapping is producing is what I need to put at the FTP location!
    Please send your advise on how to get the target.
    Thanks and regards
    AJ

    Hi All,
    Thanks for your prompt response.
    I think I was not clear about what I am exactly after. So, I'll try again.
    I have the following:
    1) SOURCE XSD.
    2) XSL (Mapping program1)
    I need to FIND the following:
    1) the TARGET XML it is producing so that I can post it to a FTP location.
    and yes, I can do it without a BPM.
    regards
    AJ

  • XSLT Mapping Related

    Hello Experts,
    In a scenario we are sending Purchase orders and Purhase Order change from SAP to SNC through XI.
    Currently we are using Orders03 message type for IDOC.
    The requirement is to use Orders05 message type for IDOC.
    What changes would be necessary if we are to use Orders05 instead of Orders03
    - On SAP side,
    - in the XSLT mapping, and
    - On XI side.
    Thanks in advance,
    Suraj

    Hi,
    What changes would be necessary if we are to use Orders05 instead of Orders03
    - On SAP side,
    ==> you need to check your distribution model (BD64) and partner profiles (WE20) and adjust the settings there according to ORDERS05.
    - in the XSLT mapping, and
    ==> This depends on what your XSLT looks like. If there are any ORDERS03 specific statements, etc. or the structure is "heavily" changed from ORDERS03 to ORDERS05 you need to adjust the XSLT accordingly.
    - On XI side.
    ==> You need to import the ORDERS05 IDoc Metadata to XI Abap stack (IDX2). Also in IR you need to import the new IDoc, create message type and assign it to your mapping.
    Regards,
    Kai

  • Use of Orders05 Interface mapping & XSLT mapping file for Orders03 IDOC

    Hello Experts,
    In a scenario we are sending Purchase orders and Purhase Order change from SAP to SNC through XI.
    Currently Orders03 IDoc is used and standard mapping for Orders03 XSLT is used.
    Now the requirement is to use the same IDOC (Orders03) but
    - XSLT mapping (OrdersOrders05_ReplenishmentOrderNotification) and
    - Interface Mapping (OrdersOrders05_ReplenishmentOrderNotification_01) of Orders05.
    What changes would be necessary
    - On SAP side,
    - in the XSLT mapping, and
    - On XI side.
    Thanks in advance,
    Suraj

    Hi Suraj,
    First compare ORDERS03 IDOC and ORDERS05 IDoc structures,if both structures are same then u no ned to chnage the XSL it will work fine.
    If any chnages in ORDERS05 Idoc then u have to adjust XSLT as per ORDERS05 IDOC.
    test interface mapping first and let me know if any error.
    Regards,
    Raj

  • Reg usage of XSLT Mapping

    Hi All,
    We need to build an interface from PI to some database using JDBC adapter to send out emails to business users of the exception records created in the table.please help in using the xslt mapping for this interface.
    Thanks in Advance,

    Hi,
    You can build your scenario as follows:
    1) If the emails have to be sent from PI then you need to get back a response from the database.....if this is failure message then initiate your send email process...the whole process can be implemented using a BPM: Source ---> PI ---> JDBC --->PI ---> Email
    2) You need to use a receiver mail adapter to send emails
    3) Refer this blog of michal in which it is mentioned how to use the XSLT mapping and configuration for sending the emails:
    /people/michal.krawczyk2/blog/2005/11/23/xi-html-e-mails-from-the-receiver-mail-adapter
    You can also refer: http://www.riyaz.net/blog/xipi-sending-emails-using-xi-mail-adapter/
    For more clarification you can also refer my answer in this thread:
    Re: xml in mail
    The XSLT mapping that you need will be only in the PI ---> Email scenario...
    Make sure that you download the desired email structure from service market place before you start with the scenario.......do let me know if my answer helps.
    Regards,
    Abhishek.

  • 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 Error - Split-MappingRoot-Tag missing

    Hi,
    I am getting "Split-MappingRoot-Tag missing" Error while using XSLT mapping. I am using 3 mappings in one Operation Mapping.
    1)  Java Mapping 2) Message Mapping 3) XSLT Mapping.
    When I have these mappings in a BPM one after another it is working fine.
    But ,if I put these mappings one after another in one Operation mapping it is giving problem after message mapping is complete.
    I tried to remove XSLT mapping and Msg Mapping is producing correct output which can be used as input for XSLT mapping.
    Any idea what could be the reason. Any hep is appreciated.
    ERROR
      <SAP:Code area="MAPPING">GENERIC</SAP:Code>
      <SAP:P1>Split-Mapping</SAP:P1>
      <SAP:P2>Root-Tag missing</SAP:P2>
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:Stack>Split-MappingRoot-Tag missing</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
    Is there any chance XSLT mapping starting before message mapping is complete
    Regards,
    Ramesh

    Thank you for your response.
    I tried to put XSL in the following format by adding that namespace. but it still giving same error.
    <?xml version="1.0"?>
    <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
    Code ---
    </xsl:stylesheet>
    Also I itried to put Java mapping before XSLT mapping to see what payload is coming to XSLT.
    I am getting payload as:
    <?xml version="1.0" encoding="UTF-8"?> <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge"><ns0:Message1>
    XML Payload Data --
    </ns0:Message1></ns0:Messages>
    Any one knows how to fix this issue? appreciate your inputs
    Regards,
    Ramesh

  • MIAL RECIEVER CC -- ISSUE USED XSLT MAPPING

    Hi All,
    I have a Scenario   in which  IDOC  is a sender and Mail Adaptert  is reciever .The Xi is supposed to sent the Email notification to the client . Mail adapter is SMTP configured correctly ,Reciever  Mail CC is up and running but Error  is :Delivery of the message to the application using connection Mail_http://sap.com/xi/XI/System failed, due to: com.sap.aii.af.ra.ms.api.RecoverableException: java.lang.StringIndexOutOfBoundsException: String index out of range: 0
    The Mapping here is used is XSLT mapping and in SXMB_MONITOR , Error shown is :
    SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>Application</SAP:Category>
      <SAP:Code area="MAPPING">TRANSFORMER_CONF_EX</SAP:Code>
    Could you plesae help  me this  Issue asap .
    Thanks,
    Vara

    Hi Abhi ,
    I checked in ATOVA SPY XML Check , it seems to be the issue in XSLT mapping .
    Part of XSLT mapping  Error line:
    when test="//IDOC/EDI_DC40/RCVLAD = '3157411730014'">   --There was a single  qoute missing
    Tested in Atova with payload , it worked
    Thanks for your  supprt as well.
    Best Regards,
    Vara

Maybe you are looking for

  • ASA policy-nat is working but acl is not hit

    Hope you guys can help explain why is it working this strange. Thank you. access-list NET1 permit ip host 10.1.2.27 10.76.5.0 255.255.255.224 static (inside,outside) 192.168.100.100 access-list NET1 ciscoasa(config)# show access-list access-list NET1

  • Problem in obtaining collection of parameters onto my backing bean

    Hi All, I am working on a page 'browse.jsp' inside Alfresco CMS to implement a customization of mine wherin in the "details" view, inclusion of checkboxes besides the document names and their checking and submission will result in thier display in a

  • Any resolution to the sound problem?

    I have been having the same sound problem with my Mid 2010 Mac Pro tower ever since I got it.  I have been in touch with Apple and have been told that they are familiar with the problem, but that they are still working on a fix.  The problem is that

  • Book expenses against Internal Order with reference to PO which is created against Cost Center.

    Dear Users, We have an issue, we created PO against Cost Center and now we want to book its expenses(MIR7) against internal order. So if possible suggest me any solution for this. Thanks, Manoj.

  • Where to put new image files

    Hi, after looking at the show flash I see that images that came from the factory are stored in drwx. The images I have installed are always preceded by -rwx. From what I understand the drwx is a directory. Is there any benefit from storing them this