External mapping contect

Hi All,
I tried to find a solution myself reading all posts and some document from help, like the external mapping context but without success until now.
So please, could you help me to find right solution ?
1/ Idea is that a comp A uses (used component) comp B.
2/ In interface controller context B I defined a node BNode with attributes. Same thing of course in controller context B.
Both with "Input element" set to true and Collection Cardinality set to 1..1
3/ In controller context A I mapped using the context from B the node BNode.
4/ Finally I try into controller B, java part, to put some data into BNode.
First of all this the BNode current element is null (as I don't understand because of my cardinality set to 1..1)
So I try to create a node element and to add it into my context, exception occurs :
com.sap.tc.webdynpro.progmodel.context.ContextException: NodeInfo(path=_.CompB.BNode, class=com.sap.tc.webdynpro.progmodel.context.MappedNodeInfo): cannot create nodes, no mapping defined yet
Do you have any idea ?
Thanks for any help
Best regards,
Emmanuel.

Hi Bala,
And thanks for your reply.
Ok so first, I don't understand the restriction because in my context I didn't put directly attributes but first a node BNode and then attributes into this node. So I thought that it was in that case possible...
Nevertheless I tried of course what you said. So in B I changed the input element value to false, and the cardinality to 0..1 in both controller and interface controller of B.
Then in B, I create this element and set some attributes.
But in A, If I want to use the BNode node with attributes mapped to comp B, it is impossible because this BNode in comp A is still empty. It is why I would like to use input element set to true to be able to acess to these external attributes.
Next try perhaps :).
Best regards,
Emmanuel.

