📟
get_expanded_entity
set
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~get_expanded_entityset. DATA: lo_message_container TYPE REF TO /iwbep/if_message_container, lv_entity_set_name TYPE /iwbep/mgw_tech_name, lt_return TYPE bapiret2_t, lt_expanded_entityset TYPE z.... *--- Basic requirements lo_message_container = mo_context->get_message_container( ). lv_entity_set_name = io_tech_request_context->get_entity_set_name( ). CASE lv_entity_set_name. WHEN 'ExpandedEntitySet'. *--- expanded entityset - execute business logic get_expanded_entityset( IMPORTING et_return = lt_return et_entityset = lt_expanded_entityset ). *--- check for errors check_msg_and_raise_exceptions( EXPORTING it_messages = lt_return io_message_container = lo_message_container ). *--- copy data to ref copy_data_to_ref( EXPORTING is_data = lt_sbtypevh_deep CHANGING cr_data = er_entityset ). WHEN OTHERS. CALL METHOD super->/iwbep/if_mgw_appl_srv_runtime~get_expanded_entityset EXPORTING iv_entity_name = iv_entity_name iv_entity_set_name = iv_entity_set_name iv_source_name = iv_source_name it_filter_select_options = it_filter_select_options it_order = it_order is_paging = is_paging it_navigation_path = it_navigation_path it_key_tab = it_key_tab iv_filter_string = iv_filter_string iv_search_string = iv_search_string io_expand = io_expand io_tech_request_context = io_tech_request_context IMPORTING er_entityset = er_entityset et_expanded_clauses = et_expanded_clauses et_expanded_tech_clauses = et_expanded_tech_clauses es_response_context = es_response_context. ENDCASE. *--- Arrange Expand closure DATA(lt_children) = io_expand->get_children( ). LOOP AT lt_children ASSIGNING FIELD-SYMBOL(<ls_child>). APPEND <ls_child>-tech_nav_prop_name TO et_expanded_tech_clauses. ENDLOOP. ENDMETHOD.