HintergrundArbeiten mit dem ALV Grid Control Dieses Dokument in der Navigationsstruktur finden

 

Grundlagen

Die folgende Grafik zeigt die nötigen Schritte, um eine Liste mit dem ALV Grid Control darzustellen:

Die Abbildung wird im Begleittext erläutert.

Für die Anzeige der Daten müssen Sie mindestens zweierlei Informationen bereitstellen:

  • Eine interne Tabelle mit den darzustellenden Daten, die Ausgabetabelle.

  • Eine Beschreibung über die Struktur dieser Daten, die entweder über den Feldkatalog oder über die entsprechende Struktur des Data Dictionary dem ALV Grid Control bekannt gemacht wird.

Die Ausgabetabelle besteht im allgemeinen aus Daten, die Sie vorher aus Datenbanktabellen selektiert haben.

Achtung Achtung

Die Referenz auf die Ausgabetabelle, die Sie an das ALV Grid Control übergeben, sollte so lange gültig sein, wie das ALV Grid Control darauf operiert. Neben der Definition dieser Referenz als globale Tabelle ist es auch möglich, die Referenz über ein öffentliches Attribut in einer ABAP-Objects-Instanz zu halten.

Ende der Warnung.

Der Feldkatalog ist eine Tabelle mit Informationen über die darzustellenden Felder. Mithilfe dieser Tabelle erkennt ALV beispielsweise den Typ eines Feldes. Sie können aber auch über spezielle Felder des Katalogs die Formatierung von Zahlenausgaben und Spalteneigenschaften der auszugebenen Liste beeinflussen.

Arbeiten mit Controls

Mit der Verwendung von ABAP Objects zu Release 4.6A wurde die Programmierung von Controls in vielen Punkten vereinheitlicht:

  • Erzeugen eines Controls und dessen Integration auf dem Dynpro

  • Übermittlung von Methoden vom Backend zum Frontend

  • Behandlung von Ereignissen, die das Control am Frontend auslöst

  • Abbau des Controls (Lifetime Management)

Für Basis Controls, wie z.B. das TextEdit Control, das HTML Viewer Control oder das Picture Control, gilt für die oben genannten Punkte das gleiche Programmiermodell.

Mit Einschränkungen im Bereich der Ereignisbehandlung gilt dieses Programmiermodell auch für das ALV Grid Control (siehe nächsten Abschnitt). Lesen Sie Anlegen eines Controls, inklusive aller Querverweise, um sich mit diesem allgemeinen Modell vertraut zu machen. Beachten Sie jedoch unbedingt die im nächsten Abschnitt beschriebenen Besonderheiten des ALV Grid Control.

Besonderheiten des ALV Grid Control in der Ereignisbehandlung

Das ALV Grid Control benutzt das Grid Control für die Anzeige der Ausgabetabelle. Das ALV Grid Control ist also eine Verschalung, die die Verschalung eines Basis Controls verwendet. Als 'äußere Hülle' nimmt diese Verschalung dem Anwendungsprogrammierer die Registrierung der Ereignisse am Frontend ab, um die Ereignisbehandlung zu vereinfachen. Beachten Sie folgende Unterschiede des ALV Grid Control zu den Basis Controls:

  • Alle Ereignisse werden beim Instanziieren des Controls als Systemereignisse registriert.

    Hinweis Hinweis

    Wenn Sie alle Ereignisse als Anwendungsereignisse registrieren wollen, können Sie dies mit dem Parameter I_APPL_EVENTS. Rufen Sie dann die Methode CL_GUI_CFW=>DISPATCH im PAI auf.

    Ende des Hinweises
  • Die Ereignisse DELAYED_CALLBACK oder DELAYED_CHANGED_SEL_CALLBACK werden über die Methode register_delayed_event registriert.

  • Für Drag&Drop mit dem ALV Control ist kein Aufruf von DISPATCH nötig.