Userexit
From Sapwiki
Inhaltsverzeichnis |
Userexits
Ein Userexit ist eine definierte Stelle in SAP-Standardprogrammen, an der der Kunde eigene Programmierung einbinden kann.
Besonders verbreitet sind Userexits im SD, da im Vertrieb naturgemäß die meisten kundenspezifischen Anforderungen zu erfüllen sind. Man findet die Userexits im Customizing, bspw. unter Vertrieb -> Systemanpassung -> Userexits Dann einfach auf die Doku gehen. Analog für die Produktion, allerdings springt man dort direkt in die Transaktion CMOD ab.
In einem Userexit kann man z.B. bestimmte Werte bei der Auftragserfassung prüfen oder manipulieren. Auch kann man mit manchen Userexits Bedienoberflächen beeinflussen oder Datenstrukturen um eigene Felder erweitern.
Die Userexits werden mit den Transaktionen SMOD und CMOD bearbeitet. Hier werden die Exits, die in Erweiterungen enthalten sind, einem Erweiterungsprojekt zugeordnet. Man kann in die Pflege der Quellcodes verzweigen. Damit die Exits durchlaufen werden, muss unbedingt das ensprechende Erweiterungsprojekt aktiviert werden!
Darüberhinaus gibt es BADIs, die in den Transaktionen SE18 und SE19 bearbeitet werden. BADIs sind "objektorientierte Userexits", die das kundenspezifische Coding in Klassen aufnehmen.
Manchmal sind Userexits aber auch nur FORM-Routinen innerhalb von Standardprogrammen, wie zum Beispiel im Include RPTMOD00 zur Anpassung des Zeitnachweises. Bei diesen "alten" Exits muss man bedenken, daß man zum Ändern des Quellcodes (der im Auslieferungszustand nur aus "FORM ... ENDFORM" besteht) einen Reparaturschlüssel aus dem [OSS] benötigt und daß die Änderung aus SAP-Sicht eine Modifikation ist. Das bedeutet, daß bei jedem Update oder HotPackage-Einspielen SPAU-Pflege durchgeführt werden muss.
Finden von Userexits
- Transaktion SMOD aufrufen
- Feld Erweiterung leer lassen und F4 drücken
- Auf den Button SAP-Anwendungen klicken
- Im jetzt aufscheinenden Hierarchiebrowser die gewünschte Komponente auswählen und es erscheint eine Liste vorhandenener Userexits
- Es empfiehlt sich, die zugehörige Dokumentation zu lesen. Sollte der Userexit innerhalb eines Verbuchers ablaufen, so sind keine weiteren Buchungen möglich.
Anlegen
Man kann ein Projekt f�r ein Userexit in der Transaktion CMOD wie folgt anlegen:
Eingabe des Projektnamens und Anlegen drücken, die üblichen Angaben ergänzen und auf Zuordnung Erweiterung gehen.
Anschließend erhhält man ein Bild in der man die Erweiterungen dem Projekt zuordnen kann. Hier muß man mit der F4-Hilfe nach entsprechenden Erweiterungen suchen. Eine strukturierte Suche gibt es in der Transaktion SMOD, das Feld Erweiterung leer lassen, F4 drücken und auf den Button SAP-Anwendungen klicken.
Beispiele
USEREXIT_CHECK_VBAK in MV45AFZB, Prüfung auf Kundeneinzelbestand in Tabelle MSKA
Links
Übersicht sämtlicher Userexits [1]
Programm zur Ermittlung von Userexits zu einer Transaktion [2]
User-Exit/Program-Exit/BADI/BTE Search[3]



