画面のPBO中に(選択画面の場合、PBOコードはイベントブロック内で定義されます)、項目の名称と値一覧を渡して、AT SELECTION-SCREEN OUTPUT
汎用モジュールを呼び出す必要があります。VRM_SET_VALUES
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE altitle1.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT (30) alcont4 FOR FIELD l1.
PARAMETERS: l1 AS LISTBOX VISIBLE LENGTH 20 MODIF ID aod.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b2.
INITIALIZATION.
alcont4 = 'Choose the country'(001).
AT SELECTION-SCREEN OUTPUT.
DATA: lt_value TYPE vrm_values,
ls_value TYPE vrm_value.
ls_value-key = 'DE'.
ls_value-text = 'Germany'.
APPEND ls_value TO lt_value.
ls_value-key = 'FR'.
ls_value-text = 'France'.
APPEND ls_value TO lt_value.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = 'L1'
values = lt_value
EXCEPTIONS
id_illegal_name = 1
OTHERS = 2.
実行:
詳細についてはT005T
、エントリを中間内部テーブルに転送することにより、国のデータベーステーブルから同じ結果を得ることができます。
DATA: lt_t005t TYPE TABLE OF t005t,
ls_t005t TYPE t005t.
SELECT * FROM t005t
INTO TABLE lt_t005t
WHERE spras = 'E' " English names of countries
AND land1 IN ('FR','DE').
LOOP AT lt_t005t INTO ls_t005t.
ls_value-key = ls_t005t-land1.
ls_value-text = ls_t005t-landx50.
APPEND ls_value TO lt_value.
ENDLOOP.
SAPライブラリで詳細情報を見つけることができます(説明はすべての種類の画面に有効です。例はクラシック画面のみですが、選択画面に簡単に適合させることができます): http: //help.sap.com/saphelp_470/ helpdata / en / 9f / dbabe435c111d1829f0000e829fbfe / frameset.htm