私は SAP を初めて使用し、解決方法がわからない問題に直面しています。
プロパティを '' (空) に設定していますが、そのように表示されません。
チェックボックスがオンになっているときに特定のフィールドを「表示のみ」に設定する既存のロジックがあります。これを拡張して、これらのフィールド内のデータをクリアするように取り組んでいます。元のロジックがどのように実装されたかにより、この変更は "Get_..." メソッドで処理されます (機能するようになったら、イベント ハンドラーに移動される可能性があります)。
現在、ロジックはプロパティを空に設定しています (これはデバッグで確認済みです)。ただし、Web ページは元の値を保持します。コードの簡略化された概要を以下に示します (短くシンプルにするために、すべての try キャッチなどを削除しています)。
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_...」メソッドから取得されました。どんな助けでも大歓迎です。