SlideShare ist ein Scribd-Unternehmen logo
Steuerung für automatische
Verbuchungsprozesse im
SAP ERP
StefanThemann
SAP Berater und Entwickler
Agenda
• Was ist SAP ERP?
• SAP Aufbau
• Beispielprozess
• Typische Probleme
• Lösungsbeschreibung
• Vorgehen bei der Entwicklung
• Fazit
Was ist SAP ERP?
• Warenwirtschaftssystem
• Abbildung von
Unternehmensprozessen
• z.B.Auftragsprozesse oder
Lagerprozesse
3
SAP Aufbau
• Dialog-Transaktionen
• z.B. also Code für die Auftragserfassung oder Lieferungsbearbeitung
• Funktionsbausteine für dieVerarbeitung ohne Dialog
• Keine Datenbanktransaktion
• Architektur: Client, Applikationsserver und Datenbank
• Workbenchobjekte für Programmcode
Programm
- Attribute
- Forms
- Dialog
Funktionsgruppe
- Attribute
- Forms
- Dialog
- Funktionsbausteine
- Normal
- Remote
- Verbuchung
Klassen
- Attribute
- Methoden
- Statisch oder
Instanz
4
Beispielprozess
Szenario:
• Kundenauftrag ist vorhanden
• Packstücke wurden alle erfasst
• Auftrag soll automatisch mit allen Packstücken beliefert
werden
Lieferung
anlegen
Belege
prüfen
Chargen und Mengen
aus den Packstücken
ermitteln
Lieferungs-
positionen
aktualisieren
Packstücke
zur Lieferung
umbuchen
Umbuchung
quittieren
Lieferungskopf
aktualisieren
(z.B. Datum)
Warenausgang
buchen
5
Typische Probleme
• Verbuchung
• Jeder Schritt hat eine eigeneTransaktion und eigene Funktionsbausteine
• Datenbankverarbeitung erfolgt häufig überVerbuchungsbausteine
• Asynchrone Speicherung
• Nachfolgebausteine erwarten gespeicherte Daten
• Belegsperren
• Viele Bausteine und dieTransaktionen sperren Belege
• Entsperren passiert asynchron und teilweise zeitverzögert
• Anwender können jederzeit Belege sehen und sperren
• Stammdatenfehler und Customizingeinstellungen
6
Beispielprozess
Wartepausen nach den Änderungsschritten einfügen
Lieferung
anlegen
Belege
prüfen
Chargen und Mengen
aus den Packstücken
ermitteln
Lieferungs-
positionen
aktualisieren
Packstücke
zur Lieferung
umbuchen
Umbuchung
quittieren
Lieferungskopf
aktualisieren
(z.B. Datum)
Warenausgang
buchen
7
Technische Lösung
• Methode zur Steuerung des
Prozesses
• Schritte per Interface und
Klassen einbinden
• Konfigurationstabelle für
Klassen
• Nachbuchbar bei Abbruch
Steuerungs-
methode
Schritt 1
Schritt 2
Schritt 3
Schritt 4
8
Lösung – Aufgaben für die
Steuerungsmethode
• Konfiguration und zugehörige Steuerungsparameter auslesen
• Übergabedaten abspeichern (z.B. Auftragsnummer, Packstücknummern)
• Verarbeitungsstatus speichern
• Zwischenergebnisse speichern (z.B. Belegnummern)
• Fehlermeldungen verarbeiten
• Parallelverarbeitung
• Verhindern (z.B. mit Sperren)
• Ggf. die ordnungsgemäße Weiterverarbeitung des parallelen Aufrufs
organisieren
9
Lösung – zusätzliche Funktionen
• Automatische Nachverbuchung im Fehlerfall, aber mit
maximaler Anzahl vonVersuchen
• Monitoring und manueller Nachbuchung
• Roll back – nicht unbedingt notwendig
• Jeder Zustand ist konsistent, nur der Prozess ist nicht komplett
verarbeitet
• Roll back kann auch nicht immer durchgeführt werden (z.B.
wegen Belegsperre) – es ist ein eigener Prozess
10
Lösung – Aufrufpunkte
Steuerungs-
methode
Schritt 1
Schritt 2
Schritt 3
Schritt 4
Normaler Prozess
Automatische
Nachverbuchung
Monitoring mit manueller
Nachverbuchung
11
Lösung – persistente Daten
• Konfiguration
• Klassen für die Schritte
• Steuerungskennzeichen (z.B. Statuskürzel,Verhalten bei Fehler)
• Verarbeitung
• Startdaten (Auftragsnummer, Packstücke)
• Verarbeitungsstatus
• Einzelergebnisse der Schritte
• Fehlerprotokollierung
12
Vorgehen bei der Entwicklung
• Prozess manuell buchbar machen
• Einfachen automatischen Standardprozess aufbauen
• Schnell testbar machen, um typische Fehlerquellen zu
identifizieren und zu beheben
• Viele Fehlerquellen können am Customizing und den Stammdaten
liegen
• Warteschritte, Prüfungen, Korrekturen usw. einbauen
• ggf. sind hier automatische Rollbacks von Einzelschritten notwendig
13
Fazit
• Eindruck von der Arbeit im SAP ERP
• Typische Probleme mit den Sperren,Verbuchung und den
Stamm- und Customizingdaten
• Mögliche Lösung über eine Steuerungsmethode mit
Klassen und Interfaces und Nachbuchfunktion
14
Vielen Dank für Ihre
Aufmerksamkeit
StefanThemann
SAP Berater und Entwickler
www.stefan-themann.com

