UI5中“上载”的define方法中的复杂类型

问题描述

我正在使用FileUploader元素,在后端,我重新定义了DEFINE方法

valueMimetypefilename字段在实体内部为单独的复杂类型。我设置了实体media的复选框Data = true

我的定义方法

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.

但是我仍然收到错误Invalid或没有映射到系统数据类型。 复杂的类型和媒体可能无法正常工作吗?

解决方法

我不确定复杂类型,但是最近我解决了这个确切的问题。尝试以下代码,它应该可以工作。

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.