Funktionsbausteine sind Prozeduren, die nur innerhalb
spezieller ABAP-Programme, den so genannten
Funktionsgruppen, definiert, aber aus allen ABAP-Programmen aufgerufen werden
können. Funktionsgruppen sind Behälter für thematisch zusammengehörige
Funktionsbausteine. Das Anlegen von Funktionsgruppen und von
Funktionsbausteinen erfolgt mit dem Werkzeug
Function Builder
der ABAP Workbench.
Funktionsbausteine dienen der Kapselung und Wiederverwendbarkeit von globaler Funktionalität im SAP-System. Sie werden in einer zentralen Funktionsbibliothek verwaltet. Das SAP-System enthält zahlreiche vordefinierte Funktionsbausteine, die aus jedem ABAP-Programm aufgerufen werden können. Weiterhin spielen Funktionsbausteine eine wichtige Rolle bei der Verbuchung und bei der Interaktion zwischen verschiedenen SAP-Systemen oder zwischen SAP-Systemen und Fremdsystemen über Remote Communications.
Im Unterschied zu Unterprogrammen erfolgt die Definition
der Schnittstelle bei Funktionsbausteinen nicht im Programmtext, sondern mit
dem Werkzeug
Function Builder.
Die eigentliche ABAP-Schnittstellendefinition
bleibt dem Programmierer dabei weitgehend verborgen. Die Eingabeparameter von
Funktionsbausteinen können optional sein und mit Vorgabewerten versehen
werden. Weiterhin unterstützen Funktionsbausteine eine Ausnahmebehandlung, die
es erlaubt gezielt Fehler während der Ausführung abzufangen.
Funktionsbausteine können mit dem Werkzeug
Function Builder
auch eigenständig getestet werden, ohne dass dafür ein eigener Aufruf
programmiert werden muss.
Das Werkzeug
Function Builder
beinhaltet ein Freigabeverfahren für Funktionsbausteine, das sicherstellt,
dass freigegebene Funktionsbausteine nicht mehr inkompatibel geändert werden.
Dies bezieht sich insbesondere auf die Schnittstelle. Ein Programm, das einen
freigegebenen Funktionsbaustein verwendet bleibt immer lauffähig.