Add spaces in XML tag in XI mapping

Hello guys,
In an IDoc to XML file scenario within XI, we want to add spaces at the end of an IDoc field that contains text description. When the IDoc gets generated on SAP ECC, the IDoc field is repeated so many times until all the contents are displayed, separated with spaces. However, once the IDoc is sent to XI, the spaces get lost. Is it possible to add a space at the end of each field presence within XI message mapping or they will get lost again ?
Thank you.
Best Regards,
Evaggelos Gkatzios
Edited by: Evaggelos Gkatzios on Nov 12, 2010 4:49 PM

> In an IDoc to XML file scenario within XI, we want to add spaces at the end of an IDoc field that contains text description.
The way IDoc processing works, that does not make any sense at all.
An IDoc is a fixed length container and the fields are filled with spaces automaticically.
The IDoc XML generation removes trailing spaces to reduce message size.
If you need trailing spaces in an XML field, you can add them easily with a UDF. But I think that there are only rare scenarios where you really would need this.

Similar Messages

  • Getting unwanted values between the XML tags in XSLT mapping

    Hi Folks
    I have come across a very strange situation with my xslt mapping.
    I am getting unwated values "11" between xml tags
    as follows
    <Tag>0001</Tag>
    11
    <DataID>3</DataID>
    I am not sure why I am getting these values in between the tags. Any suggestions would be appreciated.

    Hi David,
    Here is the code fragment where these 2 tags are mapped, FYI, the source is an IDOC message. The unwanted "11" is coming After the <Tag></Tag> and <DataID></DataID>. FYI, Fof the element <Tag></Tag> its a default value. But for <DataID> </DataID>  I have the mapping logic.
    <Order>
                <OrderHeader>
                  <Tag>009</Tag>
                  <xsl:for-each select="E1EDKA1">
                    <xsl:choose>
                      <xsl:when test="normalize-space(PARVW) = 'WE' and normalize-space(LIFNR) = 'U960'">
       <DataID>
                        <xsl:value-of select="'1'" />
       </DataID>
                      </xsl:when>
                      <xsl:when test="normalize-space(PARVW) = 'WE' and normalize-space(LIFNR) = 'U300'">
       <DataID>
                        <xsl:value-of select="'3'" />
           </DataID>
                      </xsl:when>
       <xsl:when test="normalize-space(PARVW) = 'WE' and normalize-space(LIFNR) = 'U930'">
       <DataID>
                        <xsl:value-of select="'1'" />
       </DataID>
                      </xsl:when>
       <xsl:when test="normalize-space(PARVW) = 'WE' and normalize-space(LIFNR) = 'U400'">
       <DataID>
                        <xsl:value-of select="'3'" />
       </DataID>
                      </xsl:when>
                      <xsl:otherwise>
                        <xsl:value-of select="'1'" />
                      </xsl:otherwise>
                    </xsl:choose>
                   </xsl:for-each>

  • 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.

  • How to insert blank spaces in XML tag?

    Hi Experts,
    I have a variable of type char and lenght 10 with value "ABCDE".  When I write this value in xml tag <TEXT> using simple transformation it ignores the trailing blank spaces and the result xml string looks as <TEXT>ABCDE</TEXT>.
    I want the xml tag with trailing blank spaces i.e. it should be like <TEXT>ABCDE     </TEXT>. And suppose if the variable does not contain any value, the xml tag should contain 10 blank spaces like <TEXT>          </TEXT>.
    I have tried using the solution given in this link
    http://help.sap.com/saphelp_nwpi71/helpdata/en/44/f52846257a0485e10000000a155369/frameset.htm
    but unfortunately it doesn't work.
    Please guide me to achieve this.
    Regards,
    Ravi

    ABAP prog:
    DATA: text(10)    TYPE c VALUE 'ABCDE',
          xml_xstring TYPE string.
    CALL TRANSFORMATION z_test SOURCE root = text
                            RESULT XML xml_xstring.
    WRITE xml_xstring.
    Transformation:
    <?sap.transform simple?>
    <tt:transform xmlns:tt="http://www.sap.com/transformation-templates">
    <tt:root name="ROOT"/>
    <tt:template>
          <Text tt:value-ref="ROOT"/>
    </tt:template>
    </tt:transform>
    Result in xml string:
    <?xml version="1.0" encoding="utf-16"?>#<Text>ABCDE</Text>
    Also tried transformation using:
    <tt:template>
          <Text>
               <tt:value length="10" ref="ROOT"/>
          </Text>
    </tt:template>
    Thanks.

  • Add xml tag to specific words in a text frame

    Dear all,
    I'm pretty sure this can't be too much of a hassle, but after hours of experimenting, searching and reading I can't seem to look at it from the right angle. I'm trying to find a way to search for a specific word ('Figure', in my case) in a given text frame, and add a corresponding XML tag to it automatically. I've found plenty of information on how to apply it to a page item as a whole, but from there no approach seems to work. Seeing as I'm fairly new to InDesign scripting, any nudge in the right direction would be an immense help.
    Kind regards and thanks in advance,
    Julian

    Hi Julian,
    Is this you asking?
    var doc = app.activeDocument;
    app.findTextPreferences.findWhat = "figure";
    var found = doc.findText();
    for(var i =0;i<found.length;i++)
            doc.xmlElements[0].xmlElements.add({markupTag:"figure", xmlContent:found[i]});
    Regards,
    Chinna

  • XSLT mapping code to replace ns1: tag as plm: in XML file in PI mapping

    Hi
    I am sending XML file to HTTP server as below format
    <?xml version="1.0" encoding="UTF-8" ?>
       - <ns1:Responses xmlns:ns1="http://">
    -    <ns1:Response Application="SAP">
        <ns1:field1>12345</ns1:field1>
        <ns1:field2>abc</ns1:field2>
       - <ns1:Items>
        <ns1:doc></ns1:doc>
      </ns1:Items>
      </ns1:Response>
      </ns1:Responses>
    i hve to replace <ns1: as <plm:, i could able to delete <ns1: tag uisng XSLT mapping(in sdn), but i dont know how to add tag with <plm:
    Hi XSLT experts/if any has come across this requirment, please send XSLT code to add tag in XML.
    Regards,
    Rajesh

    No need for XSLT, just use the XMLAnonymizerBean module in your receiver communication channel.
    http://help.sap.com/saphelp_nw70/helpdata/EN/45/d169186a29570ae10000000a114a6b/frameset.htm
    /people/stefan.grube/blog/2007/02/02/remove-namespace-prefix-or-change-xml-encoding-with-the-xmlanonymizerbean
    If your receiver CC cannot process modules (ABAP receiver, for example), in your XSLT just define the target namespace with the desired prefix.
    Regards,
    Henrique.

  • Add XML Tag to XML File (Idoc to XML File)

    Hi there.
    Just a question regarding the addition of a tag header in an XML file please?
    Idoc - > XI -> file (XML File)
    We have a need to add something like this below in bold to XML Tag Header in the inbound file:
    <?xml version="1.0" encoding="UTF-8"?>
    <?POSTEN SND="SE03220037090" SNDKVAL="1" REC="SE03220669500"
    MSGTYPE="ORDERS"?>
    Any ideas on how this can be managed would be apreciated please?
    Thank you.
    Mick.

    Hi Carlos.
    Thanks for your reply. I like what you are suggesting, however, I have no knowledge of Java and how to implement this Java addition to the mapping interface.
    I would appreciate any hints you may have. The value that I am trying to add to the tag header is exactly as it is below(the value in bold) and it can in fact be fixed, i.e. I am not looking to dynamically determine the values in the additional tag but just add the value as it is below...
    <?xml version="1.0" encoding="UTF-8"?>
    <?POSTEN SND="SE03220037090" SNDKVAL="1" REC="SE03220669500"
    MSGTYPE="ORDERS"?>
    I would appreciate any input from you on that.
    Thanks in advance Carlos.
    Mick.

  • Need to add xml tag in the request message

    Hello Experts,
    Need ur help.
    Right now i am working on the scenario Http -> to -> Proxy.
    Whatever request i am getting is not having XML tag in it, and because of that my mapping is failing.
    Can you tell me that how can i add XML tag in my request so it will not fail in Mapping?
    Need to add : <?xml version="1.0" encoding="UTF-8"?> in request.
    Thanks,
    Hetal

    HI Hetal
    Instead of adding this to the source message. Remove this tag from mapping.
    Use a XSLT mapping without this initial tag. it will work.
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:m="http://namespace">
    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
    <xsl:template match="/">
    <xsl:for-each select="//tag">
    <xsl:value-of select="." disable-output-escaping="yes"/>
    </xsl:for-each>
    </xsl:template>
    </xsl:stylesheet>
    Use this mapping without
    <?xml version="1.0" encoding="UTF-8"?>
    If you still see XML tag then use
    <xsl:output method="html"
    instead of
    <xsl:output method="xml"
    Thanks
    Gaurav

  • Remove XML Tags with White space.

    Hi All, I have a scenario like the below code where I have empty spaces in few columns of my tables. I create XML of the data and send it. There is a lot of code such and I can't add ISNULL() on each and every column. Is there any simple one line code working
    with the XML so that I can remove the tags with only empty spaces. TIA.
    DECLARE @xml1 VARCHAR(max)
    DECLARE @xml2 VARCHAR(max)
    set @xml1 = (SELECT 1 AS Col11, ' ' AS Col21, 'ABC' AS Col31 FOR XML RAW, ELEMENTS)
    set @xml2 = (SELECT 2 AS Col12, ' ' AS Col22, 'ABC' AS Col32 FOR XML RAW, ELEMENTS)
    DECLARE @xml xml;
    SET @xml = Cast('<ROOT>' + ISNULL(@xml1, '') + ISNULL(@xml2, '') + '</ROOT>' as xml)
    SET @xml.modify('delete //*[not(node())]');
    -- Some Way to Remove the XML Tags with Empty space here.
    select @xml as XMLString
    /* Output of the Above script.
    <ROOT>
    <row>
    <Col11>1</Col11>
    <Col21> </Col21> -- This XML Tag with a white space should be removed
    <Col31>ABC</Col31>
    </row>
    <row>
    <Col12>2</Col12>
    <Col22> </Col22> -- This XML Tag with a white space should be removed
    <Col32>ABC</Col32>
    </row>
    </ROOT>
    Welcome to MSDN Forums.
    Feel free to ask your questions and Please Note to Vote all helpful topics and
    Mark all answering posts.
    You Value Community's efforts and Community values your faith.
    - Arun Kumar Allu

    It would have helped if there had been a trim() function in XQuery.
    With some trial and error and inventive thinking I came up with this:
    <span style="color:Blue">SET</span> @xml.modify(<span style="color:#A31515">'delete //*[. <= " "]'</span>);
    As they say: it seems to work. But I leave no warranties.
    Erland Sommarskog, SQL Server MVP, [email protected]
    Wow Erland  this
    seems to work, I need to test it against my data and update on this. Thanks again.
    Welcome to MSDN Forums.
    Feel free to ask your questions and Please Note to Vote all helpful topics and
    Mark all answering posts.
    You Value Community's efforts and Community values your faith.
    - Arun Kumar Allu

  • CREATING XML TAG W/SPACES and CDATA.  EXPORTED FROM PDF BUTTON

    Hello All,
    I was wondering if anyone could help with the following when working with livecycle Designer.
    In our current XML we use in production we have a tag that looks like
    a.       <action function='Form1650' method='Add' and Action 'Upload' />
    How do I go about making a field like this? I tried creating a text field and making in invisible and that’s fine and all BUT  when I go to make the binding name for the field it won’t let me put spaces in for the (function='Form1650' method='Add' and Action 'Upload') portion of the tag.
    2)      We currently use CDATA in our XML file to allow users to enter free form data w/ special characters like (<, &, etc) and not have our application crash. I noticed when using a exporting button in a pdf to generate a XML file it takes tags like < and converts to &lt.  Is there a way to have PDFs use CDATA embedded in the XML tag on output or some other solution?

    >when working with livecycle Designer
    This is the Acrobat forum... you need to find the forum for livecycle Designer

  • How can I add text to a field based on XML tagging?

    I'm fairly new to using XML in InDesign layouts, and I'm currently facing an issue getting a bunch of content from database records formatted in a print document (text that flows over dozens of pages). I've figured out how to create an InDesign template, but I need to be able to add text between some of the XML elements in two different scenarios:
    1. Add text or line breaks before or after an XML element that always appears in the document. For example: Adding "Description:" before the XML-tagged description content, or adding a return after the last element in a list.
    2. Add text before or after an XML element only if it appears in the document. For example: If there's a second phone number, tagged "Phone2" in the XML, then I want " or " to appear before it in the layout. Otherwise there's just one phone number and it continues on to the next piece of content.
    I have tried inserting this text into the InDesign template, but keeping them means having to also keep parts of the template that aren't used on every import--so I have a bunch of "or Phone2" bits of text to find and replace afterward. That's OK, but I'd like a more elegant solution that doesn't leave potential mistakes in my layout.
    In my preliminary research so far, it looks like an XSLT or scripting might be able to handle this, but I don't know where to start. Can someone tell me if what I'm looking for is possible and suggest the best way to do it? I'm going to have to trial-and-error a solution for this myself.
    I am using ID CS6 on a Mac. Thanks in advance for your help.

    Thanks for your reply. The line that you mention is added at the top of the message, and includes the original sender's email. I would like my name to appear, next to each line I add in the text of the original mail.
    For example:
    Assuming my name is Joe Smith, what I would like to have as the final reply is described below.
    The lines that start with "[Joe Smith]" are my replies, to the original items in the original mail.
    On 21 Feb 2013, at 09:03, Jon Doe wrote:
    We need an effort estimation for thenew feature
    [Joe Smith] It will be about 2 days
    and additional resources needed
    [Joe Smith] 2 new icons

  • Add xml Tags in Indesign CS4 by Apple/Java script

    Hi,
    All, I'm new to Indesign Scripting, and I'm hoping someone can help me with the following add xml tags in my xml indesign cs4 files.
    I have IDML (ETMV2) xml Indesign CS4 files. But i have lots of powermath equation without xml tags. So i want how i can insert xml tags.
    My probleam like this =>
    <no open xml tags>[&x^{2}+y_{3}&]<no close xml tags>
    I want like this (But i do manualy)
    <inlineequation><inlinemediaobject><textobject role="xpressmath">[&x^{2}+y_{3}&</textobject></inlinemediaobject></inlineequation>
    Can anyone write/suggest me how i can add xml Tags. By Apple/Java Script
    Any insight is appreciated!
    snegig

    Hi,
    John Hawkinson thank you so much your suggestion.
    I am new  this type of discusion (on this page). So i think anybody could not replay my answer. So i repost my question.
    I want insert tags in my Indesign CS4 files. Is this posible when i select my powermath equaiton then run script. Script add tags automatically before/after my equation. Please ignore IDML word.
    Yes i an comfortable with XSLT presently i working with Pearson ETMV2.
    I have one more question when i past my snapshot its appear properly but when i agin see my commant then my snapshot disappear (see small blue rectangle).
    Thank you John again i am new in this industry please guide.
    snegig

  • 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

  • Mapping of XML tags with column

    My xml structure is :
    <PARAMS>
    <ROWSET>
    <ROW NUM="1">
    <SID>man123</SID>
    <PO>
    <PO>OBJ1</PO>
    <PI>
    <PI>PARENTOBJ1 INSTANCE</PI>
    </PI>
    </PO>
    </ROW>
    </params>
    My table structure is :
    CREATE TABLE TEMP(SID VARCHAR2(20),PO POBJECT_T)
    where Object types are:
    CREATE OR REPLACE TYPE PINSTANCE_T AS OBJECT (PI VARCHAR2(255),CO COBJECT_T);
    CREATE OR REPLACE TYPE POBJECT_T AS OBJECT (PO VARCHAR2(255),PI PINSTANCE_T);
    To store this XML directly into table i have to have Column with name "PO" (same as XML tag).I am using this same table to store other XML with same tags . With this limitation its difficult to do so.Is there any way to map XML tag to column with different name????
    Thanks

    Hi,
    thx for your Reply,
    seems to work basicly but i get now in the IDE warnings with:
    "Data binding will not be able to detect changes when using
    square bracket operator. For Array, please use
    ArrayCollection.getItemAt() instead. "
    And how can i access the next item something like this didnt
    work right
    try someniceid.lastResult["some-root"]["someother-root"]
    I had to use single quotes (') to get it to work.
    Any ideas?
    Kind regards,
    Marko

  • How to add extra blank space in xml

    I open the xml file in notepad I get this
    <XXON_EXT_BANK_ACCOUNT_NAME>創名聯合會計師事務所                                        </XXON_EXT_BANK_ACCOUNT_NAME>
    But when I open the xml file in html format the blank space is gone.
    How can I add extra blank space in xml?

    Hi
    Why do you need the extra space for?
    This difference in display that you see between your browser and notepad/notepad++
    will not affect your generated report.
    Bogdan 

Maybe you are looking for

  • Reg. Process Chanins.........,

    Hi gurus, i want some practical stuff on Process Chains...., i have already How to documents. except this i need more information for practical purpose. If any one have can you send to my mail id please. waiting for ur valuable stuff. thankx in advan

  • Using student guides to walk through an implementation vs. using online documentation

    Hello, I am a student, my experience in the field is limited, but I personally feel that the student guides are far easier to understand and grasp than many pieces of online documentation located on Cisco's website.  But now there is a trend not to c

  • Tungsten T3 with PalmOne WiFi Card & Email

    I recently bought the PalmOne Wi-Fi card for my T3.  I managed to connect to my home network which is a  Linksys WRT54G, and did connect with the internet.  Now I'm trying to manage my email account with the T3.  It is programmed in order to email fr

  • Logout and login

    I am new to Mac's and enjoying them immensely, I have a simple question I can't seem to find the answer for in documentation I have searched. I am running OSX Server 10.58, on my home computer, Mac Pro G5. I use it for my home computing needs and I a

  • AVCHD imports at 60 fps instead of 30

    I'm having a strange problem when importing AVCHD video from my Lumix DMC-TS1. It was recorded with 30 fps, but both FCE and iMovie change it to 60fps when importing. This results in video that's twice as fast, even though the audio sounds normal. Th