2016-05-19 23 views
5

C'è un modo per impedire a un'istanza di CL_SALV_TABLE di rimuovere spazi iniziali nel display?C'è un modo per impedire a CL_SALV_TABLE di rimuovere gli spazi iniziali?

Ho il seguente pezzo di codice in cui inserisco uno spazio singolo davanti al testo Master e due spazi davanti al testo 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(). 

Sfortunatamente gli spazi iniziali vengono ritagliati nella vista.

Spaces get trimmed

In questo tutorial il ragazzo sembra aver fatto in qualche modo.

risposta

7

Sì, c'è:

lo_salv_table->get_columns()->get_column('NAME')->set_leading_spaces(abap_true).