Show TOC Anfang des Inhaltsbereichs

Hintergrunddokumentation IF_WD_CONTEXT_NODE_INFO Dokument im Navigationsbaum lokalisieren

Das Interface IF_WD_CONTEXT_NODE_INFO ist die Schnittstelle der Metadaten eines Context-Knotens und dient der Beschreibung, wie die Daten aussehen.

Jeder Context-Knoten enthält eine Referenz auf eine Node-Info, die die Metadaten enthält. Die wichtigsten Metadaten, auf die über IF_WD_CONTEXT_NODE_INFO zugegriffen werden kann, sind wie folgt:

      Name (GET_NAME)

      Singleton (IS_SINGLETON)

      Multipler Knoten (IS_MULTIPLE)

      Obligatorischer Knoten (IS_MANDATORY)

      Obligatorische Selektion (IS_MANDATORY_SELECTION)

      Multiple Selektion (IS_MULTIPLE_SELECTION)

GET-Methoden

Die GET-Methoden liefern die Attribute eines Context-Knotens, Kindknoten u. ä. Somit können Sie mit den GET-Methoden die einzelnen Bestandteile eines Context-Knotens abfragen.

GET-Methoden

Methode

Beschreibung

GET_ATTRIBUTE

GET_ATTRIBUTES

Abfrage auf ein Attribut oder alle Attribute, d.h. Besorgen der Informationen eines oder aller Attribute.
Bei GET_ATTRIBUTE wird das Attribut als WDR_CONTEXT_ATTRIBUTE_INFO zurückgegeben. GET_ATTRIBUTES liefert als Ergebnis ein Objekt des Typs WDR_CONTEXT_ATTR_INFO_MAP, das ist eine Tabelle von Typ WDR_CONTEXT_ATTR_INFO.

GET_ATTRIBUTE_NAMES

Diese Methode liefert die Namen aller Attribute zurück als STRING_TABLE.

Hinweis

Diese Methode ist sowohl Zeit- als auch Speicher-performanter als die Methode GET_ATTRIBUTES, weil sie nicht so viele Informationen besorgt. Verwenden Sie GET_ATTRIBUTE_NAMES, wenn Sie tatsächlich nur die Namen der Attribute benötigen.

GET_ATTRIBUTE_FORMAT_PROPS

Diese Methode liest spezielle Formatangaben für ein Attribut.

GET_CHILD_NODE

GET_CHILD_NODES

Abfrage auf einen bzw. alle Kindknoten.

GET_CHILD_NODE besorgt sich die Referenz zu einem Unterknoten, und GET_CHILD_NODES liefert eine Liste mit Name/Referenzpaaren aller Unterknoten.

GET_ATTRIBUTE_VALUE_HELP

Diese Methode holt sich den Namen der Wertehilfe zu einem Attribut.

GET_ATTRIBUTE_VALUEHELP_TYPE

Abfrage auf den Typ der Eingabehilfe:

Bei dem Typ kann es sich z.B. um eine ABAP-Dictionary-Suchhilfe oder um eine OVS-Wertehilfe handeln oder um eine selbst gebaute Wertehilfe, oder die Wertehilfe kann ausgeschaltet sein.

GET_CONTROLLER

Abfrage auf den zugehörigen Controller, die Methode gibt die Controller-Referenz zurück, in dem der Knoten deklariert ist.

GET_NAME

Abfrage auf den Namen des Context-Knotens

GET_PARENT

Abfrage auf den Elternknoten des betreffenden Context-Knotens, die Methode liefert die Referenz auf den Elternknoten.

GET_PRIMARY_ATTRIBUTE

Primärattribute sind nur für die Konfiguration relevant, da es keine Unterstützung in der Laufzeit für Primärattribute gibt, sondern nur im Konfigurations-Framework.

Diese Methode liefert den Namen des Primärattributs eines Knotens, falls er existiert.

GET_STATIC_ATTRIBUTES_TYPE

Abfragen der RTTI-Instanz für die statisch deklarierten Attribute des Knotens, die Methode liefert den Typ des Knotens als RTTI_Referenz. Weitere Informationen über RTTI finden Sie in der Klassendokumentation zur Klasse CL_ABAP_TYPEDESCR im System.

FOLLOW_PATH

Diese Methode folgt dem gesamten Pfadausdruck, den Sie für eigene Aufrufe des Ziel-Knotens verwenden können. Die einzelnen Knotennamen werden dabei mit Punkten voneinander getrennt. Mit dieser Methode können Sie sich also von einem Knoten aus die Referenz zu einem anderen Knoten besorgen, der in der Hierarchie unter dem ersten Knoten liegt (Kind-Knoten).

Hinweis

Die einzelne Abfrage (im Singular) geschieht über den jeweiligen Namen. Die Mehrfach-Abfrage (im Plural) geschieht über eine Tabelle.

HAS/IS-Methoden

