Funktionsbausteine

Aus SAP-Wiki
Zur Navigation springenZur Suche springen

Funktionsbausteine werden heute häufig durch Klassen und Methoden ersetzt. Während Jahrzehnten sind bis zum heutigen Tag jedoch ca. 400.000 Funktionsbausteine von SAP geschrieben wurden, die für extrem viele Anwendungen hilfreich sind.

Transaktion SE37 (Function Builder)

Sammlung Funktionsbausteine

Liste Funktionsgruppen

Suche nach Funktionsbausteinen

Funktionsgruppe

Muster Funktionsbausteine

RFC-Funktionsbausteine

  • RFC-Funktionsbausteine
  • Hier kann ein Funktionsbaustein in einem Fremdsystem aufgerufen werden oder auch ein Funktionsbaustein im gleichen System in einem neuen Task oder auch im Hintergrund ausgeführt werden.

Message Raising, Exceptions und SY-Messagefelder

Editiersperre bei Funktionsbausteinen (Programmen) entfernen

Typkonvertierung von Funktionsbausteinparametern mit CONV

  • Eine kleine, aber feine Funktion ist der Konvertierungsoperator CONV, siehe SAP-Hilfe.
  • Ein Funktionsbaustein ist normal sehr empfindlich, wenn der Übergabeparameter eines Funktionsbausteins nicht den gleichen Typ hat wie der entsprechende Parameter im Funktionsbaustein. Man bekommt dann einen Laufzeitfehler mit einem Konvertierungshinweis. Gewöhnlich definiert man dann eine Hilfsvariable vom gleichen Typ/Datenelement wie der Parameter im Funktionsbaustein und weist dieser Hilfsvariable die Variable zu, die man dann dem Funktionsbaustein übergeben kann. Der Konvertierungsoperation CONV kann diese Hilfsvariable überflüssig machen.
  • Hier wird die Verwendung des Konvertierungsoperators am Funktionsbaustein "CS_BOM_EXPLOSION" gezeigt, der für die Stücklistenauflösung genutzt wird. Hier wurde bei direkter Übergabe der numerischen Variable IS_ITAB-MENGE tatsächlich ein Laufzeitfehler erzeugt.
CALL FUNCTION 'CS_BOM_EXPLOSION'
  EXPORTING
    capid                 = 'PP01'
    datuv                 = sy-datum
    mktls                 = 'X'
    mtnrv                 = is_itab-matnr
    emeng                 = conv BASMN( is_itab-menge )
    ...

Der Übergabeparameter IS_ITAB-MENGE hat hier den Typ N Länge 5. Der Parameter EMENG im Funktionsbaustein typisiert auf das Datenelement BASMN, was die Domäne MENG13 (Datentyp = QUAN, Länge 13, 3 Dezimalstellen) hat. Durch den Konvertierungsoperator kann man diese Typkonvertierung gleich im Funktionsbausteinaufruf machen und es wird keine Hilfsvariable mehr benötigt.

Funktionsbaustein FUNCTION_IMPORT_INTERFACE

Konvertierungsroutinen

Form-Routinen in Funktionsbausteinen

Web-Links

Literatur