第一步:下拉框定义
DATA:VID1 TYPE VRM_ID,
LIST1 TYPE VRM_VALUES,
VALUE1 LIKE LINE OF LIST1.
DATA:VID2 TYPE VRM_ID,
LIST2 TYPE VRM_VALUES,
VALUE2 LIKE LINE OF LIST2.
第二步:定义选择屏幕
PARAMETERS:
P_WERKS TYPE CHAR4 AS LISTBOX VISIBLE LENGTH 20, "工厂
P_ZQMCJ TYPE CHAR4 AS LISTBOX VISIBLE LENGTH 20. "车间
重要:AS LISTBOX VISIBLE LENGTH 20
第三步:初始化
INITIALIZATION.
第四步:定义下拉框内容
REFRESH LIST1.
VALUE1-KEY = '1' . "这个就是变量P_LIST的值
VALUE1-TEXT = '第一工厂' . "这个是TEXT
APPEND VALUE1 TO LIST1.
VALUE1-KEY = '2' . "这个就是变量P_LIST的值
VALUE1-TEXT = '第二工厂' . "这个是TEXT
APPEND VALUE1 TO LIST1.
VALUE1-KEY = '3' . "这个就是变量P_LIST的值
VALUE1-TEXT = '第三工厂' . "这个是TEXT
APPEND VALUE1 TO LIST1.
VALUE1-KEY = '4' . "这个就是变量P_LIST的值
VALUE1-TEXT = '第四工厂' . "这个是TEXT
APPEND VALUE1 TO LIST1.
**调用下拉框赋值函数
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
ID = 'P_WERKS' "对应选择屏幕上定义的名称
VALUES = LIST1.
REFRESH LIST2.
VALUE2-KEY = 'A' . "这个就是变量P_LIST的值
VALUE2-TEXT = '北部车间' . "这个是TEXT
APPEND VALUE2 TO LIST2.
VALUE2-KEY = 'B' . "这个就是变量P_LIST的值
VALUE2-TEXT = '南部车间' . "这个是TEXT
APPEND VALUE2 TO LIST2.
VALUE2-KEY = 'C' . "这个就是变量P_LIST的值
VALUE2-TEXT = '西部车间' . "这个是TEXT
APPEND VALUE2 TO LIST2.
VALUE2-KEY = 'D' . "这个就是变量P_LIST的值
VALUE2-TEXT = '东部车间' . "这个是TEXT
APPEND VALUE2 TO LIST2.
**调用下拉框赋值函数
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
ID = 'P_ZQMCJ' "对应选择屏幕上定义的名称
VALUES = LIST2.
好,这样就完成了。下面附上完整可执行demo代码:
REPORT ZMYDEMO019.
TYPE-POOLS VRM.
TABLES:ZQMT026,SSCRFIELDS.
"下拉框定义
DATA:VID1 TYPE VRM_ID,
LIST1 TYPE VRM_VALUES,
VALUE1 LIKE LINE OF LIST1.
DATA:VID2 TYPE VRM_ID,
LIST2 TYPE VRM_VALUES,
VALUE2 LIKE LINE OF LIST2.
SELECTION-SCREEN:BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECTION-SCREEN COMMENT 1(31) TEXT-003.
PARAMETERS:
P_WERKS TYPE CHAR4 AS LISTBOX VISIBLE LENGTH 20, "工厂
P_ZQMCJ TYPE CHAR4 AS LISTBOX VISIBLE LENGTH 20. "车间
SELECTION-SCREEN:END OF BLOCK B1.
INITIALIZATION.
REFRESH LIST1.
VALUE1-KEY = '1' . "这个就是变量P_LIST的值
VALUE1-TEXT = '第一工厂' . "这个是TEXT
APPEND VALUE1 TO LIST1.
VALUE1-KEY = '2' . "这个就是变量P_LIST的值
VALUE1-TEXT = '第二工厂' . "这个是TEXT
APPEND VALUE1 TO LIST1.
VALUE1-KEY = '3' . "这个就是变量P_LIST的值
VALUE1-TEXT = '第三工厂' . "这个是TEXT
APPEND VALUE1 TO LIST1.
VALUE1-KEY = '4' . "这个就是变量P_LIST的值
VALUE1-TEXT = '第四工厂' . "这个是TEXT
APPEND VALUE1 TO LIST1.
**调用下拉框赋值函数
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
ID = 'P_WERKS' "对应选择屏幕上定义的名称
VALUES = LIST1.
REFRESH LIST2.
VALUE2-KEY = 'A' . "这个就是变量P_LIST的值
VALUE2-TEXT = '北部车间' . "这个是TEXT
APPEND VALUE2 TO LIST2.
VALUE2-KEY = 'B' . "这个就是变量P_LIST的值
VALUE2-TEXT = '南部车间' . "这个是TEXT
APPEND VALUE2 TO LIST2.
VALUE2-KEY = 'C' . "这个就是变量P_LIST的值
VALUE2-TEXT = '西部车间' . "这个是TEXT
APPEND VALUE2 TO LIST2.
VALUE2-KEY = 'D' . "这个就是变量P_LIST的值
VALUE2-TEXT = '东部车间' . "这个是TEXT
APPEND VALUE2 TO LIST2.
**调用下拉框赋值函数
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
ID = 'P_ZQMCJ' "对应选择屏幕上定义的名称
VALUES = LIST2.
START-OF-SELECTION.
PERFORM FRM_GET_DATA.
PERFORM FRM_DIS_DATA.
END-OF-SELECTION.
FORM FRM_GET_DATA.
ENDFORM.
FORM FRM_DIS_DATA.
ENDFORM.