WDA Component Usage - used component's point of view
Hi folks!
Component Usage is a real nice feature of WDA. The using component knows exactly, when which other components are used.
But what about the used component's point of view:
How can a used component find out if it is currently running natively or as a used component and who is the using component?
Alternatively: How can the using component hand over initialization information (parameter) to the used component the used component has access to in component controller method DOINIT?
Background: In my scenario the used component has to "turn right" when it is used by component A and it has to "turn left" when it is used by component B and it has to go straight forward when it is running in "native" mode..
Thanx in advance for any hint!
Kind Regards,
Volker
hI Volker
You can implement the component usage by implementing interface method or interface node.
1. Interface method :-
Here the using component can access methods of used component.
So in your used component you have three method for 1. TURN RIGHT 2. TURN LEFT 3. STRAIGHT
so from comp A you call TURN RIGHT
From component B you can call TURN LEFT.
Make Straight default which can run in "native" mode..
That is if you want to implement from using component's view.
2.You can take a node in your used component as interface node which must be populated by values from other component.
From your using component you can pass the required value .
Now in your used componentcontroller DOINIT method call that interface node and in the make some condition according to the value it get from using component.
But I don't think in this it can run in "native" mode.
However i dont have that much idea about whether the in used component we can keep any log like where it has been used and how.
Thanks & Regards,
Monishankar C
Similar Messages
-
BC SETS creation and usage for sap mm point of view
Hi All,
Need Information About BC SETS creation and usage from sap mm point of view.
Thanks in advance for sap mm forum guys.
Regards.
Parameshwar.Hi,
Customizing settings can be collected by processes into Business Configuration Sets (BC Sets). BC Sets make Customizing more transparent by documenting and analyzing the Customizing settings. They can also be used for a group rollout, where the customizing settings are bundled by the group headquarters and passed on in a structured way to its subsidiaries.
BC Sets are provided by SAP for selected industry sectors, and customers can also create their own.
When a BC Set is created, values and combinations of values are copied from the original Customizing tables into the BC Set and can be copied into in the tables, views and view clusters in the customer system. The BC Sets are always transported into the customer system in which Customizing is performed.
Advantages of using BC Sets:
1. Efficient group rollout.
2. Industry sector systems are easier to create and maintain.
3. Customizing can be performed at a business level.
4. Change Management is quicker and safer.
5. Upgrade is simpler.
To create BC sets follow the below step:
Choose Tools ® Customizing ® Business Configuration Sets® Maintenance in the SAP
menu, or enter the transaction code SCPR3 in the command field.
Choose Bus.Conf.Set ® Create. -
Component usage - use view of std comp
hi friends,
is it possible to just use one single view( not the main window) of a standard component in another Z component using component usage?
if yes coul dyou tell me the steps... and how to bind the context nodes too, could you please tell ?
how to find which context nodes to be binded in the wd_initialze_usage method?
do i need to create all teh context nodes of the view of std component, which I am using as component usage in Z component controller??
how to get the fields/table etc in editable mode?
how can i enhance that std view in Z component so taht those changes to that view is specific to that Z component?
i m sorry too many questions but i needed some info on the component usage.. Please forgive me if its too many questions..
kindly let me know and your thoughts will be very helpful....
thankyou
RDSinghHi RDSingh,
Yes it is possible to load a single view of a standard component to any zcomponent.To do that :
1:) First create a component interface of the view in the statndard component which you want to use.
2:)Regarding the context nodes ,the nodes which are used in the view have to be binded with the context nodes of the
Component Controller to select the context nodes you can go at web UI and press F2 to get all the details.
3)After the Component interface is completed it is available to be loaded into any Z component.
4)Go to the Z component and in the Component usage add the component inerface created earlier.
5)Next you need to delegate the outbound plugs of this component usage to the window.
6)Now the view can be used like a normal view of the component.
I am a newbie in this field myself so pardon if i cant explain u all the details but you can read book SAP CRM WEB-CLIENT Customizing and development to get full knowledge -
Hi Everyone,
We have a requirement to
Navigate from Custom Component to the Standard Component(IUICCON – Contract
management) on the basis of some conditions.
We tried navigating with Manual
as well Dynamic Navigation. The Navigation is happening properly and the Navigation is completed and we are on the Contract
Management Screen(Standard component View).
On the Contract Management
screen (standard Component view), when we click on New Contract Button; it throws dump stating “Define
Component Usage IUICOBJ”. After debugging we identified that the issue was with the Parent class/ component is getting changed, because of which the usage was not found.
Appreciate your help.
Thanks in Advance.
Regards,
Bhavikjp.Hi Bhavik,
Check which is the active enhancement set at the runtime in the component_loading BADI.
If it is anything other than your enhancement set,Set it to your enhancement set .
Check if the parameter WCF_IGNORE_ENHANCEMT in Tcode SU01 is set to 'A' for the User.
Regards JP. -
Referencing component usage with different interfaces
Hi experts,
First of, some details;
- I'm on NW04.
- I have a generic WDP interface named: IModelComponent
- I have a specific WDP interface named: IEmployee
- I have a WDP component implementing both interfaces named: Employee
Now I want to create some sort of component factory component. In this component I have:
- defined 'Used Web Dynpro Component' IModelComponent
- Created a method getComponentUsage (static names just for clearer example):
wdThis.wdGetIModelComponentComponentUsage().createComponent("x.x.x.org.mdc.empl.EmployeeModelComponent", "x.x/x~org~mdc~employee");
return wdThis.wdGetIModelComponentComponentUsage();
Next I have a client view component which refers to the component factory and the employee interface
- defined 'Used Web Dynpro Component' IEmployee
- defined 'Used Web Dynpro Component' ComponentFactory
- On request I call the factory method getComponentUsage
Now, when I use this component usage the following way:
wdThis.wdGetIEmployeeComponentUsage.enterReferencingModeUnsafe(receivedComponentUsage);
Then things work perfectly! This is basically what I want to achieve.
But the method enterReferencingModeUnsafe is deprecated, so I wonder if there are other, better ways to achieve usage referencing of components with multiple interfaces (create as one interface, use as the other interface).
Looking forward to any comment.
Grtz,
Chris
Edited by: Chris van de Wouw on Feb 6, 2010 5:20 PMBasically solved it myself. I'm now using the actual required component usage (IEmployee) as entry point for the factory, which will create the correct implementation component (based on configuration). For IModelComponent specific methods I can use the getInterfaceController() of the employee component usage class and cast it to the model component interface.
-
How to read the context node of used component?
Hi,
I have component called : SRQM_INCIDENT_H. This component has used component - BTSTATUS.
Now, I need to read the context node of the BTSTATUS/UserStatus in GET Methods of Context node in SRQM_INCIDENT_H.
Can you plese help me out.
Thanks,
SandeepThe component usages can be accessed from the component controller
You should however assure that the context node is present in comp controlelr of the used component.View context nodes cannot be accessed.
if not ,then you need to goto the component BTSTATUS ,add the context node explicitly to comp controller,and do correct bindings to the view context node.
Once you add the context node to the com controller,yo also need to expose it.
go to runtime repository->component_interface->interface_controller->context->right click and select ADD CONTEXT NODE, and add you newly creatde context ndoe of comp contorller here.
Now you cann access it using the code below in your comp SRQM_INCIDENT_H
data:lr_comp_controller type ref to <ur comp controller class>lr_comp_controller ?= me->comp_controller.
lr_comp_usage ?= lr_comp_controller->get_component_usage( iv_usage_name = '<name of the comp usage as in runtime repository' ).
CHECK lr_comp_usage IS NOT INITIAL.
lr_cnode ?= lr_comp_usage->get_context_node( iv_cnode_name = '<the required context node name>' ).
Suvidha -
How to call specific view of used component
Hi All,
I have the following problem:
I have component 1 which have two views: 1A and 1B. They are included in one window. Default view is 1A.
Navigation between view 1A and 1B it made with buttons and plugs ("go to 1A", "go to 1B").
I have main component 2 which uses component 1 (used component). Component 2 has view 2A and 2B. I have button "Z" in view 2A which calls method of component 1 and navigates to view 2B (where used component 1 is embedded).
First time I press button I navigate to view 1A, its correct. Then I navigate to view 1B (within used component 1).
when I go back (in main component 2) and press button "Z" again, the used component 1 is open with view 1B, not 1A (which is default). That is, used component 1 remember which view the navigation stayed on.
I nee to always see view 1A first when I navigate with button "Z" (open used component).
How I can do that?hi ,
u must be using component usage ..
in ur component2 , place the view 1B of ur used component in separate window
pls refer this thread as well :
How to call a Particular View from a View of Current Component
regards,
amit -
Component usage determination in UI configuration
Hello everyone,
Could you please help me know how the framework gets this component usage as below ?
Thanks.
DevashishHi Devashish,
If I got you right, you want to understand how system picks up the Component usage. If yes, then the explanation is below.
We have a concept of component interface and component usage. Component interface is just like a window to enter in to house or in other words it is the exposed interface which can be used by other components to access the component views.
Component usage is the place where we define that what all components (component interface) we are going to use.
Now coming back to your question, whenever we navigate to views of other components, system knows the component usage name in which we defined earlier that we are going to use this particular view.
While opening the view we can have different configurations based on the component usage.
Let’s say, it’s like if component usage is "A" display “field1” and “field 2” or else if component usage is "B" display “field 2” and “field 3”.
I hope it will give you a clear insight to the concept. If you still have any issues, please let us know, we will try to help you.
Regards jotsaroop singh -
Calling Component details in Webdynpro Component Usage Pop-up
Hi Experts,
We have a WD component, say ZWD1, which has been re-used(component usage) in many other WD components.
In all the usages the main window of ZWD1 is being called as a pop-up.
Now we have a requirement wherein i need to write certain logic in ZWD1 view method which should be executed only when
ZWD1 is called as a pop-up from 2 particular components out of all the components in which it has been reused.
Is there any way in which we can get the details of the Parent window (or) component from which ZWD1 has been called, in the methods of ZWD1? (Apart from calling an interface method of ZWD1 or setting the value of an interface node of ZWD1, from the parent component)
Thanks in advance.
Best Regards,
Sampath A.Hi,
for your requirement you could use Assistance Classes in your Parent component and Used Component.
Use the Same Assistance class in all the components and set an Attribute in Assistance class while in Parent component.
Now in your Used Component , you can access that Attribute of Assistance class and check which Parent component it is calling.
To call the attribute/method use the instance wd_assist.
For more info on Assistance class and its usage Refer the SAP Online Help :
http://help.sap.com/saphelp_nw70/helpdata/EN/43/1f6442a3d9e72ce10000000a1550b0/frameset.htm
I hope it helps. -
Query on Componentization: Cycle in component Usage definitions
Hi
I have Embedded Component2 in Component1. Now i want to embed Component1 in Component2 so that i could send the message back & forth from comp1 to comd compop2 & vice versa. But after i embenent1 in component2, i get error of "Cycle in component Usage definitions".
Firstly i want to find out Is this possible to embed comp1 in comp2 if already we embedded comp2 in comp1? If yes, pls. let me know its way out.
Thanks.....Hello Harpal,
I don;t think so it's possible....you can either implement one component as used component of the other...otherwise it leads to cyclic lock....
Regards,
Shikhil -
To access a dynamic context node defined in a Used Component
Hi Gurus,
I need your help with something.
I have a dynamic context node in ComponentA. I want it in Component B too.
Component B uses Component A, but I am not able to get access to the context node.
Is it possible to do this? Any suggestions how to proceed.
PS: I am trying to do a dynamic mapping. The initial scenario was here, Set data into Model Node on Navigating from a View
Thanks in advance,
Anjana R.
Message was edited by:
Anjana RaghavHi Gurus,
Its working now. Earlier, the code was something like this....
IWDNodeInfo compNode = wdThis.wdGet<i>Comp</i>Interface().wdGetAPI().getContext().getRootNodeInfo().getChild(nodeNm);
viewNodeInfo.setMapping(compNode,true);
and was trying to map it using
iewNodeInfo.addMappedAttribute("order",".<i>Comp</i>."+ nodeNm + ".order");
Now, I am mapping like this.
viewNodeInfo.addMappedAttribute("order","order");
Thanks,
Anjana R. -
How to get reference of application component in anothor component?
Hello Friends
I have one problem so plz help me.
Thanks in advance.
I have two file one is application and other is component. I have created Dividedbox in application and i put two buttons in component and used component in application. Now i want to change the direction of dividedbox when i click on button. I have written code but not working. Following is my code.
Application file: test.mxml
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" xmlns:ns1="*">
<fx:Script>
<![CDATA[
]]>
</fx:Script>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<mx:DividedBox id="plistdvidebox" direction="vertical" width="100%" >
<s:Group id="grp_rlpart" width="100%" height="100%">
<s:layout>
<s:HorizontalLayout paddingTop="10" paddingLeft="10">
</s:HorizontalLayout>
</s:layout>
<s:Label text="Left ot top part"></s:Label>
</s:Group>
<s:Group id="grp_rrpart" width="100%" >
<s:layout>
<s:HorizontalLayout paddingTop="10" paddingLeft="10">
</s:HorizontalLayout>
</s:layout>
<s:Label text="right or bottom part" />
</s:Group>
</mx:DividedBox>
<ns1:tc x="90" y="156">
</ns1:tc>
</s:Application>
Component File : tc.mxml
<?xml version="1.0" encoding="utf-8"?>
<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" width="400" height="300">
<fx:Script>
<![CDATA[
import mx.containers.BoxDirection;
protected function btnhr_clickHandler(event:MouseEvent):void
var t:test=new test();
t.plistdvidebox.direction=BoxDirection.HORIZONTAL;
protected function btnvr_clickHandler(event:MouseEvent):void
var t:test=new test();
t.plistdvidebox.direction=BoxDirection.VERTICAL;
]]>
</fx:Script>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<mx:HBox>
<s:Button id="btnhr" content="HR" click="btnhr_clickHandler(event)" />
<s:Button id="btnvr" content="VR" click="btnvr_clickHandler(event)" />
</mx:HBox>
</s:Group>
Plz tell me how to do this?
plz reply me fast.
Thanks
ManjurhusenCheck this:
http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7e3a.html -
Multi Grip FR report Point of view
i have build multi grip FR report . i am using same user point of view for cost center dimension in both grip . when i run report and change the cost center at All it doesnt change the cost center in both the grip .
Do i need to make any setting changes to make it effective ? buf if i go to individual point of view and change cost center then it works fine
can any body help me to resolve this
thanksHow is the pov selected in both the reports? Are you using grid POV?
Regards
Celvin
http://www.orahyplabs.com -
How to close a pop up window of used component ( usage defined )
Hi Friends ,
I'm calling a window as a pop up of used component ( Usage defined ). I want to close that pop up using a button on the embedded view of that window.
it would be great help If any one can help me in this.
Regards,
Laeeq>
Laeeq Siddique wrote:
> Hi Silke ,
>
> I Want to close a pop up using a botton on embedded view of window of used component and I do not have the refrence of window object there. I know what you are talking about but its not that simple.
>
> Regards,
> Laeeq
Actually it is pretty simple. From the embedded view you can use the APIs to get access to the hosting window object.
data l_api_v_new_attachment type ref to if_wd_view_controller.
l_api_v_new_attachment = wd_this->wd_get_api( ).
data window_controller type ref to if_wd_window_controller.
window_controller = l_api_v_new_attachment->get_embedding_window_ctlr( ).
data window type ref to if_wd_window.
window = window_controller->get_window( ).
window->close( ). -
Problem while using Component Usage
Hi,
I am using Component - BT116IT_SRVO/TableWindowOVE as component usage in my component - SRQM_INCIDENT_H. Added this as assignment block.
The problem is :
It is not showing any button as "Edit List" as it is showing in Service Order. And I am not able to see any values in dropdown to select "SHOW".
Can you please help me, how to enable Edit List and how to make it work as same in Service Order.
Thanks,
SandeepHi Sandeep
Check whether you have added below formate to the ComponentUsages of SRQM_INCIDENT_H. If not add like below. It will get you out from the issue.
ComponentUsage :CUItemTable
Used Component : BT116IT_SRVO
InterfaceView: BT116IT_SRVO/TableWindowOVE
InterfaceView :TableWindow
Once you added component usage properly as mentioned above, you can able see below lines of code in Repository.xml of SRQM_INCIDENT_H. BUT Dont cahnge manually in Repository.xml
<!-- Declaration of windows -->
<Window id="SRQM_INCIDENT_H/MainWindow" default="TRUE">
<EmbeddedView id="CUItemTable.TableWindow"/>
</Window>
<ViewSet id="SRQM_INCIDENT_H/IncidentOV">
<EmbeddedView id="CUItemTable.BT116IT_SRVO/TableWindowOVE"/>
</ViewSet>
Now restart your browser and test the application.
Thanks
Chand
Maybe you are looking for
-
ISE 1.2.0.899 Patch 7
Hey guys I have ISE 1.2.0.899 with patch 7 installed in my environment, also I have a WLC 5508 running version 7.4.121.0. We are authenticating our user with ISE. We are having an issue with our Guest WLAN, after we create an account with the sponsor
-
Is there a way to force a MBP to use the on-board on reboot?
My wife has a 2009 15" MBP that has the Nvidia 9400 and 9600 GT video cards. She's had repeated problems with flickering and crashes, it's been serviced once with a video failure doing a wide vertical band down the screen. It's out of warranty. I'm p
-
since updating to iOS 7, several of my text messages have not been sent. They do not show as undelivered unless I power off/on my phone.
-
Load balancing by equal cost Static Routes
Hello All, I have 2 WAN links for Internet connectivity and I want to load balance IP traffic on both links. If I use 2 default routes like this, ip route 0.0.0.0 0.0.0.0 serial 0 ip route 0.0.0.0 0.0.0.0 serial 1 then its enough to achieve load bala
-
What's to detail, you guys do everything automatically? Mac OS 10.6.8, iMac 3.06 gig i3, 8 gig RAM. Software updated, I went to use a bookmarked site to pay some bills...nothin', nada, zip, no effing bookmarks. Stop upgrading your software and perfec