首页 > 解决方案 > 在 SALV 类中使用没有转换出口的输出

问题描述

在 SE16N 的 Technical Settings 中,有一个复选框 OUTPUT WITHOUT CONVERSION EXIT。
在我的程序中,我使用类 CL_SALV_TABLE 来创建 ALV。是否可以在类似于 SE16N 的程序中放置一个复选框,当用户启用它时,我的 ALV 将显示类似于 SE16N 的数据?
谢谢
埃利亚斯

标签: abapalvsap-data-dictionary

解决方案


这就是我想要的,因为我广泛使用 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 有更好的解决方案,我将非常有义务与我们分享。
谢谢大家的回答。
埃利亚斯


推荐阅读