title: SAP SALV always show long text in column header
body: <p>I'm using a SALV to display an internal table.
  Therefore I optimize the columns and set the column text.
  When the SALV displays the column header is always showing the short text because the value in the column is only a boole_d ('X').</p>
  
  <p>I tried SET_OUTPUT_LENGTH to set a fixed column width. Also deleted the
  short text and only added a medium or long text.
  The column remains to small to display the long text.</p>
  
  <p>The initial report was written by someone else and I had to adjust some columns.
  So the factory method was called twice but I'm not really sure why.
  Don't know if this causes some error with the configuration.</p>
  
  <p>Does anyone had the same issue?
  I added some of the code to generate the ALV.</p>
  
  <pre><code>[...]
  END-OF-SELECTION.
  
        "sALV nach Pernr erzeugen
        CALL METHOD cl_salv_table=&gt;factory
          IMPORTING
            r_salv_table = go_tabpernr
          CHANGING
            t_table      = gt_result.
  
      DATA: go_tabpernr      TYPE REF TO   cl_salv_table.
      DATA: go_tabdepart  TYPE REF TO   cl_salv_table.
  
      go_tabpernr-&gt;get_columns( )-&gt;set_optimize( abap_true ).
            "Überschrift mitgeben
            go_tabpernr-&gt;get_columns( )-&gt;get_column( 'TEXT01')-&gt;set_medium_text( 'Department' ).
            go_tabpernr-&gt;get_columns( )-&gt;get_column( 'AUSTRITT')-&gt;set_medium_text( 'Austritt' ).
            go_tabpernr-&gt;get_columns( )-&gt;get_column( 'AUSTRITT')-&gt;set_short_text( 'Aust.' ).
            go_tabpernr-&gt;get_columns( )-&gt;get_column( 'LZK')-&gt;set_short_text( 'LZK' ).
            go_tabpernr-&gt;get_columns( )-&gt;get_column( 'LZK')-&gt;set_medium_text( 'Langzeitkrank' ).
            go_tabpernr-&gt;get_columns( )-&gt;get_column( 'AUSGESTEUERT')-&gt;set_medium_text( 'Ausgesteuert' ).
            go_tabpernr-&gt;get_columns( )-&gt;get_column( 'AUSGESTEUERT')-&gt;set_short_text( 'Aus.' ).
            go_tabpernr-&gt;get_columns( )-&gt;get_column( 'WEINGLIED')-&gt;set_short_text( 'Eingl.' ).
            go_tabpernr-&gt;get_columns( )-&gt;get_column( 'WEINGLIED')-&gt;set_medium_text( 'Wiedereingl.' ).
            go_tabpernr-&gt;get_columns( )-&gt;get_column( 'WEINGLIED')-&gt;set_long_text( 'Wiedereingliederung' ).
            go_tabpernr-&gt;get_columns( )-&gt;get_column( 'NPLUS_TEXT')-&gt;set_medium_text( 'N+' ).
            go_tabpernr-&gt;get_columns( )-&gt;get_column( 'NPLUS_TEXT')-&gt;set_short_text( 'N+' ).
  
        "Darstellung anpassen
        go_tabpernr-&gt;get_display_settings( )-&gt;set_striped_pattern( abap_true ).
  
        "Funktionen freischalten
        go_tabpernr-&gt;get_functions( )-&gt;set_all( abap_true ).
  
        "Gruppierung und Sortierung
        SORT gt_result  BY pernr DESCENDING . "endda
        go_tabpernr-&gt;get_sorts( )-&gt;clear( ).
  
        ""ALV für Department erzeugen (gleiches Vorgehen wie nach pernr)
  
        "sALV erzeugen
        CALL METHOD cl_salv_table=&gt;factory
          IMPORTING
            r_salv_table = go_tabdepart
          CHANGING
            t_table      = gt_result.
  
    go_tabpernr-&gt;display( ).
  </code></pre>