on 09-09-2014 9:20 AM
Hi,
In our SAP standard FPM application.
I want to trigger an action (onActionSearch) from code. As we triggering this action dynamically from code.
For this we need to pass or have "wdevent" object.
we are able to create wdevent object but could NOT able to set Parameters table.
the Parameters table having columns (Row, Name, Value) but the Value column is Reference type.
DATA: lt_parameters TYPE wdr_event_parameter_list.
BUT we are NOT able to fill the Value in the Parameter list. It is of type (Fref) Reference Value.
How to set Value for a Reference Variable.
Please find screenshots,
Code we had written, but getting Syntax Errors at setting Parameter-Value.
DATA: lv_wd TYPE REF TO cl_wd_custom_event.
DATA: lt_parameters TYPE wdr_event_parameter_list,
lw_parameters LIKE LINE OF lt_parameters.
CLEAR lw_parameters.
lw_parameters-name = 'FPM_EVENT_ID' .
lw_parameters-value = '->ON_SEARCH'.
insert lw_parameters inTO lt_parameters index 1.
CLEAR lw_parameters.
lw_parameters-name = 'ID' .
lw_parameters-value = '->_CFG_BUTTON_ROW_ELEMENT_26'.
insert lw_parameters inTO lt_parameters index 2.
CLEAR lw_parameters.
Kindly support
Hi,
Maybe this way,
DATA:
lo_ctx_element TYPE REF TO if_wd_context_element,
lo_event_data TYPE REF TO if_fpm_parameter,
lo_event TYPE REF TO cl_fpm_event,
lr_value TYPE REF TO data.
CREATE OBJECT lo_event_data
TYPE cl_fpm_parameter.
lo_event_data->set_value(
iv_key = 'ID'
iv_value = '_CFG_BUTTON_ROW_ELEMENT_26' ).
GET REFERENCE OF lo_ctx_element INTO lr_value.
lo_event_data->set_value(
iv_key = 'CONTEXT_ELEMENT'
ir_value = lr_value ).
CREATE OBJECT lo_event
EXPORTING
iv_event_id = 'ON_SEARCH'
io_event_data = lo_event_data.
lo_fpm->raise_event( lo_event ).
Greetings Maarten
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks Maarten for immediate Response,
I had resolved this by another way by following the below help link.
we don't need a wdevent object to trigger action, if we know the event id then we can call the even directly by using code given in above link.
DATA lo_fpm TYPE REF TO if_fpm.
lo_fpm = cl_fpm_factory=>get_instance( ).
lo_fpm->raise_event_by_id( 'ON_SEARCH' ). //wherein ON_SEARCH is the event id
Regards,
Hussain
User | Count |
---|---|
86 | |
10 | |
10 | |
9 | |
7 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.