Message mapping: Passing data at the node level

Hi,
I have a question/requirement, XI Message Mapping program need to read the incoming xml and map to a diffrerent target structure. Incoming xml has a parent node called Description and it has a value "Frauen Hemd Shoes", we need to map this value to target LongText Field but message mapping is ignoring this data while mapping.
A parent node can't hold the value/data while a child node is present. So is there any workaround to read this data to target str?
<Description>
<ShortName>Shoes</ShortName>
Frauen Hemd Shoes
</Description>
Expected result:
<Comments>
<ShortText>Shoes</ShortText>
<LongText>Frauen Hemd Shoes</LongText>
</Comments>
Please let me any clues to resolve the issue.
thanks,
Laxman

I agree , the soruce structure is not a valid one..
The source structure should look like the below:
<Description ShortName='Shoes'>
Frauen Hemd Shoes
</Description>
where ShortName is attribute for the Element "Description".
You add attribute to the element the same way you add subElement, Just choose attribute instead of subelement.
In this case the Mapping would be
Descriprion -
> LongText (target)
ShortName -
> ShortText (target)
This Should work.
Regards.
Jeet.

Similar Messages

  • How to Restrict the node level in account hierarchy

    Hi experts,
    I want to restrict the node level in account hierarchy. I attached one example. in that if i click 6000 node again it want to show error message. for one parent node i want to create only two child node. Further if i create means it want to show error msgs and not allow to create the node..
    Regards,
    gopi

    Hi ,
    The component is bp_hier, and method is onnew_node.
    IF lv_tree->is_locked( ) = abap_false.
         lv_tree->lock( ).
       ENDIF.
       CHECK lv_tree->is_locked( ) = abap_true.
       lv_index = typed_context->accounthierarchy->selected_index.
       lv_tree_node = typed_context->accounthierarchy->get_node_by_index( lv_index ).
    *key = lv_tree_node->node_key.
      CALL METHOD lv_api->get_node_parent
         EXPORTING
           iv_node_key        = key
         IMPORTING
           ev_parent_node_key = lv_paent_key
    *      ev_tree_guid       =
    *   lv_parent = lv_tree_node->parent_entity.
    *    typed_context->accounthierarchy->parent_entity.
    CALL METHOD lv_tree_node->get_children
       receiving
         rt_children = rt_child.
       CHECK lv_tree_node IS BOUND.
       lv_tree_node->is_leaf = abap_false.
       TRY.
           lv_proxy_node ?= lv_tree_node.
           TRY.
               lv_object ?= lv_proxy_node->bo.
             CATCH cx_sy_move_cast_error.
               lv_mixed_node ?= lv_proxy_node->bo.
               lv_object ?= lv_mixed_node->if_bsp_wd_ext_property_access~get_model_node( ).
           ENDTRY.
           lv_object_name = lv_object->get_name( ).
           IF lv_object_name = 'BuilHierarchyNode'.
             lv_relation_name = 'BuilHNodeRel'.
           ELSEIF lv_object_name = 'BuilHierarchyHeader'.
             lv_relation_name = 'BuilHeaderNodeRel'.
           ELSE.
             RETURN.
           ENDIF.
           lv_tree_node->get_children( ).
           lv_object = lv_object->create_related_entity( lv_relation_name ).
           lv_child_node = lv_proxy_node->node_factory->get_proxy(
               iv_bo = lv_object
               iv_proxy_type = 'CL_BP_HIER_HIERARCHYTREEV_CN05'
               iv_parent_proxy = lv_tree_node ).
           lv_tree_node->expand_node( ).
           typed_context->accounthierarchy->refresh( ).
           typed_context->accounthierarchy->deselect_all( ).
           lv_child_node->selected = abap_true.
           lv_child_node->is_leaf  = abap_true.
    *accounthierarchy
    *      selectedhierarchynode
           lv_col_wrap = typed_context->selectedhierarchynode->get_collection_wrapper( ).
           lv_col_wrap->clear( ).
    This is the code.
    i wrote . but its not getting.

  • ALV Tree - how to put checkbox on the node level?

    Hello everyone!
    I have an AlvTree and I have special column named SEL. That column contains checkboxes. I want to put additional checkboxes at the node level, I need them to create select all option.
    In other words I must somehow create something similar to do_sum option. DO_SUM works for numeric columns, the sum of all rows in current node appears at the top level. So I must do the same but checkbox.
    Are there any ideas?
    Here is my code of creating the tree.
    DATA: g_tree9001 type ref to cl_gui_alv_tree_simple.
    " Here I fill fieldcat...
    create object g_tree9001
          EXPORTING
            i_parent                    = g_doc_cont
            i_node_selection_mode       = cl_gui_column_tree=>node_sel_mode_single
            i_item_selection            = 'X'
            i_no_html_header            = 'X'
            i_no_toolbar                = ''.
    call method g_tree9001->set_table_for_first_display
          EXPORTING
            i_save              = 'A'
            is_variant          = ls_variant
          CHANGING
            it_sort             = gt_sort9001
            it_outtab           = gt_tree9001
            it_fieldcatalog     = gt_treefcat9001.
    My output table gt_tree9001 has sthe following structure:
    BUKRS, KTEXT, SEL, SWERK.
    My sort table gt_sort9001 has 2 rows. Sorting by BUKRS and KTEXT.
    My tree looks like this:
    BUKRS/KTEXT  --- SEL --- SWERK
    +bukrs1 ------------------------------
      -- ktext1 ---  X --- swerk1
      -- ktext2 ---  X --- swerk2
    +bukrs2 ------------------------------
      -- ktext3 ---  X --- swerk3
    I want to get:
    BUKRS/KTEXT  --- SEL --- SWERK
    +bukrs1 ----------X----------------
      -- ktext1 ---  X --- swerk1
      -- ktext2 ---  X --- swerk2
    +bukrs2 ----------X----------------
      -- ktext3 ---  X --- swerk3
    Appreciate any help!

    Hi ,
    Check the below threads, it may give some idea to get check box in the node .
    [LINK1|Check box on left navigation of ALV tree;
    [LINK2|Checkbox ALV Tree CL_GUI_ALV_TREE;
    Regards,
    Saravana.S

  • Release Management 2013 Server Web Site throwing "Data at the root level is invalid..." error after applying RM 2013 Update 4

    I upgraded our RM Server from 2013 Update 2 to Update 4. During smoke testing, I discovered that the RM approval website would get stuck and display a loading wheel when showing the list of releases. After rebooting the server and uninstalling and reinstalling,
    I eventually got it to load the web site just fine, however the windows event log is displaying thousands of instances of the same error (about once a second).
    Timestamp: 4/2/2015 2:25:05 PM
    Message: Data at the root level is invalid. Line 2, position 1.: \r\n\r\n   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
       at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
       at System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace()
       at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
       at System.Xml.XmlTextReaderImpl.Read()
       at System.Xml.Linq.XDocument.Load(XmlReader reader, LoadOptions options)
       at System.Xml.Linq.XDocument.Parse(String text, LoadOptions options)
       at Microsoft.TeamFoundation.Release.Common.ExtensionMethods.XmlExtensionMethods.ToXDocument(String value, Boolean preserveWhitespace)
       at Microsoft.TeamFoundation.Release.Common.Helpers.WebServiceHelper.ExtractWebMethod(String pathInfo, Stream inputStream)
    Category: General
    Priority: -1
    EventId: 0
    Severity: Error
    Title:
    Machine: [Server Name]
    Application Domain: /LM/W3SVC/2/ROOT-1-130724725961138960
    Process Id: 3448
    Process Name: C:\Windows\SysWOW64\inetsrv\w3wp.exe
    Win32 Thread Id: 1136
    Thread Name:
    Extended Properties:
    This is quite concerning because it leads me to think something else is wrong.  I read somewhere else that .Net Framework 4.5.1 is required for RM, but the system requirements on MSDN don't mention that.  Any help greatly appreciated.
    Specs:
    RM Server: Windows 2012 R2
    Release Management 2013 Update 4
    Connect to TFS Server 2013 Update 2
    We are not using HTTPS:

    Hi Joe519,
    Thanks for your post.
    And thank you for sharing  the experience here. 
    All your participation and support are very important to build such harmonious/ pleasant / learning environment for MSDN community.
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Report Designer error i VS 2013 - "Data at the root level is invalid."

    Hi,
    I am trying to create rdlc file programmatically. Using Memory Table as dataset. Here is my code
    ' For each field in the resultset, add the name to an array listDim m_fields AsArrayList
      m_fields = NewArrayList()
      Dim i AsIntegerFor i = 0 To tbdataset.Tables(0).Columns.Count - 1
          m_fields.Add(tbdataset.Tables(0).Columns(i).ColumnName.ToString)
      Next i
      'Create Report 'http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition'http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition' Open a new RDL file stream for writingDim stream AsFileStream
      stream = File.OpenWrite("D:\MyTestReport2.rdlc")
      Dim writer AsNewXmlTextWriter(stream, Encoding.UTF8)
      ' Causes child elements to be indented
      writer.Formatting = Formatting.Indented
      ' Report element
      writer.WriteProcessingInstruction("xml", "version=""1.0"" encoding=""utf-8""")
      writer.WriteStartElement("Report")
      writer.WriteAttributeString("xmlns", Nothing, "http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition")
      writer.WriteAttributeString("xmlns:rd", "http://schemas.microsoft.com/SQLServer/reporting/reportdesigner")
      writer.WriteStartElement("ReportSections")
      writer.WriteStartElement("ReportSection")
      writer.WriteElementString("Width", "11in")
      writer.WriteStartElement("Body")
      writer.WriteElementString("Height", "5in")
      writer.WriteStartElement("ReportItems")
      writer.WriteStartElement("Tablix")
      writer.WriteAttributeString("Name", Nothing, "Tablix1")
      writer.WriteElementString("Top", ".5in")
      writer.WriteElementString("Left", ".5in")
      writer.WriteElementString("Height", ".5in")
      writer.WriteElementString("Width", (m_fields.Count * 1.5).ToString() + "in")
      writer.WriteStartElement("TablixBody")
      ' Tablix Columns
      writer.WriteStartElement("TablixColumns")
      ForEach fieldName In m_fields
          writer.WriteStartElement("TablixColumn")
          writer.WriteElementString("Width", "1.5in")
          writer.WriteEndElement() ' TableColumnNext fieldName
      writer.WriteEndElement() ' TablixColumns' Header Row
      writer.WriteStartElement("TablixRows")
      writer.WriteStartElement("TablixRow")
      writer.WriteElementString("Height", ".25in")
      writer.WriteStartElement("TablixCells")
      ForEach fieldName In m_fields
          writer.WriteStartElement("TablixCell")
          writer.WriteStartElement("CellContents")
          writer.WriteStartElement("Textbox")
          writer.WriteAttributeString("Name", Nothing, "Header" + fieldName)
          ' writer.WriteAttributeString("CanGrow",  True)' writer.WriteAttributeString("Keeptogether", True)
          writer.WriteStartElement("Paragraphs")
          writer.WriteStartElement("Paragraph")
          writer.WriteStartElement("TextRuns")
          writer.WriteStartElement("TextRun")
          writer.WriteElementString("Value", fieldName)
          writer.WriteStartElement("Style")
          writer.WriteElementString("TextDecoration", "Underline")
          writer.WriteElementString("PaddingTop", "0in")
          writer.WriteElementString("PaddingLeft", "0in")
          writer.WriteElementString("LineHeight", ".5in")
          ''writer.WriteElementString("Width", "1.5in")''writer.WriteElementString("Value", fieldName)
          writer.WriteEndElement() ' Style
          writer.WriteEndElement() ' TextRun
          writer.WriteEndElement() ' TextRuns
          writer.WriteEndElement() ' Paragraph
          writer.WriteEndElement() ' Paragraphs
          writer.WriteEndElement() ' TexBox
          writer.WriteEndElement() ' CellContents
          writer.WriteEndElement() ' TablixCellNext
      writer.WriteEndElement() ' TablixCells
      writer.WriteEndElement() ' TablixRow'writer.WriteEndElement() ' TablixRows          Do not close Rows tag here colse it after details'End of Headers'Details Rows'writer.WriteStartElement("TablixRows")         Since Rows tag in header is not closed not need to open fresh tag
      writer.WriteStartElement("TablixRow")
      writer.WriteElementString("Height", ".25in")
      writer.WriteStartElement("TablixCells")
      ForEach fieldName In m_fields
          writer.WriteStartElement("TablixCell")
          writer.WriteStartElement("CellContents")
          writer.WriteStartElement("Textbox")
          writer.WriteAttributeString("Name", Nothing, fieldName)
          '  writer.WriteAttributeString("CanGrow", True)'  writer.WriteAttributeString("Keeptogether", True)
          writer.WriteStartElement("Paragraphs")
          writer.WriteStartElement("Paragraph")
          writer.WriteStartElement("TextRuns")
          writer.WriteStartElement("TextRun")
          'writer.WriteElementString("Value", fieldName)
          writer.WriteElementString("Value", "=Fields!" + fieldName + ".Value")
          writer.WriteStartElement("Style")
          writer.WriteElementString("TextDecoration", "Underline")
          writer.WriteElementString("PaddingTop", "0in")
          writer.WriteElementString("PaddingLeft", "0in")
          writer.WriteElementString("LineHeight", ".5in")
          ''writer.WriteElementString("Width", "1.5in")''writer.WriteElementString("Value", fieldName)
          writer.WriteEndElement() ' Style
          writer.WriteEndElement() ' TextRun
          writer.WriteEndElement() ' TextRuns
          writer.WriteEndElement() ' Paragraph
          writer.WriteEndElement() ' Paragraphs
          writer.WriteEndElement() ' TexBox
          writer.WriteEndElement() ' CellContents
          writer.WriteEndElement() ' TablixCellNext
      writer.WriteEndElement() ' TablixCells
      writer.WriteEndElement() ' TablixRow
      writer.WriteEndElement() ' TablixRows'End of Details Rows
      writer.WriteEndElement() ' TablixBody
      writer.WriteStartElement("TablixRowHierarchy")
      writer.WriteStartElement("TablixMembers")
      writer.WriteStartElement("TablixMember")
      ' Group
      writer.WriteElementString("KeepWithGroup", "After")
      writer.WriteEndElement() ' TablixMember' Detail Group
      writer.WriteStartElement("TablixMember")
      writer.WriteStartElement("Group")
      writer.WriteAttributeString("Name", Nothing, "Details")
      writer.WriteEndElement() ' Group
      writer.WriteEndElement() ' TablixMember
      writer.WriteEndElement() ' TablixMembers
      writer.WriteEndElement() ' TablixRowHierarchy
      writer.WriteStartElement("TablixColumnHierarchy")
      writer.WriteStartElement("TablixMembers")
      'writer.WriteStartElement("TablixMember")ForEach fieldName In m_fields
          writer.WriteStartElement("TablixMember")
          writer.WriteEndElement() ' TablixMemberNext' writer.WriteEndElement() ' TablixMember
      writer.WriteEndElement() ' TablixMembers
      writer.WriteEndElement() ' TablixColumnHierarchy
      writer.WriteElementString("DataSetName", "tbdataset")
      writer.WriteEndElement() ' Tablix
      writer.WriteEndElement() ' ReportItems
      writer.WriteEndElement() ' Body
      writer.WriteStartElement("Page")
      ' Page Header Element
      writer.WriteStartElement("PageHeader")
      writer.WriteElementString("Height", "1.40cm")
      writer.WriteStartElement("ReportItems")
      writer.WriteStartElement("Textbox")
      writer.WriteAttributeString("Name", Nothing, "Textbox1")
      writer.WriteStartElement("Paragraphs")
      writer.WriteStartElement("Paragraph")
      writer.WriteStartElement("TextRuns")
      writer.WriteStartElement("TextRun")
      writer.WriteElementString("Value", Nothing, "ABC CHS.")
      writer.WriteEndElement() ' TextRun
      writer.WriteEndElement() ' TextRuns
      writer.WriteEndElement() ' Paragraph
      writer.WriteEndElement() ' Paragraphs
      writer.WriteEndElement() ' TextBox
      writer.WriteEndElement() ' ReportItems
      writer.WriteEndElement() ' PageHeader
      writer.WriteEndElement() ' Page
      writer.WriteEndElement() ' ReportSection
      writer.WriteEndElement() ' ReportSections' DataSources
      writer.WriteStartElement("DataSources")
      writer.WriteStartElement("DataSource")
      writer.WriteAttributeString("Name", Nothing, "tbdata")
      writer.WriteStartElement("DataSourceReference")
      writer.WriteEndElement() ' DataSourceReference
      writer.WriteEndElement() ' DataSource
      writer.WriteEndElement() ' DataSources'DataSet
      writer.WriteStartElement("DataSets")
      writer.WriteStartElement("DataSet")
      writer.WriteAttributeString("Name", Nothing, "tbdataset")
      writer.WriteStartElement("Query")
      writer.WriteElementString("DataSourceName", Nothing, "tbdata")
      'writer.WriteElementString("CommandText", Nothing, "/* Local Query */")
      writer.WriteElementString("CommandText", Nothing, "TableDirect")
      writer.WriteEndElement() ' Query'Fields
      writer.WriteStartElement("Fields")
      ForEach fieldName In m_fields
          writer.WriteStartElement("Field")
          writer.WriteAttributeString("Name", Nothing, fieldName)
          writer.WriteElementString("DataField", fieldName)
          writer.WriteElementString("rd:TypeName", fieldName.GetType.ToString)
          writer.WriteEndElement() ' FieldNext
      writer.WriteEndElement() ' Fields' rd datasetinfo
      writer.WriteEndElement() ' DataSet
      writer.WriteEndElement() ' DataSets
      writer.WriteEndElement() ' Report' Flush the writer and close the stream
      writer.Flush()
      stream.Close()
      'Convert to StreamDim myByteArray AsByte() = System.Text.Encoding.UTF8.GetBytes("D:\MyTestReport2.rdlc")
      Dim ms AsNewMemoryStream(myByteArray)
      'Supply Stream to ReportViewer
      ReportViewer1.LocalReport.LoadReportDefinition(ms)
      ReportViewer1.LocalReport.Refresh()When I open rdlc in designer I get following error"Data at the root level is invalid."When I run the aspx I get following error
    An error occurred during local report processing.
    The definition of the report '' is invalid.
    The definition of this report is not valid or supported by this version of Reporting Services.
    The report definition may have been created with a later version of Reporting Services, or contain content that is not well-formed or not valid based on Reporting Services schemas.
    Details: Data at the root level is invalid. Line 1, position 1.
    Can anybody guide me?

    Hi RACES,
    Based on your description, I'm afraid that it is not the correct forum for this issue, but maybe I could help you find a more appropriate forum.
    If it is related to the Visual Studio Report Controls, you could select this forum:
    https://social.msdn.microsoft.com/Forums/en-US/home?forum=vsreportcontrols
    But if it is the SSRS issue, maybe this forum would be better for you:
    https://social.msdn.microsoft.com/Forums/sqlserver/en-US/home?forum=sqlreportingservices
    Best Regards,
    Jack
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • The SharePoint list query is not valid: Data at the root level is invalid. Line 1, position 1. (rsSPDataProviderError)

    Hi there,
    All my reports are throwing below error in a sharepoint site configured with Access services. Does anyone have a clue what's causing it?
    An error has occurred during report processing. (rsProcessingAborted)
     Query execution failed for dataset 'Default'. (rsErrorExecutingCommand)
     The SharePoint list query is not valid: Data at the root level is invalid. Line 1, position 1. (rsSPDataProviderError)
    Thanks
    Manvir

    Hi Manvir,
    For troubleshooting your issue, please go to C:\Inetpub\wwwroot\wss\VirtualDirectories\ find your Web Application (represented by a port number), then delete an unknown folder created by sharepoint, namely vti_cnf from all the folders and sub-folders in
    your web application.
    Reference:
    http://forums.asp.net/t/985790.aspx?Data+at+the+root+level+is+invalid+Line+1+position+1
    Best Regards,
    Eric
    TechNet Community Support
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact
    [email protected]

  • SSRS Bing Maps - Does it passes data over the internet

    Hi,
    I am planning to display sensitive data related to clients on SSRS Maps for location based reporting.  I would like to know if SSRS maps (Bing Maps) internally makes API calls to external servers for location based data. Does SSRS maps send data, used
    to render bubbles/markers on the map, across the network to external servers?
    Thanks for your help and time in advance.
    Cheers!
    A**LE

    Yes, yes it does. It'll send your personal credit card information, and shoot your dog as well.
    No. Of course not. The bing maps are little more than images rendered at the appropriate co-ordinates on which you overlay data. You are responsible for positioning and providing that data.
    Don't forget to mark helpful posts, and answers. It helps others to find relevant posts to the same question.

  • External Context Mapping - Pass data from Child to Parent

    Hello,
    I have the following scenario:
    DCParent Component (contains)
    - DCChildComp1    (used DC)
    - DCChildComp2    (used DC)
    - DCChildComp3    (used DC)
    - DCChildComp4    (used DC)
    What user enters in DCChildComp1 then needs to be made available to DCParent and all other DCChildComp(n) siblings.
    I have looked the posts and blogs in SDN and all of them seem to deal with passing inputField data from Parent to Child. May be I am missing it.
    In my case, I need the data to be passed from DCChildComp1 to DCParent ie Child to Parent. Then from DCParent to other DCChildComps.
    How should I go about
    a. defining the context nodes and Component Interface context nodes in parent vs child vs siblings and
    b. how should I map them externally?
    Step by step instruction would be helpful.
    Thanks in advance,
    SK.

    Thanks for all the help. As I had already seen all the links and blogs you had linked here, I was still confused about how it all came together. Finally, I got it after reading Bertram Ganz's response in this thread [Context Mapping problem;.
    when you map a context in the parent comp to an interface context in the used child component you do not define an external context mapping relation. That's normal context mapping as the data context resides in the child component.
    I have it working now and I am able to push the changes in the child component's context to the parent.
    For those who are interested in how I did it (and those who know a better way to do it
    In the child component DC:
    Map Child's View Context to Child's Controller Context
    Map Child's Controller Context to Child's Interface Controller (make sure the inputEnabled is FALSE - as the child is the data producer and the parent is the data consumer, in my case)
    In the parent DC:
    Add child DC as a Used DC
    Add child Component as a Used Component in the Parent Component
    Add Child's Interface Controller as Required Controller in Parent Component
    Map Child's Interface Controller Context to Parent's Controller Context
    Map Parent's Controller Context to Parent's View Context
    No external mapping required per the thread above. Now, any change in the child component's view is visible in the parent component view.
    Thanks again very much for the help.
    - Siva

  • Waring messages for PO Date in the contract creation?

    Hi Friends,
    Expecting answers with some functional knowledge,
    I am developing one webservice to create value contract from dotnet front end,
    So user can enter inputs from that front end and he will get SAP generated value contract id.
    Here I did validations for all the fields and giving error messages to restrict user to dont give incorrect values.
    Now coming to my issue..,
    While entering the PO Date in the initial screen of contract creation,
    If I enter future date,
    The purchase order date lies in the future. Please check
    If I enter the past date.,
    The purchase order date is in the past. Please check
    I will get warning messages like this, so what should i do, I can enter, today's date to avoid these messages,
    And I can neglect these two messages to proceed, as they are warings only.
    But in my case , Can i process these messages to front end, Is it mandatory.
    I want to know the intention of these messages, then i will take good decision on this...,
    Thanks,
    Naveen.I

    Hi..,
       Thanks for your attention..,
    After consulting some people on this issue, I got that..,
    Mostly PO Date is current date, but in the case of purchage receiving process is late then the date may be in past..,
    Similerly, because of some business reason we can create contract before receiving of purchage order, where order should
    must get, in this case user can enter future date.
    So as if it is not special case user creates contrat with po date as current date, system gives some warning!!
    Better to pass this messages to front end if we are using webservices or some thing like other technolgies.
    welcome to other comments on this..
    Thanks,
    Naveen.I

  • Changing node data not the node itself.

    Dear everyone,
    I'm trying to nest DOM hierarchies within another, and I have most of it worked out,
    but there are a few niggles.
    The first problem is as follows:
    My first document is:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <WfMessage>
    <ATO_ATO>
    <ATO_FileLoadedIntoSystem>No</ATO_FileLoadedIntoSystem>
    <ATO_RawXML>XML DATA HERE</ATO_RawXML>
    </ATO_ATO>
    </ProcInstInputData>
    </ProcessTemplateExecute>
    </WfMessage>
    What I want to do is to insert my second XML file between the tags so that
    it reads:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <WfMessage>
    <ATO_ATO>
    <ATO_FileLoadedIntoSystem>No</ATO_FileLoadedIntoSystem>
    <ATO_RawXML>
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    (XML data in here...snipped for brevity)
    </ATO_RawXML>
    </ATO_ATO>
    </ProcInstInputData>
    </ProcessTemplateExecute>
    </WfMessage>
    (By the way, I do need the second root in the nested document- thats the second problem!)
    I've come up with some code that comes up with the following XML:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <WfMessage>
    <ATO_ATO>
    <ATO_FileLoadedIntoSystem>No</ATO_FileLoadedIntoSystem>
    (data in here...snipped for brevity) // TAGS AND ROOT MISSING !!!
    </ATO_ATO>
    </ProcInstInputData>
    </ProcessTemplateExecute>
    </WfMessage>
    Which is nearly what I need when I use the following code:
    ATO_document = builder.parse( "D:\\ATO.xml" );
    XML_document = builder.parse( "D:\\XML.xml" );
    NodeList replacedNodeList = XML_document.getElementsByTagName("ATO_RawXML");
    Node foundnode = replacedNodeList.item(0);
    if ( foundnode != null )
    Node modfiedReplacedDocument = replaceNode(XML_document, ATO_document,
    foundnode);}
    else
    // error message here.
    and replaceNode is defined as follows:
    public static Node replaceNode(Document replacedDocument, Document
    replacingDocument, Node replacedNode)
    //Create a documentFragment of the replacingDocument
    DocumentFragment docFrag = replacingDocument.createDocumentFragment();
    Element rootElement = replacingDocument.getDocumentElement();
    docFrag.appendChild(rootElement);
    //Import docFrag under the ownership of replacedDocument
    Node replacingNode =
    ((replacedDocument).importNode(docFrag, true));
    //In order to replace the node need to retrieve replacedNode's parent
    Node replaceNodeParent = replacedNode.getParentNode();
    replaceNodeParent.replaceChild(replacingNode, replacedNode);
    return replacedDocument;
    I've tried using insertBefore functions in the replaced document to
    artificially recreate the <ATO_RawXML> tags, but the code
    grumbles that the parent element is missing. I'm sure a solution is very
    simple
    but I am losing my hair over this. Can anyone suggest anything (other than
    a lotion to keep my hair in) ?
    Best wishes
    Paul

    A XML document should have one declaration in the beginning of the document.
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    Xml document has two xml declarations.
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <WfMessage>
    <ATO_ATO>
    <ATO_FileLoadedIntoSystem>No</ATO_FileLoadedIntoSystem>
    <ATO_RawXML>
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    (XML data in here...snipped for brevity)
    </ATO_RawXML>
    </ATO_ATO>
    </ProcInstInputData>
    </ProcessTemplateExecute>
    </WfMessage>

  • How to replicate session data at the user level?

    Hi all,
    my client has users who use laptop/tablet computers in the field with wireless connections. The application requires the users to complete long multi-page forms where the data is only submitted to the EIS layer at the end of the process. The connections regularly drop out which understandably is a cause of some grief. In addition, the users want to be able to switch to another machine in order to complete their session.
    The 'switching machine' requirement kills the idea of using persistent cookies and session replication unfortunately. So I am faced with the idea of storing the session data (keyed by user id), in serialized form, either on a stand-alone disk which is accessible by each webserver in the cluster or is the database. The problem with the database idea is the performance hit of traversing the EJB and JDBC layers.
    Can anyone suggest the best practice in this case? Or point to an article or tool that covers the problem?
    BTW, the app serves a small (<50) and stable base of authenticated users so scalability is not really an issue whereas failover is.
    Regards,
    Dave.

    > Is it possible to close a PO at the header level
    Po can be closed at Item level and not Header level. You can set Deletion Indicator and further can be archived thru SARA MM_EKKO
    or a way to deactivate the PO so that no new items can be added?
    You can activate Release strategy and Choose a Proper Release indicatory so that no new changes to be carried out.
    Else go for User Exits

  • What is the significance of having a compound master data in the planning levels?

    In "SAP2" model there is PERPRODCUST as a planning level.
    This planning level has PERIOD, PRODUCT, CUSTOMER and PRODUCT-CUSTOMER master data as part of the planning level.
    Wouldn't PERIOD, PRODUCT, CUSTOMER be sufficient? Why is the compound master data required to be added to this planning level.
    Could someone clarify this for me.
    Thank you.

    I'll attempt:
    It depends on if you want to surface the result/value of the compound master data type on the key figures in your planning level.  If you do then you'll need to include it in the planning level.
    If the question is why would I want a compound master data type, then my attempt at that answer is as follows:
    From my understanding, the idea of a compound key figure is that you are able to derive an attribute or attributes that are related to, in this case, two master data types - all without having to 'store' that attribute on the transactional record.
    Here is a simplistic example:
    Master data on PRODUCT (where PRODID is the key)
    PRODID,PRODDESCR,PRODSIZE
    P1,Widget A,Big
    P2,Widget B,Big
    P3,Widget C,Small
    P4,Widget D,Small
    Master data on CUSTOMER (where CUSTID is the key)
    CUSTID,CUSTDESCR,CUSTREGION
    C1,Store A,West
    C2,Store B,West
    C3,Store C,East
    C4,Store D,East
    Master data on compound MDT PRODUCT-CUSTOMER (where PRODID and CUSTID are the key)
    PRODID,CUSTID,SALESREGION
    P1,C1,BIG_WEST
    P1,C2,BIG_WEST
    P1,C3,BIG_EAST
    P1,C4,BIG_EAST
    P2,C1,BIG_WEST
    P2,C2,BIG_WEST
    P2,C3,BIG_EAST
    P2,C4,BIG_EAST
    P3,C1,SMALL_WEST
    P3,C2,SMALL_WEST
    P3,C3,SMALL_EAST
    P3,C4,SMALL_EAST
    P4,C1,SMALL_WEST
    P4,C2,SMALL_WEST
    P4,C3,SMALL_EAST
    P4,C4,SMALL_EAST
    Finally you have some transactional data for the Key Figure on the planning level (ex: Sales)
    PRODID,CUSTID,SALES
    P1,C1,10
    P3,C4,15
    P4,C3,30
    P1,C3,20
    P2,C2,15
    *Note that you don't need to 'store' the sales region attribute on the record
    Then on your report, you can pick the SALESREGION and get your aggregated values:
    SALESREGION,SALES
    BIG_WEST,25
    BIG_EAST,20
    SMALL_WEST,0
    SMALL_EAST,45

  • Message Mapping - NewLine generation  in the target field

    Hi ,
    This is a File to SOAP scenario, where text file is picked by XI and posted to target using webservice in the xml format.In the message mapping, I am supposed perform a logic where 3 fields in the source structured are to be concatenated and sent to the target structure. This fields at the target structure are to be displayed with a newline character.
    So if I am sending : abc, 123 and xyz as input and  the output should be in one field as follows :
    <ns3:OutputField xmlns:ns3=abc
                                                  123
                                                   xyz</ns3:StreetAddressLine>
    I have used this "&#x0D;&#x0A;" as the seperator in the concat function, hoping this would produce a new line but was hopeless.
    Any ideas are appreicated.
    Thanks,
    Rag

    Hi Raghav,
    XML will never show new line or space characters.
    Try to open the message in notepad or wordpad and then check if you can see the new line character.
    -Supriya.

  • Message Mapping Nested Structure to key node in JDBC XML SQL Structure

    Hello everybody,
    I'm facing the next problem, I have the following nested structure
    <ns0:MT_Irdoc_ArchivoNested xmlns:ns0="http://ref.pemex.com/PI/FI/ArchivoIrdoc">
       <Header id_consecutivo="">
          <Transaction/>
          <Header2/>
          <Header3/>
          <Header4/>
          <Header5/>
          <Detail>
             <Transaction/>
             <Detail2/>
             <Detail3/>
             <Detail4/>
             <Detail5/>
          </Detail>
       </Header>
       <NombreArchivo/>
    </ns0:MT_Irdoc_ArchivoNested>
    as you can see, Detail is a nested Node from Header Node, and Detail is with occurrence 0...unbounded, I need to generate a SELECT XML SQL Structure as follows
       <StatementName>
              <dbTableName action=u201DSELECTu201D>
                  <table>realDbTableName</table>
                  <access>
                     <col1/>
                     <col2/>
                     <col3/>
                  </access>
                  <key1>
                     <col4>val4</col4>
                     <col5>val5</col5>
                     <col6>val6</col6>
                  </key1>
              </dbTableName> 
       </StatementName>
    now my problem is that col4 and col6 are values mapped from Header fields values, and col5 mus be mapped from Detail2 field of Detail Nested Structure, and Detail is 0...unbounded so it can contain any number of values and must included in the key structure, I tried by mapping the Detail Node to the key1 node, so it will generate n numbers of key1 nodes to include in the query, and the Detail number of nodes are not constant so I can't generate key2, key3, keyn...., so what I need is to create n numbers of instances of key1 node, but the problem is that when the mapping try to generate the second instance of key1 node it gives an error in the fields that comes from Header structure, maybe I'm trying to solve my problem wrong, could anyone give some advices or direction?, thanks in advance.
    Regards,
    Julio Cesar

    Julio,
    After placing the below logic in the mapping editor
    Details2 > SplitByValue> col5
    Right click on the Details2 node and choose Context. By Default you will see Details, because Details2 is the child of Details node. I want you to choose the Parent of Details node, I believe that would be HeaderID, am I right?
    If you don't want to do that then,
    Details2 ---> Remove Context > SplitByvalue> col5 will do the trick!
    raj.

  • Requirement to get Inventory data at the Daily level (non-cumulative KF)

    Hello All,
    Kindly provide ur suggesstions on the issue mentioned below:
    We require the Inventory data at a daily level. Also we require that the non-cumulatve Key Figures such as 0TOTALSTOCK, etc. be available to us in the BW itself, since this is required for further processing.
    PS: Right now we are using RSCRM_BAPI to execute the qurey and store the data into a table, but it fails for non-cumulative keyfigures. Kindly suggest if ther are other ways which can suffice the requirement mentioned above.
    Thank you.
    Regards,
    Kunal Gandhi

    Another one?
    You should read this link: https://wiki.sdn.sap.com/wiki/display/HOME/RulesofEngagement

Maybe you are looking for

  • Macbook Pro 2012 Kernel Panic

    During graphic intensive applications(gaming, netflix, etc), my macbook pro will randomly hard freeze(sometimes it's after a few minutes and other times several hours). I can't access any other applications during this, and I can't force quit using t

  • PDF+ problems displaying foreign characters

    I am opening PDF files from a Swedish newspaper in PDF+ application, but the Swedish local vowel variations (åäöÅÄÖ) are not displayed - instead they appear as rectangular boxes with an X inside. Reading on the PDF+ site, they say that for Japanese c

  • NON PO INVOICE

    hi, i have created Non PO invoice in EBP and posted successfully. idoc message type = BBPIV when it reached to ECC and getting status 51 (reason Application document not posted Payment method and payment terms are mandatory). when i am processing wit

  • Setting up a VLAN

    I want to preface this by saying, at the moment, I am very unhappy with Verizon support.  I called the technical support number, where I was told to enter my account information.  I did and was asked what kind of problem I was having.  I chose techni

  • Email Icon Notification - Home Screen - Option to remove automatic notification?

    I have a need to remove the automatic email notification on the home screen. Would love to know how to remove the option of automatically being notified for every new email but retain the ability to check my emails from the handset. Thanks