Extraction of component usage (MTO) into APO

Hi Gurus,
Does anyone have any experience with pulling in component usage into APO using a standard datasource such as 2LIS_04_S282 or a similar datsource. I am looking for a way to pull in component usage from the sales order/planned order/production order into APO and thought this would be a practical approach. However, I don't have too much experience in this area so I thought I would reach out for suggestions.
Warm Regards,
Paul

Hi Gurus,
Does anyone have any experience with pulling in component usage into APO using a standard datasource such as 2LIS_04_S282 or a similar datsource. I am looking for a way to pull in component usage from the sales order/planned order/production order into APO and thought this would be a practical approach. However, I don't have too much experience in this area so I thought I would reach out for suggestions.
Warm Regards,
Paul

Similar Messages

  • ABAP webDynpro MS Office component usage throws -  Access via 'NULL' object

    I am trying to include MS office word in my custom ABAP webDynro application based on the sample SAP Package SIOS for all the MS office component usage. <br>
    In WDMODIFY method  , when the courser is reaching the point to call office component  it throws a Null pointer exception. Not sure , if i am missing some thing here or skip a step. Please advice. <br>
    get the IOS interface <br>
      wd_this->factory ?= office->_method_handler. <br>
    Below is the code for WDMODIFY <br>
    method WDDOMODIFYVIEW . <br>
    DATA: <br>
        office TYPE REF TO cl_wd_view_element, <br>
        office_res TYPE REF TO cl_wd_view_element,<br>
        mime_repository TYPE REF TO if_mr_api,<br>
        content TYPE xstring, <br>
        url TYPE string VALUE <br>
    '/SAP/BC/WebDynpro/SAP/PUblic/BC/ssr/uuielibs/office_integration' & <br>
    '/iostest_fields.doc'. <br>
      DATA refexp TYPE REF TO cx_ios_exception.
      DATA: msgid TYPE syst-msgid,
         msgnr TYPE syst-msgno,
         msgty TYPE syst-msgty.
      get message manager
      DATA: l_current_controller TYPE REF TO if_wd_controller,
            l_message_manager    TYPE REF TO if_wd_message_manager.
      DATA envproxy TYPE REF TO if_ios_environment.
    just do it once
      CHECK first_time = abap_true.
      mime_repository = cl_mime_repository_api=>get_api( ).
      CALL METHOD mime_repository->get
        EXPORTING
          i_url     = url
        IMPORTING
          e_content = content.
      wd_context->set_attribute( name = 'DATAS' value = content ).
    get the office control
      office ?= view->get_element( 'GENERIC_OFFICE' ).
      ASSERT ID sios_demo CONDITION  office IS BOUND.
    not possible : Missing bugfix component bc-wd-aba
    office_res ?= view->get_element( 'RESULT_DOCUMENT' ).
    ASSERT ID sios_demo CONDITION  office IS BOUND.
    get the IOS interface
      wd_this->factory ?= office->_method_handler.
      ASSERT ID sios_demo CONDITION wd_this->factory IS BOUND.
    wd_this->factory_res ?= office_res->_method_handler.
    ASSERT ID sios_demo CONDITION wd_this->factory_res IS BOUND.
      TRY.
          wd_this->factory->get_wordprocessing_proxy(
             IMPORTING proxy = wd_this->document  ).
          ASSERT ID sios_demo CONDITION wd_this->document IS BOUND.
         wd_this->factory_res->get_wordprocessing_proxy(
            IMPORTING proxy = wd_this->document_res  ).
         ASSERT ID sios_demo CONDITION wd_this->document IS BOUND.
    *calling    setfields
          DATA co_error_info_getfields TYPE REF TO if_wd_context_element.
          DATA co_error_info_getfields_stru TYPE wdr_ext_attribute_pointer.
          co_error_info_getfields = wd_context->get_lead_selection( ).
          co_error_info_getfields_stru-attribute_name =
    'error_info_getfields'.
          co_error_info_getfields_stru-element = co_error_info_getfields.
          DATA fields TYPE if_ios_wordprocessing=>fields_type.
          DATA fieldstable TYPE if_ios_wordprocessing=>fields_type_table.
          DATA co_fieldcontent TYPE REF TO if_wd_context_element.
          DATA co_fieldcontent_stru TYPE wdr_ext_attribute_pointer.
          DATA inputfield1 TYPE xstring.
          DATA tabulator TYPE xstring.
          DATA endofline TYPE xstring.
          DATA: conv TYPE REF TO cl_abap_conv_out_ce.
          DATA: testfielddata TYPE string.
          testfielddata = 'SAPTEST'.
          conv = cl_abap_conv_out_ce=>create( encoding = '4110'
    ignore_cerr = abap_true ).
          CALL METHOD conv->convert( EXPORTING data = 'field1'
                                           IMPORTING buffer =
    fields-fieldidentifier  ).
          CALL METHOD conv->convert( EXPORTING data = testfielddata
                                           IMPORTING buffer = fields-value
          CALL METHOD conv->convert( EXPORTING data =
    cl_abap_char_utilities=>horizontal_tab
                                           IMPORTING buffer = tabulator  ).
          CALL METHOD conv->convert( EXPORTING data =
    cl_abap_char_utilities=>cr_lf
                                           IMPORTING buffer = endofline  ).
          wd_context->set_attribute( name = 'inputfield1'
                                     value = testfielddata ).
          APPEND fields TO fieldstable.
          wd_context->set_attribute( name = 'fieldcontent' value =
    fieldstable ).
          co_fieldcontent = wd_context->get_lead_selection( ).
          co_fieldcontent_stru-attribute_name = 'fieldcontent'.
          co_fieldcontent_stru-element = co_fieldcontent.
    document is set through datasource!
          wd_this->document->setfields( EXPORTING fieldsptr =
    co_fieldcontent_stru
                                                  tabulator = tabulator
                                                  endofline = endofline
                                                  errorinformation =
    co_error_info_getfields_stru ).
    *calling    opening result document
          DATA co_error_getcontent TYPE REF TO if_wd_context_element.
          DATA co_error_getcontent_stru TYPE wdr_ext_attribute_pointer.
          co_error_getcontent = wd_context->get_lead_selection( ).
          co_error_getcontent_stru-attribute_name = 'error_getcontent'.
          co_error_getcontent_stru-element = co_error_getcontent.
          DATA co_createdcontent TYPE REF TO if_wd_context_element.
          DATA co_createdcontent_stru TYPE wdr_ext_attribute_pointer.
          co_createdcontent = wd_context->get_lead_selection( ).
          co_createdcontent_stru-attribute_name = 'createdcontent'.
          co_createdcontent_stru-element = co_createdcontent.
    waiting of ACF Patch!
         wd_this->document->getcontent( errorinformation =
    *co_error_getcontent_stru
         contentpointer_result =  co_createdcontent_stru ).
    *calling    reopening template
          DATA error_opendocument TYPE REF TO if_wd_context_element.
          DATA error_opendocument_stru TYPE wdr_ext_attribute_pointer.
          error_opendocument = wd_context->get_lead_selection( ).
          error_opendocument_stru-attribute_name = 'error_opendocument'.
          error_opendocument_stru-element = error_opendocument.
         wd_this->document_res->if_ios_document~opendocument( EXPORTING errorinformation = error_opendocument_stru ).
        CATCH cx_ios_document INTO refexp.
        CATCH cx_ios_communicationwrapper INTO refexp.
        CATCH cx_ios_factory INTO refexp.
        CATCH cx_ios_environment INTO refexp.
        CATCH cx_ios_exception INTO refexp.
      ENDTRY.
      IF refexp IS NOT INITIAL.
        refexp->get_message( IMPORTING
                  mtype = msgty
                  number = msgnr
                  mid = msgid ).
        l_current_controller ?= wd_this->wd_get_api( ).
        CALL METHOD l_current_controller->get_message_manager
          RECEIVING
            message_manager = l_message_manager.
      report message
        CALL METHOD l_message_manager->report_t100_message
          EXPORTING
            msgid = msgid
            msgno = msgnr
            msgty = msgty.
      ENDIF.
    endmethod.
    Edited by: suryajoshi on Jan 13, 2011 5:04 PM

    Thanks for your reply.
    I have defined DATAS attribute  as XSTRING.  You are right i am using SIOS code from WDMODIFY.
    I am getting exception at this line:  Please advice. Its seems that factory is not been recognize. I double check , factory is present in attributes Tabs of the View.
    get the IOS interface
      wd_this->factory ?= office->_method_handler.
      ASSERT ID sios_demo CONDITION wd_this->factory IS BOUND.

  • No component usage created in enhanced web dynpro component

    Hi experts,
    I am facing the following problem:
    I'd like to enhance a web dynpro component in order to add a popup window. The popup is triggered by the process_event method. So far everything works just fine.
    But the popup needs to know some context attributes from the main component, and I cannot create a component usage in order to set the context mapping.
    Does anybody know how to solve this issue?
    Thanks and regards
    Jan Phillip Höft

    Hi!
    Thanks for your answers first of all.
    I need the popup to be a stand alone web dynpro component, so I guess the assistant class doesn't do the trick because I can not access it in the popup component.
    The popup is called when the business object is saved. So that the user is asked to notify other users that the document has changed. In this popup the user should fill in the message and click a button to send it and close the popup.
    So I tried the OBN approach as well but with two problems :
    1. I cannot close the popup component by coding (button click) because it has no direct parent component
    2. The save event is not run through properly so the document stays locked by the user. But I didn't look into this yet.
    So it would be perfect to have an embedded popup component which is based on a stand alone web dynpro application so it can be closed properly but it need at least access to the guid of the main component.
    Anybody got an idea for this?
    Thanks and regards
    Jan Phillip Höft

  • Dynamic create Component usage and embed it in view container

    There is a view_container_uielement VC_TEST  in view V_MAIN, in wd component ZTEST.
    I created a web dynpro component named ZWDR_TEST and add it into the wd component ZTEST.
        gr_comp_test = component->create_cmp_usage_group(
          name = 'TEST_GROUP'
          used_component = 'ZWDR_TEST' ).
        lr_comp_usage = me->gr_comp_test->add_component_usage(
          embedding_position = 'V_MAIN/VC_TEST'
          name = 'TEST'
          used_component = 'ZWDR_TEST' ).
        if lr_comp_usage->has_active_component( ) is initial.
          lr_comp_usage->create_component( component_name = 'ZWDR_TEST' ).
        endif.
        ifc_test ?= lr_comp_usage->get_interface_controller( ).
    I thought the wdr ZWDR_TEST was embeded in the view V_MAIN in the position VC_TEST by the embedding_position parameter.
    But in the result web page, there is no ZWDR_TEST in the position of VC_TEST.
    Could any one explain why?
    Thanks

    Hi,
    for dynamic comp usage.. check this..
    http://help.sap.com/saphelp_nw70/helpdata/en/bc/191a427ff6db2ce10000000a1550b0/frameset.htm
    Dynamic Component Usage
    embed view
    Dynamic View embed
    How to create a webdynpro view dynamically and embed into view container?
    Cheers,
    Kris.

  • How to extract every component in an array?

    Hello everyone!
    Do you know how to extract every component from an array field?
    For example:
    The following is the defination of a table:
    CREATE TABLE test (
    id NUMBER PRIMARY KEY,
    name VARCHAR2(32),
    shape MDSYS.SDO_GEOMETRY
    And then I insert a new record:
    INSERT INTO test VALUES(
    1,'first',
    MDSYS.SDO_GEOMETRY(
    2003,
    NULL,
    NULL,
    MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,3),
    MDSYS.SDO_ORDINATE_ARRAY(1,1, 5,7)
    The Question is I want to read the every component (for example 1,1,5,7) in the sdo_ordinate_array one by one. Who knows how to write the SQL?
    I have tried "select a.shape.sdo_ordinates(1) from test a". But it can't work.
    Thank you very much!

    One solution is to read each ordinate from a cursor ina SQL block. Here is an example:
    set serveroutput on
    SET serveroutput on SIZE 1000000
    set concat on
    DEFINE layername = 'LAYER';
    DEFINE geomcolname = 'GEOM';
    DECLARE
    id varchar2(10);
    longitude number;
    latitude number;
    logmile number;
    i number;
    theLayer varchar2(32);
    theGeomCol varchar2(32);
    BEGIN
    FOR rec IN (SELECT ROWID, id, &geomcolname FROM &layername ) LOOP
    id := rec.id;
    i := 1;
    while i < rec.geom.sdo_ordinates.count loop
    longitude:=rec.geom.sdo_ordinates(i);
    latitude:=rec.geom.sdo_ordinates(i+1);
    logmile:=rec.geom.sdo_ordinates(i+2);
    dbms_output.put_line(id || ',' || longitude || ',' || latitude || ',' || logmile);
    i := i + 3;
    end loop;
    END LOOP;
    commit;
    END;
    Maybe that will help.
    Dave
    David R. Miller
    Michael Baker Jr., Inc.
    3601 Eisenhower Avenue
    Alexandria, VA 22314
    [email protected]
    www.mbakercorp.com

  • How to switch between different instances of component usage?

    Hi All,
    Need your help.
    My application is about "Program Management", there is a table on the upper level which displays several program header data. in the lower level of the screen, I have a view container in which I embed another component to display program details.For instance,if you make a lead selection on one row of the table above, then the lower part will display the program detail.
    Here is the problem: e.g. first, I make a selection on program '001', then I'll create a component usage of the program detail and I put it into a component uage group, second, I make a selection on program '002', then the same like above, I create another component usage and put it into a component usage group. Now I have two instances of program detail component usage, when I select program '001' again, how can I switch back to program '001' detail.
    So, I'm trying to achieve multiple instances of program detail so that user don't need to wait for loading program details everytime.
    Thanks in advance.
    Regards,
    Aaron
    Edited by: Aaron Shen No.2 on Sep 22, 2009 3:44 AM

    Hi Aaron,
    As you are using two separate components, they would be having two separate views to display the required information.
    In the onleadselect of your main view ( where you are using the individual views of the other components via the viewcontainerUI ), you have to embed the following code:
      DATA lo_api_main TYPE REF TO if_wd_view_controller.
      lo_api_main = wd_this->wd_get_api( ).
      CALL METHOD LO_API_MAIN->FIRE_PLUG
        EXPORTING
         PARAMETERS =
          PLUG_NAME  = 'OP_TO_TWO'
    Create two outbound plugs in your window, and link them to the inbound plugs of the individual views of used components.
    I am embedding the code of my onleadselection:
    method ONACTIONSELECTED .
        DATA lo_nd_table_data TYPE REF TO if_wd_context_node.
        DATA lo_el_table_data TYPE REF TO if_wd_context_element.
        DATA ls_table_data TYPE wd_this->element_table_data.
        DATA lt_table_data TYPE wd_this->elements_table_data.
        data lv_selected_index type i.
      navigate from <CONTEXT> to <TABLE_DATA> via lead selection
        lo_nd_table_data = wd_context->get_child_node( name = wd_this->wdctx_table_data ).
      get element via lead selection
        lo_el_table_data = lo_nd_table_data->get_element(  ).
         CALL METHOD LO_EL_TABLE_DATA->GET_INDEX
           RECEIVING
             MY_INDEX = lv_selected_index
    case lv_selected_index.
    when 1.
    data lo_cmp_usage type ref to if_wd_component_usage.
    lo_cmp_usage =   wd_this->wd_cpuse_comp_one( ).
    if lo_cmp_usage->has_active_component( ) is initial.
       lo_cmp_usage->create_component( ).
    endif.
       DATA lo_api_main TYPE REF TO if_wd_view_controller.
      lo_api_main = wd_this->wd_get_api( ).
      CALL METHOD LO_API_MAIN->FIRE_PLUG
        EXPORTING
         PARAMETERS =
          PLUG_NAME  = 'OP_TO_ONE'
    clear lo_cmp_usage.
    when 2.
    DATA lo_api_main TYPE REF TO if_wd_view_controller.
      lo_api_main = wd_this->wd_get_api( ).
      CALL METHOD LO_API_MAIN->FIRE_PLUG
        EXPORTING
         PARAMETERS =
          PLUG_NAME  = 'OP_TO_TWO'
      data lo_cmp_usage type ref to if_wd_component_usage.
       lo_cmp_usage =   wd_this->wd_cpuse_comp_two( ).
       if lo_cmp_usage->has_active_component( ) is initial.
         lo_cmp_usage->create_component( ).
       endif.
    endcase.
    endmethod.
    Regards,
    Prosenjit.

  • Web Dynpro Abap - Dynamic Component Usage - parameters

    Hi,
    I have a this scenario:
    by a main WD component (COMP_MAIN) I have to call others WD components (COMP_1, COMP_2, COMP_3,...)
    I use Dynamic Component Usage
    l_view_controller_api->prepare_dynamic_navigation(
                        source_window_name          = 'W_SC'
                        source_vusage_name          = 'V_SC_USAGE_1'
                        source_plug_name            = 'TO_USAGE'
                        target_component_name       = l_wa_cmp_usages-used_component
                        target_component_usage      = l_wa_cmp_usages-component_usage_name
                        target_view_name            = ls_cmp_usage_group-interface_view
                        target_plug_name            = ls_cmp_usage_group-inbound_plug
                        target_embedding_position   = l_wa_cmp_usages-embedding_position ).
    l_wa_cmp_usages-component_usage->create_component( l_wa_cmp_usages-used_component ).
    I ask :
    is possible to write context nodes of COMP_MAIN into COMP_x?
    If yes, how can I do that?
    Thank you
    Al

    Hi,
    Please go through below pdf document which will help in understanding the componenet usage in webdynpro ABAP.
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/2e71ce83-0b01-0010-11a4-98c28a33195f
    Hope it will help you.
    Raghu

  • Web Dynpro ABAP - Select Option and ALV Component Usage

    Hi,
    I'm new in ABAP Web Dynpro and i was trying to follow the SDN tutorial
    Web Dynpro ABAP - Select Option and ALV Component Usage  
    In this video, we create a new Web Dynpro ABAP component that uses both Select Options and ALV. Developers can learn the basic mechanisms for working with both of these reusable components.
    Following the link: https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/media/uuid/39c54fe7-0b01-0010-0eb6-d63ac2bdd637
    I implemented and generated the web dynpro with success but when i execute a test i get a dump on select-option definition.
    Note
    The following error text was processed in the system ECD : Exception condition "TYPE_NOT_FOUND" raised.
    The error occurred on the application server ITAWSECCS01D_ECD_00 and in the work process 0 .
    The termination type was: RABAX_STATE
    The ABAP call stack was:
    Method: DESCRIBE_BY_NAME of program CL_ABAP_TYPEDESCR=============CP
    I went in debug and the piece of code dumping is:
    lt_range_table =
    wd_this->m_handler->create_range_table( i_typename = 'S_PROJ' ).
    Is there someone who can help me?
    Thanks in advance,
    Stefano.

    Hi,
    I'm new in ABAP Web Dynpro and i was trying to follow the SDN tutorial
    Web Dynpro ABAP - Select Option and ALV Component Usage
    In this video, we create a new Web Dynpro ABAP component that uses both Select Options and ALV. Developers can learn the basic mechanisms for working with both of these reusable components.
    Following the link: https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/media/uuid/39c54fe7-0b01-0010-0eb6-d63ac2bdd637
    I implemented and generated the web dynpro with success but when i execute a test i get
    an error as
    Note
    The following error text was processed in the system EI6 : Exception condition "TYPE_NOT_FOUND" raised.
    The error occurred on the application server EC6IDES_EI6_01 and in the work process 0 .
    The termination type was: RABAX_STATE
    The ABAP call stack was:
    Method: DESCRIBE_BY_NAME of program CL_ABAP_TYPEDESCR=============CP
    I have created a table zmy_table and trying to make USERID field as a select-options.I've written the code as shown below .
    data: itab type standard table of zmy_table,
    wa type zmy_table.
    data:
    node_employee type ref to if_wd_context_node,
    elem_employee type ref to if_wd_context_element,
    stru_employee type wd_this->element_employee ,
    item_userid like stru_employee-userid.
    navigate from <CONTEXT> to <EMPLOYEE> via lead selection
    node_employee = wd_context->get_child_node( name = wd_this->wdctx_employee ).
    @TODO handle not set lead selection
    if ( node_employee is initial ).
    endif.
    get element via lead selection
    elem_employee = node_employee->get_element( ).
    @TODO handle not set lead selection
    if ( elem_employee is initial ).
    endif.
    alternative access via index
    Elem_Employee = Node_Employee->get_Element( Index = 1 ).
    @TODO handle non existant child
    if ( Elem_Employee is initial ).
    endif.
    get single attribute
    elem_employee->get_attribute(
    exporting
    name = `USERID`
    importing
    value = item_userid ).
    select *
    from zmy_table
    into table itab
    where userid = item_userid.
    node_employee = wd_context->get_child_node( 'EMPLOYEE' ).
    node_employee->bind_elements( itab ).
    Is there someone who can help me and can tell am i doing wrong?
    Thanks in advance,
    Dheeraj

  • 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

  • Bind Component Usage

    Hi Experts,
    Root Componet  :ICCMP_BT_COM
    Child Componet : ICCMP_BTITEM
    Child of (ICCMP_BTITEM) componet : ICCMP_BT_PCONFG
    My Requirement is when i click the "ICCMP_BTITEM" view list value then it has to call "ICCMP_BT_PCONFG". Actually "ICCMP_BTITEM" is connectdd to ICCMP_BT_COM using COmp Usage.
    My Requirement is to add Product Config field in Item List. i have done this chage. After when i click the field value then it has to call another Componet.
    My Issue is item list already a separate componet and here i need to call another component (Product Config Component) using component usage. Now i have created binding for the "Product Config" component in item list "WD_USAGE_Init" method..
    BUt in run time only root Controller Method is triggering. Kindly Suggest where to bind these components.
    Kidly Suggest how to do this..
    Thank you
    Cha

    Hi Senthil,
    Thank you for your information on both place.
    "You can set and get the collection while you navigate via button clicks / navigations.
    Did you identify the BOL relation between the context nodes of ICCMP_BTITEM & Child componet ICCMP_BT_PCONFG.
    You can defenitely pass these collection via your O/P & get the same in the calling components I/P."
    I am new to this, can you please send the code for this.
    Actual Reuirment
    To mimic the standard order item  "Product configuration" field  functionallity into credit memo item.
    Component Details
    Standard order Component : ICCMP_BT_SLO/Slo1cart (when cliick "Product configuration" field value then has to call the product config view )
    Compliant Componet : ICCMP_BT_COM (Here item list view is (Item) which component usage view)
    Work DOne upto now
    I have added field in "ICCMP_BTITEM" and wrote the code in get , get_p & get_m methods . Now able to see the field & get the value in UI.
    As welll added Pconfig window in "ICCMP_BTITEM" component usage & created event handle method as well created. in run time event handle method is triggered. But not aware how to call the pconfig window and binding.
    Can please explain where else need to make changes & have to add code. Can you please share the code.
    Thank you,
    Cha

  • Error: Component Usage MODEL Cannot Reference Component Usages

    Hi,
    I have a scenario where my main component acts as a place holder for views from several view components, all of which implement a common component interface.
    The data (contexts) for all of these views are obtained by context mapping from a common component (model component). Hence, I need to pass reference of model_comp to each of the view comp's through "enter_referencing_mode" done in a method called set_model( ) in each view comp's component controller.
    I have taken care not to explicitly instantiate the model in any view comp., but instantiate the model only once in my main comp and pass its reference around.
    However, I get a dump "Component Usage MODEL Cannot Reference Component Usages" . The CX_WDR_RT_EXCEPTION is raised in the method ENSURE_NO_REFERENCING_MODE of class CL_WDR_COMPONENT_USAGE.
    (If I remove data-binding of any UI elements placed on the view components (i.e, model context values never used), it no longer dumps! But that's not possible.)
    Please help!
    Best regards,
    Adithya

    Hi Sascha/Regina,
    Thanks for your replies. As far as re-modelling my application goes, we are too far ahead with this to re-think on the refactoring of model into assitance classes. I will take into account for all subsequent developments.
    However, could you please provide me with some tips which could help solve my problem: Model component context is used first as the view is loaded as soon as I navigate to the next step in the Roadmap. I am not instantiating explicitly or having any reference to model component's cotnext in WDDOINIT of comp. controller of any view component.
    The code for the set_model method (to pass the model comp's reference around) is as follows:
    method SET_MODEL( )
      DATA: l_ref_model TYPE REF TO if_wd_component_usage.
      l_ref_model = wd_this->wd_cpuse_model( ).
      l_ref_model->enter_referencing_mode( model_usage ).
    Also, suppose I have two component usages (one for the model comp, one for a custom-built value help comp) in each view, should both be instantiated in the main comp. first and the instances of both be passed around? If so, how do I do this, using the same method -(above)?
    Many thanks,
    Adithya

  • Need some help regarding the component usage

    Dear ALL,
    I have one scenario something like this .
    I have a main component say ZComp1  and in it i have created one view in which we two drop downs and i have 28 view containers depending upon the drop down values these view containers will be visible here all the view container i am using for displaying by means of component usage (i.e 28 compoenents i am calling into my main ). So now when i run my main application it is taking minimu of 2 mins to display the screen .  To test whats the problem i have written some code in the handle default of main window and  set the break point what i observed is quite surprising that when i run the apllication it takes hardly 2 mins of time to reach my handledefault method (which is the first one to trigger when i run the apllicatin) . Please suggest me what can be doen to overcome this issue. or suggest some alternative to improve  performance.
    Note : When there is less amount of data in the screen then it takes less time to execute or else it takes hell lot of time plz suggest :(.
    Awaiting for your valuable suggestions.
    Regards,
    Sana.

    Hi Misbah,
    28 VCO are too much in  a view.
    So, try to revamp teh design and reduce the VCO's in a view.
    Another thing would be, Every WDDOINIT, and WDDOMODIFY view of the used components would be called when you try to load the component at first.
    In your case that is happening, and please check and confirm it.
    A proper modular design would be a better approach in handling the situation.
    Good day!
    Regards,
    Shashikanth. D

  • SPRO Define My Messages Widgets Define Widget Component Usage / Custom MyIncidents*

    Hello everybody,
    I am trying to add a custom component usage into
    Tx: SPRO > Define My Messages Widgets > Define Widget > Component Usage
    like this
    Is there an howto somewhere available for this that I can use it in the configuration of the start page widgets "my own messages / incidents":
    Kind regards
    Update:
    In the meanwhile I found that BSP component AIC_HOME is including componentusages named like the standard component usages given in the customizing table under "Define Widget". So I guess I have to enhance the component by my own componentusage with a similar functionality.
    I don't know if anyone will ever respond of any of my posts one day but here is
    Update 2:
    I am stuck now at that Component Usage. When I try to delegate OP SINGLESELECTION to DYN_NAV and visa versa it does not show me an entry to select from.
    Update 3:
    Well, I first had to add the view within Runtime-Rep. editor > ViewSets > Ov.Page <add< like the standard view of the "MyMessage..."-kind. Now I have all possible selections. Was this the final solution? .... tbc ...
    Update 4:
    At least in the UI configuration tool i can save now permanently based on one component usage:
    BUT the filter which should come along with the component usage does not work.
    Last update due to success and problem solution:
    Finally there is a need for enhancing the AIC_HOME Component-Controller @
    WD_USAGE_INITIALIZE
    Just modify the code like this:
      CASE iv_usage->usage_name.
        WHEN 'ZMyMessageWidgetITTicket'.
          cl_ai_crm_mymsg=>set_active_switches( iv_usage ).
          cl_ai_crm_mymsg=>set_defaults( iv_usage ).  " Reported By My Organization
        WHEN 'MyMessagesReportedByMyOrg'.
          cl_ai_crm_mymsg=>set_active_switches( iv_usage ).
          cl_ai_crm_mymsg=>set_defaults( iv_usage ).  " Reported By My Organization
    Now your custom component and all stuff around that should work with all the filters and extra drop down buttons, etc..
    Nice to see that I started with a big question mark around the component usage (unfortunately described as "Define Widget") and on my way to the finishing line I found out that I had to make myself a hole new assignment block.
    Hint:
    If you stumble over this error:
    Exception-Klasse
    CX_BSP_WD_INCORRECT_IMPLEMENT
    Fehlername
    Programm
    CL_BSP_WD_OVW_VIEWSET=========CP
    Include
    CL_BSP_WD_OVW_VIEWSET=========CM00A
    ABAP-Klasse
    CL_BSP_WD_OVW_VIEWSET
    Methode
    BIND_LAZY
    Zeile
    27
    Then you have forgotten to edit  BSPWDV_EHSET_ASG via sm30. There you connect your enhancement-set (which you use to enhance AIC_HOME) to the client.

    Solved by myself..
    Used the set_changed_by_client method of the IF_WD_CONTROLLER.

  • Component Usage error in MSS Leave Request approval

    Hi All,
    We are getting the below mentioned error only for few users while approving the leave request in MSS.
    com.sap.tc.webdynpro.services.exceptions.WDRuntimeException: ComponentUsage(FPMConfigurationUsage): Active component must exist when getting interface controller. (Hint: Have you forgotten to create it with createComponent()? Should the lifecycle control of the component usage be "createOnDemand"?
        at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.ensureActiveComponent(ComponentUsage.java:773)
        at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.getInterfaceControllerInternal(ComponentUsage.java:348)
        at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.getInterfaceController(ComponentUsage.java:335)
        at com.sap.pcuigp.xssfpm.wd.wdp.InternalFPMComponent.wdGetFPMConfigurationUsageInterface(InternalFPMComponent.java:245)
        at com.sap.pcuigp.xssfpm.wd.FPMComponent$FPM.changeToExceptionPerspective(FPMComponent.java:861)
        ... 41 more
    Kindly share your views on the same.
    Thanks and Regards,
    Vivek.

    Hi Anup,
    Please find the complete Trace below.
    System Environment
    Client
    Web Dynpro Client Type     HTML Client
    User agent     Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; MS-RTC LM 8)
    Version     null
    DOM version     null
    Client Type     msie6
    Client Type Profile     ie6
    ActiveX     enabled
    Cookies     enabled
    Frames     enabled
    Java Applets     enabled
    JavaScript     enabled
    Tables     enabled
    VB Script     enabled
    Server
    Web Dynpro Runtime     Vendor: SAP, build ID: 7.0013.20080611120129.0000 (release=NW04S_13_REL, buildtime=2008-09-11:17:05:50[UTC], changelist=42127, host=pwdfm114), build date: Wed Nov 19 19:21:28 CET 2008
    J2EE Engine     7.00 patchlevel 109044.44
    Java VM     IBM J9 VM, version:2.3, vendor: IBM Corporation
    Operating system     AIX, version: 5.3, architecture: ppc64
    Session & Other
    Session Locale     en
    Time of Failure     Sat Jan 02 12:26:56 CET 2010 (Java Time: 1262431616916)
    Web Dynpro Code Generation Infos
    sap.com/ess~lea
    SapDictionaryGenerationCore     7.0011.20061002105236.0000 (release=645_VAL_REL, buildtime=2007-01-31:20:02:43[UTC], changelist=419377, host=PWDFM101.wdf.sap.corp)
    SapDictionaryGenerationTemplates     7.0011.20061002105236.0000 (release=645_VAL_REL, buildtime=2007-01-31:20:02:51[UTC], changelist=419377, host=PWDFM101.wdf.sap.corp)
    SapGenerationFrameworkCore     7.0010.20060719095755.0000 (release=645_VAL_REL, buildtime=2006-10-21:15:40:44[UTC], changelist=411255, host=PWDFM101.wdf.sap.corp)
    SapIdeWebDynproCheckLayer     7.0011.20061002110128.0000 (release=645_VAL_REL, buildtime=2007-01-31:20:08:25[UTC], changelist=419396, host=PWDFM101.wdf.sap.corp)
    SapMetamodelCommon     7.0010.20061002105432.0000 (release=645_VAL_REL, buildtime=2006-10-21:15:41:39[UTC], changelist=419384, host=PWDFM101.wdf.sap.corp)
    SapMetamodelCore     7.0010.20061002105432.0000 (release=645_VAL_REL, buildtime=2006-10-21:15:41:32[UTC], changelist=419384, host=PWDFM101.wdf.sap.corp)
    SapMetamodelDictionary     7.0011.20060719095619.0000 (release=645_VAL_REL, buildtime=2007-01-31:20:00:20[UTC], changelist=411251, host=PWDFM101.wdf.sap.corp)
    SapMetamodelWebDynpro     7.0011.20061227101814.0000 (release=645_VAL_REL, buildtime=2007-01-31:20:05:13[UTC], changelist=431317, host=PWDFM101.wdf.sap.corp)
    SapWebDynproGenerationCTemplates     7.0011.20070125102926.0000 (release=645_VAL_REL, buildtime=2007-01-31:20:21:35[UTC], changelist=434634, host=pwdfm101)
    SapWebDynproGenerationCore     7.0011.20061002110128.0000 (release=645_VAL_REL, buildtime=2007-01-31:20:08:35[UTC], changelist=419396, host=PWDFM101.wdf.sap.corp)
    SapWebDynproGenerationTemplates     7.0011.20070125102926.0000 (release=645_VAL_REL, buildtime=2007-01-31:20:21:35[UTC], changelist=434634, host=pwdfm101)
    sap.com/pcui_gp~xssutils
    SapDictionaryGenerationCore     7.0011.20061002105236.0000 (release=645_VAL_REL, buildtime=2007-01-31:20:02:43[UTC], changelist=419377, host=PWDFM101.wdf.sap.corp)
    SapDictionaryGenerationTemplates     7.0011.20061002105236.0000 (release=645_VAL_REL, buildtime=2007-01-31:20:02:51[UTC], changelist=419377, host=PWDFM101.wdf.sap.corp)
    SapGenerationFrameworkCore     7.0010.20060719095755.0000 (release=645_VAL_REL, buildtime=2006-10-21:15:40:44[UTC], changelist=411255, host=PWDFM101.wdf.sap.corp)
    SapIdeWebDynproCheckLayer     7.0011.20061002110128.0000 (release=645_VAL_REL, buildtime=2007-01-31:20:08:25[UTC], changelist=419396, host=PWDFM101.wdf.sap.corp)
    SapMetamodelCommon     7.0010.20061002105432.0000 (release=645_VAL_REL, buildtime=2006-10-21:15:41:39[UTC], changelist=419384, host=PWDFM101.wdf.sap.corp)
    SapMetamodelCore     7.0010.20061002105432.0000 (release=645_VAL_REL, buildtime=2006-10-21:15:41:32[UTC], changelist=419384, host=PWDFM101.wdf.sap.corp)
    SapMetamodelDictionary     7.0011.20060719095619.0000 (release=645_VAL_REL, buildtime=2007-01-31:20:00:20[UTC], changelist=411251, host=PWDFM101.wdf.sap.corp)
    SapMetamodelWebDynpro     7.0011.20061227101814.0000 (release=645_VAL_REL, buildtime=2007-01-31:20:05:13[UTC], changelist=431317, host=PWDFM101.wdf.sap.corp)
    SapWebDynproGenerationCTemplates     7.0011.20070125102926.0000 (release=645_VAL_REL, buildtime=2007-01-31:20:21:35[UTC], changelist=434634, host=pwdfm101)
    SapWebDynproGenerationCore     7.0011.20061002110128.0000 (release=645_VAL_REL, buildtime=2007-01-31:20:08:35[UTC], changelist=419396, host=PWDFM101.wdf.sap.corp)
    SapWebDynproGenerationTemplates     7.0011.20070125102926.0000 (release=645_VAL_REL, buildtime=2007-01-31:20:21:35[UTC], changelist=434634, host=pwdfm101)
    sap.com/tcwddispwda
    No information available     null
    sap.com/pcui_gp~xssfpm
    SapDictionaryGenerationCore     7.0011.20061002105236.0000 (release=645_VAL_REL, buildtime=2007-01-31:20:02:43[UTC], changelist=419377, host=PWDFM101.wdf.sap.corp)
    SapDictionaryGenerationTemplates     7.0011.20061002105236.0000 (release=645_VAL_REL, buildtime=2007-01-31:20:02:51[UTC], changelist=419377, host=PWDFM101.wdf.sap.corp)
    SapGenerationFrameworkCore     7.0010.20060719095755.0000 (release=645_VAL_REL, buildtime=2006-10-21:15:40:44[UTC], changelist=411255, host=PWDFM101.wdf.sap.corp)
    SapIdeWebDynproCheckLayer     7.0011.20061002110128.0000 (release=645_VAL_REL, buildtime=2007-01-31:20:08:25[UTC], changelist=419396, host=PWDFM101.wdf.sap.corp)
    SapMetamodelCommon     7.0010.20061002105432.0000 (release=645_VAL_REL, buildtime=2006-10-21:15:41:39[UTC], changelist=419384, host=PWDFM101.wdf.sap.corp)
    SapMetamodelCore     7.0010.20061002105432.0000 (release=645_VAL_REL, buildtime=2006-10-21:15:41:32[UTC], changelist=419384, host=PWDFM101.wdf.sap.corp)
    SapMetamodelDictionary     7.0011.20060719095619.0000 (release=645_VAL_REL, buildtime=2007-01-31:20:00:20[UTC], changelist=411251, host=PWDFM101.wdf.sap.corp)
    SapMetamodelWebDynpro     7.0011.20061227101814.0000 (release=645_VAL_REL, buildtime=2007-01-31:20:05:13[UTC], changelist=431317, host=PWDFM101.wdf.sap.corp)
    SapWebDynproGenerationCTemplates     7.0011.20070125102926.0000 (release=645_VAL_REL, buildtime=2007-01-31:20:21:35[UTC], changelist=434634, host=pwdfm101)
    SapWebDynproGenerationCore     7.0011.20061002110128.0000 (release=645_VAL_REL, buildtime=2007-01-31:20:08:35[UTC], changelist=419396, host=PWDFM101.wdf.sap.corp)
    SapWebDynproGenerationTemplates     7.0011.20070125102926.0000 (release=645_VAL_REL, buildtime=2007-01-31:20:21:35[UTC], changelist=434634, host=pwdfm101)
    sap.com/tcwdcorecomp
    No information available     null
    sap.com/pcui_gp~tecl
    SapDictionaryGenerationCore     7.0011.20061002105236.0000 (release=645_VAL_REL, buildtime=2007-01-31:20:02:43[UTC], changelist=419377, host=PWDFM101.wdf.sap.corp)
    SapDictionaryGenerationTemplates     7.0011.20061002105236.0000 (release=645_VAL_REL, buildtime=2007-01-31:20:02:51[UTC], changelist=419377, host=PWDFM101.wdf.sap.corp)
    SapGenerationFrameworkCore     7.0010.20060719095755.0000 (release=645_VAL_REL, buildtime=2006-10-21:15:40:44[UTC], changelist=411255, host=PWDFM101.wdf.sap.corp)
    SapIdeWebDynproCheckLayer     7.0011.20061002110128.0000 (release=645_VAL_REL, buildtime=2007-01-31:20:08:25[UTC], changelist=419396, host=PWDFM101.wdf.sap.corp)
    SapMetamodelCommon     7.0010.20061002105432.0000 (release=645_VAL_REL, buildtime=2006-10-21:15:41:39[UTC], changelist=419384, host=PWDFM101.wdf.sap.corp)
    SapMetamodelCore     7.0010.20061002105432.0000 (release=645_VAL_REL, buildtime=2006-10-21:15:41:32[UTC], changelist=419384, host=PWDFM101.wdf.sap.corp)
    SapMetamodelDictionary     7.0011.20060719095619.0000 (release=645_VAL_REL, buildtime=2007-01-31:20:00:20[UTC], changelist=411251, host=PWDFM101.wdf.sap.corp)
    SapMetamodelWebDynpro     7.0011.20061227101814.0000 (release=645_VAL_REL, buildtime=2007-01-31:20:05:13[UTC], changelist=431317, host=PWDFM101.wdf.sap.corp)
    SapWebDynproGenerationCTemplates     7.0011.20070125102926.0000 (release=645_VAL_REL, buildtime=2007-01-31:20:21:35[UTC], changelist=434634, host=pwdfm101)
    SapWebDynproGenerationCore     7.0011.20061002110128.0000 (release=645_VAL_REL, buildtime=2007-01-31:20:08:35[UTC], changelist=419396, host=PWDFM101.wdf.sap.corp)
    SapWebDynproGenerationTemplates     7.0011.20070125102926.0000 (release=645_VAL_REL, buildtime=2007-01-31:20:21:35[UTC], changelist=434634, host=pwdfm101)
    Detailed Error Information
    Detailed Exception Chain
    com.sap.tc.webdynpro.services.exceptions.WDRuntimeException: ComponentUsage(FPMConfigurationUsage): Active component must exist when getting interface controller. (Hint: Have you forgotten to create it with createComponent()? Should the lifecycle control of the component usage be "createOnDemand"?
           at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.ensureActiveComponent(ComponentUsage.java:773)
           at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.getInterfaceControllerInternal(ComponentUsage.java:348)
           at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.getInterfaceController(ComponentUsage.java:335)
           at com.sap.pcuigp.xssfpm.wd.wdp.InternalFPMComponent.wdGetFPMConfigurationUsageInterface(InternalFPMComponent.java:245)
           at com.sap.pcuigp.xssfpm.wd.FPMComponent$FPM.changeToExceptionPerspective(FPMComponent.java:861)
           at com.sap.pcuigp.xssfpm.java.MessageManager.handleException(MessageManager.java:258)
           at com.sap.pcuigp.xssfpm.java.MessageManager.raiseException(MessageManager.java:103)
           at com.sap.pcuigp.xssfpm.wd.BackendConnections.connectModelInternal(BackendConnections.java:323)
           at com.sap.pcuigp.xssfpm.wd.BackendConnections.initBackend(BackendConnections.java:256)
           at com.sap.pcuigp.xssfpm.wd.BackendConnections.connectModel(BackendConnections.java:154)
           at com.sap.pcuigp.xssfpm.wd.wdp.InternalBackendConnections.connectModel(InternalBackendConnections.java:237)
           at com.sap.pcuigp.xssfpm.wd.FPMComponent$FPM.connectModel(FPMComponent.java:841)
           at com.sap.pcuigp.xssfpm.wd.FPMComponent$FPMProxy.connectModel(FPMComponent.java:1071)
           at com.sap.pcuigp.xssfpm.wd.BackendConnections.init(BackendConnections.java:141)
           at com.sap.pcuigp.xssfpm.wd.wdp.InternalBackendConnections.init(InternalBackendConnections.java:233)
           at com.sap.pcuigp.xssfpm.wd.FPMComponent.wdDoInit(FPMComponent.java:182)
           at com.sap.pcuigp.xssfpm.wd.wdp.InternalFPMComponent.wdDoInit(InternalFPMComponent.java:110)
           at com.sap.tc.webdynpro.progmodel.generation.DelegatingComponent.doInit(DelegatingComponent.java:108)
           at com.sap.tc.webdynpro.progmodel.controller.Controller.initController(Controller.java:215)
           at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:200)
           at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.init(ClientComponent.java:430)
           at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.init(ClientApplication.java:362)
           at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.initApplication(ApplicationSession.java:756)
           at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:291)
           at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:713)
           at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:666)
           at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:250)
           at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:150)
           at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)
           at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doGet(DispatcherServlet.java:46)
           at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
           at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
           at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
           at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
           at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)
           at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365)
           at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944)
           at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266)
           at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
           at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
           at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
           at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
           at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
           at java.security.AccessController.doPrivileged(AccessController.java:219)
           at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
           at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    Thanks and Regards,
    Vivek.

  • 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( ).

Maybe you are looking for