然后在代码中新建一个屏幕,在屏幕制作器中拖一个"输入/输出字段",在下拉属性中选"ListBox",如下图.

如果要实现ListBox连动或选择时触发其它事件,需要设置"功能码"。
在逻辑流中写入如下代码。
PROCESS BEFORE
OUTPUT
.
MODULE STATUS_0100 .
MODULE LOAD_DATA .
*
PROCESS AFTER INPUT .
MODULE USER_COMMAND_0100 .
"
"如果要实现ListBox连动或选择时触发其它事件,需要
"写如下代码
"process ON VALUE-REQUEST.
"field zxh module load_data.
MODULE STATUS_0100 .
MODULE LOAD_DATA .
*
PROCESS AFTER INPUT .
MODULE USER_COMMAND_0100 .
"
"如果要实现ListBox连动或选择时触发其它事件,需要
"写如下代码
"process ON VALUE-REQUEST.
"field zxh module load_data.
激活屏幕,然后双击"MODULE LOAD_DATA".进入代码编辑界面编写 LOAD_DATA的实现代码。
module LOAD_DATA output.
data:lv_name type vrm_id,
lt_list type vrm_value OCCURS 0,
lw_value like line of lt_list.
clear:lt_list,lw_value.
lv_name = 'VALUE'.
IF ISLOADED = ''.
"读取数据表内容至内表
SELECT * INTO TABLE IT_ZXSB FROM ZXSB.
LOOP AT IT_ZXSB.
lw_value-key = IT_ZXSB-ZXH.
lw_value-text = IT_ZXSB-ZXM.
APPEND LW_VALUE TO LT_LIST.
ENDLOOP.
"将内表中的数据读到ListBox中显示出来。
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = 'ZXH'
values = lt_list[]
* EXCEPTIONS
* ID_ILLEGAL_NAME = 1
* OTHERS = 2
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
ISLOADED = 'X'.
ENDIF.
endmodule. " LOAD_DATA INPUT
激活整个程序,运行结果如下。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23353800/viewspace-731602/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/23353800/viewspace-731602/