Funktionsgruppe

Aus SAP-Wiki
Zur Navigation springenZur Suche springen

Siehe Funktionsbausteine.

Siehe Transaktion SE37 (Function Builder).

Ein Funktionsbaustein ist immer Teil genau einer Funktionsgruppe, wobei eine Funktionsgruppe verschiedene Funktionsbausteine enthalten kann. Bei der Anlage eines Funktionsbausteins muss zwingend eine Funktionsgruppe zugeordnet werden.

Funktionsgruppe in Eigenschaften Funktionsbaustein

Hier gehört der Funktionsbaustein CONVERSION_EXIT_ALPHA_INPUT zur Funktionsgruppe ALPHA.

Funktionsbaustein Fgr2.jpg

Sammlung Funktionsgruppen

SAP-Funktionsgruppen und Funktionsbausteine

  • Speziell in den Funktionsgruppen von SAP sind oft eine Vielzahl von thematisch verwandten Funktionsbausteinen.
  • Es lohnt sich oft die Funktionsgruppe zu einem Funktionsbaustein in den Eigenschaften des Funktionsbausteins zu identifizieren und dann diese Funktionsgruppe in der Transaktion SE80 aufzurufen, um zu prüfen, welche anderen Funktionsbausteine sich noch in dieser Funktionsgruppe befinden.
  • Jede genutzte Funktionsgruppe hat mindestens einen Funktionsbaustein, meist mehr.

Technische Objekte in einer Funktionsgruppe

  • Eine Funktionsgruppe entspricht einem Rahmenprogramm in einem Hauptprogramm. Das Rahmenprogramm wird bei Anlage der Funktionsruppe automatisch erstellt mit dem Namen "SAPL<NameFunktionsgruppe>“.
  • Das Programm der Funktionsgruppe hat immer 2 Includes. Eines ist das Top-Include der Funktionsgruppe und ein Include, wo die Includes eingebunden sind, die einem Funktionsbaustein der Funktionsgruppe entsprechen. Auf das Top-Include, bzw. dessen Variablen können alle Funktionsgruppe der Funktionsgruppe zugreifen.
  • Jeder Funktionsbaustein in einer Funktionsgruppe entspricht einem Include in dem Programm der Funktionsgruppe

SE80 5.jpg


Hier wird die Funktionsgruppe "WMCP" aufgerufen.

Der Top-Include "LWMCPTOP" ist direkt auf der Hauptebene der Funktionsgruppe "WMCP" (Programm = SAPLWMCP) eingebunden.

Top-Include1.JPG


Die Funktionsbausteine (in diesem Fall 11) sind alle als Include im Include "LWMCPUXX" eingebunden.

Funktionsgruppe1.JPG

Transport Funktionsgruppe

Möchte man die gesamte Funktionsgruppe inklusive aller darin enthalten Funktionsbausteine und dem Top-Include transportieren, kann man dies über SE80 tun.

Man öffnet die Funktionsgruppe und klickt mit der rechten Maustaste auf die Funktionsgruppe

  1. Menü: "Weitere Funktionen - Transporteintrag schreiben"
  2. Zuweisung zu einem Transportauftrag
  3. Transport des Transportauftrags

Globale Variablen und Typen im Top-Include der Funktionsgruppe

  • Jede Funktionsgruppe hat ein zentrales Top-Include, was von allen Funktionsbausteinen einer Funktionsgruppe gemeinsam genutzt zu werden kann.
  • Werden z. B. mehrere Funktionsbausteine einer Funktionsgruppe von einem Report hintereinander aufgerufen, so können diese über das gemeinsame Top-Include Daten teilen, bzw. weitergeben.
  • Transparenter ist es wenn diese gemeinsamen Daten über die Schnittstelle der Funktionsbausteine an den Aufrufer der Funktionsbausteine übergeben und so das Rahmenprogramm/Report die Daten verwaltet und nicht das Top-Include der Funktionsgruppe.
  • Führt man in einem Programm mehrere Funktionsbausteine einer Funktionsgruppe aus, so sind die globalen Variablen in der Funktionsgruppe nach dem Aufruf des ersten Funktionsbausteins immer noch gefüllt. Das muss man sich bewußt sein, dass möglicherweise der zweite Funktionsbaustein andere Ergebnisse bringen kann aufgrund der bereits gefüllten globalen Variablen, auf die auch der zweite Funktionsbaustein zugreift. In der Praxis gibt es aufgrund der gemeinsamen globalen Variablen der Funktionsgruppe aber extrem selten zu Problemen. Aber diese mögliche Problematik sollte man wissen und es bedenken, wenn man mehrere Funktionsbausteine einer Funktionsgruppe in einem Programm ausführt.
  • Sinnvoll und performant ist es, wenn Daten über das Top-Include gepuffert werden, die nicht mehrfach von der Datenbank gelesen werden müssen. Wird ein Funktionsbaustein mehrfach in einem Loop vom Rahmenprogram aufgerufen, so wird beim ersten Aufruf des Funktionsbausteins von der Datenbank gelesen dann performanter, und wennn diese Lesedaten dann auf dem Top-Include im schnellen RAM abgelegt werden, sind weitere Aufrufe des Funktionsbausteins performanter als der erste Aufruf des Funktionsbausteins.
  • Die Typen, die im Top-Include definiert werden, können verwendet werden, um Variablen im Top-Include zu typisieren und für die Typisierung von Parametern von Form-Routinen, die in Funktionsbausteinen der Funktionsgruppe verwendet werden. Die Typen können allerdings nicht verwendet werden, um Parameter der Funktionsbausteine zu typisieren. Die müssen auf Data-Dictionary-Objekte oder Typen in Type-Pools typisieren.

Funktionsgruppe in SE80

  • Funktionsbausteine lassen sich in der Transaktion SE80 nicht direkt anzeigen, sondern nur über die Eingabe der Funktionsgruppe. Darüber lassen sich alle Funktionsbausteine anzeigen, die unter einer Funktionsgruppe gespeichert sind.

Web-Links

Literatur