ABAP - Schlüsselwortdokumentation →  ABAP - Referenz →  Benutzerdialoge →  Selektionsbilder → 

Freie Abgrenzungen

Eine freie Abgrenzung ist eine Selektionsbedingung, die auf einem dynamisch erzeugten Selektionsbild eingegeben werden kann. Die Erzeugung, Anzeige und Verarbeitung der zugehörigen Selektionsbilder erfolgt über die Systemfunktionsbausteine FREE_SELECTIONS_.... der Funktionsgruppe SSEL. Diese Selektionsbilder können eigenständig angezeigt oder als Subscreens in die Bildschirmbilder anderer Dynpros oder Selektionsbilder eingebunden werden. Freie Abgrenzungen können in logischen Datenbanken eingebunden oder in beliebigen Programmen verwendet werden.

Sicherheitshinweis

Dynamische Programmiertechniken können falls falsch verwendet ein ernsthaftes Sicherheitsrisiko darstellen. Dynamische Inhalte, die von außen in ein Programm übernommen werden, müssen vor ihrer Verwendung in dynamischen Anweisungen gründlich überprüft oder maskiert werden. Hierfür dienen unter anderem die Systemklasse CL_ABAP_DYN_PRG oder die eingebaute Funktion escape. Siehe Sicherheitsrisiken durch Eingaben von außen.

Freie Abgrenzungen in logischen Datenbanken

Logische Datenbanken können freie Abgrenzungen auf ihrem Selektionsbild anbieten, um zusätzlich zu den dort statisch vordefinierten Parametern und Selektionskriterien weitere dynamische Selektionsbedingungen für einzelne Knoten der logischen Datenbank anzugeben, die im Datenbankprogramm der logischen Datenbank ausgewertet werden können. Für die freien Abgrenzungen einer logischen Datenbank genügt es, diese mit dem Zusatz DYNAMIC SELECTIONS der Anweisung SELECTION-SCREEN in der logischen Datenbank zu deklarieren.

Der Aufruf der Funktionsbausteine zur Erzeugung, Anzeige und Verarbeitung der freien Abgrenzung erfolgt durch die ABAP-Laufzeitumgebung. Die vom Benutzer eingegebenen Selektionen werden direkt an Datenobjekte des Datenbankprogramms übergeben und können dort ausgewertet werden. Für mehr Informationen, siehe Logische Datenbanken - Freie Abgrenzungen.

Hinweis

Für die Parameterübergabe an Selektionsbilder logischer Datenbanken, die freie Abgrenzungen anbieten, gibt es einen speziellen Zusatz WITH FREE SELECTIONS der Anweisung SUBMIT, bei dessen Verwendung die oben genannten Funktionsbausteine in der Regel ebenfalls zum Einsatz kommen.

Freie Abgrenzungen in beliebigen Programmen

In ABAP-Programmen, die mit klassischen Dynpros arbeiten, können freie Abgrenzungen durch die direkte Verwendung der folgenden beiden Funktionsbausteine angeboten werden:

Mit dem Funktionsbaustein FREE_SELECTIONS_INIT werden die Entitäten bestimmt, für welche freie Abgrenzungen vorgenommen werden sollen. Dies können beispielsweise Datenbanktabellen des ABAP Dictionary oder frei angebbare Felder sein. Das Ergebnis dieses Funktionsbausteins ist eine so genannte Selektions-Id, die dem Funktionsbaustein FREE_SELECTIONS_DIALOG übergeben werden muss.

Der Funktionsbaustein FREE_SELECTIONS_DIALOG kann verschieden konfigurierte Selektionsbilder in unterschiedlichen Formen anzeigen. Der Benutzer kann auf diesen Selektionsbildern freie Abgrenzungen für die dort angebotenen Felder eingeben und gegebenenfalls auch selbst Felder aussuchen, für die er freie Abgrenzungen vornehmen will. Nach der Auswahl von Sichern liefert der Funktionsbaustein die eingegebenen Abgrenzungen in drei verschiedenen Formaten an den Aufrufer zurück, die dieser von folgenden EXPORTING-Parametern übernehmen kann:

Für weitere Informationen, siehe die Dokumentation der Funktionsbausteine und ihrer Parameterschnittstelle.

Ausführbares Beispiel

Freie Abgrenzungen



Weiterlesen
Example Freie Abgrenzungen