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
    RDSingh

    Hi 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

  • Navigating from Custom Component to Standard Compoent(IUICCON). Getting Exception "Define Component Usage 'Random Component Usage of Standard component'"

    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 PM

    Basically 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,
    Sandeep

    The 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.
    Devashish

    Hi 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 Raghav

    Hi 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
    Manjurhusen

    Check 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
    thanks

    How 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,
    Sandeep

    Hi 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

  • Unable to send messages

    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

  • Just had v26 "installed" for me...it blew away all my bookmarks. Where'd they go, why'd it do that, and WTF?

    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