问题描述
在SE16N的“技术设置”中,有一个“没有转换退出的输出”复选框。
在我的程序中,我使用CL_SALV_TABLE类创建ALV。是否可以在类似于SE16N的程序中放置一个复选框,当用户启用该复选框时,我的ALV将像SE16N一样显示数据?
谢谢
埃里亚斯
解决方法
这就是我广泛使用SALV时想要的。
** Display the data Without Conversion
DATA: l_tabledescr_ref TYPE REF TO cl_abap_tabledescr,l_descr_ref TYPE REF TO cl_abap_structdescr,wa_table TYPE abap_compdescr.
IF p_woconv = 'X'.
TRY.
columns = oref_table->get_columns( ).
l_tabledescr_ref ?= cl_abap_typedescr=>describe_by_data( <fs_itab> ).
l_descr_ref ?= l_tabledescr_ref->get_table_line_type( ).
LOOP AT l_descr_ref->components INTO wa_table.
DATA(edit_mask) = columns->get_column( wa_table-name )->get_edit_mask( ).
IF edit_mask(2) = '=='.
columns->get_column( wa_table-name )->set_edit_mask( ' ' ).
ENDIF.
IF wa_table-type_kind = 'C' OR wa_table-type_kind = 'N'.
columns->get_column( wa_table-name )->set_leading_zero( ).
ENDIF.
ENDLOOP.
CATCH cx_salv_not_found.
ENDTRY.
ENDIF.
如果有人对SALV有更好的解决方案,我将有义务与我们分享。
谢谢大家的回答。
埃里亚斯
在SAP中一切皆有可能,但是我不确定使用类CL_SALV_TABLE是否可以实现您的请求。我建议您使用CL_GUI_ALV_GRID类,该类实际上是动态的,可以根据情况进行实现。
在线上有很多教程,但我会尝试做一些小总结
- 创建父容器CL_GUI_CUSTOMCONTAINER
- 创建ALV网格并设置父级。
- 获取字段目录(也可以动态以适合任何表)
- 创建Output表并传递操作
- 显示ALV
确保可以根据用户的选择设置“显示的表格”(复选框)
如果需要更多帮助,请写下来