Was ist eine Transaktion in SAP ERP?

Transaktionen bilden in SAP ERP bzw. SAP S/4HANA eine elementare Rolle. Die wichtigsten ABAP-Programme werden über Transaktionen aufgerufen. Dabei kennen SAP-Benutzer die gängigsten Transaktionscodes sogar auswendig. Beispiele hierfür sind MIRO, FB60, F110, ME21N, VA01, SU01 oder PFCG.

Ich möchte Dir in diesem Artikel den Begriff Transaktion im SAP-System näher erläutern. Zudem hinaus zeige ich Dir, welche unterschiedlichen Arten von Transaktionen es gibt und wie Du einfach und schnell eine eigene Transaktion erstellen kannst.

Was ist eine Transaktion in SAP ERP?

Eine Transaktion ist ein Programm im SAP-System. Jede Transaktion besitzt einen Transaktionscode, den man im Kommandofeld in der SAP GUI eingeben kann, um die Transaktion aufzurufen.

Transaktionscode im Kommandofeld eingeben

Neben dem Transaktionscode kann man eine Transaktion über das SAP Easy Access Menü oder einem anderen Bereichsmenü aufrufen. Im Laufe der Zeit lernt somit jeder SAP-Anwender die wichtigsten Transaktionen kennen und kann die Transaktionen so schnell aufrufen.

Häufig werden im alltäglichen Sprachgebrauch die Begriffe Transaktionscode und Transaktion synonym verwendet. Das sind sie jedoch nicht. Ein Transaktionscode ist die ID einer Transaktion.

Eine Transaktion gilt als Repository-Objekt und kann in der Tabelle TADIR mit dem Objekttyp TRAN gefunden werden. Die SAP-Tabelle TSTC enthält dabei ausschließlich die Transaktionen im SAP-System. Die Tabelle TSTCT zeigt Dir die Transaktionscode-Texte an. Möchte man somit nach einzelnen Transaktionen suchen, kann man im Data Browser (Transaktion SE16N) nach geeigneten Transaktionen suchen.

In der Transaktion SE93 werden die Transaktionscodes gepflegt. Hier ist es möglich, Transaktionscodes anzuzeigen, zu ändern und anzulegen. Zudem hinaus kann man die F4-Hilfe des Eingabefeldes auch dazu nutzen, nach Transaktionscodes im SAP-System zu suchen.

Transaktion SE93 für Transaktionspflege

Insgesamt gibt es fünf verschiedene Arten von Transaktionen:

  • Dialogtransaktion (Programm und Dynpro)
  • Reporttransaktion (Programm und Selektionsbild)
  • OO-Transaktion (Methode einer Klasse)
  • Variantentransaktion (Transaktion mit Variante)
  • Parametertransaktion (Transaktion mit Parametern)

Dialogtransaktion

In einer Dialogtransaktion wird die Abfolge von Dynpros festgelegt, die zu einem ABAP-Programm gehört. Gibt man somit den Transaktionscode im Kommandofeld ein, wird das ABAP-Programm mit der angegebenen Dynpronummer aufgerufen.

Eine Dialogtransaktion ist somit immer dann nützlich und empfehlenswert, wenn ein bestimmtes Dynpro aufgerufen werden soll.

Ruft man die Transaktion MIRO auf, wird das Programm SAPLMR1M mit dem Dynpro 6000 aufgerufen. Die Transaktion MIRO ist für die Erfassung von Eingangsrechnungen relevant.

Dialogtransaktion MIRO in SE93

Reporttransaktion

Mit einer Reporttransaktion wird ein ABAP-Programm mit Selektionsbild (Selection-Screen) aufgerufen. Hier können auch vordefinierte Varianten eingebunden werden. Möchte man eine Variante beim Transaktionstart ausführen lassen, gibt man diese bei „Start mit Variante“ mit an.

Eine Reporttransaktion findet sich sehr häufig in Kundentransaktionen (Z-Transaktionen) wieder. Denn dadurch bietet man den SAP-Anwendern eine einfache Möglichkeit, ABAP-Reports mit Selektionsbild aufzurufen. Viele SAP-Anwender haben für die Programmausführung (Transaktion SA38) keine Berechtigung.

Mit dem Transaktionscode RSUSRAUTH startet man das gleichnamige Programm mit dem Selektionsbild 1000. Darüber kann man Einzelrollen mit Berechtigungsdaten suchen.

Reporttransaktion RSUSRAUTH in SE93

OO-Transaktion