Weitere ähnliche Inhalte

Ähnlich wie Steuerung für automatische Verbuchungsprozesse im SAP ERP

SAP S/4HANA embedded EWM basic
SAP S/4HANA embedded EWM basicSAP S/4HANA embedded EWM basic
SAP S/4HANA embedded EWM basic
SERKEM GmbH
 
eEvolution 8.1 - Tipps & Tricks - Teil 2
eEvolution 8.1 - Tipps & Tricks - Teil 2eEvolution 8.1 - Tipps & Tricks - Teil 2
eEvolution 8.1 - Tipps & Tricks - Teil 2
eEvolution GmbH & Co. KG
 
Thomas Mühlehner (automationX)
Thomas Mühlehner (automationX)Thomas Mühlehner (automationX)
Thomas Mühlehner (automationX)
Praxistage
 
String batch
String batchString batch
String batch
Lena Lindstrot
 
Logistikoptimierung
LogistikoptimierungLogistikoptimierung
Logistikoptimierung
eEvolution GmbH & Co. KG
 
Prozessmanagement – godesys ERP
Prozessmanagement – godesys ERPProzessmanagement – godesys ERP
Prozessmanagement – godesys ERP
godesys AG
 
Domino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG Konferenz
Domino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG KonferenzDomino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG Konferenz
Domino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG Konferenz
panagenda
 
Lösungsorientierte Fehlerbehandlung
Lösungsorientierte FehlerbehandlungLösungsorientierte Fehlerbehandlung
Lösungsorientierte Fehlerbehandlung
roskakori
 
Staplerleitsystem in SAP
Staplerleitsystem in SAPStaplerleitsystem in SAP
Staplerleitsystem in SAP
SERKEM GmbH
 
Produktionsrückmeldung in SAP
Produktionsrückmeldung in SAPProduktionsrückmeldung in SAP
Produktionsrückmeldung in SAP
SERKEM GmbH
 
Packtisch in SAP
Packtisch in SAPPacktisch in SAP
Packtisch in SAP
SERKEM GmbH
 
Grundlagen postgresql
Grundlagen postgresqlGrundlagen postgresql
Grundlagen postgresqlinovex GmbH
 
Siegfried Klug (automationX)
Siegfried Klug (automationX)Siegfried Klug (automationX)
Siegfried Klug (automationX)
Praxistage
 
Thementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdf
Thementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdfThementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdf
Thementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdf
IKS Gesellschaft für Informations- und Kommunikationssysteme mbH
 
