Ansicht
Dokumentation

ABENFREE_SELECTIONS - FREE SELECTIONS

ABENFREE_SELECTIONS - FREE SELECTIONS

CL_GUI_FRONTEND_SERVICES - Frontend Services   ABAP Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- Freie Abgrenzungen

Eine freie Abgrenzung ist eine Ranges-Bedingung, die auf einem dynamisch erzeugten Selektionsbild eingegeben werden kann. Die Erzeugung, Anzeige und Verarbeitung der zugehörigen Selektionsbilder erfolgt über die Systemfunktionsbausteine FREE_SELECTIONS_... Des Function-Pools 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. 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 Ranges-Bedingungen 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 das ABAP-Laufzeit-Framework. 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:

  • WHERE_CLAUSES
Dieser Parameter übergibt eine interne Tabelle mit entsprechend der freien Abgrenzungen generierten relativen Ausdrücken rel_exp zur dynamischen Angabe in der WHERE-Klausel von SELECT-Anweisungen.
  • FIELD_RANGES
Dieser Parameter übergibt eine interne Tabelle mit entsprechend der freien Abgrenzungen generierten Ranges-Tabellen, die mit dem die Vergleichsoperator IN in entsprechenden WHERE-Bedingungen oder Vergleichsausdrücken ausgewertet werden können.
  • EXPRESSIONS
Dieser Parameter übergibt eine interne Tabelle mit entsprechend der freien Abgrenzungen generierten Bedingungen in einem internen Format (umgekehrte polnische Notation). Dieses Format kann wieder an den Funktionsbaustein FREE_SELECTIONS_INIT übergeben werden um ein Selektionsbild vorzubereiten, das mit diesen Abgrenzungen vorbelegt ist. Weiterhin wird dieses Format bei der Übergabe an aufgerufene Programme mit dem Zusatz WITH FREE SELECTIONS der Anweisung SUBMIT benötigt.

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

Freie Abgrenzungen






BAL_S_LOG - Application Log: Log header data   ABAP Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 6644 Date: 20240523 Time: 164958     sap01-206 ( 114 ms )