π
Placeholder function – replace with the relevant business logiccreate_attachment
π
Take a look atΒ Generic Exception handling (BAPIRET2) in ODatacheck_msg_and_raise_exceptions
METHOD /iwbep/if_mgw_appl_srv_runtime~create_stream. DATA: lv_entity_type TYPE string. DATA: lo_message_container TYPE REF TO /iwbep/if_message_container. DATA: ls_attachment TYPE z_structure. DATA: lt_return TYPE bapiret2_t. DATA: lv_filename_esc TYPE string. DATA: lv_filename TYPE string. DATA: lv_parameter TYPE string. *--- Basic requirements lv_entity_type = io_tech_request_context->get_entity_type_name( ). lo_message_container = mo_context->get_message_container( ). CASE lv_entity_type. *--- When EntityType XYZ do the following WHEN zcl_..._mpc=>gc_xyz. *-- read slug ##TODO: " replace the seperator '~' with the seperator you are using SPLIT iv_slug AT '~' INTO lv_filename_esc lv_parameter. lv_filename = cl_http_utility=>if_http_utility~unescape_url( lv_filename_esc ). "decode filename *-- create attachment - execute business logic create_attachment( EXPORTING i_parameter = lv_parameter i_file_name = lv_filename i_xstring = is_media_resource-value i_mime_type = is_media_resource-mime_type IMPORTING e_attachment = ls_attachment et_return = lt_return ). *-- check errors check_msg_and_raise_exceptions( EXPORTING it_messages = lt_return i_message_container = lo_message_container ). *-- copy data to ref copy_data_to_ref( EXPORTING is_data = ls_attachment CHANGING cr_data = er_entity ). WHEN OTHERS. super->/iwbep/if_mgw_appl_srv_runtime~create_stream( EXPORTING iv_entity_name = iv_entity_name iv_entity_set_name = iv_entity_set_name iv_source_name = iv_source_name is_media_resource = is_media_resource it_key_tab = it_key_tab it_navigation_path = it_navigation_path iv_slug = iv_slug io_tech_request_context = io_tech_request_context IMPORTING er_entity = er_entity ). ENDCASE. ENDMETHOD.