Skip to Content
author's profile photo Former Member
Former Member

How to control Action in a Custom Button - SRM 7.0

Hi SRM gurus,

We have an issue to add a new button in Bidder responseu201D window when we process an RFX. We follow these steps:

1. Defined and designed a new action called ZZMYACTION, type u201805u2019 (header) and for BUS2202 (Vendor Bid).

2. Configured the control of action on header level for displaying and editing.

3. Added a new button in Webdynpro Component FPM_OIF_COMPONENT, configuration ID /SAPSRM/WDCC_FPM_OIF_QTE_PURCH. It was added as u201COTHER_FUNCTIONSu201D button. It was configured with ELEMENT ID = u2018ZZMYACTIONu2019 and FPM Event ID = u2018ZZMYACTIONu2019.

4. We created a post-exit for method ONACTIONBUTTON_PRESSED in view CNR_VIEW of the webdynpro. We encode this post-exit following next thread:

So we have the control of the button. We have now a problem, because we raise our event ZZMYACTION, butu2026 ¿how can we configure this event? The purpose of this button is send an email to the bidder answering him about the result of the RFX, but I donu2019t know where do I have to put my code to do this.

Anybody can help me to define the event? What am I missing? In addition, I would like to know in the event the bidder, sou2026 how do I send this to my code?

Many thanks in advance

Best regards,

Valentín.

Add a comment
10|10000 characters needed characters exceeded

Related questions

1 Answer

  • Best Answer
    author's profile photo Former Member
    Former Member
    Posted on Oct 28, 2011 at 10:38 AM

    Hi Valentín,

    If you want to control the event raised by your button, you should create a post-exit in class /SAPSRM/CL_CH_WD_IDEN_PUR_RFX, method /SAPSRM/IF_CLL_IDENT_MAPPER~HANDLE_EVENT. I hope this can help you.

    There you can find a standard example to implement your code. It could be like this:

    DATA: lv_qte_guid TYPE bbp_guid,

    lv_parent_guid TYPE bbp_guid,

    lv_folder_url TYPE string,

    ls_url_components TYPE /sapsrm/s_wd_ui_url_components,

    lo_navigation_service TYPE REF TO /sapsrm/if_ch_wd_navi_serv,

    lo_cmp_api TYPE REF TO if_wd_controller,

    lo_comp TYPE REF TO if_wd_component,

    lo_window_manager TYPE REF TO if_wd_window_manager,

    lo_ext_win TYPE REF TO if_wd_window,

    lo_task_container TYPE REF TO /sapsrm/if_cll_task_container,

    lv_url TYPE string,

    lo_bom_qte TYPE REF TO /sapsrm/if_cll_bom_qte,

    lo_comp_controller TYPE REF TO /sapsrm/iwci_wdi_l_fpc_general,

    lo_techbid TYPE REF TO /sappssrm/cl_techbid_cfolder,

    lv_urlpart2 TYPE string,

    lt_partner TYPE TABLE OF bbp_pds_partner,

    ls_partner TYPE bbp_pds_partner,

    lv_bidder_guid TYPE bu_partner_guid,

    ls_obn_components TYPE /sapsrm/s_wd_ui_obn,

    lt_url_params TYPE wdy_key_value_table,

    ls_key_value TYPE wdy_key_value,

    lv_title TYPE string,

    lo_portal_mngr TYPE REF TO if_wd_portal_integration,

    lo_message_handler TYPE REF TO /sapsrm/if_ch_wd_map_msg_hdlr,

    lx_pdo_error_gen TYPE REF TO /sapsrm/cx_pdo_error_gen.

    TRY.

    CALL METHOD core_object->get_task_cont(

    IMPORTING eo_task_container = lo_task_container ).

    lo_bom_qte = lo_task_container->get_bom_qte( ).

    CALL METHOD core_object->get_task_cont(

    IMPORTING eo_comp_controller = lo_comp_controller ).

    CALL METHOD lo_bom_qte->get_parent_bo_details

    IMPORTING

    ev_parent_guid = lv_parent_guid.

    CALL METHOD lo_bom_qte->/sapsrm/if_cll_bo_mapper~get_bo_guid

    RECEIVING

    rv_bo_guid = lv_qte_guid.

    CASE io_event->mv_event_id.

    WHEN 'ZZMYACTION'.

    Your code here.....

    ENDCASE.

    CATCH /sapsrm/cx_pdo_error_gen INTO lx_pdo_error_gen.

    lo_message_handler->add_exception( io_pdo_error_exception = lx_pdo_error_gen ).

    ENDTRY.

    Add a comment
    10|10000 characters needed characters exceeded

    • Former Member Former Member

      Hi Expert,

      I am able to define the custom button now...

      Now I want to open window with Yes and No action button in On action of custom button. Can any one please suggest me where I have to do and how can I do.

      Regards,

      Shaik Farooq

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.