0

そこで、ドロップダウン タイプのフィールドをスクリーン ペインター (SE51) を介してリストボックスとして追加しました。

PBO とVRM_SET_VALUES関数を使用して、データをドロップダウンにバインドしました。

ここに画像の説明を入力

これには 2 つの問題があります。

  1. バインドされたデータに選択した値をどのように設定しますか?
  2. ユーザーが選択した値をどのように取得しますか。

次のコードを使用して、データをドロップダウンにバインドします。

LOOP AT it_zzdelay_text INTO wa_zzdelay_text.
  wa_listbox-key = wa_zzdelay_text-zz_delay_reason.
  wa_listbox-text = wa_zzdelay_text-zz_delay_reason_text.
  APPEND wa_listbox TO it_listbox.
ENDLOOP.

 CALL FUNCTION 'VRM_SET_VALUES'
  EXPORTING
    id     = 'ZZ_DELAY_REASON'
    values = it_listbox.

zz_delay_reasonは一意のキーで、zz_delay_reason_textは付随するテキストです。

4

2 に答える 2

0

アップデート:

コードによると、画面上のフィールドは次のようになります: ZZ_DELAY_REASON また、名前を持つグローバル バリアントも必要です。

次に、PBO/PAI でキー値を設定/取得できます: 値を設定: ZZ_DELAY_REASON = 'KEY'。

選択した値 (キー) を取得: lv_key = ZZ_DELAY_REASON

================================================== ====

選択リストが VRM_SET_VALUES によって設定されると、それが「キーと値」のペアであることに気付くかもしれません。ユーザーがドロップボックスを選択すると、フィールド "KEY" が画面フィールド値に入力されます。

この質問にコードを添付していただければ、詳細な情報を提供できます。

于 2017-06-12T05:47:32.617 に答える