Eine OO-Transaktion ruft eine Methode einer Klasse auf. Es handelt sich dabei um eine objektorientierte Transaktion.

Durch die Checkbox „lokal in Programm“ kann man ein ABAP-Programm angeben, das ausgeführt wird, wenn man die Transaktion aufruft. Die Klasse und Methode müssen dabei lokal im angegebenen ABAP-Report definiert und implementiert sein.

Mit der OO-Transaktion DEMO_OO_METHOD wird das Programm DEMO_OO_TRANSACTION aufgerufen. Darin sind die Klasse DEMO_CLASS und Methode INSTANCE_METHOD definiert und implementiert, die ausgeführt werden.

OO-Transaktion in SE93

Variantentransaktion

Variantentransaktionen werden ebenfalls in der Transaktion SE93 gepflegt. Es handelt sich dabei um Transaktionen mit einer Variante. Dabei ist es möglich, Felder einer Transaktion vorzubelegen, Eigenschaften von Feldern zu definieren oder gar ganze Bilder auszublenden.

In der Transaktion SHD0 kann man Transaktionsviaranten definieren.

Über den Funktionsbaustein RS_HDSYS_GET_TC_VARIANT kann man den Namen der Transaktionsvariante ermitteln.

Mit der Checkbox „mandantenunabhängig“ kann man einstellen, ob die Variantentransaktion mandantenunabhängig oder mandantenabhängig ist. Ist die Checkbox gesetzt, ist die Transaktion mandantenunabhängig. Ist sie nicht gesetzt, ist sie mandantenabhängig. Wie der Name es bereits sagt, existiert eine mandantenabhängige Variantentransaktion nur in dem Mandanten, indem sie angelegt wurde. Eine mandantenunabhängige Transaktion ist im gesamten System vorhanden.

In diesem Beispiel habe ich eine Variantentransaktion angelegt, die die Transaktion VA01 mit der Transaktionvariante VA01_KA aufruft. Mit dieser Transaktion kann man einen Verkaufsbeleg anlegen. Die Transaktionsvariante VA01_KA legt in diesem Beispiel die Auftragsart „KA“ vor.

Variantentransaktion VA01 mit Auftragsart KA

Parametertransaktion

In einer Parametertransaktion kann man die Dynprofelder des Einstiegsbildes einer Transaktion mit Werten vorbelegen. Dabei kann das Einstiegsbild einer Parametertransaktion ausgeblendet werden, wenn die benötigten Eingaben als Parameter hinterlegt werden.

Häufig werden Parametertransaktionen eingesetzt, um die Transaktionen SM30 (Tabellensicht-Pflege) und SM34 (Viewcluster-Pflege) mit Vorschlagswerten aufzurufen. Denn oft haben SAP-Benutzer für diese beiden Transaktionen keine Berechtigungen.

Im Artikel „Pflege-View in SAP ERP“ ist im Detail beschrieben, wie Du eine eigene Transaktion für die Pflege-View erstellen kannst. Die Dynprofelder VIEWNAME und SHOW bzw. UPDATE werden hierfür in den Vorschlagswerten verwendet. Mit der F1-Hilfe im Eingabefeld einer Transaktion bzw. eines Reports kannst Du eigenständige die Dynprofelder ermitteln und in einer Reporttransaktionen verwenden bzw. vorbelegen.

Mit dem Transaktionscode /UI2/FLP kann man bspw. das SAP Fiori Launchpad im Standardbrowser aus der SAP GUI heraus öffnen. Hierbei wird die Transaktion START_REPORT mit den notwendigen Werten im Report gestartet.

Parametertransaktion /UI2/FLP in SE93

Aufbau einer Transaktion

Normalerweise startet eine Transaktion mit einem oder mehren Buchstaben und einer Zahl. Beispiel: MM02. Das hat eine bestimmte Bedeutung. Die Zahl hinter den Buchstaben deutet darauf an, ob es um eine Transaktion zum Erstellen, Ändern oder Anzeigen handelt.

ZahlBedeutung
01Erstellen
02Ändern
03Anzeigen

So kann man mit der Transaktion MM01 ein Material anlegen, mit MM02 ein Material ändern und mit MM03 ein Material anzeigen.

Der Präfix zeigt, in welchem SAP-Modul und -Bereich diese Transaktion verwendet wird.