Die HAS/IS-Methoden dienen der Abfrage der unterschiedlichen Eigenschaften und Zustände eines Context-Knotens.

HAS/IS-Methoden

Methode

Beschreibung

HAS_ATTRIBUTE_VALUE_HELP

Abfragen, ob eine Wertehilfe für das Context-Attribut vorhanden ist oder nicht

IS_ALIVE

Methode für das Prüfen, ob der zugehörige Controller noch „am Leben“ ist, d.h. man kann noch auf ihn zugreifen und er ist noch nicht über WDDOEXIT beendet.

IS_CHILD_NODE_RECURSIVE

Abfragen, ob der Kindknoten rekursiv ist oder nicht, siehe auch entsprechenden Abschnitt unter Context.

IS_FINALIZED

Abfragen, ob die Knoten-Information und eventuelle Unterknoten nicht änderbar sind.

IS_INITIALIZE_LEAD_SELECTION

Abfragen, ob die Lead-Selection automatisch von der Laufzeit initialisiert ist, d.h. sie ist immer gesetzt. Dies entspricht der Eigenschaft Initialisierung Lead-Selection in der Entwicklungsumgebung.

IS_MANDATORY

IS_MULTIPLE

Abfragen der Anzahl von Knotenelementen. Damit legen diese beiden Methoden die Kardinalität in der Entwicklungsumgebung (siehe auch entsprechenden Abschnitt in Context-Knoten: Eigenschaften) fest.

IS_MANDATORY fragt ab, ob der aktuelle Context-Knoten mindestens ein Knotenelement besitzt: Diese Methode ist wahr, wenn der Knoten die Kardinalität 1..1 oder 1..n hat, also mindestens ein Element angelegt werden muss.

IS_MULTIPLE fragt ab, ob der aktuelle Context-Knoten mehrere Knotenelemente besitzen kann, wenn also die Kardinalität 0..n oder 1..n ist.

IS_MANDATORY_SELECTION

IS_MULTIPLE_SELECTION

Abfragen der Anzahl der Knotenelemente, die in View-Elementen auswählbar sind. Damit legen diese beiden Methoden die Selektionskardinalität in der Entwicklungsumgebung fest.

IS_MANDATORY_SELECTION fragt ab, ob immer ein Knotenelement selektiert werden muss, dass also der Knoten die Selection-Kardinalität 1..1 oder 1..n hat.

IS_MULTIPLE_SELECTION fragt ab, ob mehrere Knotenelemente selektiert werden können, dass also die selection-Kardinalität 0..n oder 1..n ist.

IS_MAPPING_COMPLETE

Abfragen, ob ein externes Mapping realisiert worden ist, also ob die Aufrufer-Component das Mapping durchgeführt hat.

IS_SINGLETON

Abfragen, ob der Context-Knoten als Singleton (siehe auch entsprechenden Abschnitt in Context-Knoten: Eigenschaften) deklariert ist. Damit entspricht diese Methode der Eigenschaft Singleton in der Entwicklungsumgebung.

Ein Knoten mit der Eigenschaft Singleton exisitiert zur Laufzeit nur für die Lead-Selection des Elternknotens. Dies erlaubt der Web-Dynpro-Laufzeit einen speicheroptimierten Aufbau der Context-Hierarchie.

ADD-Methoden

Die ADD-Methoden erlauben das Hinzufügen von Attributen eines Context-Knotens, Kindknoten u. ä.

ADD-Methoden

Methode

Beschreibung

ADD_ATTRIBUTE

Hinzufügen eines dynamischen Attributes. Dies entspricht in der Entwicklungsumgebung dem Kontextmenü Anlegen  ® Attribut.

Wichtig sind zum Anlegen die Strukturfelder NAME und (TYPE_NAME oder RTTI).

ADD_CHILD_NODE

Einhängen eines existierenden Knotens in den Baum. Dies ist nur sinnvoll bei einem Knoten, der vorher aus dem Baum entfernt wurde. Ansonsten verwenden Sie ADD_NEW_CHILD_NODE.

Dies entspricht in der Entwicklungsumgebung dem Kontextmenü Anlegen  ® Knoten.

ADD_NEW_CHILD_NODE

Anlegen eines Knotens und Einhängen desselben in den Baum. Der Name des Knotens muss eindeutig im Controller sein. Wenn Sie bei dem Knoten eine DDIC-Struktur angeben, brauchen Sie die einzelnen Attribute hinterher nicht mehr separat in den Knoten zu hängen, das macht das Framework selbständig.

Falls Sie diesen Knoten (Node-Info, nicht die Nodes, die daraus resultieren) später wieder löschen möchten, ist es wichtig, beim Anlegen des Knotens IS_STATIC auf false zu setzen.

In der Workbench deklarierte Knoten sind immer statisch.

ADD_NEW_MAPPED_CHILD_NODE

