📟
execute_action
Placeholder function – replace with the relevant business logic
Take a look at Generic Exception handling (BAPIRET2) in OData
📟check_msg_and_raise_exceptions
METHOD /iwbep/if_mgw_appl_srv_runtime~execute_action.
DATA: lv_action_name TYPE /iwbep/mgw_tech_name,
lt_parameters TYPE /iwbep/t_mgw_name_value_pair,
lo_message_container TYPE REF TO /iwbep/if_message_container,
lv_propertya TYPE string,
lt_return TYPE bapiret2_t.
*--- basic requirements
lv_action_name = io_tech_request_context->get_function_import_name( ).
lt_parameters = io_tech_request_context->get_parameters( ).
lo_message_container = mo_context->get_message_container( ).
CASE lv_action_name.
*--- When ActionXYZ do the following
WHEN 'ActionXYZ'.
lv_propertya = lt_parameters[ name = 'PROPERTYA' ]-value.
*-- execute action - execute business logic
execute_action(
EXPORTING
iv_propertya = lv_propertya
IMPORTING
et_return = lt_return
).
*--- check for errors
check_msg_and_raise_exceptions( it_messages = lt_return i_message_container = lo_message_container ).
*-- copy data to ref
copy_data_to_ref( EXPORTING is_data = lv_propertya "returning data
CHANGING cr_data = er_data ).
WHEN OTHERS.
super->/iwbep/if_mgw_appl_srv_runtime~execute_action(
EXPORTING
iv_action_name = iv_action_name
it_parameter = it_parameter
io_tech_request_context = io_tech_request_context
IMPORTING
er_data = er_data
).
ENDCASE.
ENDMETHOD.
