我是SAP的新手,遇到了一个我不知道如何解决的问题。
我正在设置一个属性为"(空),但它没有显示出来。
当复选框被选中时,存在将特定字段设置为'仅显示'的现有逻辑。我正在努力扩展这一点,以清除这些领域内的任何数据。由于原始逻辑是如何实现的,这个变化是在"Get_…"方法中处理的(一旦我让它工作,可能会移动到事件处理程序中)。
目前,逻辑设置属性为空(我已经确认这与调试);但是,网页保持原始值。下面是简短的代码大纲(为了保持简短,删除了所有try catch等):
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_…的方法。
此问题是由于CRM浏览器在案件完成前自动保存。这将导致值被呈现为好像它们是缓存的。