Pioneering the next step.
SAP Gold Partner

SAP-Wiki

User-Exit

Ein User-Exit ist eine ältere, prozedurale Erweiterungstechnik von SAP, mit der Kunden über feste, von SAP vorgesehene Einsprungpunkte eigene Logik in den Standard einbauen, ohne ihn direkt zu verändern. Gepflegt wird ein User-Exit über die Transaktionen SMOD und CMOD. Für neue Entwicklungen gilt die Technik als abgelöst, in gewachsenen SAP-ECC-Systemen ist sie weiterhin verbreitet.
Definition

Was ist User-Exit?

User-Exits entstanden mit SAP R/3 als erste standardisierte Möglichkeit, den SAP-Standard zu erweitern, ohne ihn im eigentlichen Sinn zu modifizieren. SAP sah dafür an bestimmten Programmstellen leere Includes oder Bildschirmfelder vor, die Kunden über ein Erweiterungsprojekt mit eigener Logik füllen konnten. Die Pflege läuft über die Transaktionen SMOD, für die Übersicht der SAP-Erweiterungen, und CMOD, für das eigene Projekt.

Relevant ist der User-Exit heute vor allem in gewachsenen SAP-ECC-Systemen, in denen alte Erweiterungen dieser Art seit Jahren aktiv sind. Für Neuentwicklungen spielt die Technik praktisch keine Rolle mehr, seit die objektorientierte BAdI sie als SAP-Standard abgelöst hat. Wer heute noch auf User-Exits stößt, tut das meist bei der Analyse eines historisch gewachsenen Custom Codes.

Im Ablauf wird zunächst über SMOD nach einer passenden Erweiterung gesucht, dann in CMOD ein Erweiterungsprojekt angelegt und die vorgesehenen Includes mit eigenem Code gefüllt. Eine wichtige Einschränkung: Pro Mandant ist meist nur ein aktives Projekt zulässig. Bei einer Migration nach SAP S/4HANA müssen bestehende User-Exits identifiziert und in aller Regel durch BAdIs oder ein modernes Extensibility-Konzept ersetzt werden, ein Aufwand, der in Projektplänen oft unterschätzt wird.

Funktionen

Wie funktioniert User-Exit?

SAP liefert an festgelegten Stellen im Standardcode Aufrufe an leere Includes, sogenannte Function-Exits, oder an Bildschirmfelder, Screen- und Field-Exits. Diese Leerstellen werden über ein Erweiterungsprojekt in der Transaktion CMOD mit eigenem ABAP-Code gefüllt, während der umgebende SAP-Standard selbst unverändert bleibt. Anders als bei einer echten Modifikation entfällt dadurch der klassische Modifikationsabgleich für diese Stelle.

Im Zusammenspiel mit der Systemlandschaft ist je Erweiterung meist nur ein aktives Projekt pro Mandant zulässig, ein deutlicher Unterschied zur BAdI mit mehreren, über Filterwerte gesteuerten Implementierungen. Das macht User-Exits unflexibel, sobald mehrere Fachbereiche oder Werke unterschiedliche Anforderungen an dieselbe Stelle im Standard stellen.

Vorteile
Seit Jahrzehnten stabil

In gewachsenen SAP-ECC-Systemen seit Jahren im Einsatz und entsprechend gut bekannt bei erfahrenen Entwicklern.

Modifikationsfrei im Kern

Der SAP-Standardcode bleibt unangetastet, nur die von SAP vorgesehenen Leerstellen werden mit eigener Logik gefüllt.

Einfache Struktur

Für kleine, einzelne Anpassungen ohne komplexe Filterlogik bleibt die Technik schnell nachvollziehbar.

Ohne Zusatzwerkzeug nutzbar

SMOD und CMOD gehören zum SAP-Basis-Werkzeugkasten, es braucht keine zusätzliche Lizenz oder externe Erweiterungstechnik.

Grenzen
Alttechnik ohne Zukunft

Für Neuentwicklungen längst durch die BAdI abgelöst, im SAP S/4HANA-Umfeld gilt der User-Exit nicht mehr als zeitgemäßer Ansatz.

Nur eine Implementierung pro Mandant

Parallele oder gefilterte Anforderungen mehrerer Fachbereiche lassen sich damit kaum sauber abbilden.

Migrationsrisiko bei Systemwechsel

Bei einer Konvertierung nach SAP S/4HANA müssen bestehende User-Exits analysiert und meist abgelöst werden, ein Aufwand, der oft unterschätzt wird.

FAQ

Häufige Fragen zu User-Exit

Sind User-Exits noch zeitgemäß für neue Erweiterungen?
Nein. Für neue Anforderungen setzt SAP seit Jahren auf die objektorientierte BAdI, die mehrere parallele, gefilterte Implementierungen erlaubt. User-Exits gelten als abgelöste Alttechnik.
Was ist der Unterschied zwischen einem User-Exit und einer BAdI?
Der User-Exit ist prozedural, mit festen Einsprungpunkten und meist nur einer Implementierung je Mandant. Die BAdI ist objektorientiert und erlaubt mehrere Implementierungen parallel, gesteuert über Filterwerte.
Was passiert mit User-Exits bei einer Umstellung auf SAP S/4HANA?
Sie müssen im Rahmen der Custom-Code-Analyse identifiziert werden. In aller Regel folgt eine Ablösung durch BAdIs oder ein modernes Extensibility-Konzept, bevor das System konvertiert wird.
Wie finde ich vorhandene User-Exits in einem SAP-System?
Die Transaktion SMOD zeigt die von SAP vorgesehenen Erweiterungen, CMOD die dazu angelegten eigenen Projekte. Eine vollständige Custom-Code-Analyse deckt zusätzlich implizite Erweiterungen auf.
Kann ich mehrere User-Exits gleichzeitig für dieselbe Erweiterung aktivieren?
Nein, in der Regel ist pro Mandant nur ein aktives Erweiterungsprojekt zulässig. Für parallele oder gefilterte Anforderungen ist die BAdI die passendere Technik.

Ihr Kontakt

Gabriele Görtz, Head of Sales & Growth
Gabriele Görtz
Head of Sales & Growth

Sprechen Sie mit uns.

Ein Erstgespräch dauert 30 Minuten. Sie können auch direkt mit einem konkreten Thema kommen. Rufen Sie an oder schreiben Sie uns.
Willkommen bei der CPRO Gruppe

Ihr bisheriger Anbieter ist jetzt CPRO. Sie wurden automatisch auf unsere neue Website weitergeleitet. Für Sie ändert sich nur der Markenauftritt: Ihre Verträge behalten ihre Gültigkeit, Ihre Ansprechpartner und die Gesellschaft als Ihr Vertragspartner bleiben unverändert. Wir freuen uns, Sie hier begrüßen zu dürfen!