Funktionsbausteine aus Ihrem Coding aufrufen 

Mit folgender ABAP-Anweisung können Sie einen Funktionsbaustein aus einem ABAP-Programm heraus aufrufen:

CALL FUNCTION <funktionsbaustein>

[EXPORTING f1 = a 1.... f n = a n]
[IMPORTING f1 = a 1.... f n = a n]
[CHANGING f1 = a 1.... f n = a n]
[TABLES f1 = a 1.... f n = a n]
[EXCEPTIONS e1 = r 1.... e n = r n
[ERROR_MESSAGE = rE]
[OTHERS = ro]].

Der Name des Funktionsbausteins <funktionsbaustein> wird als Literal angegeben. Die Parameter werden übergegeben, indem die Aktualparameter den Formalparametern in der Liste nach den Optionen EXPORTING , IMPORTING , CHANGING oder TABLES explizit zugewiesen werden.

Die Zuweisungen haben die Form: <Formalparameter> = <Aktualparameter>
Finden mehrere solche Zuordnungen innerhalb einer Option statt, so werden sie nacheinander durch Leerzeichen (oder mit einem Zeilenumbruch) getrennt, aufgeführt.

 

Durch die Angabe von ERROR_MESSAGE in der EXCEPTION-Liste können Sie die Ausnahmenbehandlung in Funktionsbausteinen beinflussen. Normalerweise sollten Nachrichten in Funktionsbausteinen nur über die Ausnahmebehandlung (mit Hilfe der Anweisungen MESSAGE....RAISING oder mit RAISE innerhalb des Funktionsbausteins) aufgerufen werden. Mehr dazu erfahren Sie unter Überblick über das Coding von Funktionsbausteinen

Mit ERROR_MESSAGE bewirken Sie, daß das System Nachrichten, die im Funktionsbaustein ausnahmsweise ohne diese explizite Behandlung aufgerufen werden, wie folgt behandelt:

Wenn Sie OTHERS in der EXCEPTION-Liste angeben, können Sie auch alle
Ausnahmen berücksichtigen, die nicht ausdrücklich in der Liste aufgeführt werden. Diese fungiert dann als Standardausnahme.

 

Für unterschiedliche Ausnahmen kann die gleiche Zahl r i verwendet werden, sofern eine weitere Spezifizierung der Ausnahme nicht verlangt wird.

 

Um einen Funktionsbaustein in Ihrem Coding aufzurufen, können Sie die Funktion Muster im ABAP-Editor verwenden. Führen Sie dazu folgende Arbeitsschritte durch:

  1. Stellen Sie den Cursor an die Stelle in Ihrem Coding, wo die Funktion aufgerufen werden soll.
  2. Wählen Sie die Funktion Muster.
  3. Auf dem erscheinenden Dialogfenster markieren Sie das Auswahlfeld vor CALL
  4. FUNCTION.

     

  5. Geben Sie in dem Eingabefeld den Namen des Funktionsbausteins ein.
  6. Sofern Sie den Namen nicht kennen, können Sie die Werthilfetaste zur Suche benutzen.

  7. Wählen Sie die Funktion Weiter.
  8. In Ihrem Coding wird der Funktionsbaustein mit der Schnittstelle eingefügt.

  9. Pflegen Sie die entsrechenden Parameter und behandeln Sie die Ausnahmen.
  10. In unserem Bespiel wird der der Funktionsbaustein in folgender Form wiedergegeben:

     

  11. Sofern Sie Information zu dem Funktionsbaustein benötigen, können Sie diese über die Informationsikone abrufen. Es erscheint das Dialogfenster Hilfe, auf dem Sie den Auswahlknopf Funktionsbaustein markieren und den Namen des Funktionsbausteins eintragen. Wählen Sie dann Weiter.
    Sie verzweigen in die Schnittstellendefinition des Funktionsbausteins und können von dort aus zu den anderen Elementen des Funktionsbausteins navigieren.

Die nicht als Kommentar gekennzeichneten Parameter müssen auf jeden Fall von Ihrem Programm mit Werten versorgt werden. Sie können dazu Festwerte oder Parameter benutzen.

Die Importschnittstelle ist immer als Kommentar gekennzeichnet. In Ihrem Coding sollten Sie den Stern (*) vor IMPORTING löschen und die für Sie interessanten Daten des Funktionsbausteins an Variablen übergeben.

 

Die Anweisung CALL FUNCTION kann auch mit anderen Parametern verwendet werden, wenn die Funktion in einer Verbuchungstask oder auf Remote-Maschinen ablaufen soll.

Wenn ein Funktionsbaustein in einer Verbuchungstask läuft, verarbeitet das System den Baustein asynchron. Der Aufruf wird dann nicht sofort durchgeführt. Stattdessen wartet das System bis die nächste Aktualisierung der Datenbank mit dem Befehl COMMIT WORK angestoßen wird. Einen Funktionsbaustein auf einer Remote-Maschine ablaufen zu lassen, bedeutet, daß eine Funktion eines anderen SAP-Systems oder Fremdsystems aufgerufen wird.

Weitere Informationen darüber, wie Sie Funktionsbausteine aus Ihren Programmen aufrufen, finden Sie unter Funktionsbausteine im ABAP/4-Benutzerhandbuch.