sap abap alv drop down list(ALV下拉列表)

毋澄邈
2023-12-01

除了Search help 以外,我们在使用的过程中还常常设置下拉列表,相较Search help其优点在于只能输入下拉列表中存在的数据,而Search help不具备这样的功能,一下为总结的几点。

一 .选择屏幕追加drop down list

1.为Paramater设置Search help(设置方法不再赘述)
2.parameters: 变量 as listbox

二.ALV 设置drop down list

1.定义下拉列表并赋值

DATA:gt_drp TYPE lvc_t_drop.
DATA:gs_drp TYPE lvc_s_drop.
*向下拉表中填充数据,handle值相同的为一组下拉。
gs_drp-handle = ‘1′ .
gs_drp-value = ‘JFK-12′ .
APPEND gs_drp TO gt_drp .

gs_drp-handle = ‘1′ .
gs_drp-value = ‘JSF-44′ .
APPEND gs_drp TO gt_drp .

gs_drp-handle = ‘1′ .
gs_drp-value = ‘KMDA-53′ .
APPEND gs_drp TO gt_drp .

gs_drp-handle = ‘1′ .
gs_drp-value = ‘SS3O/N’ .
APPEND gs_drp TO gt_drp .

2.调用方法将下拉列表与ALV关联

CALL METHOD gs_alv->set_drop_down_table
   EXPORTING
    it_drop_down = gt_drp.

3.Field cat 设置
此处有两种方法,如果下拉列表中的值时固定值,可设置fieldcat 中DRDN_HNDL字段值。如下:则AAA的下拉列表为gs_drp表中handle 字段为1的所有值

IF gs_fieldcat-FIELDNAME = 'AAA'.
    gs_fieldcat-DRDN_HNDL = '1'.
ENDIF.

如果想要动态的设置下拉列表中的值,可设置fieldcat 中DRDN_FIELD字段值.如下:则AAA的下拉列表为gs_drp表中handle字段值等于ALV主表中的BBB的值数据

IF gs_fieldcat-FIELDNAME = 'AAA'.
    gs_fieldcat-DRDN_HNDL = 'BBB'.
ENDIF.
 类似资料: