How to make a webdynpro component to be as a public part of a DC?

Hi All,
     I've created 2 java web dynpro DCs : DC_A and DC_B in both the same software component.
     I want to a component of DC_B, let's call it Comp_B, to be the "Used Web Dynpro Component" of Comp_A in DC_A.
     I've done the following work:
     1. Expose the Comp_B to be the public part of DC_B
     2. Add DC_A to the Access List of Comp_B
     3. Add DC_B to the "Used DCs" list of DC_A
But when I use the "Embed an existing component" function of Comp_A, I cannot find the Comp_B of DC_B.
Anyone can help me?
Thanks,
YiNing

Hi ,
   1) Right click the component B and declare the component B  of DC B to the public part.(Add to the public part)
   2) Now go to Component A , Right Click Used COmponents>Development Component>Show in--> Component Properties .
then click the Dependicies Tab and click ADD
here you have add the Component B  From the "MYComponents" Which is Exposed to the public part, and click next.(Configure dependicies as you wish ie Design Time .Deploy Time , Run Time )
3) After you added the component we have to build it.Right Click the Componenet A
     Used Components>Development Component>Build
4) Now declare the Component Usage
   Right Click the Componenet A
     Used Components-->Add Used Component
    Now give the Component Usage Name (for eg ComponentBInst) and select Component B
Now Exchange of data will take place between the component by Context of the interface controller