SAP Kanban
SAP KanbanSAP Kanban
SAP Kanban
SERKEM GmbH
 
Prozessmodellierung
ProzessmodellierungProzessmodellierung
Prozessmodellierunggodesys AG
 
Mit agilen Prinzipien große Integrationstests einfach managen
Mit agilen Prinzipien große Integrationstests einfach managenMit agilen Prinzipien große Integrationstests einfach managen
Mit agilen Prinzipien große Integrationstests einfach managen
Christoph Schmiedinger
 
JMeter + ELK - Event-basierte Daten != Logfiles in ELK
JMeter + ELK - Event-basierte Daten != Logfiles in ELKJMeter + ELK - Event-basierte Daten != Logfiles in ELK
JMeter + ELK - Event-basierte Daten != Logfiles in ELK
inovex GmbH
 
Retourenmanagement in SAP
Retourenmanagement in SAPRetourenmanagement in SAP
Retourenmanagement in SAP
SERKEM GmbH
 

Ähnlich wie Steuerung für automatische Verbuchungsprozesse im SAP ERP (19)

SAP S/4HANA embedded EWM basic
SAP S/4HANA embedded EWM basicSAP S/4HANA embedded EWM basic
SAP S/4HANA embedded EWM basic
 
eEvolution 8.1 - Tipps & Tricks - Teil 2
eEvolution 8.1 - Tipps & Tricks - Teil 2eEvolution 8.1 - Tipps & Tricks - Teil 2
eEvolution 8.1 - Tipps & Tricks - Teil 2
 
Thomas Mühlehner (automationX)
Thomas Mühlehner (automationX)Thomas Mühlehner (automationX)
Thomas Mühlehner (automationX)
 
String batch
String batchString batch
String batch
 
Logistikoptimierung
LogistikoptimierungLogistikoptimierung
Logistikoptimierung
 
Prozessmanagement – godesys ERP
Prozessmanagement – godesys ERPProzessmanagement – godesys ERP
Prozessmanagement – godesys ERP
 
Domino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG Konferenz
Domino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG KonferenzDomino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG Konferenz
Domino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG Konferenz
 
Lösungsorientierte Fehlerbehandlung
Lösungsorientierte FehlerbehandlungLösungsorientierte Fehlerbehandlung
Lösungsorientierte Fehlerbehandlung
 
Staplerleitsystem in SAP
Staplerleitsystem in SAPStaplerleitsystem in SAP
Staplerleitsystem in SAP
 
Produktionsrückmeldung in SAP
Produktionsrückmeldung in SAPProduktionsrückmeldung in SAP
Produktionsrückmeldung in SAP
 
Packtisch in SAP
Packtisch in SAPPacktisch in SAP
Packtisch in SAP
 
Grundlagen postgresql
Grundlagen postgresqlGrundlagen postgresql
Grundlagen postgresql
 
Siegfried Klug (automationX)
Siegfried Klug (automationX)Siegfried Klug (automationX)
Siegfried Klug (automationX)
 
Thementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdf
Thementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdfThementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdf
Thementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdf
 
SAP Kanban
SAP KanbanSAP Kanban
SAP Kanban
 
Prozessmodellierung
ProzessmodellierungProzessmodellierung
Prozessmodellierung
 
Mit agilen Prinzipien große Integrationstests einfach managen
Mit agilen Prinzipien große Integrationstests einfach managenMit agilen Prinzipien große Integrationstests einfach managen
Mit agilen Prinzipien große Integrationstests einfach managen
 
JMeter + ELK - Event-basierte Daten != Logfiles in ELK
JMeter + ELK - Event-basierte Daten != Logfiles in ELKJMeter + ELK - Event-basierte Daten != Logfiles in ELK
JMeter + ELK - Event-basierte Daten != Logfiles in ELK
 
Retourenmanagement in SAP
Retourenmanagement in SAPRetourenmanagement in SAP
Retourenmanagement in SAP
 

Mehr von Stefan Macke

