Wie du eine Kasse an SAP Retail anbindest

Eine Kasse in deiner Filiale bindest du an ein SAP Retail an, indem du eingehende (Inbound) und ausgehende (Outbound) Kassendaten empfängst und versendest.

sap-kasse-beitragsbild

In diesem Beitrag zeige ich dir technische Möglichkeiten, wie du deine Kasse an ein SAP Retail anbindest. Beispielsweise kannst du Artikelstammdaten mit dem IDoc Sortimentsliste übertragen. Wenn du dir hingegen zunächst einen Überblick über SAP Retail im Allgemeinen verschaffen möchtest, schaue dir meinen Beitrag SAP Retail vs. SAP Standard an.

Systemlandschaft

Betrachte deine vorhandene SAP-Systemlandschaft inkl. der Kasse und Kassenserver. Davon abhängig gibt es nämlich diverse Varianten deine Kassen anzubinden.

Vielleicht sieht deine Systemlandschaft ähnlich aus? Du hast als zentrales System SAP Retail mit einer Middleware (bspw. SAP PI) im Einsatz (linke Seite). Deine Filialen sind im ganzen Land verteilt. Zur Verwaltung der Kassen in den Filialen gibt es einen zentralen Kassenserver, welcher wiederum mit dem SAP-System verbunden ist (rechte Seite).

Die Kommunikation zwischen SAP und dem Kassenserver läuft über IDocs. Zwischen dem Kassenserver und den Kassen werden die Daten möglicherweise mit einem proprietären Format ausgetauscht. Warum gibt es eigentlich einen Kassenserver? Das hat viele Gründe. Die Kassen müssen auch im Offline-Betrieb funktionieren. Der Server hat alle Daten und versorgt die Kassen, sobald diese wieder online sind. In die andere Richtung funktioniert es natürlich genauso: Die Abverkaufsdaten eines Tages werden untertägig gesammelt übertragen, sobald eine Verbindung besteht. Der Kassenserver ist also die zentrale Schnittstelle zum SAP-System.

Ausgehende Daten (Outbound)

Du kannst in der Kassen-Schnittstelle zwischen den ausgehenden und eingehenden Daten unterscheiden. Der eigene Standpunkt ist immer das SAP-System. Die ausgehenden Daten (Outbound) sind also diejenigen vom SAP zur Kasse. Zum Go-Live-Termin deines Projekts wird die Kasse initial mit Daten (bspw. Artikelstamm) versorgt. Danach werden nur noch alle Änderungen übertragen. Für diese Übertragung bietet SAP mit den Änderungszeigern ein geeignetes Hilfsmittel an:

Exkurs: Änderungszeiger am Beispiel Sortimentsliste (WBBDLD)

Wenn im SAP-System ein Artikel mit der Transaktion MM42 geändert wird, erzeugt das System – vorausgesetzt es ist korrekt eingestellt – automatisch einen Änderungszeiger. Hierbei handelt es sich um einen Eintrag in einer Tabelle, welcher abgearbeitet werden kann. Die Änderungszeiger stehen in der Tabelle BDCP2, welche eine aggregierte Sicht auf die Tabellen BDCP und BDCPS darstellt. Je nach Anwendungsfall durchsuchen bestimmte Reports diese Tabelle und übertragen die Datenänderungen an den Kassenserver. Im Customizing aktivierst du den Änderungszeiger für den gewünschten Nachrichtentypen (hier: WBBDLD), indem du den Haken auf aktiv setzt. IMG-Pfad Änderungszeiger pro Nachrichtentyp aktivieren: SAP NetWeaver > Application Server > IDoc-Schnittstelle / Application Link Enabling (ALE) > Geschäftsprozesse modellieren und implementieren > Verteilung von Stammdaten konfigurieren > Replikation von geänderten Daten einrichten > Änderungszeiger pro Nachrichtentyp aktivieren

Änderungsbeleg-Positionen (BD52): Für welche Feldänderungen die Änderungszeiger geschrieben werden, legst du mit der Transaktion BD52 fest. Prüfen für den Nachrichtentyp WBBDLD, ob die von dir gewünschten Felder überwacht werden.

Du kannst deine Einstellungen testen, indem du die Artikelbezeichnung mit der MM42 änderst und in der Tabelle BDCP2 prüfst, ob ein Eintrag hinzugefügt worden ist.

Artikelstamm und Verkaufspreis

Um deine Kasse mit Artikelstammdaten und Verkaufspreisen zu versorgen, bietet sich die Sortimentsliste (WBBDLD) an. Die Sortimentsliste enthält Stammdatenfelder, wie bspw. die Artikelbezeichnung, das Gewicht oder die Mengeneinheiten. Zudem sind die Verkaufspreise mit Gültigkeitszeiträumen enthalten. Pflege deine Partnervereinbarungen (Transaktion WE20), damit du IDocs vom Nachrichtentyp WBBDLD versenden kannst. In dem Beitrag IDoc Teil 2: Konfiguration & Test kannst du nachlesen, wie das funktioniert und wie du deine IDocs testen kannst. Plane danach einen regelmäßigen Job des Reports RWDBBUPD_HPR ein, sodass deine Sortimentsliste automatisch an die Kassen verteilt wird. Wie du Hintergrundjobs einrichtest, kannst du im Beitrag Hintergrundjob einrichten für Periodenverschieber nachlesen.

