Ansicht
Dokumentation

ABENLDB_SELECTIONS - LDB SELECTIONS

ABENLDB_SELECTIONS - LDB SELECTIONS

Vendor Master (General Section)   ABAP Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- Selektionen

Die Selektionen des Standardselektionsbilds einer logischen Datenbank werden mit den üblichen Anweisungen zur Definition von Selektionsbildern definiert, nämlich

In logischen Datenbanken können dabei mit den Zusätzen VALUE-REQUEST und HELP-REQUEST auch spezifische Eingabe- und Eingabehilfen definiert werden. Die Definition des Selektionsbilds geschieht in einem speziellen Include-Programm, das auch als Selektions-Include bezeichnet wird. Der Name des Selektions-Include ist DBldbSEL, wobei ldb der Name der logischen Datenbank ist. Dieses Include-Programm darf nicht explizit über eine INCLUDE-Anweisung in das Datenbankprogramm eingebunden werden. Es wird automatisch bei der Generierung in das Datenbankprogramm und verknüpfte Programme eingebunden.

Jedes ausführbare ABAP-Programm, das eine logische Datenbank verwendet, kann diese Selektionen der logischen Datenbank durch programmspezifische Selektionen erweitern. Auf dem Standardselektionsbild erscheinen erst die datenbankspezifischen Selektionen und darunter die programmspezifischen Selektionen.

Bei der Erzeugung des Selektionsbilds eines ausführbaren Programms werden nur die datenbankspezifischen Selektionskriterien und Parameter dargestellt, für deren zugehörige Tabellen auch Schnittstellen-Arbeitsbereiche mit NODES oder TABLES im Programm deklariert sind.

Das Selektionsbild einer logischen Datenbank ist gleichzeitig Teil des Standardselektionsbilds mit der Dynpro-Nummer 1000 eines ausführbaren Programms, das mit der logischen Datenbank verknüpft ist. Es hat ein standardisiertes Layout, wobei Selektionskriterien und Parameter in der Reihenfolge ihrer Deklaration in einzelnen Zeilen erscheinen. Das Layout kann mit der Anweisung SELECTION-SCREEN bearbeitet werden.

Das ABAP-Laufzeit-Framework generiert das Selektionsbild mit der Dynpro-Nummer 1000 für jedes Programm, für das keine andere Selektionsbildversion in den Programmattributen angegeben wurde. Um zu verhindern, dass bestimmte Eingabefelder des Selektionsbilds einer logischen Datenbank auf dem Selektionsbild erscheinen, können im Selektions-Include Selektionsbildversionen (mit Dynpro-Nummern kleiner als 1000) definiert und diese in den Programmattributen eingetragen werden. Dort liefert die Eingabehilfetaste einen Überblick über die in einer verknüpften logischen Datenbank definierten Selektionsbildversionen. Selektionsbildversionen werden durch die Anweisungen SELECTION-SCREEN BEGIN$|END OF VERSION definiert. Innerhalb dieser Anweisungen können mit SELECTION-SCREEN EXCLUDE die Felder benannt werden, die nicht auf dem Selektionsbild erscheinen sollen.

Enthalten die Attribute eines ausführbaren Programms die Nummer einer solchen Selektionsbildversion, wird diese in das Standardselektionsbild aufgenommen. Die ausgeschlossenen Eingabefelder werden zwar nicht angezeigt, die zugehörigen Selektionen sind aber immer vorhanden und können programmintern bearbeitet werden oder beim Aufruf über den Funktionsbaustein LDB_PROCESS gefüllt werden.

Hinweis

Der Logical Database Builder generiert beim Anlegen eines Selektions-Includes eine Vorlage, die auf der vorhandenen Struktur beruht. Dabei werden automatisch SELECT-OPTIONS-Anweisungen für alle Datenbanktabellen der Struktur (Knoten vom Typ T) vorgegeben, die zunächst kommentiert sind. Für jede Datenbanktabelle werden dabei Selektionskriterien für jedes ihrer Primärschlüsselfelder vorgeschlagen.

Falls eine Suchhilfe für die logische Datenbank angegeben ist, wird eine entsprechende PARAMETERS-Anweisung mit dem Zusatz AS SEARCH PATTERN vorgesehen. Falls in der Definition der Struktur vorgesehen, werden SELECTION-SCREEN-Anweisungen mit den Zusätzen DYNAMIC SELECTIONS und FIELD SELECTION für freie Abgrenzungen und Feldselektionen für Knoten vom Typ T und S generiert.

Zusätzlich zu den vorgeschlagenen Elementen kann das Selektionsbild um folgende Elemente erweitert werden:

  • Mit PARAMETERS können zusätzliche Parameter definiert werden. Diese können zum Beispiel zur Kontrolle des Programmablaufs verwendet werden. Im Selektions-Include muss dabei der Zusatz FOR TABLE$|NODE der PARAMETERS-Anweisung verwendet werden. Bei der Generierung des Selektionsbilds werden dadurch nur die Parameter für Knoten berücksichtigt, die auch im ausführbaren Programm durch NODES bzw. TABLES deklariert sind, bzw. die vom Funktionsbaustein LDB_PROCESS angefordert werden.
  • Mit SELECTION-SCREEN kann das Selektionsbild aufbereitet werden.
  • Mit dem Zusatz DYNAMIC SELECTIONS können weitere Knoten für freie Abgrenzungen vorgesehen werden. Der Benutzer kann dann zur Laufzeit festlegen, für welche Komponenten des Knotens er Abgrenzungen eingeben will. Die dynamischen Angaben müssen im Datenbankprogramm speziell behandelt werden.

  • Mit dem Zusatz FIELD SELECTION können weitere Knoten für Feldselektion vorgesehen werden. Ein ausführbares Programm kann durch eine Feldliste in der GET-Anweisung steuern, welche Felder des Knotens die logische Datenbank ihm zur Verfügung stellen soll. Beim Funktionsbaustein LDB_PROCESS muss der Parameter FIELD_SELECTION entsprechend übergeben werden. Die entsprechenden Benutzereingaben müssen im Datenbankprogramm speziell behandelt werden.

  • Mit den Zusätzen BEGIN OF VERSION dynnr, EXCLUDE und END OF VERSION können verschiedene Versionen des Selektionsbilds mit Dynpro-Nummern kleiner als 1000 erstellt werden. Dabei werden Eingabefelder von Selektionskriterien oder Parametern ausgeblendet. Ein ausführbares Programm kann dadurch mit einer passenden Selektionsbildversion arbeiten.

Beispiel

Ein Selektions-Include enthalte die Zeilen:

SELECT-OPTIONS slifnr FOR lfa1-lifnr.
PARAMETERS pbukrs LIKE lfb1-bukrs FOR TABLE lfb1.

Das Selektionskriterium slifnr ist dadurch mit Tabelle LFA1, der Parameter pbukrs mit Tabelle LFB1 verbunden. Wird in einem ausführbaren Programm nur lfa1 aber nicht lfb1 als Schnittstellen-Arbeitsbereich deklariert, erscheint slifnr auf dem Selektionsbild, pbukrs jedoch nicht.

Beispiel

Siehe auch Beispiel für ein Selektions-Include.






BAL_S_LOG - Application Log: Log header data   CL_GUI_FRONTEND_SERVICES - Frontend Services  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 9751 Date: 20240523 Time: 171227     sap01-206 ( 177 ms )