Cross component communication query

Hi All,
The scenario is in SAP SRM system.
I am trying to access the Contract number attribute (V_CTR_H_BD.HEADER_BD.OBJECT_ID) from the webdynpro component /SAPSRM/WDC_CTR_DODC_H_BD.
I want that attribute to be accessed in the WD component /SAPSRM/WDC_DODC_CND view V_DODC_CONDITION.
So, in order to achieve the above requirement, I tried to add a node as an Interface Node in the webdynpro component /SAPSRM/WDC_CTR_DODC_H_BD. But, I am unable to create any node in the component controller of WD component /SAPSRM/WDC_CTR_DODC_H_BD as a Interface Node, and hence, I am unable to create any node of Interface Controller. This is due to the reason that the node that we are creating have the Interface Node option in disable state.
Can anybody suggest what approach we need to follow to satisfy the above requirement? (It would be great if the resolution will be containing the steps)
Regards,
Susanta

In that case declare an attrubute of  OBJECT_ID  type in your component at component controller level. Lets call is m_cc_objID. Declare a method at component controller ReadObjID  call this method inside WDDOMODIFY of the view V_CTR_H_BD  and in code specify that it copies value of OBJECT_ID to our attribute m_cc_objID.
now follow the steps from my previous reply
Create a INTERFACE method in the component controller of the component /SAPSRM/WDC_CTR_DODC_H_BD, lets
call it GetContractAttribute. This method will return contract number. Dont forget to tick the Check Box
Inteface when creating this method, this tells you that this method is interface method and can
be called from outside.
next in the component /SAPSRM/WDC_DODC_CND instantiate /SAPSRM/WDC_CTR_DODC_H_BD under component usage. Now you can
call the method GetContractAttribute.
Greetings
Prashant