Similar Messages

  • How to copy existing webdynpro component

    How to copy an existing webdynpro component

    Hi Venkatesh,
    Go to SE80 & open the source webdynpro component. Then right click on the component name & choose "Copy" option.
    Regards,
    Uday

  • How to find the webdynpro component on server

    Hi Experts,
              I need to identify a webdynpro component in server whether it is there or not. Just i know the name of the component, Why i am asking with that component i am getting some errors while created a callable object in GP. I need to identify the component and delete that.
    Is there any other  way to do this.......
    Please tell any one know how to find the component in server................
    Thanks,
    Sunil

    Hi ,
    To create a callable object from a web dynpro project you need three DC like
    caf/eu/gp/api
    caf/eu/gp/api/wd
    com.sap.security.api.sda
    but caf/eu/gp/api and caf/eu/gp/api/wd  are not available if you work on local development enviornment with out NWDI. Then you need to put those DCs within your local plugin directiory. I am sending you a link through this you will get to download those DCs and where you will put those DCs it is clear in this doc.
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f7be53bb-0b01-0010-1c96-be3cb6799c1b
    In your local mc you will go to the following path
    Program FilesSAPIDEIDE70eclipsepluginscom.sap.tc.ap_2.0.0compCAFDCssap.comcaf
    here you will create a folder called eu and put the DCs as per the doc. and in SC u put your Toplevel SC.
    Now you try from Web Dynpro perspective. You will get all the DCs for callable object.
    Thanks
    Chandan

  • How to make all Button component instances trigger rollOver sound?

    Hello all--
    I am using the Button component (the one shipped with CS3) in
    many places in my AS3 project. I am coding in .as files, not on the
    timeline.
    I have skinned the Button to use the colors I like. Now I
    wish to "skin" it so that all instances generate a rollOver sound,
    and I'll be darned if I can figure out how.
    I know I can listen for ROLL_OVER events in each Button
    instance. But I have many many Buttons and it seems kludgy to add
    that same code to every class I have which tracks a Button. I am
    hoping there is some way I can make *all* instances of Button
    respond to rollOver the same way. I am hoping it is like
    setComponentStyle or changing the skin for the Button; I can do it
    in one place and it works everywhere.
    I guess I can listen on the Stage level for bubble-ups of
    ROLL_OVER, trap those that come from Button instances, and handle
    it from there, but stagewide listeners also seem a tad kludgy.
    Is there some elegant way to make all my Buttons
    automagically generate the same rollOver sound?
    Many thanks,
    Matthew Ford

    It's regrettable there is no reply. But in case someone comes
    across this topic, FYI I put on my main View class (to which all
    other views and GUI are childed) an
    addEventListener(MouseEvent.MOUSE_OVER...). The MOUSE_OVER events
    bubble up to that.
    Then in the listener function I see if the event.target is
    Button. If it is, I trigger the sound.
    Curiously, the supposedly better ROLL_OVER event did not
    bubble up predictably. Sometimes it did and sometimes it did not.
    But the docs say that event is not supposed to bubble for some
    reason.
    I still think there is a better way and I'd like to hear it.
    Maybe I just need to make my own clone and adaptation of the
    Button, but I am not experienced yet with creating components
    (SWCs) and it appears that simply overriding the Button class with
    my own .as file does not work-- the rollOver functions report
    errors that they cannot be overridden.

  • How to make JTabbedPane Title component take up entire tab width?

    Starting with JDK 1.6, JTabbedPane has been enhanced to allow you to specify an arbitrary Component for the title of a tab (I think before, you could only specify a JLabel and/or icon). We make use of this in our application by specifying a Panel with a GridBagLayout and three children: an Icon (on the left), a label (middle), and a close button (right). the middle component, the label, gets all the weightx and has fill set to HORIZONTAL. Everything looks good - as long as the tabs stay on a single row. When another tab is added and the TabbedPane extends to a second row, things don't look: the tabs are allocated alot more white space now - but the Component isn't being given that extra space! Consequently, the icons on the left and right of my label stay next to the label, instead of staying next to the edges of the tab!
    Is this a bug in the JDK?
    If it's not a bug, how do I make use of all available tab space?

    Hi Darryl,
    Thanks for the suggestion. Below is a primitive standalone example. It brings up an empty frame and you can click on the "Add Tab" button to add a tab. When you do, you'll see that the tab's "title" area consists of an "i" button, a label, and a "x" button. The tab itself isn't much bigger than those three components, so things look ok. Now, add two more tabs....the 2nd tab still fits on the first row of the TabbedPane, so things still look ok. When you add the third tab, the first tab gets placed on a new 2nd row of the TabbedPane and the tab takes up the whole width of the TabbedPane....but the "i" and the "x" buttons are still scrunched up next to the label - rather than near the edges of the tab, where they would be expected.
    import java.awt.GridBagConstraints;
    import java.awt.GridBagLayout;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    public class TabExample extends javax.swing.JFrame {
        public TabExample() {
            initComponents();
         class TabRenderer extends JPanel {
              private JButton infoButton;
              private JLabel label;
              private JButton closeButton;
              public TabRenderer(String title) {
                   infoButton = new JButton("i");
                   label = new JLabel(title);
                   closeButton = new JButton("x");
                   setLayout(new GridBagLayout());
                   GridBagConstraints gc = new GridBagConstraints();
                   gc.gridy = 0;
                   gc.gridx = 0;
                   gc.anchor = GridBagConstraints.WEST;
                   gc.fill = GridBagConstraints.NONE;
                   gc.weightx = 0;
                   this.add(infoButton, gc);
                   gc.gridx = 1;
                   gc.anchor = GridBagConstraints.WEST;
                   gc.fill = GridBagConstraints.HORIZONTAL;
                   gc.weightx = 1.0;
                   this.add(label, gc);
                   gc.gridx = 2;
                   gc.anchor = GridBagConstraints.EAST;
                   gc.fill = GridBagConstraints.NONE;
                   gc.weightx = 0;
                   this.add(closeButton, gc);
        private void initComponents() {
            tabbedPane = new javax.swing.JTabbedPane();
            jButton1 = new javax.swing.JButton();
            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
            getContentPane().add(tabbedPane, java.awt.BorderLayout.CENTER);
            jButton1.setText("Add Tab");
            jButton1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    addTabHandler(evt);
            getContentPane().add(jButton1, java.awt.BorderLayout.SOUTH);
            pack();
         private void addTabHandler(java.awt.event.ActionEvent evt) {
              int index = tabbedPane.getTabCount();
              tabbedPane.add(new JPanel(), index);
              tabbedPane.setTabComponentAt(index, new TabRenderer("Tab " + index));
        public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    JFrame f = new TabExample();
                        f.setSize(400, 300);
                        f.setVisible(true);
        private javax.swing.JButton jButton1;
        private javax.swing.JTabbedPane tabbedPane;
    }

  • How to make ADF Business Component Connection which is using XATransaction?

    Hi all,
    I'm using ORACLE 10.1.3 ADF business component, how to set this component using XA transaction? Is that possible to use xa transaction manually from application module?
    thanks

    I believe you mean to ask whether ADF BC uses XA Transaction.
    You can use a JDBC datasource based on XA Transaction for ADF BC. You might find this link useful for an overview: [XA Data Source Interface and Oracle Implementation|http://download-uk.oracle.com/docs/cd/B10501_01/java.920/a96654/xadistra.htm#1058741]
    What do you mean by "+Is that possible to use xa transaction manually from application module?+" - Do you mean exposing the transaction of ADF BC outside its AM..? If so, I'm afraid that its not supported.
    Thanks,
    ~Krithika

  • How to code spark custom component with variable number of (skin)parts?

    Hello. I'm trying to code a complex Spark custom component that may have a variable number of parts. To help you understand the requirements, the component can be visualized as an HSlider with a unlimited number of thumbs (as opposed to one).
    How do I, in general, represent these thumbs in the host component as well as the skin? If I had a fixed number of thumbs, say 5, I could easily represent them as 5 button SkinParts declaratively. However, it's not immediately clear to me how to deal with a variable number of them.
    I've studied the HSlider implementation as well as other components and can't find an example that fits this pattern. The closest thing that I can think of is to represent the thumbs as a DataGroup and provide a custom item renderer to render them. Couple that with the general HSlider behaviors that I need to preserve, such as the fairly involved local/global coordinate translations, I don't know whether the approach will work.
    Any better ideas? Thanks.

    #2 sounds utterly strange to me. How would I utilize the phase id?The code below shows my idea whereas I never validate it in any real projects:
    public class MyPhaseListener implements PhaseListener {
         private static final String IDKEY = "PHASEID";
         public static PhaseId getCurrentPhaseId() {
              return (PhaseId) FacesContext.getCurrentInstance().getExternalContext().getRequestMap().get(IDKEY);
         public void beforePhase(PhaseEvent event) {
    event.getFacesContext().getExternalContext().getRequestMap().put(IDKEY,event.getPhaseId());
         public PhaseId getPhaseId() {
              return PhaseId.ANY_PHASE;
    }You can write your constructor like as:
    if (MyPhaseListener.getCurrentPhaseId().equals(PhaseId.RENDER_RESPONSE ) {
         /* create children because this is the first time to create the component */
    }

  • How to make a table of the user to non public privilege?

    Hi all,
    im working with an RAD program and using oracle as the database. currently im on db 10g. I am able to connect to the db but the problem is it shows other users table. It is not only showing the tables of the user i connected to.
    this is a problem since it will load other users' table which i dont need in my project.
    now i've post around the forum of the RAD program regarding this and a particular user mentioned that he had the similar problem and it's probably because the all those tables showing up is public.
    im getting tables from sys,sytem,syman and other preinstalled db user which i dont need to list out for my project.
    is there really a condition where these tables are public? if so, how can i change it to private? any appropriate query would help.
    i dont want it to show up on my RAD program all those unnecessary tables when i connect to one user for example user1.
    anyone can help me out?
    Thnx.

    T101_cyberdyne wrote:
    Balazs Papp wrote:
    in Oracle, there is a special role, called PUBLIC
    anything granted to this role will be applied to every user (obviously, its PUBLIC)
    for example SYSTEM.HELP is a "public" table, every user can read it without any permissions granted
    you can check this with a query like this:
    select * from dba_tab_privs where grantee='PUBLIC' and table_name='HELP';
    revoking such permissions from the PUBLIC role is not recommended at all, as they are required for basic operation
    disabling the PUBLIC role for a specific user is not possible as per the following note: Is it possible to exclude a user from PUBLIC scope? [ID 156303.1]So are you saying i'm stuck and there's nothing i could do to prevent these public table from showing?
    well,this is dissapointing.I guess you need to step back and ask why this is a "problem". So far you've only indicated that you consider to BE a problem, but not WHY. Perhaps you are starting from a flawed assumption.

  • Debug WebDynpro Component in NWDS?

    Pro's I need some help here...
    Does anybody know how to debug a webdynpro component from NWDS?
    Thanks, Johannes

    Hi Johannes,
    To debug an application
    Run-> Debug->Webdynpr->
    Right click and select new
    Once this is done you will see four tabs
    1)Debug: select your project and the application to launch
    2) Select the SAP System for Debugging
    3)Source need to be added here.
    Check the following blog for more detailed exaplination and process to do debugging
    /people/karsten.geiseler/blog/2005/07/04/netweaver-portal-debugging
    Hope that helps, incase if issues let me know
    regards
    Anil
    Edited by: Anil Dichpally on May 5, 2008 8:11 PM

  • How to make this effects on AE CS4

    First of all, I apologize for my English
    Anyway  it's amazing video
    I'm wondering can AE do this? or need to use some software like cinema 4D ?  How to make the light streak around the guys , and some part it look like it's behind on some parts  I tried , rotoscoping some part the light streaks will go to behind , but how to go back to front ? and it look smooth and perfect like the preview video?   Anyone could tell me the steps for this project?
    Anyway , here are my quesions  1. I don't know how to create the own path for the light streak , for example , i want to make it around the guys .  2. When it's a moving objects , how can I make that perfect for the light streaks path ?  Thank someone for help

    The answers are the same ones you got on Video CoPilot. Yes, rotoscoping and yes, Particular. The rest is just a matter of a few keyframes, some tracking and arranging everything in 3D space plus finding the right masking modes. Just keep trying. Nobody can explain to you how to make art, especially since you are a beginner at both AE and Particular.
    Mylenium

  • How to make taxonomywebtaggingcontrol required

    Hi,
    I have created custom aspx and I have added taxonomywebtaggingcontrols.I want to make those controls required.
    Can any body let me know how to make taxonomywebtaggingcontrols required?
    I tried the following link but no luck.
    http://sharepoint.stackexchange.com/questions/28602/is-it-possible-to-have-a-required-field-validator-for-taxonomy-webtagging-contro
    Any help would be appreciated.
    Thank you,
    AA.

    http://sharepoint.stackexchange.com/questions/78561/how-to-make-taxonomy-picker-required-when-used-in-visual-web-part
    Taxonomy:TaxonomyWebTaggingControl runat="server" ID="taxProjectOwnerDepartment" Visible="true" IsMulti="false" IsDisplayPickerButton="true">
    </Taxonomy:TaxonomyWebTaggingControl>
    <asp:CustomValidator ID="rfvProjectOwnerDepartment" runat="server" OnServerValidate="validator_ServerValidate" />
    http://sharepoint.stackexchange.com/questions/17019/taxonomywebtaggingcontrol-the-data-entered-was-not-valid-on-postback
    Or you can plan to use Javascript to make mandatory that column.

  • How to add a new url link in a view of an existing webdynpro component?

    How to add a new url link in a view of an existing webdynpro component?

    hi ,
    refer SAP online hep :
    Implementing Enhancements in a View
    http://help.sap.com/erp2005_ehp_04/helpdata/EN/46/233f2189f74f08e10000000a114a6b/frameset.htm
    To enhance the layout of the view, you can create new UI elements. This procedure is no different u2013 from a technical viewpoint u2013 from creating UI elements in components themselves. All UI elements created within the enhancement implementation can then be processed as usual.
    Enhancements  means inserting user developments into SAP development objects at predefined positions.
    The Enhancement Framework enables you to add functionality to standard SAP software without actually changing the original repository objects, and to organize these enhancements as effectively as possible.
    refernce :
    have a look at this article
    How to Create Enhancement Implementation in Web Dynpro ABAP
    http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/700317da-bd79-2c10-368e-8f18bf5d8b81&overridelayout=true
    as pointed correctly by Saurav in earlier thread
    regards,
    amit

  • How to call a RFC of a remote system from an ABAP webdynpro component

    Dear Experts,
    I am a newbie in ABAP Webdynpro.
    I am working on a requirement where I have a webdynpro component on ECC system.I need to call a RFC located on CRM system from my webdynpro component on the ECC system.
    How do I do that ?? Please help.
    Regards,
    Mamai.

    Calling RFC from some other system is same as local except the difference is that you have to give destination name while calling.
    And the regarding the method of calling it depends on your FM.
    if it is big RFC with complex structure, you can create the service call for it with destination given as RFC desitination.
    if it is simple straight forward RFC you can directly call it.
    for creating RFC service call call use this method
    1. Starting the Wizard
    To start the wizard, position the cursor on the Web Dynpro component to be edited in the object list at the left margin of the
    workbench window. Open its context menu and choose the entry Create->Service Call. The wizard is started and leads you
    through the creation process.
    Press Continue.
    2. Choice of Controller
    On the second dialog window of the wizard, you can choose whether the service call is to be embedded in an existing
    controller or whether a new controller is to be created for this purpose. Service calls can only always be embedded in
    global controllers u2013 that is, in the component controller or in additionally created custom controllers. It is not possible, to
    embed service calls in view controllers.
    a. Select radio button Use Existent Controller
    b. Do not change the default entry for component: <CC name>
    c. Enter for controller COMPONENTCONTROLLER
    d. Press Continue.
    3. Service Type and Service Selection
    a. You now select, which service type should be used for this service call. Select radio button Function Module. Fill the
    destination here. Press Continue.
    b. Select the service: for Function Module enter <RFC name>. Press Continue.
    4. The Required Methods and Context Elements
    On the two subsequent dialog windows, default values are listed for giving names to the context nodes and attributes
    required by the service call as well as to the required methods. The proposed names are based on the names of the
    embedded service, but you can change them as required. However, heed the respective notes in the corresponding dialog
    box.
    a. Adapt Context: Select from Nodes/Attributes . Press Continue.
    b. Specify Method Name: leave all entries as provided: Component:  Controller: COMPONENTCONTROLLER Method: EXCUTE_ Press Continue.
    5. Completing the Choice
    When you have confirmed the last dialog box, the generation is triggered. Afterwards you now have the required methods
    and contexts at your disposal for using them within your Web Dynpro component.
    or if you want to call directly the use the call statement with destination

  • How to get the floor plan in Webdynpro component ?

    Hi,
    How to get the floor plan in Webdynpro component ?
    Best Regards,
    Tripathi

    Hi,
    Just copy the templates from Webdynpro Component by choosing OIF or GAF or QAF template.
    Regards,
    Bansidahr

  • How to make serializable object in webdynpro?

    Hi
    I have written the following code... when i am executing i am getting the following error..........
    <b>javax.xml.rpc.soap.SOAPFaultException: Deserialisation failed</b>
    I think is it becoz of data... how to make it serializable
         Request_Z_BAPI_CUSTOMER_CHANGE_WS_customerChangeFromData customer = new Request_Z_BAPI_CUSTOMER_CHANGE_WS_customerChangeFromData();
         ComplexType_CustomerChangeFromData complexType = new ComplexType_CustomerChangeFromData();
         ComplexType_Bapikna101 bapi = new ComplexType_Bapikna101();
         Bapikna101 bapi1 = new Bapikna101();
         bapi1.setCity("RIYAD");
         bapi1.setCountraiso("SA");
         bapi1.setCountrniso("SA");
         bapi1.setCountry("SA");
         bapi1.setCountryiso("SA");
         bapi1.setFaxNumber("12345678");
         bapi1.setFirstName("First Name");
         bapi1.setInternet("[email protected]");
         bapi1.setDateBirth("12.12.2006");
         bapi1.setLanguIso("EN");
         bapi1.setName("Name");
         bapi1.setName3("Name 3");
         bapi1.setName4("Name 4");
         bapi1.setRegion("GB");
         bapi1.setFormOfAd("Address");
         bapi1.setStreet("Street");
         bapi1.setPostlCode("12345");
         bapi1.setLangu("X");
         bapi1.setTelephone("12345678");
         bapi1.setTelephone2("12345678");
         bapi1.setCurrency("INR");
         bapi1.setCurrencyIso("INR");
         bapi1.setOnlyChangeComaddress("X");
         complexType.setCustomerNo("0000040009");
         complexType.setPiDistrChan("01");
         complexType.setPiDivision("01");
         complexType.setPiSalesorg("QNIN");
         customer._setUser("abap");
        customer._setPassword("quinnox");
         CustomerChangeFromData data = new CustomerChangeFromData();
         data.setPiAddress(bapi1);
         //bapi.setOriginalBean(bapi1);
         complexType.setOriginalBean(data);
         wdComponentAPI.getMessageManager().reportSuccess(" "+complexType.getOriginalBean().getCustomerNo());
         wdComponentAPI.getMessageManager().reportSuccess(" "+complexType.getPiAddress());
         wdContext.nodeRequest_Z_Bapi_Customer_Change().bind(customer);
         complexType.setPiAddress(bapi);
         wdComponentAPI.getMessageManager().reportSuccess(" "+data.getPiAddress().getCity());
         customer.setParameters(complexType);
    help me
    Best Regards
    Ravi Shankar B

    Hi ashuthosh,
      What is the structure of your import and Export parameters of your RFC.
    There are 2 ways to acheive it.
    In the RFC either
    1. Use a Table parameter
    2. Use a Export Structure
    If you use a Table parameter in your RFC then in your webdynpro when you import your adaptive RFC model you would get the Table as a class.
    Assume your RFC/BAPI is called "Bapi_RFC_Insert"
    write the code
    Bapi_RFC_Insert in = new Bapi_RFC_Insert();
    wdContext.nodeBAPI_RFC_Insert_InputElement().bind(in);
    <TableName> <someName> = new <TableName>
    <someName>.setTabValue1();
    <someName>.setTabValue2();
    in.add<>(<someName>);
    This should pass values as a batch.
    You can also do this using Export parameters. But a table is much better.
    Let me know if you require more information.
    regards
    ravi

Maybe you are looking for