Error with context mapping

Dear All,
I am a novice to webdynpro. I have tried to create a program using MVC concept. Here is the below components that I have created while
I was referring to an example mentioned in WEBDYNPRO ABAP by U Hoffmann.
I have encountered a run time error which I am not able to resolve. Can anyone please help me out in this regard.
Below is the error description I have received.
Node UNITS Is Already Mapped.
Below is the description of the components that I have created.
Component 1- Model Component Contains the ROADMAP context node and 'UNITS' context node. This Units context node further has a tree structure with lower level node containing from and to unit nodes. I have provided a supply function for these 2 lower level nodes. Also I have declared the units context node as Interface node.
Component 2- View Component_Sub
This component contains the Units context context node and a view which is embedded in the window.
Component 3- View Component_main
This component contains the same Units context node and a roadmap node declared in component 1.
I have created a view which uses roadmap node. Also it contains a view container UI element. In window section I have embedded the view of Component 2.
Context node Units of component 3 is externally mapped with context node of component 2.
Component - 4- Main Component.
Again this contains same context nodes as mentioned in component 1 which is mapped to the context node of Model Component.
Data from Component 1 is externally mapped with context node of Main component. Context node of Main component is again mapped with context node of Component 3.
When I execute the program. I am the error as 'NODE IS ALREADY MAPPED'.
Sorry If I have repeated the same problem mentioned in another thread.I have searched for this particular problem on internet and could not find any solution for this.
It would be of great help if someone can provide me the solution for this problem.
Thanks in advance.
Regards,
Girish

Hello,
There should be something that could correlate the Invoice_Header/Key and Invoice_Line/Key. In your example, both are the same for the first and data set. If the sample looks like the one below, it is possible to sort things by correlating the Invoice_Header key and Invoice_Line key
<Invoice_Header>
  <Key>000<Key>
</Invoice_Header>
<Invoice_Line>
  <Key>000<Key>
</Invoice_Line>
<Invoice_Line>
  <Key>000<Key>
</Invoice_Line>
<Invoice_Header>
  <Key>001<Key>
</Invoice_Header>
<Invoice_Line>
  <Key>001<Key>
</Invoice_Line>
An example mapping could look like this
For Header
Invoice_Header --> Header_Invoice
For Line
/InvoiceLine/Key --> removeContext --> splitByValue:valueChanged --> Invoice_Line
The subfields of the invoice line would also follow a similar logic, you just need to use formatByExample --> splitByValue:eachValue so that the context levels are the same.
Hope this helps,
Mark

