Node checking in xslt mapping

Hi All,
I have a requirement in xslt mapping (java)where i need to find the existence of a node , if it is existed the node should be created with the value on target side , if it is not existed the empty node should be created in the target.
Thanks in Advance
Prasad

Hello,
You can use the "<b>choose</b>" test:
<u>Here an example:</u>
<xsl:choose>
  <xsl:when test="InvoiceType/InvoiceTypeCoded = 'DebitMemo'">
    <InvoiceType stdValue="380"/>
  </xsl:when>
  <xsl:when test="InvoiceType/InvoiceTypeCoded = 'CreditMemo'">
    <InvoiceType stdValue="381"/>
  </xsl:when>
</xsl:choose>
If you have only one test without an else you can use the "<b>if</b>" test:
<u>Here an example:</u>
<xsl:if test="InvoiceIssueDate != 'N/A'">
  <InvoiceDate/>
</xsl:if>
You can find more detailed on this site:
http://www.zvon.org/xxl/XSLTreference/Output/index.html
Regards,
Chris

Similar Messages

  • How to handle duplicate nodes in xslt mapping

    Hi,
    in my scenario that i have a source mapped to the canonical structure and from canonical to target.
    source structure
    <empid>
    <national_id>
    canonical structure
    <id> 0 to unbounded
        <id>
        <type>
    the mapping from source to canonical
    is like i have duplicated the canonical structure and then mapped
    id -
    empid
    type--- assigned a constant employee
    id -
    national_id
    type--- assigned a constant National
    i have used xslt mapping using stylus studio and mapping from source to canonical is not the problem
    when i mapped the canonical to target there is a problem
    the node id is visible once in the canonical when the structure is a source  
    but there is a dupicate node in the structure but not visible. how to procedue with the mapping for canonical to target
    kindly help me
    with regards
    pradeep N

    hi,
    Udo Martens.
    <b>source xml</b>
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:Materail_fileReceive xmlns:ns0="http://www.aprilbiztec.in/MM_MultiFile">
       <Emp_ID>12</Emp_ID>
       <National_ID>91</National_ID>
    </ns0:Materail_fileReceive>
    <b>canonical xml</b>
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:Materail_file xmlns:ns0="http://www.aprilbiztec.in/MM_MultiFile"><Material><ID>12</ID><Type>Employee</Type></Material><Material><ID>91</ID><Type>National</Type></Material></ns0:Materail_file>
    <b>source to canonical mapping is</b>
    <?xml version='1.0' ?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns0="http://www.aprilbiztec.in/MM_MultiFile">
         <xsl:template match="/">
              <ns0:Materail_file xmlns:ns0="http://www.aprilbiztec.in/MM_MultiFile">
                   <Material>
                        <ID>
                             <xsl:value-of select="ns0:Materail_fileReceive/Emp_ID"/>
                        </ID>
                        <Type>Employee</Type>
                   </Material>
                   <Material>
                        <ID>
                             <xsl:value-of select="ns0:Materail_fileReceive/National_ID"/>
                        </ID>
                        <Type>National</Type>
                   </Material>
              </ns0:Materail_file>
         </xsl:template>
    i want the<b> canonical to target mapping</b> where my target structure is similar to that of my source
    kindly help.
    regards
    pradeep N.

  • 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 Mapping, XSLT Mapping, ABAP Mapping

    Hi Experts,
                     Could any one explain what is the main features of the following Mapping. How to pick the mapping?
    Java Mapping - When to use and what is the advantage.
    ABAP Mapping - When to use and what is the advantage.
    XSLT Mapping - When to use and what is the advantage.
    Graphical Mapping - When to use and what is the advantage.
    cheers,
    Sunee

    There are 4 types of mapping in XI
    1. Graphical Mapping
    2. XSLT Mapping
    3. JAVA Mapping
    4. ABAP Mapping
    When to use Message mapping
    1 When the logic for your mapping is simple and straight forward, you can use
    Advantages of message mapping
    1)Easy to use.
    2) has GUI drag and drop.
    3) used for simple mapping cases
    4) it does not involve any complex logic
    Disadvantages of message mapping
    1)has limitation in terms of complex hierarchy
    When to use Java mapping
    1) Java mapping are used when graphical mapping cannot help you.
    Advantages of Java Mapping
    1)you can use Java APIs and Classes in it.
    2) file look up or a DB lookup is possible
    3) DOM is easier to use with lots of classes to help you create nodes and elements.
    Disadvantages of Java mapping
    1)SAX parser is not easy to develop
    2)DOM parser is intensive
    3) Java knowledge is required
    4) bit complexer
    XSLT Mapping - When to use
    1)When the required output is other than XML like Text, Html or XHTML (html displayed as XML )
    2)When default namespace coming from graphical mapping is not required or is to be changed as per requirements.
    3)When data is to be filtered based on certain fields (considering File as source)
    4)When data is to be sorted based on certain field (considering File as source)
    5)When data is to be grouped based on certain field (considering File as source)
    Advantages of using XSLT mapping
    1)XSLT program itself defines its own target structure.
    2)XSLT programs can be imported into SAP XI. Message mapping step can be avoided. One can directly go for interface mapping once message interfaces are created and mapping is imported.
    3)XSLT provides use of number of standard XPath functions that can replaces graphical mapping involving user defined java functions easily.
    4)File content conversion at receiver side can be avoided in case of text or html output.
    5)Multiple occurrences of node within tree (source XML) can be handled easily.
    6)XSLT can be used in combination with graphical mapping.
    7)Multi-mapping is also possible using xslt.
    8)XSLT can be used with ABAP and JAVA Extensions
    Disadvantages of using XSLT mapping
    1)Resultant XML payload can not be viewed in SXMB_MONI if not in XML format (for service packs < SP14).
    2)Interface mapping testing does not show proper error description. So errors in XSLT programs are difficult to trace in XI but can be easily identified outside XI using browser.
    3)XSLT mapping requires more memory than mapping classes generated in Java.
    4)XSLT program become lengthier as source structure fields grows in numbers.
    5)XSLT program sometimes become complex to meet desired functionality.
    6)Some XSL functions are dependent on version of browser.
    Advantages of Abap Mapping
    1) A person comfortable with OOABAP can go for ABAP mapping instead.
    Disadvantages of Abap Mapping
    1) Abap knowledge is required
    2) bit compexer
    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
    Check this blog on Mapping:
    /people/ravikumar.allampallam/blog/2005/02/10/different-types-of-mapping-in-xi
    Also, check this thread for more info,
    Different types of Mapping in XI

  • UDF in XSLT Mapping.

    Hi,
    Can I use a UDF in XSLT mapping. If yes, can anyone please guide me in the issue. When I searched the forum there is a discussion related to the attachment of Java classes to the XSLT mapping. Does this replace the use of a UDF ? Instead, can we opt for a Java Mapping. Which will be of more help? Kindly suggest your opinions with relevant explanation.  Thank you very much for your time.
    Krishna.

    Hi krishna,
    check this links
    http://www.topxml.com/rbnews/XML/re-55178_Remove-empty-nodes-in-BizTalk-by-using-XSLT.aspx
    http://www.topxml.com/rbnews/XML/re-55176_XSLT-performance-when-mapping-large-documents-in-BizTalk.aspx
    http://help.sap.com/saphelp_nw04/helpdata/en/6b/4493404f673028e10000000a1550b0/frameset.htm
    XI: New features in SP14
    http://help.sap.com/saphelp_nw2004s/helpdata/en/d9/718e40496f6f1de10000000a1550b0/content.htm
    How to parse "XX/YY/ZZ;AA/BB/CC;11/22/33" in message mapping.
    What is UDF
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/be05e290-0201-0010-e997-b6e55f9548dd
    Java Mapping (Part I)
    Difference in using java,xslt,message mapping
    Java Mapping (Part I)
    Java Mapping (Part II)
    Java Mapping (Part III)
    Testing and Debugging Java Mapping in Developer Studio
    Using JAXP to both parse and emit XML in XI Java mapping programs
    "JAVA MAPPING", an alternate way of reading a CSV file
    Think objects when creating Java mappings
    Regards
    srinivas

  • XSLT Mapping Error while receiving Base64Binary content

    Dear Experts,
    I am new to SAP PI and working on PI 7.11. In our project we had a requirement to receive PDF file content in Base64 format from third party system by consuming the service provided by third party system with synchronous communication. The adapter we need to use is SOAP
    The reason to use XSLT mapping is as our third party system used some tokens in both the request and response header, I used XSLT mapping to add the required details in request header after receiving the request from ECC system and skip the details in response to send the response to ECC system.
    I have build two XSL files with XSLT mapping programs one for request and another for response using Oxygen XML editor tool. Both are checked, validated without any errors and also tested in ESB – Operation mapping which is successfully executed without errors.
    The third party is sending the PDF content in Base64Binaryformat. I have also tested the WSDL from Oxygen to check the whether the service is working fine, which also successfully receiving the response from third party system. 
    The thing I do not understand and not able to figure out the problem is, when executing the service from ECC by sending a sample request, there is no response coming back and receiving an error saying
    “TransformerException occurred during XSLT mapping Response_03 (URN:COM.XYZ_GET_ABSENCE_DETAILS, aa3a6491-e318-11e2-c1d7-c14948250cb4, -1)”
    I have checked the Communication Channel which working fine. And also the message status in message monitoring wherein Request message has “Cancelled with errors” status and Response has “To Be Delivered” Status.
    Could you please any of you help to figure out the issue and resolve the same.
    Thank you in advance.....
    Regards,
    Govardhan Duvva.

    The response am receiving is like below
    <!-- XML Validation Inbound Channel Response -->
    <html><head><title>Apache Tomcat/6.0.18 - Error report</title><style>
    <!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;}
    H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;}
    H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;}
    BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;}
    B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;}
    P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}
    A {color : black;}A.name {color : black;}HR {color : #525D76;}-->
    </style> </head><body>
    <h1>HTTP Status 415 - </h1>
    <HR size="1" noshade="noshade"><p>
    <b>type</b> Status report</p><p><b>message</b>
    <u></u></p><p><b>description</b>
    <u>The server refused this request because the request entity is in a format not supported
    by the requested resource for the requested method ().</u>
    </p><HR size="1" noshade="noshade"><h3>Apache Tomcat/6.0.18</h3></body></html>
    And also in SXMB_MONI, there are two call adaptor nodes as in below picture, which means our request is going to the third party system ?

  • How to find the existence of a tag in  XML file through  XSLT Mapping?

    Hello Friends,
    Working on an SAP XI interface ,I have come across a situation where I need to map the values only when a particular tag exists in the inbound XML file.I need to use the XSLT mapping for the same.
    Requesting your advice on as to how may I validate the existence of a tag through XSLT mapping?
    Thanks.

    Hello Friends
    After research , I could also find another way to check the existence of a node .We can even use CHOOSE to check the existence.
    <xsl:choose>
          <xsl:when test="(/mynode)">
              your action if the mynode is found
          </xsl:when>
          <xsl:otherwise>
                    action if mynode is not found
          </xsl:otherwise>
    </xsl:choose>
    Thanks.
    Wishes
    Richa

  • Alerts in case of XSLT Mapping failure without BPM

    Dear All,
    We are working on IDOC - SOAP Scenario and mapping is through XSLT Mapping.
    when the Vendor number field in IDOC is coming blank/invalid, the mapping should fail and an email alert should go to business.
    This IDOC-SOAP is Asynchronous and not using any BPM. So can we raise a alerts withut using BPM.
    I have gone through some blogs but I can see the alerts in Inbox but where as I want the alert through EMAIL.
    Any pointers are highly appreciated.
    Regards,
    Srini

    Dear Srinivas,
    When you want the Alert to be send through email,then you need to configure the required mentioned below.
    1.In SU01 ,Assign the corresponding Email ID for the Recipient of the ALERT.
    2. In , RWB>ALERT INBOX> PERSONALIZATION--> Go to Time Independent Delivery and  check the Email option.
    3. Go to the transaction  code SCOT,INT->SMTP and mention the corresponding  Mail Host and Port in SMTP Address.Then select the set in the Internet of supported Address Types and give mail address in the Address area.
    Note: Check whether Node is use is checked.
    You can find the mails which are pending/failed/success in the SOST Transaction code.
    Check if you have access for this configuration.Otherwise get help from Basis team.
    Regards
    B.Dheepa

  • 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

    In which cases we will go for XSLT MAPPING?
    What are different functions available in altova map force ? please provide me the helpful material regards this?

    Hi,
    Check this link..
    http://help.sap.com/saphelp_nwpi711/helpdata/en/73/f61eea1741453eb8f794e150067930/frameset.htm
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/01a57f0b-0501-0010-3ca9-d2ea3bb983c1
    STEPS.
    1.  Open the Alto MapForce, import the source .xml and .xsd file in it
    2. Similarly import the target .xml and .xsd in MapForce.
    3.These two data files should match with source and target data types in Integration Repository.
    4.Complete the graphical mapping using extensive list of XSLT functions available there.
    5. Save the mapping file.
    6.Click the XSLT tab. You will have the entire xslt logic there.
    7.Copy that content and save it as .xsl file.
    8. Zip above .xsl file and import the same into IR under Imported Archives.
    Thanks.

  • XSLT mapping Help Required.

    XSLT mapping Help Required.
    Hi Experts,
    I am New to XSLT Mapping. I am practising the below Example:
    InputXML File:
    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type="text/xsl" href="Persons111.xsl"?>
    <ns0:MT_XSLT_Source xmlns:ns0="http://XYZ.com/gen">
    <Person>
    <FirstName>Anshul</FirstName>
    <LastName>Chowdhary</LastName>
    <Gender>Male</Gender>
    <Address>
    <Street>2nd Main</Street>
    <Houseno>83/b</Houseno>
    <City>Mysore</City>
    </Address> </Person>
    </ns0:MT_XSLT_Source>
    XSL StyleSheet File:
    <?xml version='1.0' encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns0="http://XYZ.com/Gen"
    Xmlns:ns1=”http://XYZ.com/Test”>
    <xsl:template match="/">
    <ns1:MT_XSLT_Target>
    <Title> <xsl:value-of select="ns0:MT_XSLT_Source/Person/Gender"/> </Title>
    <Name> <xsl:value-of select="concat(concat(ns0:MT_XSLT_Source/Person/FirstName,' '), ns0:MT_XSLT_Source/Person/LastName)"/>
    </Name>
    <Street> <xsl:value-of select="concat(concat(ns0:Mt_XSLT_Source/Person/Address/Houseno,' '),
    ns0:Mt_XSLT_Source/Person/Address/Street)"/> </Street>
    <City> <xsl:value-of select="ns0:Mt_XSLT_Source/Person/Address/City"/> </City>
    </ns1:MT_XSLT_Target>
    </xsl:template>
    </xsl:stylesheet>
    The Desired Output shuold be:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns1:MT_XSLT_Target xmlns:ns1="http://XYZ.com/Test">
    <Title>Male</Title>
    <Name>Anshul Chowdhary</Name>
    <Street>83/b 2nd Main</Street>
    <City>Mysore</City>
    </ns1:MT_XSLT_Target>
    I have refered the xsl in xml and i am getting the below Oupt in a Single line like this:
    Anshul Chowdhary Male 2nd Main 83/b Mysore
    I am Unable to display in Target XML Fomrat as shown above. Please check and do the needful.
    Regards,
    GIRIDHAR

    Hi,
    I have used below for testing.
    Input xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type="text/xsl" href="Persons111.xsl"?>
    <ns0:MT_XSLT_Source xmlns:ns0="http://XYZ.com/gen">
    <Person>
    <FirstName>Anshul</FirstName>
    <LastName>Chowdhary</LastName>
    <Gender>Male</Gender>
    <Address>
    <Street>2nd Main</Street>
    <Houseno>83/b</Houseno>
    <City>Mysore</City>
    </Address> </Person>
    </ns0:MT_XSLT_Source>
    xsl code:
    <?xml version='1.0' encoding="UTF-8"?> 
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns0="http://XYZ.com/gen" 
        xmlns:ns1="http://XYZ.com/Test"> 
        <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> 
        <xsl:template match="/"> 
            <ns1:MT_XSLT_Target> 
                <Title> <xsl:value-of select="ns0:MT_XSLT_Source/Person/Gender"/> </Title> 
                <Name> <xsl:value-of select="concat(concat(ns0:MT_XSLT_Source/Person/FirstName,' '), ns0:MT_XSLT_Source/Person/LastName)"/> 
                </Name> 
                <Street> <xsl:value-of select="concat(concat(/ns0:MT_XSLT_Source/Person/Address/Houseno,' '), 
                    /ns0:MT_XSLT_Source/Person/Address/Street)"/> </Street> 
                <City> <xsl:value-of select="/ns0:MT_XSLT_Source/Person/Address/City"/> </City> 
            </ns1:MT_XSLT_Target> 
        </xsl:template> 
    </xsl:stylesheet>
    For testing in PI ,change the extension from .txt to .xsl and zip it and upload into PI as an imported archive .
    Regards
    Venkat

  • XSLT Mapping error

    Hi All
    I am working on PI 7.1 where I have customized standard XSLT mapping according to my requirement.
    I have to add 2 fields in the standard data type ReplenishmentOrder_Notfication from SNC 7.0 SWCV.
    In standard scenario once IDOC STPPOD.DELVRY03 is released from ECC the PI scenario send this to SNC Proxy ReplenishmentOrderNotification_In.
    In my requirement I have to send XML file generated from IDOC to one of Application Folder. I have customized data type, message type, operation mapping, service interface by coping standard things.
    So the changes I have done in standard XSLT mapping are just changin name of data type and not added any mapping for the two new fields I have added to the data type as its not require at the moment.
    When I am running test I am getting follwoing error in Trace. Here please notice that its mentioning standard xslt mapping program name only though on the top you see customized names.
    Please give your inputs to resolve the issue. Thanks.
    Operation Mapping
    StppodDelvry03_MT_ReceivedDeliveryNotification_01
    Name
    StppodDelvry03_MT_ReceivedDeliveryNotification_01
    Namespace
    http://sap.com/xi/SNC/Global
    Runtime error
    TransformerException occurred during XSLT mapping StppodDelvry03_ReceivedDeliveryNotification_01 (http://sap.com/xi/SNC/Global, 46c20a71-248e-11dc-c4be-dd500a115642, -1)
    <Trace level="1" type="B">CL_MAPPING_XMS_PLSRV3-ENTER_PLSRV</Trace> <Trace level="1" type="T">Interface Mapping http://sap.com/xi/SNC/Global StppodDelvry03_ReceivedDeliveryNotification_01 </Trace> <Trace level="1" type="T">TransfromerException during XSLT processing: Thrown: javax.xml.transform.TransformerException: com.sap.engine.lib.xml.parser.NestedSAXParserException: Fatal Error: com.sap.engine.lib.xml.parser.ParserException: XML Declaration not allowed here.(, row:1, col:8)(, row=1, col=8) -&gt; com.sap.engine.lib.xml.parser.ParserException: XML Declaration not allowed here.(, row:1, col:8) at com.sap.engine.lib.jaxp.TransformerImpl.transform(TransformerImpl.java:251) at com.sap.aii.ib.server.mapping.execution.AbstractMappingTransformer.transform(AbstractMappingTransfor
    Edited by: Amol on May 22, 2009 3:26 PM

    Hi Amol
    for the error CL_MAPPING_XMS_PLSRV3-ENTER_PLSRV
    <Trace level="1" type="B">CL_MAPPING_XMS_PLSRV3-ENTER_PLSRV</Trace> <Trace level="1" type="T">
    just check this Thread issue is solved by restarting  the service verifySenderAgreement
    at thread
    Re: Wrong Sender Agreement
    Thanks
    Abhishek

  • 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

  • XSLT Mapping of Adapter-Specific Message Attributes

    Hi,
    We have the requirement to build a soap request with a custom soap envelop/header which contains a sessionId.
    Therefore we developed a xlst mapping which is called directly after a graphical mapping.
    In the graphical mapping the session id is written to the dynamic configuration.
    The goal is to read this session id in the xslt mapping from the dynamic configuration using XSLT Mapping of Adapter-Specific Message Attributes. We used  [this|http://help.sap.com/saphelp_nwpi711/helpdata/en/43/03fe1bdc7821ade10000000a1553f6/content.htm] documentation as an example.
    But we are getting the following error: TransformerConfigurationException triggered while loading XSLT mapping. The error is raised at this node: <xsl:variable name="dynamic-conf" select="map:get($inputparam, 'DynamicConfiguration')" />
    This is the coding of the xslt transformation:
    <?xml version="1.0" encoding="utf-8"?>
    <xsl:stylesheet version="1.0"
          xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
          xmlns:ns1="urn:enterprise.soap.sforce.com"
          xmlns:map="java:java.util.Map"
          xmlns:dyn="java:com.sap.aii.mapping.api.DynamicConfiguration"
          xmlns:key="java:com.sap.aii.mapping.api.DynamicConfigurationKey">
    <xsl:output indent="no" />
    <xsl:param name="inputparam"/>
    <xsl:template match="/">
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:enterprise.soap.sforce.com">
    <soapenv:Header>
    <urn:SessionHeader>
    <xsl:variable name="dynamic-conf" select="map:get($inputparam, 'DynamicConfiguration')" />
    <xsl:variable name="dynamic-key" select="key:create('http://sap.com/xi/XI/System/SOAP', 'sessionId')" />
    <xsl:variable name="dynamic-value" select="dyn:get($dynamic-conf, $dynamic-key)" />
    <urn:sessionId><xsl:value-of select="$dynamic-value"></xsl:value-of></urn:sessionId>
    </urn:SessionHeader>
    </soapenv:Header>
    <soapenv:Body>
    <xsl:copy-of select="*"/>
    </soapenv:Body>
    </soapenv:Envelope>
    </xsl:template>
    </xsl:stylesheet>
    Any help will be highly appreciated.
    Regards, Henk

    Hi, yes we did try that and lot's of other combination.
    The results of those trials are that it seems to go wrong with <xsl:variable name="dynamic-conf" select="map:get($inputparam, 'DynamicConfiguration')" />
    When we enclose it with <xsl:if test="function-available('map:get')"> the transformation is not dumping, but the function is not available.
    Regards, Henk

  • XSLT mapping, how can I include a Runtime Constants in target message

    Hi, I would like in my XSLT mapping, to have an attribute include the MessageID.
    From my understanding of the online help [http://help.sap.com/saphelp_nw04/helpdata/en/73/f61eea1741453eb8f794e150067930/content.htm|http://help.sap.com/saphelp_nw04/helpdata/en/73/f61eea1741453eb8f794e150067930/content.htm], I have the following code in my XSL:
                   <xsl:param name="MessageId" />
                   <xsl:attribute name="filename">Output_<xsl:value-of select="$MessageId"/>.xml</xsl:attribute>
    But for now the result is to have a filename attribute that only contains: "Output_.xml" as if the $MessageId is empty.
    Anyone experienced successfully using one of those runtime constants with XSLT mapping ?
    Cheers,
    greg

    Hi, found the answer of why it was not running: I'm in a transform step of a BPM:
    For more info check this thread:
    [/message/435521#435521 [original link is broken]|/message/435521#435521 [original link is broken]]

Maybe you are looking for