Rückrufaktion / Verkaufsstopp

Es kommt gelegentlich vor, dass Artikel aus dem Handel zurückgerufen werden müssen. Eine Rückrufaktion kann folgendermaßen aussehen: Sperre den Artikel in SAP mittels der Transaktion MM42. Auf dem Reiter POS findest du die Felder Verkauf ab und Verkauf bis. Setze das Feld Verkauf bis auf das Datum von gestern. Wenn dieses Feld einen Änderungszeiger erzeugt, wird das Feld automatisch mit der Sortimentsliste an die Kassen übertragen. Deine Kasse musst du natürlich so einstellen, dass ein Verkaufsstopp ausgelöst wird. Mit der Transaktion MASS kannst du auch viele Artikel per Massenpflege ändern.

Fremdwährung / Währungskurse

Wenn Filialen auch Kurse von Fremdwährungen benötigen, können diese mit dem IDoc WPDCUR erzeugt und an die Kassen versendet werden. Der zugehörige Report lautet RWDPOSAN.

Avisierung von Ware (Lieferavis)

Wie sieht die Infrastruktur in deinen Filialen aus? Gibt es neben der Kasse auch einen PC mit SAP-Zugang? Sind die Scanner über die Kasse oder direkt mit dem SAP verbunden? Abhängig von der vorhandenen Infrastruktur kann es einige Funktionalitäten geben, die auch direkt über die Kassen abgebildet werden müssen. Wenn du die avisierten Lieferungen an der Kasse anzeigen möchtest, kannst du IDocs vom Typ DESADV aus dem SAP versenden. Die Grundlage dafür ist bspw. eine Umlagerungsbestellung. Aus dem Lager angestoßen wird ein Lieferavis erzeugt und das IDoc automatisch übermittelt.

Eingehende Daten (Inbound)

Abverkaufsdaten

Ein Kunde kauft in einer Filiale ein T-Shirt. Dieser Abverkauf setzt sich sowohl aus der Warenbewegung des Artikels als auch aus dem Geldfluss zusammen. Die Abverkaufsdaten von den Kassen kannst du entweder einzeln oder verdichtet an das SAP versenden. Verwende hierfür die IDocs WPUBON (einzeln) und WPUUMS (verdichtet). Im SAP-System erzeugst du durch einen Abverkauf den Artikelbeleg für die Warenbewegung und die Faktura für den Geldfluss. Der Kunde kann auf verschiedene Arten in deiner Filiale bezahlen. Mit Hilfe des IDocs WPUTAB kannst du die Zahlungsmitteldaten an SAP übertragen:

  • Bar
  • Kreditkarte
  • Girocard
  • Gutschein
  • Scheck

Du möchtest Geld aus der Kasse entnehmen und im Tresor auslagern? Geldbewegungsdaten ohne Bestandsveränderungen kannst du mit dem IDoc WPUFIB verbuchen.

Wareneingang in Filiale

Auch bei den eingehenden Daten kann es abhängig von der Infrastruktur Prozesse geben, die über die Kasse anstatt direkt über SAP oder die Scanner abgebildet werden. Kommt bspw. neue Ware aus dem Verteilzentrum in der Filiale an, kannst du die Vereinnahmung der Ware mit dem IDoc MBGMCR bestätigen. Im SAP siehst du daraufhin den Materialbeleg mit dem Wareneingang zur Bestellung. Alternativ können Warenbewegungsdaten auch über das IDoc WPUWBW versendet werden. Hast du damit Erfahrungen gemacht? Schreib es gerne in die Kommentare.

Umlagerung Filiale an Filiale

Für Umlagerungen – bspw. von einer Filiale zu einer Anderen oder von einer Filiale zurück an das Verteilzentrum – kannst du über die Kasse eine Umlagerungsbestellung anlegen. Verwende hierfür das IDoc PORDCR.

Mapping

Unterstützt deine Kassen bzw. dein Kassenserver den Versand und das Empfangen von IDocs? Wenn nicht, kein Problem. Definiere mit einer Mapping-Tabelle die Übersetzung und lasse diese durch eine Middleware durchführen, bspw. mit SAP PI. In dem folgenden Beispiel werden die Artikel per Sortimentslisten-IDoc aus dem SAP-System versendet. Der Kassenserver benötigt die Daten in einer Datenbank. Die zugehörige Mapping-Tabelle kannst du mit Microsoft Excel erzeugen:

Auf der linken Seite siehst du die Datenquelle SAP Retail mit dem Sortimentslisten-IDoc WBBDLD. Auf der rechten Seite ist als Ziel die Tabelle Artikel angegeben. Es empfiehlt sich für beide Seiten den genauen Datentyp und die Länge des Feldes anzugeben. In einer zusätzlichen Spalte kannst du auch Regeln hinterlegen. Beispiel: Wenn Verkauf bis größer Tagesdatum, dann setze Verkaufssperre auf wahr. Abschließend bleibt noch einmal zu erwähnen, dass der hier vorgestellte Weg nur eine von mehreren Möglichkeiten darstellt. Ausgangspunkt ist immer deine Infrastruktur.