Ansicht
Dokumentation

ABENFUNCTION_PARAMETERS - FUNCTION PARAMETERS

ABENFUNCTION_PARAMETERS - FUNCTION PARAMETERS

ROGBILLS - Synchronize billing plans   CPI1466 during Backup  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Eigenschaften der Schnittstellenparameter

Bei der Definition eines Schnittstellenparameters p1, p2; ... im Function Builder werden dessen Eigenschaften festgelegt, die sich in der Syntax von parameters und table_parameters widerspiegeln.

... ${ VALUE(p1) $| REFERENCE(p1) $}
         $[ ${TYPE $[REF TO$] type$} $| like_structure
           $[OPTIONAL$|${DEFAULT def1$}$] $]
    ${ VALUE(p2) $| REFERENCE(p2) $}
         $[ ${TYPE $[REF TO$] type$} $| like_structure
           $[OPTIONAL$|${DEFAULT def2$}$] $]
    ...

Syntax und Semantik von VALUE, TYPE, OPTIONAL und DEFAULT entsprechen im Wesentlichen der Definition von Methodenschnittstellen mit $[CLASS-$]METHODS. Weiterhin gibt es noch eine obsolete Möglichkeit like_structure, um Schnittstellenparameter mit LIKE oder STRUCTURE zu typisieren.

Art der Parameterübergabe

Es gibt zwei Arten der Parameterübergabe, Referenzübergabe und Wertübergabe. Die Wertübergabe wird im Function Builder über die Auswahl von Wertübergabe ausgewählt und unterscheidet sich in obiger Syntax durch die Angabe von VALUE( ) von der Referenzübergabe, die durch REFERENCE( ) gekennzeichnet ist. Wenn nur ein Name p1 p2 ... angegeben wird, wird der Parameter standardmäßig per Referenz übergeben.

  • Bei der Referenzübergabe zeigt der Formalparameter direkt auf den Aktualparameter, sodass sich Änderungen des Formalparameters unmittelbar auf den Aktualparameter auswirken.
  • Bei der Wertübergabe wird der Formalparameter beim Aufruf des Funktionsbausteins als Kopie des Aktualparameters (bei IMPORTING- und CHANGING-Parametern) bzw. initial (bei EXPORTING-Parametern) auf dem Stack angelegt, und bei CHANGING und EXPORTING-Parametern wird der Formalparameter bei Rückkehr aus dem Funktionsbaustein auf den Aktualparameter kopiert.

Für die verschiedenen Parameterarten ist folgendes zu beachten:

  • Bei IMPORTING-, EXPORTING- und CHANGING-Parametern sind Referenz- und Wertübergabe möglich, bei TABLES-Parametern nur Referenzübergabe.
  • Per Referenz übergebene IMPORTING-Parameter dürfen im Funktionsbaustein nicht überschrieben werden.
  • Ein per Referenz übergebener EXPORTING-Parameter verhält sich wie ein CHANGING-Parameter, d.h. per Referenz übergebene EXPORTING-Parameter werden bei Aufruf des Funktionsbausteins nicht initialisiert. Deshalb sollte vor dem ersten Schreibzugriff kein Lesezugriff auf diese Parameter erfolgen. Weiterhin ist Vorsicht geboten, wenn Inhalt an solche Parameter hinzugefügt wird, wie z.B. beim Einfügen von Zeilen in interne Tabellen.

Hinweis

Ob ein per Referenz übergebener Parameter mit oder ohne REFERENCE( ) angezeigt wird, liegt am Zeitpunkt der letzten Bearbeitung des Funktionsbausteins. REFERENCE( ) wird für Funktionsbausteine angezeigt, die ab Release 7.31 geändert wurden.

Typisierung der Schnittstellenparameter

Die Parameterschnittstelle eines Funktionsbausteins ist systemweit öffentlich. Die Typisierung der Schnittstellenparameter kann deshalb nur mit Bezug auf Datentypen aus dem ABAP Dictionary oder aus dem öffentlichen Sichtbarkeitsbereich globaler Klassen erfolgen. Schnittstellenparameter können durch TYPE, TYPE REF TO oder LIKE typisiert werden.

Die Typisierung mit TYPE $[REF TO$] ist die einzige empfohlene Typisierung für Schnittstellenparameter von Funktionsbausteinen. Sie findet statt, wenn im Function Builder TYPE oder TYPE REF TO verwendet wird. Hinter TYPE kann bei IMPORTING-, EXPORTING- und CHANGING-Parametern ein beliebiger eingebauter ABAP-Typ (vollständig oder generisch) oder ein beliebiger Datentyp aus dem ABAP Dictionary oder aus dem öffentlichen Sichtbarkeitsbereich einer globalen Klasse angegeben werden. Hinter TYPE REF TO kann der generische Datentyp data, ein nicht-generischer Datentyp oder ein Objekttyp angegeben werden und der Schnittstellenparameter wird als Referenzvariable typisiert. Die Überprüfung der Typisierung erfolgt wie bei Methoden.

Hinweis

Ohne explizite Typisierung wird ein Formalparameter implizit mit dem vollständig generischen Typ any typisiert.

Optionale Parameter

IMPORTING-, CHANGING- und TABLES-Parameter können über die Verwendung von Optional im Function Builder optional gemacht werden. EXPORTING-Parameter sind immer optional. IMPORTING- und CHANGING-Parametern kann ein Ersatzparameter (Vorschlagswert im Function Builder) zugeordnet werden. In obiger Syntax drückt sich dies durch die Zusätze OPTIONAL oder DEFAULT aus. Für einen optionalen Parameter muss beim Aufruf des Funktionsbausteins kein Aktualparameter angegeben werden. Während ein Formalparameter mit dem Zusatz OPTIONAL dann typgerecht initialisiert wird, übernimmt ein Formalparameter mit dem Zusatz DEFAULT Wert und Typ des Ersatzparameters def1 def2 ....

Wenn für einen generisch typisierten Formalparameter mit dem Zusatz OPTIONAL beim Aufruf kein Aktualparameter angegeben ist, wird der Typ des Formalparameters nach festen Regeln vervollständigt.

Hinweis

Innerhalb eines Funktionsbausteins kann mit dem Prädikatausdruck IS SUPPLIED überprüft werden, ob einem optionalen Formalparameter beim Aufruf ein Aktualparameter zugeordnet wurde.






Vendor Master (General Section)   ROGBILLS - Synchronize billing plans  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 8491 Date: 20240523 Time: 162342     sap01-206 ( 120 ms )