在选择屏幕输出时调用FUNCTION MODULE ‘VRM_SET_VALUES’。
这种方法的好处就是,可以在程序中自定义LISTBOX中的内容
源码如下:
report z_hxg_006 .
- 需要调用的类型池
type-pools: vrm.
data: name type vrm_id,
list type vrm_values,
value like line of list.
data: ps_t(10) type c.
- 选择屏幕定义
parameters: ps_parm(10) as listbox visible length 10,
ps(10) as listbox visible length 10.
- 选择屏幕输出控制
at selection-screen output.
refresh list.
clear list.
name = ‘PS’.
value-ke®y = ‘1’.
value-text = ‘Line 1’.
append value to list.
value-key = ‘2’.
value-text = ‘Line 2’.
append value to list.
call function ‘VRM_SET_VALUES’
exporting id = name
values = list.
- start-of-selection事件触发
start-of-selection.
case ps.
when ‘1’.
ps_t = 'Line 1'.
when ‘2’.
ps_t = 'Line 2'.
endcase.
write: / ‘Parameter:’, ps_t.
2. 直接在数据字典中定义域(将该域的value range填充相应的值),然后通过数据表中的字段和这个域关联即可。
report z_hxg_042 .
tables: zsale_plan. “自定义的表
- 下面的zsale_plan-zmonth是和SAP系统自带的域month相关联的,即这个字段的字段类* 型为month
parameters: zmonth like zsale_plan-zmonth as listbox
visible length 10.
3. 通过自定义屏幕来实现LISTBOX
- 首先我们自己创建一个屏幕
Call screen 100.
双击上面这段代码,进入到屏幕设计GUI之后,在界面上增加文本输入框,给它取名为SJUDGE(这个名字可以随便你自己取,只要在程序编写的时候保持一致就可以了),同时在属性框的“下拉“中选中LISTBOX即可,
- 做完上面一步后,我们需要在该屏幕的逻辑流中这样设计
process before output.
- MODULE STATUS_0100.
process after input.
-
MODULE USER_COMMAND_0100.
-
这里就是给屏幕字段SJUDGE创建一个功能模块module create_dropdown_list
process on value-request.
field sjudge module create_dropdown_list.
-
双击moule create_dropdown_list,我们创建这个module在程序中的代码,这里需要调用一个系统的功能模块F4IF_INT_TABLE_VALUE_REQUEST
主程序代码如下:
report z_hxg_040.
data: ok_code type sy-ucomm.
data: begin of itab occurs 0,
carrname like scarr-carrname,
end of itab.
call screen 100.
- module create_dropdown_list_input
module create_dropdown_list input.
refresh itab.
clear itab.
itab-carrname = '合格'.
append itab.
itab-carrname = '不合格'.
append itab.
call function 'F4IF_INT_TABLE_VALUE_REQUEST'
exporting
retfield = 'CARRNAME'
value_org = 'S'
tables
value_tab = itab
exceptions
parameter_error = 1
no_values_found = 2
others = 3.
if sy-subrc <> 0.
endif.
endmodule.
直接运行这段代码就可以看到结果。
————————————————
版权声明:本文为优快云博主「yf_sap」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/yf_sap/article/details/2840051