SAP abap 不用oo做下拉框谁会啊。麻烦高手指点
1. 在Dialog的屏幕上选用inputbox控件,然后选择这个控件的dropdown属性为"Listbox",如图。
2. 在屏幕的flowlogic里面添加以下语句(例句):
PROCESS ON VALUE-REQUEST.
FIELD sdyn_conn-carrid MODULE create_dropdown_box.
3. 双击create_dropdown_box来创建该module,输入以下代码(示例代码):
SELECT carrid carrname
FROM scarr
INTO CORRESPONDING FIELDS OF TABLE itab_carrid.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'CARRID'
value_org = 'S'
TABLES
value_tab = itab_carrid
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
IF sy-subrc <> 0.
...
ENDIF.
以上可以参考系统自带的示例程序:DEMO_DROPDOWN_LIST_BOX。
也可以把create_dropdown_list的module放在PBO事件里,参考程序:DEMO_DYNPRO_DROPDOWN_LISTBOX。
* 填充下拉列表的值。
form fill_data_to_auart .
type-pools: vrm . "存放combobox内容的type pool
data: name type vrm_id, " list box的名称
list type vrm_values, " list box的值
value like line of list . " list box的结构
refresh list .
define fill_list.
value-key = &1. "个就是变量P_LIST的值
value-text = &2. "这个是text
append value to list.
end-of-definition.
fill_list 'O' 'OBD'.
fill_list 'P' 'PO'.
fill_list 'S' 'SO'.
"调用函数显示listbox里面的值
call function 'VRM_SET_VALUES'
exporting
id = 'P_TYPE' " PARAMETERS's Name
values = list.
endform. " fill_data_to_auart
不用OO做到哇. OO我知道...
不用OO..用ALV GRID做你会吗?
是在ALV显示的时候出现下拉框.不是选择屏幕..