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
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