Ein Knoten wird angelegt, der auf einen anderen Knoten mappt. Hier sind nur Name und Mapping-Pfad relevant. Auch brauchen Sie keine Attribute anzulegen. Die Attribute vom Originalknoten werden automatisch übernommen.

Ist der Mapping-Pfad angegeben, dann handelt es sich um ein gewöhnliches Mapping. Ist der Pfad initial, dann handelt es sich um die Definition eines extern mappbaren Knotens. Siehe auch Das externe Context-Mapping. Um das Mapping zu vervollständigen, ist noch der Aufruf der Methode SET_MAPPING_COMPLETE erforderlich.

ADD_RECURSIVE_CHILD_NODE

Hinzufügen eines rekursiven Kindknotens. Dies entspricht in der Entwicklungsumgebung dem Kontext-Menü Anlegen  ® Rekursionsknoten.

SET-Methoden

Die SET-Methoden erlauben das Setzen von Attributen eines Context-Knotens, Kindknoten u. ä.

SET-Methoden

Methode

Beschreibung

SET_ATTRIBUTE_FORMAT_PROPS

Setzen spezieller Formatierungsangaben für ein Attribut

SET_ATTRIBUTE_REFERENCE_FIELD

Für Beträge und Mengen kann hier das Feld eingetragen werden, das die Währung bzw. die Mengeneinheit enthält. Es wird jedoch nur ein Feld aus dem eigenen Knoten akzeptiert.

Ist die Referenz in der ABAP-Dictionary-Struktur definiert, die der Knoten nutzt, so braucht sie nicht extra angegeben zu werden.

SET_ATTRIBUTE_REF_CALLBACK

Hiermit kann die Anwendung eine Methode deklarieren, mit der sie Element-Referenz und Attribut eines Referenzwertes für Währungen und Mengen ermitteln kann. Dies ist beispielsweise wichtig, wenn für eine Belegwährung mehrere Preiseingaben möglich sind. Die Callback-Methode muss folgende Signatur haben:

FIELD_ELEMENT    Importing  type ref to IF_WD_CONTEXT_ELEMENT

FIELD_NAME     Importing  type STRING

REFERENCE_ELEMENT   Exporting type ref to IF_WD_CONTEXT_ELEMENT

REFERENCE_FIELD_NAME   Exporting STRING

SET_ATTRIBUTE_VALUE_HELP

Die Wertehilfe kann hiermit dynamisch gesetzt werden, d.h. die Zuordnung einer Wertehilfe zu einem Context-Attribut kann dynamisch geändert werden. Sie können den Typ der Wertehilfe (ABAP-Dictionary-Suchhilfe, OVS-Wertehilfe, frei-programmierbare Wertehilfe-Component) sowie den Namen der zugeordneten Wertehilfe ändern.

SET_ATTRIBUTE_VALUE_SET

Setzen der Liste der erlaubten Werte

SET_FINALIZED

Dynamisches Setzen einer Eigenschaft, die nicht in der Entwicklungsumgebung gesetzt werden kann: Die Node-Info darf nicht mehr geändert werden, sie ist konstant. Sobald ein Knoten, der derart auf „nicht mehr änderbar“ gesetzt wurde, doch geändert wird, dann wird eine Ausnahme geworfen.

SET_MAPPING_COMPLETE

Vervollständigen der Definition eines extern mappbaren Knotens. Siehe auch ADD_NEW_MAPPED_CHILD_NODE.

Diese Methode wird für das externe Context- Mapping gebraucht. Die benutzte Component definiert, dass ein Knoten ein externes Mapping haben soll, und die aufrufende Component muss nun angeben, welcher Knoten genutzt wird. Das macht sie an dem Interface-Controller der Component-Usage und definiert den Controller und den Pfad des Originalknotens.

SET_NULLABLE

Ein Attribut oder alle Attribute können so deklariert werden, dass zwischen dem Initialwert und dem NULL-Wert unterschieden wird

REMOVE-Methoden

Die REMOVE-Methoden erlauben das Löschen von Attributen eines Context-Knotens, Kindknoten u. ä.

Hinweis

Beachten Sie, dass Sie keine Attribute löschen können, die statisch definiert wurden. Sie können nur die Attribute löschen, die zur Laufzeit angelegt wurden.

REMOVE-Methoden

Methode

Beschreibung

REMOVE_ATTRIBUTE

Ein dynamisches Attribut kann mit dieser Methode wieder gelöscht werden. Daraufhin werden alle Knoten (Laufzeitinstanzen) invalidiert, die auf diese Node-Info referenzieren.

REMOVE_CHILD_NODE

Löschen eines Unterknotens, wenn dieser als nicht-statisch deklariert ist (siehe ADD_NEW_CHILD_NODE). Statisch angelegte Knoten-Infos können nicht gelöscht werden.

REMOVE_DYNAMIC_ATTRIBUTES

Löschen aller dynamisch deklarierten Attribute. Alle Knoten, die auf dieser Node-Info basieren, werden invalidiert.

 

Ende des Inhaltsbereichs