
Table
Odata service
Entity
Add Structure
Import Properties
Generate Service
DPC_EXT Fetch Data
METHOD /iwbep/if_mgw_appl_srv_runtime~get_stream.
TYPES:
"! <p class="shorttext synchronized" lang="en">Media Type Information</p>
BEGIN OF ty_s_media_resource.
INCLUDE TYPE /iwbep/if_mgw_core_srv_runtime=>ty_s_media_resource.
TYPES:END OF ty_s_media_resource .
TYPES: BEGIN OF ty_package,
docnr TYPE zzdocnr,
filename TYPE zzfilename,
END OF ty_package.
DATA:ls_key_tab TYPE /iwbep/s_mgw_name_value_pair,
ls_package TYPE ty_package,
ls_stream TYPE ty_s_media_resource,
lv_docnr TYPE zzdocnr,
lo_meco TYPE REF TO /iwbep/if_message_container,
ls_lheader TYPE ihttpnvp,
lv_xstring TYPE xstring.
READ TABLE it_key_tab INTO ls_key_tab INDEX 1.
IF sy-subrc EQ 0.
lv_docnr = ls_key_tab-value.
ENDIF.
SELECT SINGLE docnr,
filename
FROM zzip_package INTO @ls_package
WHERE docnr = @lv_docnr.
DATA(lv_path) = '.\SamplePackage.zip'.
OPEN DATASET lv_path FOR INPUT IN BINARY MODE. "#EC CI_USE_WANTED
IF sy-subrc = 0.
READ DATASET lv_path INTO lv_xstring. "#EC CI_USE_WANTED
ENDIF.
CLOSE DATASET lv_path. "#EC CI_USE_WANTED
IF sy-subrc = 0.
ls_stream-mime_type = 'application/x-zip-compressed'. "mime type
ls_stream-value = lv_xstring. "content
ls_lheader-name = 'Content-Disposition'(001).
CONCATENATE 'attachment; filename="'(002)
ls_package-filename
'";'
INTO ls_lheader-value.
set_header( is_header = ls_lheader ).
ls_lheader-name = 'Content-Length'(003).
DATA(lv_len) = xstrlen( ls_stream-value ).
ls_lheader-value = lv_len.
set_header( is_header = ls_lheader ).
copy_data_to_ref( EXPORTING is_data = ls_stream
changing cr_data = er_stream ).
ELSE. "error when file not found
lo_meco = mo_context->get_message_container( ).
lo_meco->add_message_text_only(
EXPORTING
iv_msg_type = 'E'
iv_msg_text = 'File Not Found'(004) " Message Text
iv_add_to_response_header = abap_true " Flag for adding or not the message to the response header
).
ENDIF.
ENDMETHOD.
METHOD define.
super->define( ).
DATA: lo_entity TYPE REF TO /iwbep/if_mgw_odata_entity_typ,
lo_property TYPE REF TO /iwbep/if_mgw_odata_property.
lo_entity = model->get_entity_type( iv_entity_name = 'Package' ).
IF lo_entity IS BOUND.
lo_property = lo_entity->get_property( iv_property_name = 'Filename').
lo_property->set_as_content_type( ).
ENDIF.
ENDMETHOD.
Metadata
Upload Package
Package contents
/sap/opu/odata/sap/ZZIPPACKAGE_DOWNLOAD_SRV/PackageSet('0001')/$value
6.4. Below is the HTTP response.
.
Response
Downloaded ZIP Package
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
21 | |
18 | |
11 | |
9 | |
7 | |
7 | |
5 | |
5 | |
5 | |
5 |