【sap segw odata file】

定义表

bash 复制代码
MANDT	MANDT	CLNT	3	0	0	集团
FILENAME		CHAR	200	0	0	fileName
SYDATE	SYDATUM	DATS	8	0	0	系统日期
SYTIME	SYUZEIT	TIMS	6	0	0	系统时间
VALUE	XSTRINGVAL	RAWSTRING	0	0	0	XString
MIMETYPE		CHAR	100	0	0	

get

bash 复制代码
  METHOD /iwbep/if_mgw_appl_srv_runtime~get_stream.
 

    DATA: ls_stream TYPE ty_s_media_resource,

          ls_upld   TYPE         ztsc_upld.

    READ TABLE it_key_tab ASSIGNING FIELD-SYMBOL(<fs_key>) INDEX 1.

    DATA: lv_filename TYPE char30.

    lv_filename = <fs_key>-value.

    SELECT SINGLE * FROM         ZTSC_UPLD INTO ls_upld WHERE filename = lv_filename.

    IF ls_upld IS NOT INITIAL.

      ls_stream-value = ls_upld-value.

      ls_stream-mime_type = ls_upld-mimetype.

      copy_data_to_ref( EXPORTING is_data = ls_stream

                          CHANGING  cr_data = er_stream ).

    ENDIF.
  ENDMETHOD.

put

bash 复制代码
    DATA: lw_file TYPE ztsc_upld.

    READ TABLE it_key_tab ASSIGNING FIELD-SYMBOL(<fs_key>) INDEX 1.

    lw_file-filename = <fs_key>-value.

    lw_file-value    = is_media_resource-value.

    lw_file-mimetype = is_media_resource-mime_type.

    lw_file-sydate  = sy-datum.

    lw_file-sytime  = sy-uzeit.

    MODIFY ztsc_upld FROM lw_file.

test

/sap/opu/odata/SAP/ZODATA_SRV/FileSet('lor.jpg')/$value