Есть ли способ запретить CL_SALV_TABLE удалять начальные пробелы?

Есть ли способ запретить экземпляру CL_SALV_TABLE удалять начальные пробелы на дисплее?

У меня есть следующий фрагмент кода, в котором я помещаю один пробел перед текстом Master и два пробела перед текстом Slave.

REPORT zzy.

CLASS lcl_main DEFINITION FINAL CREATE PRIVATE.
  PUBLIC SECTION.
    CLASS-METHODS:
      main.
ENDCLASS.

CLASS lcl_main IMPLEMENTATION.
  METHOD main.
    TYPES: BEGIN OF l_tys_test,
      name  TYPE string,
      value TYPE i,
    END OF l_tys_test,
    l_tyt_test TYPE STANDARD TABLE OF l_tys_test WITH EMPTY KEY.

    DATA(lt_test) = VALUE l_tyt_test(
      ( name = `Root` value = 0 )
      ( name = ` Master` value = 1 )
      ( name = `  Slave` value = 2 )
    ).

    cl_salv_table=>factory(
      IMPORTING
        r_salv_table = DATA(lo_salv_table)
      CHANGING
        t_table = lt_test
    ).
    lo_salv_table->display( ).
  ENDMETHOD.
ENDCLASS.

START-OF-SELECTION.
  lcl_main=>main( ).

К сожалению, ведущие пробелы обрезаются в представлении.

Пробелы обрезаются

В этом руководстве Парень, кажется, сделал это как-то.


person Jagger    schedule 19.05.2016    source источник


Ответы (1)


Да, есть:

lo_salv_table->get_columns( )->get_column( 'NAME' )->set_leading_spaces( abap_true ).
person vwegert    schedule 20.05.2016