Funktionsbaustein

From Sapwiki

Jump to: navigation, search

Funktionsbausteine sind Unterprogramme, die nicht selbständig laufen können. Sie sind zentral in der Funktionsbibliothek des SAP-Systems gespeichert.

Sie werden aus anderen Programmen über eine definierte Schnittstelle aufgerufen und erledigen Aufgaben für ein bestimmtes Thema. Funktionsbausteine werden in Funktionsgruppen zusammengefasst. Die Funktionsgruppe ist gleichzeitig auch ein Programm.

Zur Übersicht über die Funktionsbausteine in einzelnen Modulen siehe Funktionsbausteine.

Inhaltsverzeichnis

Beispiele

Ein Funktionsbaustein kann beispielsweise die Speicherung oder das Lesen von Daten kapseln. Oft werden auch Berechnungen oder Prüfungen, die in vielen Programmen gebraucht werden in Funktionsbausteine implementiert.

Vorteile

  • Ein Funktionsbaustein ist für sich ein überschaubarer Zusammenhang, der über die Transaktion SE37 direkt testbar ist.
  • Funktionsbausteine können beliebig in vielen Programmen verwendet werden und damit ist bei Änderungen nur eine zentrale Stelle zu bearbeiten
  • Funktionsbausteine können via RFC von anderen Systemen aufgerufen werden
  • Funktionsbausteine haben eine klar definierte Übergabeschnittstelle
  • Funktionsbausteine können über die Verbuchung abgearbeitet werden.

Schnittstelle

Die Schnittstelle besteht aus folgenden Elementen:

  • Import-Parameter: Eingabedaten
  • Export-Parameter: Ausgabedaten
  • Changing-Parameter: Daten die verändert werden
  • Tabellen-Parameter: interne Tabellen, die veränderbar sind
  • Ausnahmen (Exceptions): Fehlermeldungen

Aufruf aus Programmen

Funktionsbausteine können aus allen Programmen aufgerufen werden. Dies erfolgt über den Befehl CALL FUNCTION. Dabei werden die Parameter aus der Schnittstelle lokalen Variablen oder Tabellen zugeordnet. Die Import-Parameter werden in dem CALL FUNCTION-Aufruf allerdings als EXPORTING beschrieben. Dies liegt daran, dass der Funktionsbaustein die Daten importiert, der aufrufende ABAP jedoch exportiert. Gleiches gilt umgekehrt für Export-Parameter. Ausnahmen werden als bestimmte definierbare [wiki:Systemvariablen SY-SUBRC-Werte] zurückgeliefert, die dann zu verschiedenen Handling im Programm führen können.

Um den Aufruf über CALL FUNCTION einfach zu gestallten, gibt es in der SE38 und SE80 eine Funktion Anweisungsmuster-Einfügen. Hier kann der Name des Funktionsbausteins eingegeben werden und das System generiert selbstätig die Schnittstellenparameter in den Code.

Aufruf von anderen Systemen

Für den Aufruf von Funktionsbausteinen von anderen Systemen muss der Baustein RFC-fähig sein. Innerhalb von SAP kann man entfernte Funktionsbausteine mithilfe der Anweisung CALL FUNCTION...DESTINATION aufrufen. Der Parameter DESTINATION teilt dem SAP-System mit, daß der gerufene Funktionsbaustein in einem anderen System läuft als der Aufrufer. Die RFC-Kommunikation mit dem entfernten System findet als Teil der CALL FUNCTION-Anweisung statt.

Für den Aufruf von Funktionsbausteinen aus anderen Programmiersprachen stehen verschiedene Connectoren zur Verfügung:

  • SAP Java Connector
  • SAP .NET Connector
  • SAP DCOM Connector
  • RFC Library
  • SOAP Processor

Diese Connectoren lassen sich für SAP Kunden unter http://service.sap.com/connectors herunterladen. Basierend auf der RFC Library gibt es auch Connectoren für Perl und PHP:

Technisches

Die Funktionsbausteine sind in Tabelle TFDIR gespeichert, die Bezeichnungen in TFTIT, ihre Parameter in FUPARAREF.

Persönliche Werkzeuge