Я новичок в 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_.... Любая помощь будет оценена по достоинству.