使用SALV类的不带转换出口的输出



在SE16N的"技术设置"中,有一个复选框OUTPUT WITH CONVERSION EXIT
在我的程序中,我使用类CL_SALV_TABLE来创建ALV。是否可以在程序中设置一个类似于SE16N的复选框,当用户启用它时,我的ALV将显示与SE16N类似的数据
谢谢
Elias

这是我想要的,因为我正在广泛使用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有更好的解决方案,我将非常感谢与我们分享。
感谢大家的回答
Elias

SAP中的一切都是可能的,但是我不确定使用类CL_SALV_TABLE是否可以实现您的请求。我建议您使用CL_GUI_ALV_GRID类,它是真正动态的,可以根据您的场景来实现。

网上有很多教程,但我会尝试做一些小的总结

  1. 创建父容器CL_GUI_CUSTOMCONTAINER
  2. 创建ALV栅格并设置父栅格
  3. Fetch Field目录(也可以是动态的以适合任何表(
  4. 创建Output表并传递操作
  5. 显示ALV

确定显示的表格可以根据用户的选择进行设置(复选框(

如果您需要更多帮助,请写下

最新更新