没有在alv CL_SALV_TABLE中看到域值

时间:2017-06-02 19:17:43

标签: sap abap

我在ALV列表中显示了2行, 此列中的一个具有域值。 enter image description here

如果我点击搜索帮助,则根本不会显示任何值。

我是否必须激活课程中的某些内容以查看任何域的值?

1 个答案:

答案 0 :(得分:0)

通过字典结构创建ALV时,自动搜索帮助(也称为域值)将仅显示 ,这就是cl_salv_table无法实现的原因,因为它只接受内部表。 但是,它有特殊的方法set_ddic_reference来分配F4值。

DATA: lr_column   TYPE REF TO cl_salv_column_table,
       lr_columns TYPE REF TO cl_salv_columns_table.
DATA: ls_ddic type salv_s_ddic_reference.
lr_columns = o_alv->get_columns( ).
lr_column ?= lr_columns->get_column( columnname = 'MANDT' ).
ls_ddic-table = 'T001'.
ls_ddic-field = 'MANDT'.
lr_column->set_ddic_reference( ls_ddic ).
lr_column->set_f4( abap_true ).

此代码应在工厂构造函数之后和 display()方法之前调用。