Context Exception for context mapping between 2 components
Hi Guys,
Currently I am working on ess FPM applications,
I have 2 componets, VcComp1 & FcComp2, the data entered on the VcComp1 view should be passed to FcComp2.
I defined context attribute in FcComp2 Interface controller, and then I mapped it to the context value attribute of VcCompl1's view controller, then bind the input field with that context value attribute.
FcComp2 is added to the "used component" of VcComp1, all other mappings are also done.
but when i run the appl to display the view in VcComp1, always this error comes out:
com.sap.tc.webdynpro.progmodel.context.ContextException: MappedAttributeInfo(VcComp1View.attribute1): does not have a simple type.
Even I changed the type of FcComp2 into a local dictionary simple type, then do context mapping again, this error is still there.
Please help , I have been stuck for 2 days on this small issue.
Thanks with high rewarding points!
Regards,
Guo Feng
hi,
If you are trying to access the values in SVS or EVS and passing it to the Comp controller this errror will occur.
Create a context attr and copy that vaue into it and bind it to the comp value attr.
If not chk out the following link,
https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/60132577-7801-2b10-c9b1-b13b2f78f23b
Regards
Jayapriya
Similar Messages
-
Context binding between different components using component interface cont
Please tell me the procedure how to do context mapping between different components ......
Please post the procedure ASAP.Hi Koti,
Check this
<a href="/people/bertram.ganz/blog/2007/01/19/new-web-dynpro-java-tutorial--component-interface-definitions-in-practice:///people/bertram.ganz/blog/2007/01/19/new-web-dynpro-java-tutorial--component-interface-definitions-in-practice
<a href="https://www.sdn.sap.com/irj/sdn/wiki?path=/display/wdjava/usecomponentsinbiggerWebDynproprojects%28componentization%29&">https://www.sdn.sap.com/irj/sdn/wiki?path=/display/wdjava/usecomponentsinbiggerWebDynproprojects%28componentization%29&</a>
regards
Sumit -
Best method for passing data between nested components
I have a fairly good sized Flex application (if it was
stuffed all into one file--which it used to be--it would be about
3-4k lines of code). I have since started breaking it up into
components and abstracting logic to make it easier to write,
manage, and develop.
The biggest thing that I'm running into is figuring out a way
to pass data between components. Now, I know how to write and use
custom events, so that you dispatch events up the chain of
components, but it seems like that only works one way (bottom-up).
I also know how to make public variables/functions inside the
component and then the caller can just assign that variable or call
that function.
Let's say that I have the following chain of components:
Component A
--Component B
-- -- Component C
-- -- -- Component D
What is the best way to pass data between A and D (in both
directions)?
If I use an event to pass from D to A, it seems as though I
have to write event code in each of the components and do the
bubbling up manually. What I'm really stuck on though, is how to
get data from A to D.
I have a remote object in Component A that goes out and gets
some data from the server, and most all of the other components all
rely on whatever was returned -- so what is the best way to be able
to "share" data between all components? I don't want to have to
pass a variable through B and C just so that D can get it, but I
also don't want to make D go and request the information itself. B
and C might not need the data, so it seems stupid to have to make
it be aware of it.
Any ideas? I hope that my explanation is clear enough...
Thanks.
-JakePeter (or anyone else)...
To take this example to the next (albeit parallel) level, how
would you go about creating a class that will let you just
capture/dispatch local data changes? Following along my original
example (Components A-D),let's say that we have this component
architecture:
Component A
--Component B
-- -- Component C
-- -- -- Component D
-- -- Component E
-- -- Comonnent F
How would we go about creating a dispatch scheme for getting
data between Component C and E/F? Maybe in Component C the user
picks a username from a combo box. That selection will drive some
changes in Component E (like triggering a new screen to appear
based on the user). There are no remote methods at play with this
example, just a simple update of a username that's all contained
within the Flex app.
I tried mimicking the technique that we used for the
RemoteObject methods, but things are a bit different this time
around because we're not making a trip to the server. I just want
to be able to register Component E to listen for an event that
would indicate that some data has changed.
Now, once again, I know that I can bubble that information up
to A and then back down to E, but that's sloppy... There has to be
a similar approach to broadcasting events across the entire
application, right?
Here's what I started to come up with so far:
[Event(name="selectUsername", type="CustomEvent")]
public class LocalData extends EventDispatcher
private static var _self:LocalData;
// Constructor
public function LocalData() {
// ?? does anything go here ??
// Returns the singleton instance of this class.
public static function getInstance():LocalData {
if( _self == null ) {
_self = new LocalData();
return _self;
// public method that can be called to dispatch the event.
public static function selectUsername(userObj:Object):void {
dispatchEvent(new CustomEvent(userObj, "selectUsername"));
Then, in the component that wants to dispatch the event, we
do this:
LocalData.selectUsername([some object]);
And in the component that wants to listen for the event:
LocalData.getInstance().addEventListener("selectUsername",
selectUsername_Result);
public function selectUsername_Result(e:CustomEvent):void {
// handle results here
The problem with this is that when I go to compile it, it
doesn't like my use of "dispatchEvent" inside that public static
method. Tells me, "Call to possibly undefined method
"dispatchEvent". Huh? Why would it be undefined?
Does it make sense with where I'm going?
Any help is greatly appreciated.
Thanks!
-Jacob -
Descriptor exception for "missing mapping for field"
I am using TopLink 9.0.3, oracle database 9, JVM 1.4.
I got one DescirptorException that states that the descriptor misses mapping for one database field.
However I have such field mapped through workbench.
The is the exception.
-----------------exception-----------------------
LOCAL EXCEPTION STACK:
EXCEPTION [TOPLINK-45] (TopLink - 9.0.3 (Build 423)): oracle.toplink.exceptions.DescriptorException
EXCEPTION DESCRIPTION: Missing mapping for field [DatabaseField(DEVICEDB.DEVICEID)].
DESCRIPTOR: Descriptor(ContactDB --> [DatabaseTable(DEVICEDB)])
at oracle.toplink.exceptions.DescriptorException.missingMappingForField(Unknown Source)
at oracle.toplink.internal.descriptors.ObjectBuilder.extractValueFromObjectForField(Unknown Source)
at oracle.toplink.internal.descriptors.ObjectBuilder.extractValueFromObjectForField(Unknown Source)
at oracle.toplink.mappings.OneToManyMapping.extractForeignKeyFromReferenceObject(Unknown Source)
at oracle.toplink.mappings.OneToManyMapping.executeBatchQuery(Unknown Source)
at oracle.toplink.mappings.OneToManyMapping.extractResultFromBatchQuery(Unknown Source)
at oracle.toplink.internal.indirection.NoIndirectionPolicy.valueFromBatchQuery(Unknown Source)
at oracle.toplink.mappings.ForeignReferenceMapping.batchedValueFromRow(Unknown Source)
at oracle.toplink.mappings.ForeignReferenceMapping.valueFromRow(Unknown Source)
at oracle.toplink.mappings.DatabaseMapping.readFromRowIntoObject(Unknown Source)
at oracle.toplink.internal.descriptors.ObjectBuilder.buildAttributesIntoObject(Unknown Source)
at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(Unknown Source)
at oracle.toplink.internal.descriptors.ObjectBuilder.buildObjectsInto(Unknown Source)
at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.buildObjectsFromRows(Unknown Source)
at oracle.toplink.queryframework.ReadAllQuery.execute(Unknown Source)
at oracle.toplink.queryframework.DatabaseQuery.execute(Unknown Source)
at oracle.toplink.queryframework.ReadQuery.execute(Unknown Source)
at oracle.toplink.publicinterface.Session.internalExecuteQuery(Unknown Source)
at oracle.toplink.threetier.ServerSession.internalExecuteQuery(Unknown Source)
at oracle.toplink.publicinterface.Session.executeQuery(Unknown Source)
at oracle.toplink.internal.indirection.QueryBasedValueHolder.instantiate(Unknown Source)
at oracle.toplink.internal.indirection.DatabaseValueHolder.getValue(Unknown Source)
at oracle.toplink.indirection.IndirectList.buildDelegate(Unknown Source)
at oracle.toplink.indirection.IndirectList.getDelegate(Unknown Source)
at oracle.toplink.indirection.IndirectList.isEmpty(Unknown Source)
The is my mapping file for DeviceDB and ContactDB. The ContactDB is a subclass of the DeviceDB.
Clearly from the mapping below, the DeviceDB has a mapping for the database filed DeviceID.
The ContactDB is a subclass of DeviceDB. Therefore the ContactDB also should have a mapping for
database field deviceID
----------------------- partial mapping file for DeviceDB----------
public Descriptor buildDeviceDBDescriptor() {
Descriptor descriptor = new Descriptor();
descriptor.setJavaClass(DeviceDB.class);
descriptor.addTableName("DEVICEDB");
descriptor.addPrimaryKeyFieldName("DEVICEDB.DBID");
// Inheritance properties.
descriptor.getInheritancePolicy().setClassIndicatorFieldName("DEVICEDB.CLASS");
descriptor.getInheritancePolicy().addClassIndicator(ContactDB.class, "c");
descriptor.getInheritancePolicy().addClassIndicator(ContentDB.class, "f");
OneToOneMapping deviceMapping = new OneToOneMapping();
deviceMapping.setAttributeName("device");
deviceMapping.setReferenceClass(Device.class);
deviceMapping.setRelationshipPartnerAttributeName("databases");
deviceMapping.dontUseIndirection();
deviceMapping.readOnly();
deviceMapping.addForeignKeyFieldName("DEVICEDB.DEVICEID", "DEVICE.DEVICEID");
descriptor.addMapping(deviceMapping);
return descriptor;
---------------------------partial mapping for ContactDB --------------
public Descriptor buildContactDBDescriptor() {
Descriptor descriptor = new Descriptor();
descriptor.setJavaClass(com.access.sync.business.contact.ContactDB.class);
descriptor.addTableName("DEVICEDB");
// Inheritance properties.
descriptor.getInheritancePolicy().setParentClass(com.access.sync.framework.systemObj.DeviceDB.class);
Any help is really appreciated.
jasonYour 1-1 mapping must not be read-only.
deviceMapping.readOnly();Read-only means the mapping will not write the field, and should only be used when another mapping does write the field. -
Copy of Message Mapping between SW-Components: Function Module undefined
Hi Gurus,
we want to copy a Message Mapping from one Software Component to an other. We right click on it and say "copy to" and choose the Target Softwarecomponent and Namespace. When we say ok.. we got an error "Function Module Undefined (FUNCMODL_UNDEF)"
Has anybody an idea what can be wrong?
Big Thanks in AdvanceHi Everybody. Thanks for your fast replies.
I have played a bit with the PI System and ihave the following Situation
SW-T (Target SWC)
SW-A (Source A)
SW-B (Source B)
SW-A Copy to SW-T without Dependencies --> Error Function Model Undefined
SW-A Copy to SW-T with Dependecies --> It works correct
SW-B Copy to SW-T without Dependencies --> It works correct.
The Strange Thing is, if i Copy SW-A to SW-T without Dependencies i get the Error but a Message Mapping with the Correct Name is created, but it is empty. IT has no content. For me this looks like an Program Error?!??! -
How to implement Dynamic Context Node Mapping between Components
Hey genuis:
I am looking for how to implement context mapping bwteen two components. I read some threads, and try to use external context mapping. The example works fine. However, my requirement is more than that.
I have a context node in Component B, and the attributes in it are dynamically generated. Component A is the main component which use Component B's function. Both A and B work fine by theirselves.
When I assemble A and B (external mapping), the system gives me a exception:com.sap.tc.webdynpro.progmodel.context.ContextException: MappedNodeInfo(T8UploadCompInterface.data): cannot create nodes, no mapping defined yet.
Please give me some suggestion?
Any responses are appreciated.I miss this thread.
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/6fdae690-0201-0010-a580-d104b459cb44
This is almost the right solution for my problem. -
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 SturmHi 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 -
Dynamic Context Mapping in Web Dynpro ABAP
Hi Experts,
How can I create two dynamic Context nodes, one in ViewController and the other in Component Controller and finally create a context mapping between them?
Regards,
Johan Kriek.Hi Johan,
I found a method IF_WD_CONTEXT_NODE_INFO~ADD_NEW_MAPPED_CHILD_NODE that seems to be the one that I am looking for.
I do have same idea but i have been trying to give solution by using above method,unfortunately here my server is down.check the below code. i didnt check this code due to server down.
DATA: lo_nd_purchase_header TYPE REF TO if_wd_context_node,
lo_el_purchase_header TYPE REF TO if_wd_context_element,
ls_purchase_header TYPE wd_this->element_purchase_header,
lo_node_info type ref to if_wd_context_node_info,
lo_child_node_info type ref to if_wd_context_node_info,
MAPPING_INFO type WDR_CONTEXT_MAPPING_INFO.
* navigate from <CONTEXT> to <PURCHASE_HEADER> via lead selection
lo_nd_purchase_header = wd_context->get_child_node( name = wd_this->wdctx_purchase_header ).
CALL METHOD LO_ND_PURCHSE_HEADER->GET_NODE_INFO
RECEIVING
NODE_INFO = lo_node_info.
MAPPING_INFO-controller = 'ZWDC_ALV'. "conponent name
MAPPING_INFO-path = 'PURCHASE_HEADER'. "Controller context node name
CALL METHOD LO_NODE_INFO->ADD_NEW_MAPPED_CHILD_NODE
EXPORTING
CHILD_NAME = 'PURCHASE_HEADER'
MAPPING_INFO = MAPPING_INFO
* IS_STATIC = ABAP_TRUE
RECEIVING
CHILD_NODE_INFO = lo_child_node_info -
Web dynpro Interface context mapping
Hi All.
I shall tell my problem with a very simple scenario that anybody could implement in 2 min.
Webdynpro Interface component -> Z_INTER; context node: ORDER_VALUES, cardinality 0..n; table: VBAK, select VBELN.
That's it.
Now, Webdynpro component : Z_COMP -> Used component -> Z_INTER.
Inside component controller, I declare usage of Z_INTER. Then do a direct mapping of ORDER_VALUES from Z_INTER to Z_COMP.
So the context node ORDER_VALUES is created in the Z_COMP component controller.
That's it.
Inside WDDOINIT() method of comp controller, read the context node's attribute VBELN.
The line:
elem_order_values = node_order_values->get_element( ).
gives a dump saying that:
The following error text was processed in the system : Error when Creating Component Z_INTER. Z_INTER Is a Component Interface, Therefore, an Instance Cannot Be Created. Name of Component May Not Be Specified. (Used Component: Z_COMP, Component Usage: USAGE1)
Can anybody guide me how do we map interface context? I guess I am not getting the concept and am doing some fundamental mistake.
Thanks !Hi Aishi,
When you use a component interface, you cannot declare it as a component usage. You need to add it under 'Implemented interfaces' and say 'reimplement'. If you want an interface node mapping between 2 components, then you have to declare a normal component. Specify the node as an 'interface node', which means it is visible to components using this component. And then do the mapping.
Regards
Nithya -
Mapping between Sales Order-Schedule-Line and Delivery-item
Hi together,
I want to extend the Datasource 2LIS_12_VCITM (Delivery-number, -item, Order-number,-item is available) by Sales Order Schedule Line.
Could not find any ERP table (VBEP and LIPS allow a mapping only on item level) for the mapping between Sales Order Schedule Line and Delivery item yet. The use of the extractor 2LIS_12_VCSCL for the extention (e.g. infoset) afterwards is no option.
Thanks for your help in advance!!
Assign full points!!
SvenHi Reddy,
thanks for your answer.
I know that I have to add this field.. but the problem is, how to fill this field. I don't know how to map the delivery-item with the schedule line-item. -
How to use a context between two components at the runtime
Hi Experts,
My Web dynpro component is over the Generation limit (size of generated load is > 2 MB) so it always gets Warning when I active it. That why I have separated my application into two components and use the ViewContainerUIElement in order to show views of each other.
In the application, I use also the TimeTrigger to refresh pages, all views have a TimeTrigger and the DELAY property of TimeTriggers is bounden into the same context attribute. I use a component to set up (change) the value of context attribute that is mapped with the Delay property. I want to change the Delay value on a component and other component will understand the changing.
My problem is how I can use the same context attribute between components at the runtime?
Let give me your advice on this.
Many thanks,
KenHi Ken,
You can use [external context mapping|https://cw.sdn.sap.com/cw/docs/DOC-27901] to share data between two or more components using context.
Thanks,
Duy -
Context Mapping for Non-Singleton Node
Hi ,
I have following context structure
Node_A
| attr 1
|________ Node_B
attr2
attr3
Node_B is the child of Node_A. NOde_B has attributes attr2 and attr3.
Node_B is a Non SIngleton Node.
Node_B is mapped to Node_View of the View Controller.
Node_A had 2 elements. Initially Element 1 is the Lead selection Element for Node A. I get the reference for Node_B using the Lead Selection Path
NodeA_element1 = Node_A->GET_ELEMENT( ).
Node_B = NodeA_element1->GET_CHILD_NODE( 'NODE_B' ).
Node_B is filled with elements, lets say attr2 = 'Dallas', attr3 = 'Detroit'
Node_View shows the values Dallas and Detrait since its mapped to Node_B
Now the Lead selection of Node_A changes to 2.
I again gett he reference for NOde_B usign the Lead Selection Path (index 2)
NodeA_element2 = Node_A->GET_ELEMENT( ).
Node_B = NodeA_element2->GET_CHILD_NODE( 'NODE_B' ).
Node_B is now filled with, lets say attr2 = 'Mexico', attr3 = 'Canada'
Since element 2 is Lead selection for Node A, now, and NodeB is mapped to Node_View, I expect the contents of Node_View to be attr2 = 'Mexico', attr3 = 'Canada' since this is along the Lead Selection of Node_A
But it stays attr2 = 'Dallas', attr3 = 'Detroit'
So in a nut shell, the Context Mapping of the Non Singleton Node DOES NOT map the Lead selection Path when its parent , changes in Lead Selection.
Is this a BUG ?
ThanksHi Anand,
There is no bug. See when you are saying
"Node_B is now filled with, lets say attr2 = 'Mexico', attr3 = 'Canada' "
I am just not sure how you have filled the data in node B. Because the way u populate node data that way only you can get the data. The way you want to get data you must populate data in this way:
1. Get Node A instance let say in lv_node_A.
2. Get Node A element instance (lead selection) in your case lets say in lv_elem_A.
3. Now get node B instance by lv_elem_A->get_child_node( 'B' ) lets say in lv_node_B.
4. Create element of lv_node_B and bind it to the node B and also populate the value of attributes.
Repeat the steps as per your requirement. Also Singleton and Non singleton has nothing to do with this it is all about how the instances will be manged in the memory.
Look at this sample code and will help you while populating data in nested nodes:
DATA lo_nd_a TYPE REF TO if_wd_context_node.
DATA lo_el_a TYPE REF TO if_wd_context_element.
DATA lo_nd_b TYPE REF TO if_wd_context_node.
DATA lo_el_b TYPE REF TO if_wd_context_element.
DATA ls_a TYPE wd_this->element_a.
DATA lv_test LIKE ls_a-test.
data lv_btest type string.
navigate from <CONTEXT> to <A> via lead selection
lo_nd_a = wd_context->get_child_node( name = wd_this->wdctx_a ).
@TODO handle not set lead selection
IF lo_nd_a IS INITIAL.
ENDIF.
data count type c.
data count_i type i value 1.
do 2 times.
lo_el_a = lo_nd_a->create_element( ).
lo_el_a->set_attribute(
EXPORTING
name = `TEST`
value = count_i ).
lo_nd_a->bind_element( new_item = lo_el_a
SET_INITIAL_ELEMENTS = abap_false ).
lo_nd_b = lo_el_a->get_child_node( 'B' ).
lo_el_b = lo_nd_b->create_element( ).
move count_i to count.
concatenate count 'in node b' into lv_btest.
lo_el_b->set_attribute(
EXPORTING
name = `BTEST`
value = lv_btest ).
lo_nd_b->bind_element( new_item = lo_el_b
SET_INITIAL_ELEMENTS = abap_false ).
count_i = count_i + 1.
enddo.
This code will set value 1 and 2 in node A's test attribute. and on change of lead selection between 1 and 2 it will show value of attribute BTEST in node B as 1 in node B and 2 in node B...
Regards,
Neha -
Context mapping for Interactive ADOBE form
I could able to create the form context from the web dynpro context. I am stucked at mapping between the two contexts.
When I insert the element Interactive form in the layout of Web Dynpro and specify the template source,
We have the option of automatically generate the context from form interface and binding form object to the
This context. But I got stucked at the point of mapping between the two. The structure is not appearing in the web dynpro context after mapping. Can anybody tell is there any procedural error or any configuration is required?For further questions, check the follow
https://www.sdn.sap.com/irj/sdn/adobe
Improving the Performance of Adobe® LiveCycleu2122 Designer Forms(scripting)
http://www.adobe.com/devnet/livecycle/articles/lc_designer_perf_guidelines.pdf
Interactive Forms Based on Adobe Software: Overview
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/e635e290-0201-0010-a9be-9e8e4ce04770
Adobe Interactive Forms
http://www.saplounge.be/Files/media/pdf/Huberland-Interactive-Forms-2007.10.10.pdf
Taking interactive forms to next level
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/8c103c36-0301-0010-cda8-f6b381bedb6e
Introduction to Adobe PDF Library SDK(PDFL SDK)(Simply scroll the document)
http://partners.adobe.com/public/developer/en/webseminars/PDFL_WebSeminar.pdf
Creating Interactive forms in webdynpro for java
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/5f27e290-0201-0010-ff82-c21557572da1
PDF-Based Print Forms/SAP Interactive Forms by Adobe
http://help.sap.com/saphelp_nw04s/helpdata/en/c8/4adf7ba13c4ac1b4600d4df15f8b84/frameset.htm
Date Objects in Adobe Designer
http://help.sap.com/saphelp_nw04/helpdata/en/dd/60694fddb74ad88cdb7d2a094f3dd2/frameset.htm
Checking and Testing a PDF-Based Print Form
http://help.sap.com/saphelp_nw04s/helpdata/en/c2/1fe9aa4d7b413e8515f90b73729e97/frameset.htm
Architecture
http://help.sap.com/saphelp_nw04/helpdata/en/f2/21021b911f4c0cae11459a4ce0bc62/frameset.htm
http://www.nl4b.com/Adobe/Invitation_SAPBrussels_Q407.pdf -
Difference Between Normal and External Context Mapping
Hi,
I wonder the Difference Between Normal and External Context Mapping.
I1ve already read the docs and articles but I didnt understand.
Thanks,
Jorge Luiz
Edited by: Jorge Castro on Oct 9, 2008 4:23 PMJorge,
With this type of Mapping (also called Reverse Mapping) you can map the context of an using component, to that of the used component.
You can find an example of this concept in WDA ALV: If you look at component SALV_WD_TABLE (which you declare as used when you intend to use ALV), you'll see that it has a node DATA declared as external. In your using component, you map your actual data node to this node.
This allows the ALV to leave the DATA node type open and so to be reused, adjusting it's structure depending on the using component's data.
Edited by: Alejandro Bindi on Oct 9, 2008 4:42 PM
Made a mistake! Have not used this in a while...Ext. mapping is the OTHER way...Using -map-> Used Fixed. -
Hi,
I am having two components.
Comp A is main componenet and Comp B is Used component and using in Comp A.
Intially I am getting the data from the Comp A ( main Comp) to Comp B(used Comp) by context mapping.
it is working fine.
The same way I need in Reverse. From Comp B (Used Comp) to Comp A (Main Comp) i have to get the data .
how to do context mapping for this.
pl help.
Thanks in Advance.
KarHi,
To achieve reverse (external) context mapping, the attribute 'Input Element' in interface node of component B has to be marked. When you declare a component usage of component B in your component A, you will see the interface node under Component Usages->Interface Controllers (in your navigation tree). You can define the mapping here, between the 'Input element' node of component B and the component controller Node in comp A by right click->Define external context mapping.
Have a look at the [documentation |http://help.sap.com/saphelp_nw04s/helpdata/en/67/cc744176cb127de10000000a155106/frameset.htm] in detail.
You can have a look at the ALV component SALV_WD_TABLE, which uses external context mapping to render the ALV in any component using this component. This will give you a good idea.
Regards,
Nithya
Maybe you are looking for
-
How to change report displayname at runtime when run from the report server?
hi all, with the reportviewer widget in a winforms app, i'm able to change report displayname at runtime by handling thesubmittingparametervalues event like so: private void reportViewer1_SubmittingParameterValues(object sender, ReportParamet
-
Acrobat 8 Launches when opening an InDesign file
I have recently upgraded to Acrobat 8 Pro and Indesign CS3. Everytime I try to open an InDesign file by 2x clicking on it, Acrobat launches alongside Indesign, and Acrobat throws up an error message. How can I get this to stop? And why is this happen
-
SHARED server and DEDICATED server
Hi, our dB in 8.1.7 on Win2003. How to see if it is SHARED server or DEDICATED ? If shared can we come back to DEDICATED ? Many thanks.
-
Help me customer name select query
Hello, I am getting the customer name(NAME1) from KNA1 against a customer number. DATA: GV_KUNNR TYPOE KUNNR. GV_KUNNR = FEBEP-PARTN. " Ex: 5000000 SELECT SINGLE * FROM KNA1 WHERE KUNNR EQ GV_KUNNR. now when i query this customer number in the ABAP
-
See the other person typing in iChat
Why can't I see when some people are typing a message to me, but I can see most people typing a message to me? It's helpful to see everybody so you don't close the window while someone is responding to you