!--a11y-->
IF_WD_CONTEXT_NODE_INFO 
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)
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. |
GET_ATTRIBUTE_NAMES |
Diese Methode liefert die Namen aller Attribute zurück als STRING_TABLE.
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). |

Die einzelne Abfrage (im Singular) geschieht über den jeweiligen Namen. Die Mehrfach-Abfrage (im Plural) geschieht über eine Tabelle.
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. |
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. |
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 |
Die REMOVE-Methoden erlauben das Löschen von Attributen eines Context-Knotens, Kindknoten u. ä.

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. |