Railway Oriented Programming - Funktionaler programmieren ohne Exceptions
Railway Oriented Programming - Funktionaler programmieren ohne ExceptionsRailway Oriented Programming - Funktionaler programmieren ohne Exceptions
Railway Oriented Programming - Funktionaler programmieren ohne Exceptions
Stefan Macke
 
100% Code Coverage - TDD mit Java EE
100% Code Coverage - TDD mit Java EE100% Code Coverage - TDD mit Java EE
100% Code Coverage - TDD mit Java EE
Stefan Macke
 
Moderne IT-Infrastrukturen (Cloud Computing, Serverless)
Moderne IT-Infrastrukturen (Cloud Computing, Serverless)Moderne IT-Infrastrukturen (Cloud Computing, Serverless)
Moderne IT-Infrastrukturen (Cloud Computing, Serverless)
Stefan Macke
 
Property-based Testing mit JUnit-Quickcheck
Property-based Testing mit JUnit-QuickcheckProperty-based Testing mit JUnit-Quickcheck
Property-based Testing mit JUnit-Quickcheck
Stefan Macke
 
Railway Oriented Programming - Java funktional und ohne Exceptions
Railway Oriented Programming - Java funktional und ohne ExceptionsRailway Oriented Programming - Java funktional und ohne Exceptions
Railway Oriented Programming - Java funktional und ohne Exceptions
Stefan Macke
 
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Stefan Macke
 

Mehr von Stefan Macke (6)

Railway Oriented Programming - Funktionaler programmieren ohne Exceptions
Railway Oriented Programming - Funktionaler programmieren ohne ExceptionsRailway Oriented Programming - Funktionaler programmieren ohne Exceptions
Railway Oriented Programming - Funktionaler programmieren ohne Exceptions
 
100% Code Coverage - TDD mit Java EE
100% Code Coverage - TDD mit Java EE100% Code Coverage - TDD mit Java EE
100% Code Coverage - TDD mit Java EE
 
Moderne IT-Infrastrukturen (Cloud Computing, Serverless)
Moderne IT-Infrastrukturen (Cloud Computing, Serverless)Moderne IT-Infrastrukturen (Cloud Computing, Serverless)
Moderne IT-Infrastrukturen (Cloud Computing, Serverless)
 
Property-based Testing mit JUnit-Quickcheck
Property-based Testing mit JUnit-QuickcheckProperty-based Testing mit JUnit-Quickcheck
Property-based Testing mit JUnit-Quickcheck
 
Railway Oriented Programming - Java funktional und ohne Exceptions
Railway Oriented Programming - Java funktional und ohne ExceptionsRailway Oriented Programming - Java funktional und ohne Exceptions
Railway Oriented Programming - Java funktional und ohne Exceptions
 
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
 

