我是 SAP 新手,遇到了一个不知道如何解决的问题。
我将一个属性设置为“”(空),但它没有被显示为这样。
现有的逻辑将特定字段设置为“仅显示”复选框时“仅显示”。我正在努力扩展它以清除这些字段中的任何数据。由于原始逻辑的实现方式,此更改正在“Get_...”方法中处理(一旦我开始工作,可能会移动到事件处理程序)。
目前,逻辑将属性设置为空(我已经通过调试确认了这一点);但是,网页保持原始值。代码的简短大纲如下(所有尝试捕获等都被删除以保持简短和简单):
DATA: current TYPE REF TO if_bol_bo_property_access.
DATA: dref TYPE REF TO data.
current = collection_wrapper->get_current( ).
dref = current->get_property( 'FIRSTNAME' ).
* If condition
DATA: copy TYPE REF TO data.
FIELD-SYMBOLS:
<nval> TYPE ANY,
<oval> TYPE ANY.
ASSIGN dref->* TO <oval>.
CREATE DATA copy LIKE <oval>.
CLEAR value.
TRY.
CALL METHOD if_bsp_model_util~convert_from_string
EXPORTING
data_ref = copy
value = value
attribute_path = attribute_path.
CATCH cx_sy_conversion_error.
RAISE EXCEPTION TYPE cx_bsp_conv_failed
EXPORTING
name = 'FIRSTNAME'.
ENDTRY.
current->set_property_as_string(
iv_attr_name = 'FIRSTNAME'
iv_value = value ).
value = current->get_property_text( 'FIRSTNAME' ). "Check empty ''
其中大部分是从“Set_...”方法中提取的。任何帮助,将不胜感激。