cancel
Showing results for 
Search instead for 
Did you mean: 

external context mapping

Former Member
0 Kudos

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

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Ralph,

Correct assumption. Or, you may have InnerB wich exposes context, Outer that uses context mapping from InnerB and InnerA that uses context mapping from Outer (in this case you have to set isInputElement = true for context nodes of InnerA). Should work as well.

Valery Silaev

SaM Solutions

http://sam-solutions.net

Former Member
0 Kudos

Hi valery

Please help me do clear things out since i'm new in Web Dynpro Java.

I tried but not sure to understand what you said. Let me repeat what i'm doing, I tried to put isInputElement the context of inner A to expose to outer B, then do mapping from innerA to outerB but it did not work. Later I found out that external context mapping worked only on component within another component only (as stated in tutorial 14), is that rite??

Thanks a lot

Former Member
0 Kudos

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

Former Member
0 Kudos

Hi Valery

It works when I did the interface controller context mapping from Inner A to Outer component controller context.

It did not work when I did the interface controller context mapping from Inner A to Outer view controller context.

May I ask you why???

Thank you

Former Member
0 Kudos

Ralph,

View controllers is a very special beast. Seems that it it not created when mapped context data is accessed. Anyway, having view controller context for business data is violation of MVC principles. So:

1. Create context in component controller of Outer

2. Map view context of outer to context of component controller

3. Map context of component usage InnerA to component controller.

This will work. You have one source of data, both view and inner component get this data automatically via mapping.

Valery Silaev

SaM Solutions

http://www.sam-solutions.net

Answers (0)