Similar Messages

  • Cross component communication

    Hi, I have two components in my application. One contains a
    repeater and a button. When the button is pressed it calls a
    function in an actionscript file that throws an alert and fills the
    repeater.
    The second component just has a tree control. When I click a
    node in the tree it calls the same function in the actionscript
    file which throws the alert correctly but does not fill my
    repeater. My repeater is bound to [bindable] XMLListCollection
    declared in the actionscript file. Do I need to make reference to
    'this' to make the objects bindable when click is initiated form
    another component. Examples would be great.
    Ken

    Got this sorted by using:
    Application.application.myComponent2.myFillRepeaterFunc();
    My function in component2 was previously being called but not
    from the same scope as if a click was initiated from component2.
    When component1 called the function directly the repeater did not
    bind but using the Application.application object it worked a
    treat.

  • Bind Variables and Shared Component Report Query

    I have a query in a region report which I have replicated to a shared component report query.
    Both queries reference page items as bind variables in the where clause.
    The report region on screen shows the correct results but the report query shows "no data". This is the case when running "Test Query" and "Download XML data" from the shared component report query definition. If I hardcode the variable names I get rows returned, If I use bind variables - and specify the values for these variables I get no data. THe XML file contains the tags for each bind variable I have specified but has no data between the tags. I have Ticked the box to include application and session state but it appears that the bind variables are not being used.
    When I use my report query in the application (URL tied to a button) I get the same problem, the binds are not being passed to the report query.
    Can someone please clarify if this is a bug or not? And if not, how can I get it to work.
    I am using Apex 4.0.2
    Thanks
    Kathryn

    Hi
    To confirm, yes I selected the bind variables. I used these in the report layout, but the xml file has them as empty i.e.
    <P0_START_DATE><P0_START_DATE/> with nothing in between.
    IN the Test Query section, if I put real values in the boxes for the bind variables, I get no data found. If I hardcode the values into the query, I get the data.
    I've repeated the create report query many times and have created a report layout in RTF. I can use the layout with my region - in the print attributes and the layout works with the query but I need to create a PDF using 2 queries - ROWSET1 and ROWSET2. I can generate the XML but the values in the rows are all empty. When I use the layout with a report query instead of the region, I get no data even though I have used the same sql and have selected the bind variables. I was using variables from page items on page zero but have also tried using page items on the current page, the result is the same.
    I need to use a report query and a report layout as I need data from 2 queries in the PDF.
    I looked at your demo - what happens if you add a second sql query to the report query - is there any chance I can look at the back end (developer access?)
    Thanks for your input
    Kathryn

  • Setting a bind variable in a Shared Component Report Query

    I have defined a Shared Component Report Query in APEX using a bind variable similar to below
    Select name, id , ....
    from asset
    where id = :id
    I have also created a Report Region that displays a table where one of the columns contains a value I would like to be a link column that can launch the Report Query and pass its value to the bind parameter :id in the report query. This in turn would generate a pdf report for the details associated with that column. I am having problems setting the :id bind parameter. How do I do this?
    Can anyone help?
    Thanks

    The bind values are set from session state. So if try something like this:
    Select name, id , ....
    from asset
    where id = :P1_ID
    With P1_ID being a page item, for which you set the session state / value before generating the PDF file. So assuming you already have a page with a report and a page item, and that page item is already used in your report, then you could just create a button to download the PDF, make sure the button is a submit button, and create a branch pointing to the report query URL (or in 3.1 use the create button wizard, to do this declaratively.)
    Regards,
    Marc

  • Can any body send me the cross component meta data files of any cross compp

    HI,
    I want meta data files of cross component project could u please pass these meta data files as soon as possible.
    Thanks,
    Shabeer Ahmed.

    Hi,
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a137c339-0b01-0010-a688-a87b88706845
    Regards,
    Sundar

  • Cross-component: Call method of using component from within used component?

    Hi,
    I began diving into cross-component programming.
    Meanwhile after having digged into some scenarios some questions came up to my mind that I am not able to answer myself. I would appreciate your help here!
    Say we have to components.  Comp A uses Comp B (hence, B is a component usage in A)
    1) How to make them communicate not on a data level (via context binding) but on a process level, thus...
    a) can I call A's method from within B? How is the approach on a general level? - as B can be used from totally different components (like A, A1, A2 ...)
    b) perhaps the only way to do this is by firing events? If so, how can I react in A when an event in B (marked as interface event) gets fired? As it seems they do not get registered within A directly...
    I guess the question seems to be a bit tricky. Nevertheless, I think there will be plenty of you out there who used to asked them the same questions before and came up with an approach. Would be nice to hear from you.
    Best wishes,
    Marc @sap1

    Hi,
    thanks for your reply!
    Indeed, I think the nature of WDA would be just to somehow map the context from the used component to the other back and forth.
    Nevertheless, what if I would like to invoke a method of the using component from inside the used component.
    One sample for this requirement could be e.g.:
    Component B offers a tree item and a send/verify button.
    Component A uses B and has some restraints regarding what the selection should look like.
    The user taps the button in B (at runtime in the view container of A), the context gets updated in A and B and in Component A the verifyWithOwnConstraints() method gets called (through B).
    Thanks again,
    Marc

  • Unsuccessful Cross Component View Sharing

    Hey Folks,
    I am facing an issue when I am doing cross component sharing of a vew
    Requirement
    I need to embed View 1 of Component A into View 2 of Component B.
    Solution : I have done the following steps:
    In Component A: 
    I have a created a View 1, whose elements are bound to a node. The node has mapping to the node in the Component Controller.
    I have defined an interface method in Component A which populates the Component Controller node which is bound to elements in View 1.
    In Component B:
    I have defined the Component A as a Used Component in Component B and have defined the Component Usage of the Interface Controller of Component A in B.
    I have embedded the View1 of A into the ViewUiContainer Element in the Window corresponding to View2 of B
    I have defined a method in the Component Controller of B, which makes a call to the interface method defined in A
    In the wdinit method of the View2, I have created the component Usage
      l_ref_cmp_usage = wd_this->wd_cpuse_<<>>( ).
      if l_ref_cmp_usage->has_active_component( ) is initial.
        l_ref_cmp_usage->create_component( ).
      endif.
    Issue
    The view is showing up as desired, however no values are being populated
    Analysis
    On debugging, I see that the interface method is being called and the Component Controller node of A is indeed getting populated.
    But then the same is not being reflected in the view.
    Am I missing something here?
    I need not have made the node as an interface node, since the population of the node is being done within Component A itself. Hence the only thing Component B has to do is to call the interface method with the right input parameters. But somehow the node mapping is just not happening
    Any pointers on this would be of immense help.
    Thanks,
    Puja

    Hey Folks,
    Thanks for all the inputs...After a good frustrating debugging and rummaging the code for a whole day, I decided to redo the entire thing. Once I scrapped the original views, components et al and redid it over again, things seem to be working.
    @Naresh : I did try doing what you have suggested and much to my surprise, it worked standalone
    @Pradeep : Yes I am doing a bind_table to the node in question.
    I still have a hunch that there was some kind of a problem with the binding of the ensuing table to the node. But have no clue where exactly that could have been happenign as I double checked the obvious places.
    Thanks for all the inputs.
    Best Regards,
    Puja

  • Organizing cross-component eCATT tests in the Test Catalog

    My question is regarding how to properly structure the test catalog.  I have an eCATT test that uses REF to call three other eCATT tests.  These three tests are simulating a businses process (order to cash) and they are Creating a Sales Order (VA01), Creating a Delivery (VL01N) and Creating the Billing Document (VF01).  Since test catalogs are placed in the application hierarchy I created three separate test catalogs, one for each test.  The catalog with VA01 is in component SD-SLS-SO while the catalog with VL01N is in LE-SHP and VF01 is in SD-BIL.  Now I have the fourth eCATT script -- the chain script that uses REF to call those other three scripts.  Since this script doesn't belong to any one specific module or component I can't create a test catalog for it in the application hierarchy.  I also realized that if I created a test plan from the three test catalogs with VA01, VL01N and VF01 I wouldn't be able to execute them individually because the scripts share Import and Export variables.  What is the Best Practice for creating and storing multi-transactional, cross-component tests that simulate business processes?
    Secondarily, is there a forum dedicated to eCATT, TestWorkbench or SAP automated testing?  If not, which forum would be the best place to post these testing related questions?

    Ben,
    there are effectively two approaches:
    1. Find the "lowest common denominator" - if you have a master script that calls scripts from various sub-components of SD, place the master script in SD (top level)
    2. Try to establish the "lead activity" in your master script - ask yourself the question "How would I describe this test case in one sentence?". Then try to classify the master script according to that.
    Both approaches have advantages and disadvantages.
    There is, of course, a third possibility. If you have real baseline tests that test business processes that run right through everything, you could put the catalog at "SAP" level in the application hierarchy.
    Feel free to keep posting your testing questions here!
    Regards
    Jon.

  • What is cross-component

    hi all,
    1.what is cross-component and business process management?
    2.why bpm's

    Hi   srinivas ,
              For all ur question the following liks will give you answer 
    CCBPM Intruduction
    http://help.sap.com/saphelp_nw04/helpdata/en/3c/831620a4f1044dba38b370f77835cc/frameset.htm
    BPM
    http://help.sap.com/saphelp_nw2004s/helpdata/en/3c/831620a4f1044dba38b370f77835cc/content.htm
    check list for BPM https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/3bf550d4-0201-0010-b2ae-8569d193124e
    /people/pooja.pandey/blog/2005/07/27/idocs-multiple-types-collection-in-bpm - Collection of IDoc to Single File
    /people/stefan.grube/blog/2006/09/18/collecting-idocs-without-using-bpm - collecting IDocs without BPM
    /people/anish.abraham2/blog/2005/12/22/file-to-multiple-idocs-xslt-mapping - File to Multiple IDocs
    BPM BLOGS
    https://www.sdn.sap.com/irj/sdn/weblogs?blog=/weblogs/topic/40
    For BPMs check these weblogs:
    /people/krishna.moorthyp/blog/2005/06/09/walkthrough-with-bpm
    /people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit
    /people/sriram.vasudevan3/blog/2005/01/11/demonstrating-use-of-synchronous-asynchronous-bridge-to-integrate-synchronous-and-asynchronous-systems-using-ccbpm-in-sap-xi
    /people/ravikumar.allampallam/blog/2005/02/17/bridging-the-sync-async-bridge-with-fork-xi
    /people/sravya.talanki2/blog/2005/08/24/do-you-like-to-understand-147correlation148-in-xi
    /people/daniel.graversen/blog/2006/09/07/using-a-bpm-to-collect-messages-for-a-set-interval-of-time
    Best Regards .,
    V.Rangarajan

  • Oracle11g RAC with partitioning and cross instance parallel query problem

    I have set up a 300gb TPC-H database using a 4 node RAC environment (8 cpu per node, 16 GB memory, 2 GHz processors) the system is served by 2.5 terabytes of SSD for its IO subsystem managed by a combination of ASM and OCFS2.
    When I run a large parallel query (number 9 in the TPCH query set) I get:
    ORA-00600: internal error code, arguments [kxfrGraDistNum3],[65535],[4]
    with all other arguments blank. There were some reports of this in version 9, but it was supposedly fixed. Has any one seen this behavior or have a work around?
    Mike

    Good Idea! Why didn't I think of that? Oh yea...I did. Unfortunately TMS CSI is an update only partner type CSI so I cannot submit a SR. The 600 lookup was how I found the old stuff, but it didn't have any 11g references. I hoped maybe someone in the community had encountered this and had a workaround. By the way, the querey looks like so:
    select
    nation,
    o_year,
    sum(amount) as sum_profit
    from
    select
    n_name as nation,
    extract(year from o_orderdate) as o_year,
    l_extendedprice * (1 - l_discount) - ps_supplycost * l_quantity as amount
    from
    h_part,
    h_supplier,
    h_lineitem,
    h_partsupp,
    h_order,
    h_nation
    where
    s_suppkey = l_suppkey
    and ps_suppkey = l_suppkey
    and ps_partkey = l_partkey
    and p_partkey = l_partkey
    and o_orderkey = l_orderkey
    and s_nationkey = n_nationkey
    and p_name like '%spring%'
    ) as profit
    group by
    nation,
    o_year
    order by
    nation,
    o_year desc;
    the other 21 queries, all using the same tables and degrees of paralell and cross instance settings, executed ok.
    Mike

  • How to use my Declarative Component in query component ???

    Hi everybody,
    I want to change inputDate in query component to my declarative component for Date fields. I did not find any way except implementing the Model of Query component so read "Web User Interface Developer’s Guide for Oracle Application Development Framework 11g Release 1 (11.1.1) " document and use the ADF Faces Demo Application. now I don't know can I change type of search component to my declarative component in DemoQueryBean class ??
    the code of oracle.adfdemo.view.query.rich.DemoQueryBean that I changed is :
    public static final ComponentType myDatecomponent=ComponentType.valueOf("myDate");
    private void _createPageDef()
    _pageDef = new DemoPageDef();
    _pageDef.addAttributeDef("Ename",
    "Employee Name",
    "Full name of the Employee [Last Name, First Name]",
    String.class,
    persianDate,
    false, null, true, true, true);
    As you can see I changeed type of Employee Name component to my Component but I see below exceptions :
    ]] Root cause of ServletException.
    java.lang.ExceptionInInitializerError
         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
         at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
         at java.lang.Class.newInstance0(Class.java:355)
         Truncated. see log file for complete stacktrace
    java.lang.IllegalArgumentException: No enum const class oracle.adf.view.rich.model.AttributeDescriptor$ComponentType.myDate
         at java.lang.Enum.valueOf(Enum.java:192)
         at oracle.adf.view.rich.model.AttributeDescriptor$ComponentType.valueOf(AttributeDescriptor.java:121)
         at oracle.adfdemo.view.query.rich.DemoQueryBean.<clinit>(DemoQueryBean.java:52)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
         Truncated. see log file for complete stacktrace
    >
    I think these exceptions happend because of there is not any constant of AttributeDescriptor$ComponentType in ComponentType class for myDate component.
    I try to create a class and extends ContentType and add my component type to it but I can't. is there any way for solving this problem ?
    please help me :(
    Thanks.

    Hi,
    saying it this way: There is no native option to do this. Since I never tried hacking into the framework classes, I can't say if there is a glimpse of hope for you
    Frank

  • Can't filter community query by custom property

    I'm trying to search for a community through the objectManager based on a custom property value (part of a LoginPEI that redirects the user on login to a personalized community).  The Query() call is failing with the following exception:
        ParseQueryFilter error on clause #0
        (0x80070057) Invalid property ID specified (0xc8)
    where 0xc8 is the ID of the property I'm filtering by.
    The same code works correctly if I filter by PT_PROPIDS.PT_PROPID_NAME instead, making me think it's something about either that property in particular, or just filtering managed objects by extended props in general.   I've confirmed that the property has been added to the community object through the Global Object Property tool.
    Code shown below (and, yes, I'm aware that the results if there are more than one matching object are undefined).  Any advice appreciated.
    Thanks,
    Pete
        private int lookupObjectBySingleProperty(IPTSession session, int classId, int propertyId, Object value) {
          IPTObjectManager objectManager = session.GetObjectManagers(classId);
          Object[][] filter = {
                                new Object[] { propertyId },
                                new Object[] { PT_FILTEROPS.PT_FILTEROP_EQ },
                                new Object[] { value }
          IPTQueryResult results = objectManager.Query(
            PT_PROPIDS.PT_PROPID_OBJECTID, //Property properties
            -1, // search all folders -- might want to restrict this later
            PT_PROPIDS.PT_PROPID_OBJECTID, //sort
            0, // start at first result
            -1, // return all results
            filter); // filter
          if (results.RowCount() == 0) {
            return -1;
          return results.ItemAsInt(0, PT_PROPIDS PT_PROPID_OBJECTID);

    can you try filter this way:
    var sURI = 'http://<host>:<port>/sap/opu/odata/sap/ZTESTODATA_SRV/';
      oModel = new sap.ui.model.odata.ODataModel(sURI, false),
      sap.ui.getCore().setModel(oModel);
      var sRead = "/pdfset(customer='" + oTF.getValue() + "')"  ;
    oModel.read( sRead, null, null, true, function(oData, oResponse){
      var pdfURL = oData.url;

  • Flex Newbie - Communications query.

    Hi, old to programming, new to  flex, so its a lot to take in, and any pointers at what to look at are greatly helpful.
    I wish to communicate data on a server between all clients using a flash app (built in flex builder) and also to send data from a client to the other clients and to the server.
    Client to all all clients would be good for sending a update message (ie user has left application) so the other clients do not have to query the server, as long as the original client tells the server, and updates the other clients.
    What sort of communication options are available with flex?
    What areas should I be investigating, what is the most efficient way of sending data to/from a client to a server, and is it possible to do the same client to all clients (and  client to specific client).
    I can write server side stuff in php, if I know what sort of stuff I need to be dealing with flex side..
    Im trying to knock up a simple video chat room based on the flex videochat example, one to one communication works, now I need to look at communicating with multiple users, and updating them all with who has left the room, when someone enters a room, when a new room is created etc etc.
    But being new to flex, I dont know what area's to investigate.
    Familar (a little) with php, have own dedicated centos server to work on, and willing to do  lots of experimentation, if I just knew what area's to avoid and waht areas to concentrate on (with simple starter examples to build up from)
    Many thanks in advance if anyone can shed any light...

    How have you achieved one to one communication between clients?
    As per my understanding, there is no way to interact with other clients directly. You need to use server. And with servers you can use either pull or push methods. What you are looking for is push method. You may check Red5 or similar open source servers.

  • Nexus 1000v / pvlan promiscuous trunk / Cross-host communication.

    Hello,
    We are planning the deployment of Nexus 1000v with “promiscuous trunk” uplink ports. We want to be sure cross-host in isolated pvlan will not be possible .
    Looking at the picture, I was wondering if the communication between VM-A on ESX1 and VM-B on ESX 2 (both on isolated pvlan) will be impossible as expected.
    Example: If VM-A on ESX 1 tries to send traffic to VM-B on ESX-2, the vlan 11 tag is remapped to vlan 10 tag at the outgoing uplink on ESX 1.
    Then the flow arrives on ESX 2 with vlan 10 tag on the promiscuous trunk. I understand the promiscuous port can talk to all secondary pvlans, so VM-A can in this case talk with VM-B.
    Is my understanding correct ?
    Or does the Nexus 1000v have an enhanced cross-VEM mechanism which allow to check the source mac address and know that it comes from pan isolated pvlan and as a result cannot communicate.
    Best regards.
    Karim  

    Hello Karim,
    N1k enforces pVLANs across all hosts.  Think of all the N1k VEMs as a single switch.  In your example, VM-A will not be able to talk with VM-B.  We accomplish this isolation by poisoning VEM mac address tables with a null destination.  For example, ESX1 would contain a dynamic entry for VM-B that points to a null LTL value.  If VM-A attempted to send traffic to VM-B's mac, it would not leave the host.
    Please be aware that N1k can only enforce pVLANs for traffic behind the VEMs.  If you have other servers in VLAN 10 on the blue switch, it would be seen as a promiscuous port from N1k standpoint.  Additional configuration would be required to prevent communication.

  • Back-flush Component Costs Query

    Dear Experts,
    I want to have a report to display to me the components costs of items where issue method is backflush on production order.
    My stock valuation method is moving average and would like to get the exact component cost for that specific production order.
    Regards,

    Thanks Nagarajan,
    I have checked the Query and it doesn't work for me.
    What I am looking for is to get the costs of components whose  issue method is defined as back-flush. I am aware i can create a UDF on the production order and use a FMS to get the cost at that point the order was raised, but i want to explore if i can get the information i want without doing that.
    See attached samples and below illustration:
    ItemCode
    Item Name
    Issued Quantity
    Cost per Unit
    Production Order No
    LM4029MC
    LeMon 4029 500 sheet paper drawer
    5
    13
    152
    LM4029MC
    Memory Chip
    10
    20
    152

Maybe you are looking for