Similar Messages

  • Create a cache for external map source - Error in parsing xml request.

    When doing the following:
    Create a cache for external map source
    I get "error in parsing xml request" when setting the following
    Map service Url:
    http://neowms.sci.gsfc.nasa.gov/wms/wms?version=1.3.0&service=WMS&request=GetCapabilities
    It looks like it is breaking on "&". Any suggestions?
    Rob

    Hi Chris,
    thanks for your reply!
    I've tried to add the following into persistence.xml (although I've read that eclipseLink uses L2 cache by default..):
    <shared-cache-mode>ALL</shared-cache-mode>
    Then I replaced the Cache bean with a stateless bean which has methods like
    Genre findGenreCreateIfAbsent(String genreName){
    Genre genre = genreDAO.findByName(genreName);
    if (genre!=null){
    return genre;
    genre = //Build new genre object
    genreDAO.persist(genre);
    return genre;
    As far as I undestood, the shared cache should automatically store the genre and avoid querying the DB multiple times for the same genre, but unfortunately this is not the case: if I use a FINE logging level, I see really a lot of SELECT queries, which I didn't see with my "home made" Cache...
    I am really confused.. :(
    Thanks again for helping + bye

  • Creating external mapping file for C# application

    Hi,
    I'm using Robohelp 7 and producing HTMLHelp files. So far, the programmers have been making internal links in the program to call my help, but I'd like to take this over using an external mapping file.
    Is it possible to use regular map files, using the built-in Map ID functionality, for C# .NET applications? If so, is there something special I have to do? Or do I just create a regular map file?
    Thanks!

    I mean that, in the past, they have hard-coded the link to each help page within the application. But, I'd like to take that over by maintaining a Map file where I specify the link between the topic and the Map ID.
    However, I'm not sure that the map file works for C# .Net applications, and the engineers aren't sure either. I told them I'd go investigate.
    Is there a way to create a Map file, or something that works like a map file, for a C# .Net application? Or do they have to go on hard-coding the links to each topic?

  • Facing problem in .doc to .chm conversion esp with External Map Id file

    Hi...I'm a new user to RH-Word. I need to create .chm file
    from a .doc file (earlier we used to use .hlp). Is it correct that
    i need .cnt (for TOC) and .hlp files as well for the conversion? If
    not, then how can i do it with the .doc file ONLY? Secondly, i have
    converted the .doc to .chm with the help of .cnt and .hlp BUT
    Context Sensitive help is not working in this case. I imported the
    external .map file (that was provided with the VC++ code of my
    program) BUT the Map IDs are placed in the Unused Map ID Folder and
    i need to create aliases for each and every Map ID [which is very
    cumbersome and difficult to do as i don't know which ID was related
    to which Topic]. Is there any way to convert the .doc while
    preseving the Context Sensitive Help as well? Plz help!!

    Hi DivyaVij,
    Can you describe more precisely what you want do do, or what
    you did?
    If you want to convert your WinHelp-project (hpj) to a
    HTMLHelp project (.xpj) in RoboHelp, this is how I would do it:
    - In RH Starter select the tab Import.
    - Select WinHelp Projekt (.hpj). The dialog page Import
    Project - Select Project Format opens where you select HTML Help.
    - The Select WinHelp Project dialog appears where you select
    your WinHelp project.
    - Define the import settings.
    The hh file should convert fine. You may have to manually
    reformat topics, convert bmp files or other stuff, but you will
    work with HTML files, which is much more convenient.
    Hope that helps!

  • External mapping in WD for ABAP

    Hello,
    I am trying to understand how the concept of external context mapping works in Webdynpro.
    In system BIZ/000 I created a main WD component ZTEST_WD and another subcomponent WD component ZTEST_MWD.
    Then I didthe following:
    1. set the component controller context node TEST_FLIGHT_NO of ZTEST_MWD as Input Element (Ext),
    2. performed an external mapping between the interface controller context and the main component controller context
    3. Created a method GET_FLIGHT_DETAIL to perform some processing with the flight number in the TEST_FLIGHT_NO and display the flight details on the view. It was successful.
    As a negative test, I tried to display the value of the subcomponent context with external mapping in the main view, and I expected that it would give an error, but it worked.
    I assigned a value to the context in the interface controller method, and the same was displayed in the view. This means that the data flows from the interface controller context to the view context.
    In subcomponent ZTEST_MWD, there is a method GET_FLIGHT_DETAIL, where I assigned value to the context.
    data_node = wd_context->get_child_node( name = 'TEST_FLIGHT_NO' ).
    data_node->set_attribute( exporting name = 'CARRID' value = 'AA' ).
    data_node = wd_context->get_child_node( name = 'TEST_FLIGHT_NO' ).
    data_node->get_attribute( exporting name = 'CARRID' importing value = lv_carrid ).
    And later when the action was processed, the value "AA" displayed on the textbox in the main view.
    Now I am a bit confused abt the concept which I understood earlier. I do not see any difference between external mapping and normal mapping.
    It would be very very nice if you could throw light on this.
    Awaiting responses,
    Thanks and Regards,
    Maya

    Hello,
    here's the link to the documentation about external context mapping: http://help.sap.com/saphelp_nw04s/helpdata/en/67/cc744176cb127de10000000a155106/frameset.htm
    Regards, Heidi

  • Freely programmed search help with external mapping

    Hi all.
    I have a freely programmed search help to search for physical inventory items.
    I map some data from the component where i use this search help to this search help via external mapping. This works fine.
    But in the search help I want to be able to change the mapped data to perform a new serach. When I change the data and start the action to search again (in the serach help component)  I still get the old field value from context so that the search returns the same result. When I close the search help afterwards the changes are suddenly visible in the using component. So my entered data are somehow transfered to the original context but not to the context of the used component.
    Any ideas?
    Thanks
    Sascha
    Message was edited by:
            Sascha Dingeldey

    Hi Sascha,
    I would suggest, that you do not work with the externally mapped attribute.
    Try to copy the value to a "local" attribute in the searchhelp context while WDDOINIT of the component.
    This is the attribute you should use for the search.
    When you change the searchvalue, it is only changed in the comnponent.
    To get the values back to the calling component you need to copy it back while you call the action submit or exit.
    Hope this helps
    Best regards, Matthias

  • External Map Source SRID Parameter

    Hello,
    I am trying to create a map tile layer in mapviewer from an external map source. I have specified the Map service Url, the Java Adapter Class and the Jar file location, provided by the WMS provider, correctly. I also enabled the adapter properties as required by the WMS provider:
    service: WMS
    srs: EPSG:4326
    format:image/png
    layers:ktbasemap
    The coordinate system that I would like my map tile layer to use is:
    GGRS87 / Greek Grid (2100, PROJECTED)
    but mapviewer does not seem to translate the WMS provider's map data into the specified coordinate system (2100). If I use Oracle's SRID, 8307, the map tile layer is rendered properly.Is there any way to overcome this issue?
    Thanks

    Does the external (WMS) map source serve up the maps in EPSG:4326 or in EPSG:2100?
    Anyway MapViewer won't convert (reproject) the tiles.
    If the WMS serves up map images in epsg:4326 then the tile layer's SRID should be epsg:4326 or 8307
    If the WMS instance serves it up in EPSG:2100 then use that instead in the tile layer definition.

  • Error Message External Mapping Not Complete Yet

    Hi,
    I have the following scenario.
    Component A <b>is Embedding</b> Component B.
    Component B has a Componenet Controller that makes a<b> Service Call</b> to a Function Module.
    The <b>Top Node in the Context of Component Controller of Component B (</b>which is same as the name of the function module being called) is marked with :
    <b>Interface Node = 'X'
    isInputElement = 'X'.</b>
    The IMPORTING Node gets the isInputElement = 'X' property.b The CHANGING node does not.
    The Context of COmponent Controller of B looks like
        Context
            Name_of_Function_Module
               IMPORTING
                   Attribute1
               CHANGING
                  Attribute2
    <b>Now in Component A, in the Component Usage of B-> Interface Controller , I declare the Usage of Component Controller of Component A</b>
    I did the external mapping of the Top Node of Component B(throught the interface controller) to that of Component Controller of A.
    I created a View in Component A, declared usage of Component Controller of A in this View, did context mapping from View Controller of A to Component Controller of A and binded the IMPORTING node attributes to the Inputfield.
    I made sure I instantiate the Used COmponent B in the WDDOINIT() method of the COmponent Controller of A
    WHen I run the application I get the error
    <b>External Mapping for COMPONENT A # Name_of_Function_Module.IMPORTING.Attribute1 Not Complete Yet</b>
    What am I missing here?
    Thanks
    Message was edited by:
            SAP  User

    Thanks Regina,
    In my case, I have to have the IMPORTING Node and NAME_OF_FUNC_MODULE node as isInputElement = 'X' because the values for the Importing parameters comes from the outer component .
    The <b>CHANGING</b> Node<b> does not</b> have isInputElement = 'X' because the data flow is from the Imterface Controller of Component B to the Component Controller of Component A.
    The problem was that I had wrongly marked the Node for Component Controller of Component A, which is mapped to the View COntroller of A, as isInputElement = 'X'. I removed that and it worked fine..
    In a nut shell, the followiing holds true for External Mapping
    1) The SOURCE of data is ALWAYS from outer Component to Inner Component, that is for Eg: from the COmponent Controller of Component A to the Interface Controller of COmponent B, if A Embeds B
    2) The Controller Usage of Component A has to be declarred withing that of the Interface Controller of B (and not the other way..THIS IS IMPORTANT, since the source of data is the Component Controller of A, so B has to Use A and not Vice-Versa)
    3) The Source of data for Nodes with isInputElement <b>=</b> 'X' is always the COmponent Controller (or Custom COntroller) of the OUTER Component, while that with isInputElement <b>NOT EQUAL</b> 'X' is the Interface Controller of the INNER Component
    Regina, Pls input ur comments

  • External Map Source Adapter - MapViewer

    <p>
    Hi
    I am developing an application using Oracle Maps of OracleMapViewer 10.1.3 using OC4J
    </p>
    <p>
    The objective of this exercise is to make use of a cache generated by a non-MapViewer solution. The cache is stored at an external location and can be accessed by sending multiple HTTP requests. For any given extent, multiple HTTP requests needs to be sent to access the individual tiles covering the given area.
    http://servername/mapname/cache?level=0&row=11&column=1
    http://servername/mapname/cache?level=0&row=11&column=2
    http://servername/mapname/cache?level=0&row=12column=1
    http://servername/mapname/cache?level=0&row=12&column=2
    The logic to identify the tiles is also available. The problem is that the getMapTileRequest(...) returns only one string and this when passed would return only one image tile. (Correct me if my understanding is wrong)
    public abstract class MapSourceAdapter
    <strong>public abstract String getMapTileRequest(TileDefinition tile);</strong>
    public byte[] getTileImageBytes(TileDefinition tile) ;
    public Properties getProperties() ;
    One option is to have a servlet at the other end that would accept the extent and zoom level and then identify the tiles. But still it is not clear as whether MapViewer will accept one response or multiple responses from the external server.
    Need some guidance in this aspect
    Regards
    Govindarajan
    </p>

    1. The mapviewer tile servlet can response to multiple tile requests simultaneously. It makes multiple calls to the getMapTileRequest method, each of which gets the URL for one tile. So if you can define the map tile layer(map cache instance) in such a way that its tiles have the same size as the external tiles, mapviewer should be able to handle the tile requests without problem. You also need to modify the XML tile layer(map cache instance) definition and add parameter "fetch_larger_tiles" to the root node and set its value to "false". Without this change, mapviewer will fetch map images that are several times larger than the actual tiles and cut them into tiles later on.
    2. With the latest patch, you can define a custom tile layer on the client side and fetch the tiles directly from the non-mapviewer tile server. Because this approach does not duplicate the tiles in mapviewer's tile cache, it is better than 1 if the non-mapviewer tile server can serve the tiles as fast as mapviewer. Demo #50 on the mapviewer tutorial page shows how to use custom tile layer.

  • Dorpdown key with external mapping

    Hi Experts
    I have a situation here i'trying to resolve. Any help would be appreciated.
    I have 2 components A and B. Let say component A uses its view A and component B uses its view B.
    View A of component A uses a dropdown key. The values in dropdown get populated from a RFC call in component A.
    View B of component B also a dropdownkey. The values in dropdown get populated from the same RFC call as in A.
    As you can seen, values in dropdown get populated and duplicated at 2 places in component A and B, hence 2 calls to RFC.
    I tried to create another component C which will call the same RFC just once and populate the dropdown values in order to return to component A or B through extenal context mapping.
    To achieve this, I declare a value attribute vaColor (type string) in the interface controller context of component C and uses the following code in do_init of component C. Please note the value attribute vaColor has Input Element property = true and  it will be mapped to exactly the same value attribute declared in component A and B.
    <b>Unfortunately this does not work. The problem is WD does not permit to modify a data type of a value attribute used in external context mapping. How do you experts resolve this ?</b><b> Please remember that my objective is to have 1 single RFC call in a child component  to populate the dropdown list and this dropdown list will be transferred back for use by different parent components.</b>
    ISimpleTypeModifiable myType = wdThis.wdGetAPI().getContext).getModifiableTypeOf("vaColor");
    IModifiableSimpleValueSet valColor = myType.getSVServices().getModifiableSimpleValueSet();
    calling RFC
    for (int i = 0; i < wdContext.node<>.size(); i++) {
    valColor.put(wdContext.node<>.getXXElementAt(i).getKey(),
         wdContext.node<>.getXXElementAt(i).getText());
    Thanks a lot in advance guys

    Hi Ralph,
    Instead of directly trying to modify the type as in your method, I would do the following.
    -Call RFC in the init of comp C to get data. This data will be copied to a value node(created in comp C) - say this is the value node structure
    Plant
    -Value
    -Description
    Comp A and Comp B will use Comp C. They will have the same node Plant , mapped to comp C's context.
    Data will be populated when comp C is initiated(after executing the Bapi, copy values from model node to this Plant node)
    Comp A and comp B get the values through context mapping. In the individual view wdDoInit method, your code of ISimpleModifiable... is called, and values are populated from this node.
    Hope that helps,
    Regards,
    LM

  • External mapping context

    Hello.
    I have one problem. I have 2 components? for example compA and compB. In compB I used compA. From compB I give parameters to compA throuth Context mapping and in compA execute RFC using this parameters. After execute I want to mapping result context from compA to compB. Is it possible to do? And if possible, how can I do this?

    I think the mapped context is not initialized in the wdDoInit method. Create your own init method in compA and call it from the wdDoInit of the view of compA.
    So you have the call hierarchy like this --> Fire plug of compB --> wDoInit of the view in comA (hook method) --> your own init method in controller of compA. Then you should be able to access the initialized mapped context.
    Hope this helps.

  • 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

  • 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

  • Doing external context mapping *Dynamically*

    Dear All,
    Can anybody tell me how to do do external context mapping dynamically?
    I have literally read thousands of documents/ blogs/ forum posts on external mapping. but not a single one is explaining DYNAMIC part of it properly.
    If anybody has worked on this then please share your experiences with me.
    Awaiting for helpful replies.
    Thanks and regards,
    Amey Mogare

    Hi
    Check out this
    http://help.sap.com/saphelp_nw2004s/helpdata/EN/67/cc744176cb127de10000000a155106/frameset.htm
    Thanks

  • External context mapping

    Hi everybody,
    I have a question please help me out.
    As stated in tutorial 14 (Server side eventing):
    <At design time, a Web Dynpro component does not know the context structures of its embedding Web Dynpro component. Therefore, it is not possible at design time to map context elements in the component interface controller of Web Dynpro component A to context elements that belong to a controller context of Web Dynpro component B, which has declared a usage of A. However, if Web Dynpro component A itself uses another Web Dynpro component within itself, this is possible (general context mapping)>
    Let say that I have some properties (let say some options)in component A to be set from component B. Is there any  way to do an external mapping given that component A is not inside component B (embedding component) or I must create a new method with parameters in interface controller A to be called from component B?
    Thanks a lot guys in advance
    Raplh

    Ralph,
    <i>Later I found out that external context mapping worked only on component within another component only</i>... Absolutely correct, hence <b>Inner</b>A and <b>Outer</b>B should work. Why this is not working for you? Could you provide more detals? Runt-time error? Any messages in designer?
    Re-read my post -- I described more complex case, i.e. there are actually 3 components, Outer, InnerA and InnerB. 2-nd and 3-rd are children of first. So even InnerA and InnerB has no parent-child relationship, they may communicate via common parent.
    Valery Silaev
    SaM Solutions
    http://www.sam-solutions.net

Maybe you are looking for

  • Receiver File adapter encoding

    Hi All , My scenario is ABAP Proxy --> XI -->Flat file. My receiver is flat file , comma separated to a NFS.... there is a character ß in one of the fields of source payload. When I am using UTF-8 in the receiver channel , this character is displayed

  • Can't install ipod to mac

    hi i have downloaded the iPod13.smi form here. I install it in the iPod software 1.3 updater. It told me to "plug in an i Pod to upate it" when i plug it the i pod show the do not disconnect, and the button "uptdate" and "restore" are both already se

  • Safari connection problems

    My Safari will not load webpages. It just sits there with a small bit of blue in the URL bar It is not an internet problem as Firefox works fine from this MacBook Pro. I have reset safari and cleared the cache..still no joy. Any help? Christian R

  • My iphone 5 speak just stopped working.  I have iOS 7.0.3 update.  What is the solution?

    y iphone 5 speaker just stopped working. I have iOS 7.0.3 update.  There is no damage what so ever.  What is the soultion?

  • Photoshop Elements 12 Organizer Crashing When Trying To Import Photos

    Just downloaded and started using PSE 12 Editor and Organizer about a week ago.  (An upgrade fron PSE11).  Today for whatever reason, when trying to import any file, say from my desktop or a download foler, the list of locations to import appears for