📟
get_expanded_entity
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_entity. DATA: lo_message_container TYPE REF TO /iwbep/if_message_container, lv_entity_name TYPE /iwbep/mgw_tech_name, ls_entity TYPE z..., lt_return TYPE bapiret2_t. *--- Basic requirements lo_message_container = mo_context->get_message_container( ). lv_entity_name = io_tech_request_context->get_entity_type_name( ). CASE lv_entity_name. WHEN 'ExpandedEntity'. *--- read keys io_tech_request_context->get_converted_keys( IMPORTING es_key_values = ls_entity ). *--- execute business logic get_expanded_entity( EXPORTING is_entity = ls_entity IMPORTING et_return = lt_return es_entity = ls_entity ). *--- 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 = ls_entity CHANGING cr_data = er_entity ). WHEN OTHERS. CALL METHOD super->/iwbep/if_mgw_appl_srv_runtime~get_expanded_entity EXPORTING iv_entity_name = iv_entity_name iv_entity_set_name = iv_entity_set_name iv_source_name = iv_source_name it_key_tab = it_key_tab it_navigation_path = it_navigation_path io_expand = io_expand io_tech_request_context = io_tech_request_context IMPORTING er_entity = er_entity es_response_context = es_response_context et_expanded_clauses = et_expanded_clauses et_expanded_tech_clauses = et_expanded_tech_clauses. 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.