Show TOC Anfang des Inhaltsbereichs

Funktionsdokumentation ALV-Ausgabe anzeigen  Dokument im Navigationsbaum lokalisieren

Verwendung

Um die ALV-Ausgabe am Bildschirm anzuzeigen, genügt es, zwei Methoden des ALV-Objektmodells zu verwenden:

·        FACTORY
Sie instanziieren die ALV-Hauptklasse:

¡        Sie legen die interne Datentabelle fest, die Struktur und ggf. Inhalte der ALV-Ausgabe liefert.

¡        Sie legen fest, welche Darstellungsart Sie für die ALV-Ausgabe verwenden möchten.

·        DISPLAY
Um die ALV-Ausgabe am Bildschirm darzustellen, rufen Sie anschließend die Methode DISPLAY auf.

Beispiele

Beispiel einer einfachen, zweidimensionalen Tabelle

Das folgende Beispiel zeigt den einfachsten Aufruf einer Tabelle vom Typ SFLIGHT. Dabei ist die Tabelle gt_outtab die Tabelle mit Ihren Anwendungsdaten und gr_table die Referenz auf die zu verwendende ALV-Hauptklasse.

data: gt_outtab type table of SFLIGHT.
data: gr_table type ref to cl_salv_table.

*... Select Data
   select * from SFLIGHT into corresponding fields of table gt_outtab.

*... Create Instance
   call method cl_salv_table=>factory
      IMPORTING
         R_SALV_TABLE = gr_table
      changing
         t_table = gt_outtab.

*... Display Table
   gr_table->display( ).

Beispiel einer hierarchisch-sequenziellen Liste

Das folgende Beispiel zeigt den einfachsten Aufruf einer hierarchisch-sequenziellen Liste.

·        Die Kopfebene stammt aus der Tabelle SCARR, die Positionsebene aus der Tabelle SFLIGHT. Deren Spalten werden in die Tabellen Ihrer Anwendungsdaten übertragen: gt_parent bzw. gt_child.

·        Beide Tabellen enthalten die Spalte CARRID, über die die Fremdschlüsselbeziehung gebildet wird.

·        gr_table ist die Referenz auf die zu verwendende ALV-Ausgabeklasse.

data: gt_parent type table of SCARR.

data: gt_child type table of SFLIGHT.

data: gr_table  type ref to cl_salv_hierseq_table.

data: lt_binding type salv_t_hierseq_binding.

data: ls_binding type salv_s_hierseq_binding.

 

*... Select Data

  select * from SCARR into corresponding fields of table gt_parent.

  select * from SFLIGHT into corresponding fields of table gt_child.

 

*... Bind Parent and Child Table

  ls_binding-master = 'CARRID'.

  ls_binding-slave  = 'CARRID'.

  append ls_binding to lt_binding.

 

*... Create Instance

  call method cl_salv_hierseq_table=>factory

    exporting

      t_binding_level1_level2 = lt_binding

    importing

      r_hierseq = gr_table

    changing

      t_table_level1 = gt_parent

      t_table_level2 = gt_child.

 

*... Display Table

  gr_table->display( ).

Beispiel einer Baumstruktur

Das folgende Beispiel zeigt den einfachsten Aufruf einer Baumstruktur vom Typ SFLIGHT. Dabei ist die Tabelle gt_outtab2 eine leere Tabelle, die lediglich die Struktur des Baums vorgibt, die Tabelle gt_outtab1 die Tabelle, die die gewünschten Datensätze enthält.

gr_tree ist die Referenz auf die zu verwendende ALV-Ausgabeklasse.

  data: gt_outtab1 type table of sflight,

        gt_outtab2 type table of sflight.

  data: ls_outtab type sflight.

  data: gr_tree  type ref to cl_salv_tree.

  data: nodes type ref to cl_salv_nodes,

        node type ref to cl_salv_node.

 

*... Select Data

  select * from sflight into corresponding fields of table gt_outtab1 up to 5 rows.

 

*... Create Instance with an Empty Table

  call method cl_salv_tree=>factory

    IMPORTING

      R_SALV_TREE = gr_tree

    changing

      t_table      = gt_outtab2.

 

*... Add the Nodes to the Tree

  nodes = gr_tree->get_nodes( ).

  loop at gt_outtab1 into ls_outtab.

    try.

      node = nodes->add_node( related_node = key

                              relationship = cl_gui_column_tree=>relat_first_child ).

      node->set_data_row( ls_outtab ).

    catch cx_salv_msg.

    endtry.

  endloop.

 

*... Display Table

  gr_tree->display( ).

 

 

Ende des Inhaltsbereichs