[ABAP] SALV-Table – technische Namen der Spalten auslesen

DATA: o_alv TYPE REF TO cl_salv_table.

...

* technische Spaltennamen auslesen
TRY.
    o_col = CAST cl_salv_column_list( o_alv->get_columns( )->get_column( 'SEATSOCC' ) ). " Spalte mit Namen 'SEATSOCC' ermitteln
    WRITE: / | { o_col->get_columnname( ) } |.     " Namen ausgeben
  CATCH cx_salv_not_found.
ENDTRY.

[ABAP] SALV-Table – Spaltenbreite einstellen

Variante 1 (set_optimize)

DATA: o_alv TYPE REF TO cl_salv_table.
 
...

* damit sich set_optimize an long_text ausrichtet, darf short_text und medium_text nicht gesetzt sein
DATA: o_col TYPE REF TO cl_salv_column.

* Spalte 'CARRID'
o_col = o_alv->get_columns( )->get_column( 'CARRID' ).
o_col->set_short_text( '' ).
o_col->set_medium_text( '' ).
o_col->set_long_text( 'Carrier-ID' ).
          
* optimale Spaltenbreite für alle Spalten setzen
o_alv->get_columns( )->set_optimize( abap_true ).

Variante 2 (set_output_length)

	
DATA: o_alv TYPE REF TO cl_salv_table.
 
...
 
* Spaltenbreite setzen
DATA: o_col TYPE REF TO cl_salv_column.
 
o_col = o_alv->get_columns( )->get_column( 'CARRID' ).
* funktioniert nur, wenn set_optimize( ) nicht gesetzt ist
o_col->set_output_length( 15 ).

[ABAP] SALV-Table (SALV-Grid) verwenden

DATA: o_alv TYPE REF TO cl_salv_table.
DATA: it_flights TYPE STANDARD TABLE OF sflight.

* Daten abfragen und in interne Tabelle übergeben  
SELECT * FROM sflight INTO TABLE @it_flights.

* SALV-Table mit automatisch generiertem Dynpro erzeugen
cl_salv_table=>factory( IMPORTING
                          r_salv_table = o_alv      " Referenz auf das SAP ALV Grid
                        CHANGING
                          t_table = it_flights ).   " Tabelle mit Daten für Ausgabe

* SALV-Table anzeigen
o_alv->display( ).

Weiterführende Infos: Link und Link

[ABAP] Popup-Dialog anzeigen

DATA: ret TYPE string.

* Ersetzt alle anderen obsoleten 'POPUP_TO_...' Funktionsbausteine
* kann für Ja, Nein, Abbrechen, Zurück, Weiter, Infos usw. genutzt werden
CALL FUNCTION 'POPUP_TO_CONFIRM'
  EXPORTING
    titlebar              = 'Frage'
    text_question         = 'Alles klar?'
    display_cancel_button = abap_true
  IMPORTING
    answer                = ret.

CASE ret.
  WHEN '1'.
* Ja
  WHEN '2'.
* Nein
  WHEN 'A'.
* Abbruch
ENDCASE.

Weiterführender Link: Link