Skip to content

User Exit ​

Transaktion: DEV02 User Exit
UI-Pfad: runnableServiceEventList / runnableServiceEventEdit

Business-Zweck ​

User Exits (Domäne RunnableServiceEvent) erlauben Partnern, Groovy-Code vor oder nach bestehenden Service-Methoden auszuführen – z. B. Validierung, Feldanreicherung, externe API-Aufrufe oder abweichende Buchungslogik. Die Hooks werden zur Laufzeit über einen Method-Interceptor eingebunden.

Kernbegriffe ​

BegriffBedeutung
RunnableServiceEventKonfiguration eines Hooks
serviceClassVollqualifizierter Service (z. B. com.reybex.services.wws.sales.SalesHeadService)
serviceMethodMethodenname (Default: save)
beforeCodeSkript vor Methodenaufruf
afterCodeSkript nach Methodenaufruf
isActiveHook aktiv/inaktiv
sortOrderReihenfolge bei mehreren Hooks
domainsListe aller hook-fähigen Domänen/Services

Fachlicher Ablauf / Workflow ​

  1. Verfügbare Services laden: GET /api/runnableServiceEvent/runnableServices
  2. Domains/Hooks einsehen: GET /api/runnableServiceEvent/domains
  3. User Exit anlegen mit serviceClass, serviceMethod, Skripten
  4. Skript validieren: POST /api/runnableServiceEvent/analyzeScript
  5. Aktivieren (isActive: true) und speichern
  6. Bei Änderungen: Event-Historie und Diff prüfen

Partner-Szenarien ​

SzenarioHook
Auftragsvalidierung vor SpeichernSalesHeadService.save – beforeCode
Zusatzfelder nach Material-AnlageMaterialService.save – afterCode
Externe PreisprüfungSalesHeadService.save – beforeCode
Mehrere Hooks sortiertsortOrder aufsteigend

Voraussetzungen ​

  • Transaktionsrecht DEV02
  • Groovy-Kenntnisse, Zugriff auf Domänen im Skript-Kontext
  • Testmandant für Skript-Validierung

Auswirkungen im ERP ​

AktionAuswirkung
beforeCodeKann Request manipulieren oder Exception werfen (Abbruch)
afterCodeKann Ergebnis/Domäne nachbearbeiten
isActive=falseHook wird übersprungen
Fehler im SkriptTransaktion bricht ab (BusinessException)

Typische Fehlerquellen ​

FehlerUrsache
Skript kompiliert nichtSyntaxfehler – analyzeScript nutzen
Hook greift nichtisActive=false oder falscher serviceMethod
Falsche ReihenfolgesortOrder prüfen
PerformanceSchwere Logik in beforeCode vermeiden

Weiterlesen ​

Nur für reybex-Partner. Nicht für Endkunden bestimmt.