Similar Messages

  • Problem with context mapping and data flow in a FPM application

    Hi All,
    I am trying to develop an ESS application using FPM. For the same, the requirement is to see the history of an employee in the second view.
    The first view has got just the overview information and the second one has got the detail. So, the records or the fields are the same on both the views.
    As per the FPM guidelines, the Model is residing in the Fc component and the respective Vc components are using the model data accordingly.
    I am executing the model in the Fc component calling the executable method in the interfaceController of the first view and then trying to display the output data of the BAPI in the first view which provides the overview information.This is working fine.
    But when i am trying to map the same output node to the Table UI for the second view, the record size is coming zero and thus no information is available.
    For the above issue, I am again executing the RFC in the InterfaceController of the second view to populate the records, which is incorrect as it is already executed and the data is available for the first view.
    I request you to let me know the correct approach to Context mapping and data flow when using FPM-roadmap. Is their any standard method or approach available to deal with such requirements? Please let me know.
    Thanks in advance.
    Regards
    DK

    Hi Idhaya,
    I model node is available in Fc and the Fc interface controller is being used in the first Vc and the second Vc.
    So the idea is, as the executable method is generated in the Fc, so i have created a custom method to call the executable method in Fc, where the input parameter is getting passed and this custom method is finally getting called is the first Vc.
    So , now my first Vc is ready to call the custom method in Fc and execute the RFC. Once the RFC is executed, the nodes in the Fc should get populated which is the ideal case.
    And as the Fc is used as a component in the second Vc, the same node is available to the UI elements.
    But, when I check the record size for the output node, it is always zero, for the second Vc.
    Regards
    DK

  • N97 MINI V12 Backup error with Nokia Maps Beta 3.0...

    After installation nokia maps 3.06 beta on my fresh hardware reset n97 mini v12 is not possible to make backup from mobile to Memory card from File manager. Phone memory on C: is 220 MB.
    With nokia maps 3.04 backup is ok, with 3.06 error: Memory full, operation canceled (kind)
    I think firmware upgrade from v12 to v20 delay, the reason nokia maps 3.06 is not perfectly integred full functionaly in new firmware.

    have the same problem. I think its a bug in SW 12.. , after a hard reset it worked well until I installed some programs (incl. Maps 3.06). Backup only with PC or Ovi Suite able to do.
    Nokia N9 Black

  • Error with XSLT mapping .. code included

    I am using XSLT to map my input legacy message into the CATS_INSERT02 IDoc. I am getting a wierd error ....
    =====================================================
    <Trace level="1" type="T">TransfromerException during XSLT processing:</Trace>
      <Trace level="1" type="T">javax.xml.transform.TransformerException: com.sap.engine.lib.xml.parser.ParserException: XML Declaration not allowed here.(:main:, row:1, col:8) at com.sap.engine.lib.jaxp.TransformerImpl.transform(TransformerImpl.java:245) at com.sap.aii.ibrun.server.mapping.MappingTransformer.transform(MappingTransformer.java:153) at com.sap.aii.ibrun.server.mapping.XSLTMapping.executeStep(XSLTMapping.java:67) at com.sap.aii.ibrun.server.mapping.Mapping.execute(Mapping.java:91) at com.sap.aii.ibrun.server.mapping.MappingHandler.run(MappingHandler.java:77) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleMappingRequest(MappingRequestHandler.java:88) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleRequest(MappingRequestHandler.java:63) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceImpl.processFunction(MappingServiceImpl.java:80) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceObjectImpl0.processFunction(MappingServiceObjectImpl0.java:131) at sun.reflect.GeneratedMethodAccessor20721.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.ejb.session.stateless_sp5.ObjectStubProxyImpl.invoke(ObjectStubProxyImpl.java:187) at $Proxy26.processFunction(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:95) at com.sap.engine.services.rfcengine.RFCJCOServer.handleRequestInternal(RFCJCOServer.java:113) at com.sap.engine.services.rfcengine.RFCJCOServer$ApplicationRunnable.run(RFCJCOServer.java:171) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:94) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:162) Caused by: com.sap.engine.lib.xml.parser.ParserException: XML Declaration not allowed here.(:main:, row:1, col:8) at com.sap.engine.lib.xml.parser.XMLParser.scanPI(XMLParser.java:1988) at com.sap.engine.lib.xml.parser.XMLParser.scanProlog(XMLParser.java:2632) at com.sap.engine.lib.xml.parser.XMLParser.scanDocument(XMLParser.java:2688) at com.sap.engine.lib.xml.parser.XMLParser.parse0(XMLParser.java:162) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parseAndCatchException(AbstractXMLParser.java:126) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:136) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:209) at com.sap.engine.lib.jaxp.TransformerImpl.transformWithStylesheet(TransformerImpl.java:341) at com.sap.engine.lib.jaxp.TransformerImpl.transform(TransformerImpl.java:234) ... 24 more -
    com.sap.engine.lib.xml.parser.ParserException: XML Declaration not allowed here.(:main:, row:1, col:8) at com.sap.engine.lib.xml.parser.XMLParser.scanPI(XMLParser.java:1988) at com.sap.engine.lib.xml.parser.XMLParser.scanProlog(XMLParser.java:2632) at com.sap.engine.lib.xml.parser.XMLParser.scanDocument(XMLParser.java:2688) at com.sap.engine.lib.xml.parser.XMLParser.parse0(XMLParser.java:162) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parseAndCatchException(AbstractXMLParser.java:126) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:136) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:209) at com.sap.engine.lib.jaxp.TransformerImpl.transformWithStylesheet(TransformerImpl.java:341) at com.sap.engine.lib.jaxp.TransformerImpl.transform(TransformerImpl.java:234) at
    I am able to test the transform fine in XMLSpy. Any ideas will be really appreciated.
    =====================================================
    XSL code:
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
         <xsl:attribute-set name="idoc_begin">
              <xsl:attribute name="BEGIN">catsdb_test</xsl:attribute>
         </xsl:attribute-set>
         <xsl:attribute-set name="EDIDC">
              <xsl:attribute name="SEGMENT">EDI_DC40</xsl:attribute>
         </xsl:attribute-set>
         <xsl:attribute-set name="E1CATS_INSERT">
              <xsl:attribute name="SEGMENT">E1CATS_INSERT</xsl:attribute>
         </xsl:attribute-set>
         <xsl:attribute-set name="E1BPCATS1">
              <xsl:attribute name="SEGMENT">E1BPCATS1</xsl:attribute>
         </xsl:attribute-set>
         <!-- Groupby each UNIQUE SSN in EMPDETL -->
         <xsl:key name="employees-by-ssn" match="EMPDETL" use="ssn"/>
         <xsl:template match="EMPDET">
              <!-- Insert the ROOT element -->
              <xsl:element name="CATS_INSERT02">
                   <!-- loop through all the employee detail nodes using the SSN as the key -->
                   <!-- <xsl:for-each select="EMPDETL"> -->
                   <xsl:for-each select="EMPDETL[count(. | key('employees-by-ssn', ssn)[1]) = 1]">
                        <!-- sort using the SSN after grouping the data based on SSN in the step earlier -->
                        <xsl:sort data-type="text" select="ssn"/>
                        <!-- create an IDOC and EDI_DC40 per SSN grouping  -->
                        <xsl:element name="IDOC" use-attribute-sets="idoc_begin">
                             <xsl:element name="EDI_DC40" use-attribute-sets="EDIDC">
                                  <xsl:element name="TABNAM">EDIDC</xsl:element>
                                  <xsl:element name="DIRECT">2</xsl:element>
                                  <xsl:element name="IDOCTYP">cats_insert02</xsl:element>
                                  <xsl:element name="MESTYP">cats_insert</xsl:element>
                                  <xsl:element name="SNDPOR">T90CLNT090</xsl:element>
                                  <xsl:element name="SNDPRT">LS</xsl:element>
                                  <xsl:element name="SNDPRN">T90CLNT090</xsl:element>
                                  <xsl:element name="RCVPOR">SAPBAS</xsl:element>
                                  <xsl:element name="RCVPRN">ERPCLT800</xsl:element>
                             </xsl:element>
                             <!-- EDI_DC40 element -->
                             <xsl:element name="E1CATS_INSERT" use-attribute-sets="E1CATS_INSERT">
                                  <xsl:for-each select="key('employees-by-ssn', ssn)">
                                       <!-- Create as many E1BPCATS1 segments as the number of times each SSN is repeated -->
                                       <xsl:element name="E1BPCATS1" use-attribute-sets="E1BPCATS1">
                                            <xsl:element name="WORKDATE">xsl:value-of select="workdate"</xsl:element>
                                            <xsl:element name="EMPLOYEENUMBER">xsl:value-of select="ssn"</xsl:element>
                                            <xsl:element name="ABS_ATT_TYPE">xsl:value-of select="abstype"</xsl:element>
                                            <xsl:element name="WAGETYPE">xsl:value-of select="wagetype"</xsl:element>
                                            <xsl:element name="CATSHOURS">xsl:value-of select="catshours"</xsl:element>
                                       </xsl:element>
                                       <!-- E1BPCATS1 element -->
                                  </xsl:for-each>
                                  <!-- End of loop for E1BPCATS1 -->
                             </xsl:element>
                             <!-- E1CATS_INSERT element -->
                        </xsl:element>
                        <!-- IDOC element -->
                   </xsl:for-each>
                   <!-- End of loop for all the employee detail nodes -->
              </xsl:element>
         </xsl:template>
    </xsl:stylesheet>

    what is correlation here?
    I have three messages coming into BPM....now all the three messages should have a field (any field) whose value will be the same in all the messages.
    Ex:
    <Message1>
    <Name>SAP</Name>
    <ID>40</ID>
    </Message1>
    <Message2>
    <Name>SDN</Name>
    <ID>40</ID>
    </Message2>
    <Message3>
    <Name>FORUM</Name>
    <ID>40</ID>
    </Message3>
    Now to correlate the above messages, the field ID would be used as it has the same value in all the messages.
    How does message mapping looks for the following messages
    In your BPM you will have a Transformation step....the mapping included here will have three source messages (File1, File2, File3) and there will be a single target message which will have the below structure:
    <ROOT>
    <OUTPUT> ...... 0..unbounded
    </ROOT>
    OUTPUT node of the target should be duplicated (right-click --> duplicate ... in message mapping).....do it twice so that you will have three OUTPUT nodes.
    Now each target-OUTPUT node should be mapped to the source OUTPUT node, respectively.
    Regards,
    Abhishek.

  • Error with ovi map for Cyprus

    Today I updated my Cyprus Map.  The roads are not displaying - only the outline of the island.  The previous Cyprus map had the roads on.

    Thanks for your input spyrosy.
    I can believe your general statement.  However; If you go to the ovi map selection site; Cyprus is still listed as a map to choose!
    Going slightly off subject; I have a Garmin nuvi.  I tried to get a Cyprus map for that.  The main Garmin site does not offer it.  However www.garmincyprus.com do have one on offer.  I have emailed Garmin for an explanation.

  • Upgrading from XI/PI7.0 to 7.1 having problems with message mapping

    Hello,
    We are in the process over the past week of testing our XI/PI functionality after upgrading our 7.0 XI/PI environment to PI7.1; in particular several maps that were accessible in 7.0 will not open or diaplay in 7.1 complaining of a missing node in the mapping structure. Currently working with SAP on a possible fix but wanted to know if anyone else has done a true migration on top of an existing XI/PI7.0 system and experiencing similar issues (note: the maps can execute in the runtime environment but we can't display the maps source within message mapping; this also does not occur for all maps and there is no clear consistant theme to those that can be displayed and those that can't).
    The lattest issue just encountered related to message mapping is that in test mode of a map (that can be displayed) attempting to display the data queue for the mapped elements are blank no data being displayed giving an error noting that the source text of object message mapping: name of the map; has syntax errors, java area import line x, package ibm.com.xi.mapping does not exist/ import ibm.com.xi.mapping UDF:
    Has anyone upgraded from PI7.0 to 7.1 and experienced errors with existing maps that worked ok (ans still work in our QX/PRD systems) in their 7.0 envirinment but encountereing strange errors once upgrated to 7.1?
    Thanks
    Dereck Purnell
    NewellRubbermaid

    Here is the solution we received from SAP to address the issue, there were several mapping related issues we started havng from maps that worked in our 7.0 system prior to the upgrade to PI 7.1. I will try to encorporate the solutions in this response.
    a) From Customer to SAP
    1. We are unable to open some massage mapping, it is throwing
    exception
    2. Number Format functions throw exception.
    But following issue is still unresolved:
    3. When we display message queue, it throws exception
    ***) 05.02.2009 - 12:34:33 CET - Reply by SAP     
    The patch has been released at the Service Marketplace.
    Please update the scas described in the note 1264871.
    The "FormatNum" function issue has also been taken care in this patch.
    Please go through the Note 1264871 for other behaviour changes after
    upgrade. Let us know if you need any further help.
    Regards,
    B) From Customer to SAP
    04.02.2009 - 00:23:44 CET - Info for SAP
    We discovered another issue with mapping.
    For some of the mappings, we are unable to display mapping queue. When
    we execute, Interface mapping and Massage mapping, it works fine. But
    display queue throws exception. Itu2019s not able to recognize libraries
    used from dependent software component.
    Please find document "Display Mapping Queue Issue" providing example
    problem.
    25.02.2009 - 07:05:28 CET - *Reply by SAP*     
    Thank you for your update. I wanted to check with "CopyValue"
    function's index. It has to take an input integer and the problem that
    found while debugging the opening of your mapping is that the input
    was empty thus causing the exception.
    I was going to suggest the intended use of "CopyValue" function.
    When the input to "copyValue" is a constant, "copyValue" is totally
    not necessary. Thus constant can be directly mapped to other function.
    When the input is a node with values in context, you can treat one of
    values say input[0] to used in mapping by using CopyValue[0].
    But please make sure that input[0] will always produce a value.
    Note 877964 will describe in detail on Copyvalue usage.
    I am marking this Message as complete. Please confirm.

  • Context mapping vs. Java beans

    Hi,
    I'm making a "Server" Component (Java Web Dynpro) that exposes a view to other "Client" Components (other Java Web DynPros). The Clients can insert the exposed view into their views to use the Server's services.
    The Server, obviously, has to be initialized with specific data from the Client.
    At first I thought of creating a context node in the Server, structured with all the attributes needed for its configuration, and then expose that node in the interface. In this way the Client creates a local copy of that node via node mapping and then populates its attributes with values. Once the client populates it in its wdDoInit() method, the embedded view's wdDoInit() method is called and the Server's View can initialize itself.
    Now, instead, I was considering using Java Beans (a class that wraps all the data that I've currently put in the context) because:
    1- The Client should not be able to alter the Server's configuration once it has been initialized. With context mapping the Client can alter at runtime the configuration node's content.
    2- The Server configuration has to be shared between multiple Server's views. When passing a configuration NodeElement as argument to methods shared between views, I've always the problem that I have to deal with the type of the NodeElement (the public interface of the component controller, the private interfaces of the views).
    What is the right way to do things in this scenario?
    Thanks to anyone who drops an answer,
    See you,
    Pietro
    PS. If it's unclear, let me know!

    You can implement some inteface at server,
    declare usage of this interface at client.
    then,
    you can initalise server component by getting that interface from server component,
    and calling methods with desired objects as arguments.
    other methods of this interface can be used to return server's configuration,
    so it will be shared.

  • Problems with external context mapping

    Hi ,
    I am having the following problems with external context mapping from one WD component to another.
    Problem description:
    In the <i>Component Interfaces</i> I have defined a WD interface "InfA".
    In the <i>interface controller</i> of this compoenent,I have ContextA and attributeA(cardinality 1..1).The contextA is marked as an "Input Element".
    Now my webdynpro componentB adds InfA as used component.In componentB I decalre a contextB with attributeB and map it to contextA to set up the external context mapping.
    Now I expect that if any webdynpro component implements this WD interface InfA ,he has access to contextA with the data getting filled from contextB.
    After i have created the component for the used component I try to fill values in the source node contextB thru this code:
    wdContext.currentContextB.setB(value);
    But in the runtime I keep getting error nullPointerException for nodeContextB,suggesting that the mapping has not been completed.
    Can anyone suggest due to what the error can come ,and, if its a webdynpro bug ,is there a workaround??
    Thanks in advance for your help.
    Best regards
    Sourav

    HI,
    Valery : I personally checked  by doing the example, if the names of value attribute are different in the child's interface and parents component controller then it throws the exception.
    Sourav: NullPointer Exception is thrown when something is not properly initialised, if in the main component the cardinality of mapped origin is 1.1 then you need to access it element directly like:
    wdContext.currentParentNodeElement().setFname("Abhijeet");
        wdContext.currentParentNodeElement().setLname("M");
    i will suggest just check out if you are declaring some element of value node and without initialising taking its use or what?
    if this doesnt solve your problem, please post the expanded exception.
    hope it helps
    let me know if you face nay problem
    regards

  • External context mapping with recursive treenode

    Hi,
    did anybody succeed with external context mapping of a recursive tree node?
    I get the following runtime error. Everything works fine if I use a "regular" value node. I´ve also experimented with manual and automatic component creation.
    Any help is appreciated
    Helmut
    com.sap.tc.webdynpro.progmodel.context.ContextException: NodeInfo(InnerCompInterface.OuterCompTree): cannot create nodes, no mapping defined yet
         at com.sap.tc.webdynpro.progmodel.context.MappingInfo.getDataNode(MappingInfo.java:102)
         at com.sap.tc.webdynpro.progmodel.context.RecursiveNodeInfo.init(RecursiveNodeInfo.java:127)
         at com.sap.tc.webdynpro.progmodel.context.NodeInfo.init(NodeInfo.java:682)
         at com.sap.tc.webdynpro.progmodel.context.NodeInfo.init(NodeInfo.java:682)
         at com.sap.tc.webdynpro.progmodel.context.Context.init(Context.java:38)
         at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:199)
         at com.sap.tc.webdynpro.progmodel.controller.Component.getCustomControllerInternal(Component.java:409)
         at com.sap.tc.webdynpro.progmodel.controller.Component.getMappableContext(Component.java:347)
         at com.sap.tc.webdynpro.progmodel.controller.Component.getMappableContext(Component.java:376)
         at com.sap.tc.webdynpro.progmodel.context.MappingInfo.init(MappingInfo.java:137)
         at com.sap.tc.webdynpro.progmodel.context.NodeInfo.init(NodeInfo.java:667)
         at com.sap.tc.webdynpro.progmodel.context.NodeInfo.init(NodeInfo.java:682)
         at com.sap.tc.webdynpro.progmodel.context.Context.init(Context.java:38)
         at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:199)
         at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.init(ClientComponent.java:346)
         at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.createComponent(ClientComponent.java:854)
         at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.createComponent(ClientComponent.java:157)
         at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.createComponentInternal(ComponentUsage.java:137)
         at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.createComponent(ComponentUsage.java:104)
         at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.createInstanceIfDemanded(ComponentUsage.java:659)
         at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.getInterfaceControllerInternal(ComponentUsage.java:300)
         at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.getControllerInternal(ComponentUsage.java:341)
         at com.sap.tc.webdynpro.progmodel.controller.Component.getMappableContext(Component.java:381)
         at com.sap.tc.webdynpro.progmodel.context.MappingInfo.getContext(MappingInfo.java:54)
         at com.sap.tc.webdynpro.progmodel.context.MappingInfo.isComplete(MappingInfo.java:92)
         at com.sap.tc.webdynpro.progmodel.context.NodeInfo.getStructureType(NodeInfo.java:247)
         at com.sap.tc.webdynpro.progmodel.context.NodeInfo.getStructureType(NodeInfo.java:247)
         at com.sap.tc.webdynpro.progmodel.context.AttributeInfo.initNodeMapping(AttributeInfo.java:546)
         at com.sap.tc.webdynpro.progmodel.context.AttributeInfo.init(AttributeInfo.java:432)
         at com.sap.tc.webdynpro.progmodel.context.NodeInfo.initAttributes(NodeInfo.java:692)
         at com.sap.tc.webdynpro.progmodel.context.NodeInfo.initAfterCompletedMapping(NodeInfo.java:698)
         at com.sap.tc.webdynpro.progmodel.context.MappingInfo.initAfterCompletedMapping(MappingInfo.java:159)
         at com.sap.tc.webdynpro.progmodel.context.MappingInfo.initMapping(MappingInfo.java:152)
         at com.sap.tc.webdynpro.progmodel.context.MappingInfo.init(MappingInfo.java:142)
         at com.sap.tc.webdynpro.progmodel.context.NodeInfo.init(NodeInfo.java:667)
         at com.sap.tc.webdynpro.progmodel.context.NodeInfo.init(NodeInfo.java:682)
         at com.sap.tc.webdynpro.progmodel.context.Context.init(Context.java:38)
         at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:199)
         at com.sap.tc.webdynpro.progmodel.view.ViewManager.getView(ViewManager.java:539)
         at com.sap.tc.webdynpro.progmodel.view.ViewManager.bindRoot(ViewManager.java:421)
         at com.sap.tc.webdynpro.progmodel.view.ViewManager.init(ViewManager.java:129)
         at com.sap.tc.webdynpro.progmodel.view.InterfaceView.initController(InterfaceView.java:41)
         at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:200)
         at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.displayToplevelComponent(ClientComponent.java:134)
         at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.init(ClientApplication.java:364)
         at com.sap.tc.webdynpro.clientserver.task.Task.createApplication(Task.java:217)
         at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.execute(WebDynproMainTask.java:548)
         at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:57)
         at com.sap.tc.webdynpro.clientserver.cal.ClientManager.doProcessing(ClientManager.java:249)
         at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doWebDynproProcessing(DispatcherServlet.java:139)
         at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:101)
         at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doGet(DispatcherServlet.java:38)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:383)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:263)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:333)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:311)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:811)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:235)
         at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
         at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:147)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)
         at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:94)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:144)
    /code

    Hi Helmut,
    I face exactly the same problem with NW 2.0.7.
    It is a bug in WebDynpro runtime.
    Good news is that it is fixed with SP9, so this functionality will work in final release (I believe WD team uses regression tests
    Regards,
    VS

  • Error in external context mapping

    Hi
    I want to send some data to a used web dynpro DC from the embedding DC. I tried using external context mapping by performing the below steps.
    created a value node and attribute at interface controller of the used DC
    set isInitial property to true for the value node in interface controller
    created context node and attribute with same name inside component controller of the embedding DC
    defined mapping between the nodes and attributes; which looks like
    UsedComponentInterface----
    >EmbeddingComponentController
    At run time I can't find any value inside the node in used DC. The used DC interface controller node is not getting populated with data from the embedding DC component controller node value.
    Can any one let me know the exact appraoch for this and where I did mistake in the above steps?
    Thanks in advance
    Cheers
    Sudip

    Hi Sudip,
        First make sure in your used DC interface controller context for the nodes that you need to populate data the inputElement property is set to true. The inputElement property for a node and attribute means that the data for those nodes are going to come from and external source. Nodes where the inputElement is set to true will not be initialized even if the cardianaliy is 1:1 or 1:n. The data instance has to come from an external source.
    Make sure that you create a public part for your used DC and add the component to the public part.
       If the input element property is set correctly in the interface controller of the used DC make sure that the data mapping between the interface controller of the used DC and you component/custom controller is correct. The data mapping arrow should point from your used DC interface to your component/custom controller. You can see this in your data modeler. Once you create the data link the mapping window will clearly say that this is an external mapping and only inputElements can be dragged.
    Once all the above are done if you add data instances to the external mapped node in your controller it will be available in your used DC context also.
    Hope this helps,
    Sanyev

  • Problem with Context in mapping

    Hi.
    I  have a big problem with my mapping.
    My input look like this.:
    - <Rec>
    - <raw>
      <Rec_type>B</Rec_type>
      <Record_data>0000340H150000006269 N2007020105070000727001000009000540006599350000000000</Record_data>
      </raw>
    - <raw>
      <Rec_type>C</Rec_type>
      <Record_data>0000350H1500000062690000107074030000610000000060800000004910001080 80620000727001</Record_data>
      </raw>
    - <raw>
      <Rec_type>D</Rec_type>
      <Record_data>0000360H15000000626900001070740000107079030000610000000060800000004920000000727001</Record_data>
      </raw>
    - <raw>
      <Rec_type>D</Rec_type>
      <Record_data>0000370H15000000626900001070740000107432030000000000000000000000000000000000727001</Record_data>
      </raw>
    - <raw>
      <Rec_type>C</Rec_type>
      <Record_data>0000380H1500000062690000115008010004995000000499900000041630001610 83470000727001</Record_data>
      </raw>
    - <raw>
      <Rec_type>C</Rec_type>
      <Record_data>0000390H1500000062690000115008050003997000000400300000033320001660 83470000727001</Record_data>
      </raw>
    - <raw>
      <Rec_type>C</Rec_type>
      <Record_data>0000400H1500000062690000115008030002996000000300000000024980001640 83470000727002</Record_data>
      </raw>
    - <raw>
      <Rec_type>C</Rec_type>
      <Record_data>0000410H1500000062690000115008040003995000000399900000033300001630 83470000727002</Record_data>
      </raw>
    - <raw>
      <Rec_type>C</Rec_type>
      <Record_data>0000420H1500000062690000115483010004850000000480100000040250000300 83110000727002</Record_data>
      </raw>
    - <raw>
      <Rec_type>D</Rec_type>
      <Record_data>0000430H15000000626900001154830000107432010000000000000000000000000000000000727002</Record_data>
      </raw>
    - <raw>
      <Rec_type>D</Rec_type>
      <Record_data>0000440H15000000626900001154830000107079010001453000000144000000011710000000727002</Record_data>
      </raw>
    - <raw>
      <Rec_type>D</Rec_type>
      <Record_data>0000450H15000000626900001154830000115124010003397000000336100000028590000000727002</Record_data>
      </raw>
    - <raw>
      <Rec_type>C</Rec_type>
      <Record_data>0000460H1500000062690000115502020004012000000399900000029470001240 73570000727001</Record_data>
      </raw>
    My target is an iDoc with this structure.:
    IDOC
    - E1OILT1
    - -   xxxx
    - -   xxxx
    - -   E1OILT2
    - -   E1OILT2
    - -   E1OILT2
    - -   E1OILT3
    - -   E1OILT3
    For each B-record I'm going to produce an iDoc.
    My problem is that all "C"-records shall into the first E1OILT3-segment and
    all "D"-records shall into the second E1OILT3-segment.
    It works well with the C-record but not with the D-records.
    D is depend on C, but C dont need to have a D-record.
    C could also have several D-records.
    Don't know if I explained this good enough but i hope  someone could give me an hint whats wrong with my context.
    Thanks

    then i think you need to write some JAVA code to do this.
    Create a User-Defined Function.
    and start using some of the ResultList Methods.
    check the blogs to how to do this.
    it will take you some time beacuse you need to understand the concept of Context if you don't know already.
    there is some methods like "addValue" that create a new Value.
    Regards,
    Roi Grosfeld

  • Problem with CrossComponent Context Mapping with PopupWindow (web dynpro ab

    The situation:
    I have four views (View V1, V2, V2_popup, V3) in three Components C1, C2,C3.
    View V1 is embeded in Component C1. View V2 is embeded in C2 with view V2_popup as Popup-Window.
    View V3 is embeded in Component-C3. And at last the View of Component C2 and C3 are embeded in View V1.
    The Problem is the CrossOver Context Mapping between the view V2 and V3.
    My first way is the "direct context mapping":
    I define a node in the ComponenteControllen from Component-C2 as interface and use it over the ComponentenController
    from Component-C3 in view-V3. Now I bind an attribute of the mapped node to an ui-element (e.g: inputfield),
    but the output of the Field is empty.
    The second way is, that I define an external Mapping for this situtation.
    I define a node in the componente-controllen from Component-C2 (an Component-C3)as interface with the attribute "Input Element (Ext)".
    Than I map the two nodes with a node from Component-C1. That's works fine.
    BUT, if I execute an action (e.g. action_save)in the popup for view-v2 (V2_popup) the changings from the inputfields don't write (show)in the context of the
    popup-view. I check this with the debugger. And if I close the popup and open it again, the changings are visible.
    Short: If I define a node with attribute "Input Element (Ext)", I don't can read changings from
    the screen in a popup-window.
    How I can solve this problem???
    Message was edited by:
            Maik Sturm

    Hi Maik,
    try this:
    at first you have to instantiate all! used components in the wddoinit method of the componentcontroller in your main (c1) component.
    e.g. instance of c2 Component
      lr_usage_c2_comp =   wd_this->wd_cpuse_c2_comp( ).
      IF lr_usage_c2_comp->has_active_component( ) IS INITIAL.
        lr_usage_c2_comp->create_component( ).
      ENDIF.
    and at the end set the reference:
      l_ref_interfacecontroller =  wd_this->wd_cpifc_c3_comp( ).
      l_ref_interfacecontroller->set_usage(
        ir_usage_c2_comp = lr_usage_c2_comp ).
    set_usage is a method in the c3 component controller,
    METHOD set_usage .
      DATA: lr_usage TYPE REF TO if_wd_component_usage.
      lr_usage = wd_this->wd_cpuse_c2_comp( ).
      lr_usage->enter_referencing_mode( ir_usage_c2_comp ).
    After doing this the components are using the same instance and you can simply use direct mapping between the components.
    Hope it helps.
    regards
    Christian

  • Mapping issue with context again

    I again need help with a mapping issue. I don’t know how to handle the contexts to get this working in the xi graphical mapping tool.  I have previously logged a question regarding this structure but the requirements have now changed. 
    I have a source document that has multiple delivery line items and for each delivery line item, there are multiple handling units. Each handling unit contains the line number of the delivery line item it belongs to. This structure has been simplified below.
    <b><u>Source Sample</u></b>
    <DOCUMENT>
    <DELIVERY_LINEITEM>
    <LINENUMBER>10</LINENUMBER>
    <MATERIAL>mat 1</MATERIAL>
    </DELIVERY_LINEITEM >
    <DELIVERY_LINEITEM >
    <LINENUMBER>20</LINENUMBER>
    <MATERIAL>mat 2</MATERIAL>
    </DELIVERY_LINEITEM >
    <HANDLING_UNITS>
    <HU_LABEL>123</HU_LABEL>
    <HU_ITEM>
    <LINENUMBER>10</LINENUMBER>
    </HU_ITEM>
    </HANDLING_UNITS>
    <HANDLING_UNITS>
    <HU_LABEL>456</HU_LABEL>
    <HU_ITEM>
    <LINENUMBER>10</LINENUMBER>
    </HU_ITEM>
    </HANDLING_UNITS>
    <HANDLING_UNITS>
    <HU_LABEL>789</HU_LABEL>
    <HU_ITEM>
    <LINENUMBER>20</LINENUMBER>
    </HU_ITEM>
    </HANDLING_UNITS>
    </DOCUMENT>
    <u><b>Source Structure</b></u>
    DOCUMENT 1..1
    DELIVERY_LINEITEM 1..unbounded
    LINENUMBER 1..1
    MATERIAL 1..1
    HANDLING_UNITS 1..unbounded
    HU_LABEL 1..1
    HU_ITEM 1..1
    LINENUMBER 1..1
    In the target structure, I need to output each handling unit along with the corresponding DELIVERY_LINEITEM material.  Target structure has been simplified below:
    <u><b>Target Sample</b></u>
    <DOCUMENT>
    <ROW>
    <PACKAGING>
    <HU_LABEL>123</HU_LABEL>
    </PACKAGING>
    <PACKAGING_ITEM>
    <LINENUMBER>10</LINENUMBER>
    <MATERIAL>mat 1</MATERIAL>
    </PACKAGING_ITEM>
    </ROW>
    <ROW>
    <PACKAGING>
    <HU_LABEL>456</HU_LABEL>
    </PACKAGING>
    <PACKAGING_ITEM>
    <LINENUMBER>10</LINENUMBER>
    <MATERIAL>mat 1</MATERIAL>
    </PACKAGING_ITEM>
    </ROW>
    <ROW>
    <PACKAGING>
    <HU_LABEL>789</HU_LABEL>
    </PACKAGING>
    <PACKAGING_ITEM>
    <LINENUMBER>20</LINENUMBER>
    <MATERIAL>mat 2</MATERIAL>
    </PACKAGING_ITEM>
    </ROW>
    </DOCUMENT>
    <u><b>Target Structure</b></u>
    DOCUMENT 1..1
    ROW 1..unbounded    
    PACKAGING 1...1
    HU_LABEL 1..1
    PACKAGING_ITEM 1..1
    LINENUMBER 1..1
    MATERIAL 1..1
    Note, 1 ROW in the target structure = 1 HANDLING_UNITS from the source structure.
    Can anyone help me to achieve this? I do not know how to map the relevant DELIVERY_LINEITEM\MATERIAL from the source structure to the target structure.

    JM,
    Please find the solution. Reply back if it helps or not
    http://www.flickr.com/photo_zoom.gne?id=1045178998&size=o
    http://www.flickr.com/photo_zoom.gne?id=1045179010&size=o
    http://www.flickr.com/photo_zoom.gne?id=1045179022&size=o
    Results :http://www.flickr.com/photo_zoom.gne?id=1045179134&size=o
    <b>Code used:</b>
    for(int j=0;j<Handling_Linenum.length;j++)
    for(int k=0;k<Delivery_Linenum.length;k++)
    if(Handling_Linenum[j].equals(Delivery_Linenum[k]))
    result.addValue(""Material[k]"");
    result.addContextChange();
    Best regards,
    raj.

  • SAP XI - Mapping with Contexts

    Hi Guys,
    We have a problem when mapping with contexts. Couldyou please help.
    What we are trying to achieve is if PARVW = X then map name2 to name2. We have done this all the way down the DT_Address. The context on both input values are set to IDOC.
    The problem is that when all the fields are in a particular segment occurence then it maps perfectly. But on numerous occurrences of E1EDKA1 various fields are missing i.e.name2 or pstl2 etc. What we want to happen is if the field doesn’t exist in that particular occurrence then just leave blank and don’t map. What is happening instead is XI keeps looking for this field and maps the first occurrence it can find of it. So we end up with like 6 occurrences of the same thing.
    Is their a way to specify that only map the fields if it is within the same occurrence as the qualifier. So basically Name2 follows PARVW to the same occurrence.
    Also is their a way of making it so we don’t get
    Name
    Name
    Name
    Id
    Id
    Id
    Address
    Address
    Address
    And instead get
    Name
    Id
    Address
    Name
    Id
    Address
    Name
    Id
    Address
    Thanks people

    Hi Thanks for your input.
    It was a little to do with the context but in the end I had to put another element in the target structure. So it went
    Customer 0-unbounded
            customerAddress 1-1
                       Details 0-1
                       ETC 0-1
                       ETC 0-1
    I mapped the customer to E1EDKA1
    I mapped customer address to a constant
    and the details I ampped as before but with no context.
    This seemed to work.... I have no idea why but it did work. If anybody could explain the why, I would appreciate it.

  • Error in messege mapping " Structure with min!=max without mapping"

    Hi Experts,
                           got an error in  messege mapping, after mapping was done as " Structure with min!=max without mapping" . Any idea what is my mistake!
    Points will be rewarded.
    Thanks and Regards,
    Arnab.

    Hi Mohd,
    This error pops up when your mapping is incomplete...
    First check all the fields are mapped....
    and check all the required fields are mapped which are in RED in colour...if not map to the specific field or to a constant or disable that one...and check the type of the sourse and target fields.....is it string,floatetc
    you got a element, which occurences (=minOccurs & maxOccurs) are unequal.
    Those fields have to be mapped.
    http://help.sap.com/saphelp_nw04/helpdata/en/02/9a6a1c244411d5b2e30050da4c74dc/frameset.htm
    Reward points if this helps
    Regards
    Pragathi.

Maybe you are looking for

  • HP LaserJet Pro 200 color MFP M276nw software loades up to 65% then stops.

    M276nw software loades up to 65%, then gives an error message with return code 1601. Tried the solution posted for stopping at 80% withour success. Please help!!!

  • GR IR clearance for previous periods

    HI, Our client is trying to clear GR IR Account via F.13. The OB74 settings was configured as WAERS (Currency )as Criteria 1 and PRCTR (Profit Center) as Criteria 2 for the Account Type u201CSu201D. Because of this setting the GR IR account got wrong

  • JFileChooser problem under Linux

    I am using a JFileChooser component to allow a user to select files for which status information is displayed in my gui. I am using a native method to get permissions etc on the choosen file and everything works well. If the user chooses a file which

  • Snow Leopard Preview app will no longer opens/saves 'sgi' images

    Now that i'm running Snow Leopard I an unable to open of save images through Preview as sgi format. Is this another Snow Leopard change or is something broken? Anyone else had this problem?

  • 10.4.10 messed up my Tomtom One V2

    The update seems to have resolved the Tomtom 910 issue, but now it messed up my One V2. When I connect, it mounts on the desktop without problem, but when I want to explore it, it crashes then eject it so that iI can never see what's in the disk...