Referenzübergabe bei Attributen
Die Referenzübergabe ist immer dann sinnvoll, wenn das BSP-Element Zugriff auf größere Datenmengen der BSP-Seite erhalten soll und die Übergabe "by-value" zu kostspielig wäre. Dies ist zum Beispiel beim Zugriff auf interne Tabellen der Fall.
Darüber hinaus kann die Referenzübergabe auch verwendet werden, wenn das BSP-Element den Inhalt einer in der BSP-Seite definierten Variablen ändern soll.
Beachten Sie, daß in diesem Fall für das betreffende Attribut zusätzlich noch die Typisierungsart
Beispiel
Das BSP-Element soll den Inhalt einer übergebenen Variablen um 1 erhöhen. Für die Übergabe des Wertes wird das Attribut
value benötigt. Ein Aufruf dieses Increment-Elements in der BSP-Seite könnte dann etwa so aussehen:<xyz:increment value = "<%=my_var%>"/>
Die Variable
my_var sei in der BSP-Applikation als Seitenattribut von Typ I deklariert.Das Attribut
value wurde in der Attribut-Anzeige sowohl das Kennzeichen Dynamischer Wert erlaubt aktiviert als auch TYPE REF TO als Typisierungsart ausgewählt.Um diese Referenzübergabe am Anfang des Element-Aufrufs zu realisieren ist es erforderlich, die Methode DO_AT_BEGINNING zu überschreiben:
method IF_BSP_ELEMENT~DO_AT_BEGINNING. ... add 1 to value->*. rc = CO_ELEMENT_DONE. endmethod. |
Beachten Sie, daß in diesem Beispiel innerhalb eines BSP-Elements eine Referenz auf Daten gegeben ist. Um auf Daten zuzugreifen, muß in diesem Fall im ABAP der Referenz-Operator
->* verwendet werden.