PräfixBedeutung
FFinanzen
FBGemeinsame Finanztransaktionen
FKFinanzieller Kreditorenstamm
FSLedger-Konten
MMaterialwirtschaft
MBWareneingang – Bestandsführung
MEBeschaffung
ME1Bestellanforderung
ME2Bestellung
MKMaterial-Lieferanten-Stamm
MMMaterialstamm
MR / MMRechnungsprüfung
VVerkauf und Vertrieb
VAKundenaufträge
VFRechnung
XDZentraler Kundenstamm
XKZentraler Lieferantenstamm

Dabei handelt es sich natürlich nur um eine grobe Faustregel. In den meisten Fällen wurden die Transktionscodes nach diesem Schema erstellt. Das SAP-System in den letzten Jahren enorm gewachsen und man hat sich deshalb leider nicht immer daran gehalten. In manchen Fällen musste man deshalb von diesem Schema abweichen.

Transaktion erstellen

Eine Transaktion kannst Du in der Transaktionspflege (Transaktion SE93) erstellen. Gibst Du den Transaktionscode SE93 im Kommandofeld ein, erscheint ein Fenster mit einem Eingabefeld und drei Buttons. Bei der Erstellung einer Transaktion muss man somit zuerst den Transaktionscode angeben. Dieser muss im Kundennamensraum liegen oder mit Y bzw. Z beginnen.

Nach der Eingabe des Transaktionscodes und dem Klick auf den Anlegen-Button, erscheint ein Fenster, indem man die Transaktionsattribute angibt. Hierzu gehören der Kurztext und die Art der Transaktion. Zudem hinaus hat man hier die Möglichkeit, den Transaktionscode noch einmal zu ändern.

Transaktion anlegen in SE93

Nachdem man die Attribute angegeben hat und auf den Bestätigungsbutton geklickt hat, gibt man abhängig von der Transaktionsart die notwendigen Attribute wie z.B. den ABAP-Report an. Nach dem Speichern steht die Transaktion im SAP-System zur Verfügung und kann verwendet werden. Möchte man die Transaktion auch in den anderen Systemen (Test- und Produktivsystem) verwenden, transportiert man dafür den Workbench-Transport.

Übersicht über alle Transaktionen im SAP-System

In SAP ERP gibt es derzeit mehr als 100.000 Transaktionen. Natürlich ist die Anzahl der im System vorhandenen Transaktionen sehr von den installierten SAP-Modulen abhängig. Eine Liste alle SAP-Transaktionen kann man also sehr einfach und schnell über den Data Browser in der Transaktion SE16N mit der Tabelle TSTC herausfinden.

In SAP ERP gibt es derzeit mehr als 144.000 Transaktionen. Natürlich ist die Anzahl der im System vorhandenen Transaktionen sehr von den installierten SAP-Modulen abhängig. Eine Liste alle SAP-Transaktionen kann man also sehr einfach und schnell über den Data Browser in der Transaktion SE16N mit der Tabelle TSTC herausfinden.

Dabei gibt es mehrere Möglichkeiten, wie man eine Liste aller SAP-Transaktionen anzeigen lassen kann, auch wenn ein SAP-Benutzer keine Berechtigungen für die Transaktionen SE16, SE16N, SE16H oder SE93 hat. Im Artikel „Liste aller SAP-Transaktionen“ sind die einzelnen Möglichkeiten im Detail erläutert.

Weitere nützliche Artikel

Auf ERP UP gibt es noch zahlreiche weitere Artikel rund um das Thema Transaktionen. Hierzu kannst Du einfach nach dem Schlüsselwort „Transaktion“ suchen oder eines der folgenden Artikel aufrufen:

Über den Autor

Andreas Geiger

Mein Name ist Andreas Geiger und ich bin ein erfahrener Senior SAP Berater. Mit mehr als 10 Jahren Berufserfahrung habe ich mehrere SAP-Projekte erfolgreich abgeschlossen und umfangreiche Kenntnisse in verschiedenen Bereichen wie SAP FI, SAP MM und ABAP erworben. Nun möchte ich mein Wissen mit Dir teilen, um Dir einen Mehrwert zu bieten und Dich bei Deiner täglichen Arbeit mit dem SAP-System zu unterstützen.

Mehr zu ERP UP

ERP UP unterstützen

Wenn Du mit ERP UP zufrieden bist, kannst Du mich gerne unterstützen. Dabei gibt es unzählige Möglichkeiten, wie Du mich einfach und schnell unterstützen kannst. Wie Du genau ERP UP unterstützen kannst, erfährst Du hier. Vielen Dank.

Schreibe einen Kommentar