Steuerung für automatische Verbuchungsprozesse im SAP ERP

  • 1. Steuerung für automatische Verbuchungsprozesse im SAP ERP StefanThemann SAP Berater und Entwickler
  • 2. Agenda • Was ist SAP ERP? • SAP Aufbau • Beispielprozess • Typische Probleme • Lösungsbeschreibung • Vorgehen bei der Entwicklung • Fazit
  • 3. Was ist SAP ERP? • Warenwirtschaftssystem • Abbildung von Unternehmensprozessen • z.B.Auftragsprozesse oder Lagerprozesse 3
  • 4. SAP Aufbau • Dialog-Transaktionen • z.B. also Code für die Auftragserfassung oder Lieferungsbearbeitung • Funktionsbausteine für dieVerarbeitung ohne Dialog • Keine Datenbanktransaktion • Architektur: Client, Applikationsserver und Datenbank • Workbenchobjekte für Programmcode Programm - Attribute - Forms - Dialog Funktionsgruppe - Attribute - Forms - Dialog - Funktionsbausteine - Normal - Remote - Verbuchung Klassen - Attribute - Methoden - Statisch oder Instanz 4
  • 5. Beispielprozess Szenario: • Kundenauftrag ist vorhanden • Packstücke wurden alle erfasst • Auftrag soll automatisch mit allen Packstücken beliefert werden Lieferung anlegen Belege prüfen Chargen und Mengen aus den Packstücken ermitteln Lieferungs- positionen aktualisieren Packstücke zur Lieferung umbuchen Umbuchung quittieren Lieferungskopf aktualisieren (z.B. Datum) Warenausgang buchen 5
  • 6. Typische Probleme • Verbuchung • Jeder Schritt hat eine eigeneTransaktion und eigene Funktionsbausteine • Datenbankverarbeitung erfolgt häufig überVerbuchungsbausteine • Asynchrone Speicherung • Nachfolgebausteine erwarten gespeicherte Daten • Belegsperren • Viele Bausteine und dieTransaktionen sperren Belege • Entsperren passiert asynchron und teilweise zeitverzögert • Anwender können jederzeit Belege sehen und sperren • Stammdatenfehler und Customizingeinstellungen 6
  • 7. Beispielprozess Wartepausen nach den Änderungsschritten einfügen Lieferung anlegen Belege prüfen Chargen und Mengen aus den Packstücken ermitteln Lieferungs- positionen aktualisieren Packstücke zur Lieferung umbuchen Umbuchung quittieren Lieferungskopf aktualisieren (z.B. Datum) Warenausgang buchen 7
  • 8. Technische Lösung • Methode zur Steuerung des Prozesses • Schritte per Interface und Klassen einbinden • Konfigurationstabelle für Klassen • Nachbuchbar bei Abbruch Steuerungs- methode Schritt 1 Schritt 2 Schritt 3 Schritt 4 8
  • 9. Lösung – Aufgaben für die Steuerungsmethode • Konfiguration und zugehörige Steuerungsparameter auslesen • Übergabedaten abspeichern (z.B. Auftragsnummer, Packstücknummern) • Verarbeitungsstatus speichern • Zwischenergebnisse speichern (z.B. Belegnummern) • Fehlermeldungen verarbeiten • Parallelverarbeitung • Verhindern (z.B. mit Sperren) • Ggf. die ordnungsgemäße Weiterverarbeitung des parallelen Aufrufs organisieren 9
  • 10. Lösung – zusätzliche Funktionen • Automatische Nachverbuchung im Fehlerfall, aber mit maximaler Anzahl vonVersuchen • Monitoring und manueller Nachbuchung • Roll back – nicht unbedingt notwendig • Jeder Zustand ist konsistent, nur der Prozess ist nicht komplett verarbeitet • Roll back kann auch nicht immer durchgeführt werden (z.B. wegen Belegsperre) – es ist ein eigener Prozess 10
  • 11. Lösung – Aufrufpunkte Steuerungs- methode Schritt 1 Schritt 2 Schritt 3 Schritt 4 Normaler Prozess Automatische Nachverbuchung Monitoring mit manueller Nachverbuchung 11
  • 12. Lösung – persistente Daten • Konfiguration • Klassen für die Schritte • Steuerungskennzeichen (z.B. Statuskürzel,Verhalten bei Fehler) • Verarbeitung • Startdaten (Auftragsnummer, Packstücke) • Verarbeitungsstatus • Einzelergebnisse der Schritte • Fehlerprotokollierung 12
  • 13. Vorgehen bei der Entwicklung • Prozess manuell buchbar machen • Einfachen automatischen Standardprozess aufbauen • Schnell testbar machen, um typische Fehlerquellen zu identifizieren und zu beheben • Viele Fehlerquellen können am Customizing und den Stammdaten liegen • Warteschritte, Prüfungen, Korrekturen usw. einbauen • ggf. sind hier automatische Rollbacks von Einzelschritten notwendig 13
  • 14. Fazit • Eindruck von der Arbeit im SAP ERP • Typische Probleme mit den Sperren,Verbuchung und den Stamm- und Customizingdaten • Mögliche Lösung über eine Steuerungsmethode mit Klassen und Interfaces und Nachbuchfunktion 14
  • 15. Vielen Dank für Ihre Aufmerksamkeit StefanThemann SAP Berater und Entwickler www.stefan-themann.com