Odata UI5中“Upload”的定义方法中的复杂类型
我正在使用Odata UI5中“Upload”的定义方法中的复杂类型,odata,sapui5,abap,Odata,Sapui5,Abap,我正在使用FileUploader元素,在后端,我重新定义了DEFINE方法 值、Mimetype和文件名字段位于实体内的独立复杂类型中。我为实体Data=true设置了复选框media 我的定义方法: SUPER->DEFINE( ). LO_ENTITY = MODEL->GET_ENTITY_TYPE( IV_ENTITY_NAME = 'Data' ). IF LO_ENTITY IS BOUND. LO_ENTITY->GET_CMPLX_TYPE_PROPER
FileUploader
元素,在后端,我重新定义了DEFINE
方法
值
、Mimetype
和文件名
字段位于实体内的独立复杂类型中。我为实体Data=true
设置了复选框media
我的定义方法:
SUPER->DEFINE( ).
LO_ENTITY = MODEL->GET_ENTITY_TYPE( IV_ENTITY_NAME = 'Data' ).
IF LO_ENTITY IS BOUND.
LO_ENTITY->GET_CMPLX_TYPE_PROPERTY( 'ComplexType' )->GET_COMPLEX_TYPE( )->GET_PROPERTY( 'Mimetype' )->SET_AS_CONTENT_TYPE( ).
ENDIF.
但是我仍然得到错误无效或者没有映射到系统数据类型。
复杂类型和媒体可能不起作用吗?我不确定复杂类型,但我最近解决了这个问题。尝试下面的代码,它应该可以工作
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 = 'Data' ).
IF lo_entity IS BOUND.
lo_property = lo_entity->get_property( iv_property_name = 'value' ).
lo_property->set_as_content_type( ).
lo_property = lo_entity->get_property( iv_property_name = 'Mimetype' ).
lo_property->set_as_content_type( ).
lo_property = lo_entity->get_property( iv_property_name = 'filename' ).
lo_property->set_as_content_type( ).
ENDIF.