カスタムフィールドへのユーザー入力で何を処理 (保存および表示) するかを知る必要があります。
マイセットアップ:
- Transactions XD.. (例: XD02) 用の新しいサブスクリーン
- badi customer_add_data および customer_add_data_cs を使用
- テーブルにいくつかのカスタムフィールドを追加(例: KNA1) -
Transactions XD 用の dynpros を持つ関数グループを作成..
- 新しい顧客フィールドが XD に表示される..
ただし、新しいフィールドに入力したものは何も処理されていないようです。実装を続行する方法がわかりません。
BADIで試したこと:
" wokrs, saves data input
method IF_EX_CUSTOMER_ADD_DATA_CS~GET_DATA.
"SAPLZSD_FOO_CUSTOMER = my function group
CONSTANTS: c_foo(50) VALUE '(SAPLZSD_FOO_CUSTOMER)KNA1-ZZFOO'.
FIELD-symbols: <fs> TYPE ANY.
ASSIGN (c_foo) TO <fs>.
IF sy-subrc = 0.
s_kna1-ZZFOO = <fs>.
ENDIF.
endmethod.
カスタムフィールドの値を表示するためにPBOで試したこと
" does not work, stored values are not display in dynpro
MODULE status_2001 OUTPUT.
DATA: gf_eori TYPE kna1-zzeori.
CONSTANTS: c_foo(34) VALUE '(SAPMF02D)KNA1-ZZfoo'.
FIELD-SYMBOLS: <fs>.
ASSIGN (c_foo) TO <fs>.
IF sy-subrc = 0.
kna1-zzfoo = <fs>.
ENDIF.
ENDMODULE.
customer_add_data と customer_add_data_cs のどのインターフェイス メソッドを使用する必要がありますか? Dynpro の PBO/PAI に何を書き込む必要がありますか?
たとえば、新しいフィールドが knvv-zfoo & knvv-zbar の場合、ソリューションはどのように見えるでしょうか。
私は SAP のカスタマイズが初めてで、BADI の使用方法に関する一般的な質問が必要です。