1

我是 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_...”方法中提取的。任何帮助,将不胜感激。

4

1 回答 1

0

此问题是由于 CRM 浏览器在案例完成之前自动保存造成的。这会导致值被呈现,就好像它们被缓存一样。

注释 2104051 解决了这个问题。

于 2015-11-18T17:34:44.497 回答