Der Autor dieses SAP ewm-Training-Dokuments erhebt keinen Anspruch auf Vollständigkeit
besonders in Betracht der unzähligen Faktoren und Customizing-Einstellungen,
die verschiedene Variationen ermöglichen. Vielmehr soll diese Seite als simpler Leitfaden
dienen, um einfach und ohne viel Hintergrundwissen eine Lageraufgabe im SAP Lagerverwaltungssystem
anlegen zu können. Für Laien ist auch kurz beschrieben, was sich hinter dem Prozess der
Lageraufgabe und dem Lagerauftrag verbirgt. Für die Experten unter meinen Lesern sei erwähnt,
die Bilder entstammen einem Entwicklungssystem.
In diesem Dokument werden folgende Kapitel vorgestellt
Lagerauftrag und Lageraufgabe beispielhaft erklärt
eine Lageraufgabe anlegen
zur Auslieferung Lageraufgabe anlegen
Lagerauftrag quittieren
Lagerauftrag stornieren
Lageraufgabe im Yard
Zuerst ein kleiner Exkurs an die Leser, die mit Begriffen wie Lagerauftrag und Lageraufgabe wenig anfangen können. Als Beispiel zum besseren Verständnis wähle ich eine alltägliche Tätigkeit und übersetze die Begriffe dort in sap ewm Terminologie. Das Szenario wäre „wir decken den Frühstückstisch“. Zu einem schmackhaften gehören neben Kaffee, Kakao, Milch oder Orangensaft natürlich Brot oder Brötchen, Müsli, Wurst, Käse und Marmelade. Allerdings muss man auch an das Zubehör wie Geschirr, Teller, Tassen, Messer, Gabel und Löffel denken. Ein Lagerauftrag ist die Bündelung von Lageraufgaben. Ein Lagerauftrag soll gleichartige Tätigkeiten zusammenfassen, die von einer Person durchgeführt werden. Eine Lageraufgabe kann sich auf ein Produkt oder Material beziehen oder auf eine Handling Unit, eine Verpackung, Box oder Behälter. Ein Lagerauftrag könnte sein, Wurst, Käse und Butter oder Margarine aus dem Kühlschrank zu holen und auf den Tisch zu stellen. Der Lagerauftrag untergliedert sich in verschiedene Lageraufgaben. Eine Lageraufgabe wäre nun den Käse aus dem Kühlschrank zu nehmen und ihn auf den Tisch zu stellen. Die nächste Lageraufgabe wäre die gleiche Prozedur für die Wurst. Sind mehrere Wurstsorten in eine Box gelegt, so wäre das eine Lageraufgabe auf Handling-Unit Ebene. Die einzelnen Wurstsorten brauchen nicht extra behandelt werden, da die sich alle in dem gleichen Behälter befinden und der dient als Referenz. Der Von-Lagerplatz wäre der Platz im Kühlschrank, wo sich der Käse befindet, der Nach-Lagerplatz wäre seine Position auf dem Tisch. Wenn ich den Käse oder die Wurst auf den Tisch lege, dann wird die Aufgabe quittiert. Stellen wir fest, wir brauchen den Edamer doch nicht, legen wir ihn wieder in den Kühlschrank, dann wäre die Aufgabe storniert. Der Lagerbereich oder der Lagertyp sind zusammengefasste Gruppen der Lagerplätze; ein Lagerbereich könnte zum Beispiel der Kühlschrank oder der Schrank mit dem Geschirr sein. Sie könnten aber auch als Lagertyp bezeichnet werden oder wenn man mehrere Lagerbereiche zu einem Lagertyp zusammenfasst, wäre vielleicht der eine Lagertyp die Küche, ein weiterer Lagertyp der Keller, wo die selbsteingemachte Marmelade gelagert wird.
Transaktion | /n/scwm/adprod | für Produkt / Material |
Transaktion | /n/scwm/adhu | für HU |
Im Bereich der Lageraufgaben gibt es zwei Arten. Die eine Art ist die Anlage einer Lageraufgabe zu einem Produkt. Mit der anderen Art können Lageraufgaben zu einer Handling Unit angelegt werden.
Lageraufgaben, die ein ausführbares Arbeitspaket darstellen, das ein Lagerarbeiter zu einer bestimmten Zeit ausführen soll, können zu einem Lagerauftrag gebündelt werden. Ein Lagerauftrag setzt sich aus Lageraufgaben oder Inventurpositionen zusammen.
Im nachfolgenden Bildschirm geben Sie das gewünschte Material ein und starten die Aktion.
Falls über eine HU eingestiegen weden soll, kann über die Transaktion /n/scwm/adhu eingestiegen werden oder es wird entsprechend der Suchbegriff von Produkt auf Handling Unit geändert (rotes Rechteck) oder die Funktion HU-LB anlegen betätigt (im Bild nicht markiert).
Auf der Übersicht kann nun eine Produkt-Zeile ausgewählt und markiert werdenen. Für Testzwecke eignen sich Bestände auf frei verwendbaren Lagerplätzen, Kennung F2. Mit dem rot eingekreisten Knopf wechseln wir zur Eingabemaske oder Detailansicht. Im weißen Eingabebereich rechts kann schon mal eine Menge vorgegeben werden.
Auf dem Anforderungsbildschirm wird die gewünschte Menge eingetragen sowie die Lagerprozessart. Diese kann über das Customizing bestimmte Attribute vorbesetzen, wie den Von- oder Nachlagerplatz bestimmen, automatische Quittierung und diese Felder brauchen nicht separat vorgegeben werden. Die fest vorgegebenen Felder können im weiteren Verlauf bei der Quittierung auch nicht mehr geändert werden. Mit der Lagerprozessart 9999 ist das System jedoch offen. Sollte keine automatische Vorgabe eingestellt sein oder die Strategie findet keine Lagerplätze, muss dieser eingetippt werden. Nach Eingabe der Felder wird die Lageraufgabe erzeugt (rote Umrandung). Im angezeigten Fall allerdings nur als Vorschlag. Der Aktionskopf daneben entspricht dem gleichzeitigen Sichern. Die Aktionen mit der grünen Umrandung erzeugen eine Lageranforderung.
Im Anschluss ist die Lageraufgabe in der Übersicht unter der Eingabemaske zu sehen; dazu etwas runterscrollen. Achtung: nach Ausführung der Aktion wird der Bildschirm initialisiert, man könnte denken, das System mag nicht, sollte man zu weit oben positioniert sein.
Das Sichern nicht vergessen, sofern man das nicht zuvor schon ausgewählt hat. Die offene Lageraufgabe wird in der Tabelle /scwm/ordim_o gespeichert, abgeschlossene / quittierte Lageraufgaben finden Sie in der /scwm/ordim_c.
Transaktion | /n/scwm/prdo |
Um eine Auslieferung zu beliefern, besser und korrekt im SAP deutsch einen Auslieferungsauftrag
oder gleichbedeutend Lageranforderung, muss die gewünschte Menge von einem Lagerplatz zur
Warenausgangszone gebracht werden. Auch dazu benötigen wir einen Lagerauftrag.
Den Einstieg bildet dabei jedoch der Auslieferungsauftrag, kurz ODO (outbound document order) genannt.
Daher ist diese Option in der oberen Zeile in der Transaktion ausgegraut,
eine Auslieferung selbst entsteht erst beim Buchen des Warenausganges dieses Auslieferungsauftrages.
Der Einfachheit halber wird hier jedoch nicht zwingend auf immer die 100% korrekte Benennung
des Dokuments geachtet.
Die Übersicht zeigt das Dokument und deren Position. Um zur Auslieferung eine Lageraufgabe zu erstellen, müssen wir folgende Aktionen anwählen.
Wundern Sie sich nicht, das Dokument heißt nun nicht mehr Auslieferungsauftrag,
sondern Lageranforderung. Es ist jedoch das gleiche Dokument, in der gleichen Datenbanktabelle
mit den gleichen Schlüsseln, daher ändert sich die Nummer 2024 nicht.
Um zu sehen, wo wir Material entnehmen können, müssen wir den Reiter „Bestand auslagerbar“ anwählen.
Das Ergebnis zeigt die Lagerplätze an, von denen der Bestand entnommen werden kann. Nun kann man sich einen Lagerplatz / Lagerplätze aussuchen, von dem die Menge entnommen wird, die zur Belieferung der Auslieferung benötigt werden.
Dokument ist markiert, der Lagerplatz ist markiert. Zuerst wird die Menge verteilt. Die Aktion „Menge“ muss nicht zwingend durchgeführt werden, besser ist es jedoch schon. Nach der Aufteilung / Verteilung wird mit „Anlegen und Sichern“ oder nur mit „Anlegen“ ein Lagerauftrag erstellt. Die Lageraufgabe wäre nun im Reiter „Lageraufgabe“ sichtbar. Im Beispiel wird die komplette HU bewegt. Es erfolgt kein Aus- oder Umpacken.
Oder im Detail, wenn man den rot umrandeten Button drückt
Nach dem Sichern sind der Lagerauftrag und seine Lageraufgaben auch im Monitor zu finden.
Transaktion | /n/scwm/mon |
Lagerauftrag und die dazugehörige Lageraufgabe
Transaktion | /n/scwm/cancpick |
Wenn wir die Lageraufgaben zur Auslieferung quittiert haben, ist die HU der Auslieferung
zugeordnet und mit ihr verknüpft. Die HU kann nicht so ohne weiteres wieder zurück auf ihre
Ausgangsposition verschoben werden. Um die HU dennoch wieder an den Ursprung zurück zu schieben,
muss zuerst die HU von der Auslieferung gelöst werden.
Nach dem Storno kann die HU wieder über eine Lageraufgabe, siehe /n/scwm/adhu, an einen anderen
Lagerplatz verschoben werden, auch dem, von dem sie ursprünglich angefordert wurde.
Transaktion | /n/scwm/to_conf |
Im Beispiel erfolgt der Einstieg über eine Handling Unit. Zu dieser HU können natürlich schon Lageraufträge existieren, so kann ein kleiner Blick auf den Status der Lageraufgabe nicht schaden.
Wir wählen die Lageraufgabe zum Lagerauftrag aus und wechseln in die Formularansicht. Um die Werte zu ändern „hell quittieren“ auswählen. In der Lageraufgabe wird nun der Nach-Lagerplatz eingegeben, sofern er änderbar ist. Ob Vorbelegungen überschrieben werden können, hängt von der Prozessart ab.
Nach dem Ändern der Daten muss natürlich noch separat gesichert werden, denn auch wenn dort „quittieren“ steht, heißt das noch nicht, dass die Aktion auf die Datenbank schreibt.
Transaktion | /n/scwm/to_conf |
Transaktion | /n/scwm/mon |
Um einen Lagerauftrag zu stornieren, können wir neben der Quittierungs-Transaktion auch den Monitor benutzen.
Der Lagerauftrag ändert sich sofort, ein Sichern ist nicht notwendig. Zu erkennen ist die Stornierung am Status, der sich ändert.
Alternativ steht Ihnen auch die Möglichkeit der Stornierung in der allgemeinen Transaktion zur Verfügung, die sich mit Lageraufgaben beschäftigt
Es können die Lageraufgabe oder der Lagerauftrag storniert werden. Beim Storno des Lagerauftrags werden natürlich sämtliche ihm zugeordnete Lageraufgaben storniert. Im Anschluss nicht das Sichern vergessen.
Transaktion | /n/scwm/ymove |
Alternativ wäre das auch über die Transporteinheit möglich. Die Transporteinheit muss jedoch aktiv sein, bevor wir Lageraufgaben zuordnen können.
Transaktion | /n/scwm/tu |
Bei Yard-Lageraufgaben werden als Lagerplätze die Yard-Lagerplätze genutzt und nicht die ewm-Lagerplätze. In der Datenbanktabelle zum Tor werden beide Lagerplätze abgespeichert.
Nun kann die Yard-Lageraufgabe angelegt und gegebenenfalls gleich quittiert und gespeichert werden.
Für Lageraufgaben im Yard stehen zusätzliche Customizing-Einstellungen zur Verfügung
Die weitere Verarbeitung wie quittieren oder stornieren geschieht analog dem Bearbeiten normaler Lageraufgaben über die Transaktion /scwm/to_conf
Nach der Quittierung der Lageraufgabe ändert sich der Status der Zuordnung der Transporteinheit am Tor.
Lagerprozessart ermitteln, wenn die Voreinstellungen im Customizing Sonderlocken nicht abdecken.
CALL BADI /scwm/ex_dlv_det_proctype
Methode CHECK gibt die Schlüssel zurück, die besonders behandelt werden sollen. Dabei können zwischen 2 Schlüsselarten unterschieden werden. Wichtig: sobald der Badi aktiv ist, müssen auch die Positionen als Schlüssel aufgebaut werden, die als Standard laufen. Im EXECUTE muss man alles selber machen, der Standard und der nachfolgende CHANGE werden nur durchlaufen, wenn die Lagerprozessart noch nicht gefüllt ist.
Der Badi wird gezogen, wenn man (bei Bezug zu einer Auslieferungsanforderung) den Auslieferungsauftrag löscht und ihn (erneut) anlegt. Bei der Anlage einer Lageraufgabe wird der CHECK zwar auch durchlaufen, jedoch ist die Prozessart im EXECUTE oder CHANGE nicht mehr änderbar
Suchstrategie vorgeben / Ermittlung Von-Lagerplatz
CALL BADI /scwm/ex_core_rms_strategy -> strategy
Manipulation der Quants, die für die Lageraufgabenerstellung herangezogen werden
Quant-Ermittlung
Form SRC_BIN_DET
Form QMAT_CREATE die Quants werden aufgebaut
CALL BADI /scwm/ex_core_rms_i_determine -> determine
CALL BADI /scwm/ex_core_rms_determine -> determine , folgt direkt im Anschluss
Packvorschriften
Funktion /SCWM/GET_PALLET_PACKSPEC
Funktion /SCWM/PS_FIND_AND_EVALUATE
- Funktion /SCWM/PS_DETERMINE , Packvorschriften liefern
- - Function /SAPCND/CNF_DETERMINE_NEW , Kondition Customizing
- - Function /SAPCND/CNF_DYNAMIC_ACCESS_NEW , Datenbankzugriff
Packvorschrift: siehe dafür aufgebautes Training-Dokument
Beispieltabelle Packvorschrift /1CN/CPSSAPIBD01
BAdI: Verbuchung der quittierten Lageraufgaben
CALL BADI /scmw/ex_core_co_post