Lagergruppen reorganisieren
Dieses Programm wird benötigt, wenn wesentliche Änderungen in der Organisation der Lager durchgeführt werden:
- Änderung der Zuordnung von einzelnen Lagerorten zu Lagergruppen
- Um Dateninkonsistenzen von vornherein vorzubeugen, ist es wichtig, dass während des Programmlaufes die Lagerartikeldatei unverändert bleibt, also insbesondere nicht von Buchungsvorgängen berührt wird. Dazu sind die Asynchronjobs xxx_BUST, xxx_PERM und xxx_BACL (mit xxx = ASY o.ä.) manuell herunterzufahren. Typischerweise läuft dieses Programm in der Nachtverarbeitung, zumal - je nach Datenvolumen - lange Laufzeiten auftreten können. Es sollte nur in Ausnahmefällen verwendet werden (z.B. in der Einführungsphase, wenn erkannt wird, dass die bisherige Lagerorganisation im Hinblick auf die Lagerortzugehörigkeit nicht optimal ist).
- Man beachte auch die Funktion der Tabelle FRD499, die weiter unten näher beschrieben ist.
- Nach dem Programmlauf ist in der Regel ein Dispo-Neuaufbau durchzuführen, damit die lagergruppenspezifischen Änderungen sich auch aktuell in der Abbildung von Angebot und Nachfrage widerspiegeln.
Die Lagergruppenartikelsätze enthalten die Summenwerte aller zu dem jeweiligen Artikel und der jeweiligen Lagergruppe gehörenden Lagerortdaten, so weit sich diese sinnvollerweise summieren lassen. Ferner können die Lagergruppenartikelsätze Dispositionsparameter enthalten, die konkret für die jeweilige Lagergruppe vorgeben, wie der Artikel auf ihr disponiert werden soll. Sind hier keine Angaben hinterlegt, wird auf die Daten des Artikelstammsatzes zurückgegriffen (Default-Wertregel).
Beispiel (Ausgangslage)
Der (nicht-chargenpflichtige) Artikel 4711 liegt auf vier Lagerorten mit folgenden Beständen:
Lagerortartikelsatz 1: 4711 auf LAGO_1 mit 100 St
Lagerortartikelsatz 2: 4711 auf LAGO_2 mit 200 St
Lagerortartikelsatz 3: 4711 auf LAGO_3 mit 400 St.
Lagerortartikelsatz 4: 4711 auf LAGO_4 mit 500 St
Dazu gehört als "Summensatz" der Artikelstammsatz: 4711 mit 1200 St.
Über die vier Lagerortartikelsätze und den Artikelstammsatz hinaus noch die zwei Lagergruppenartikelsätze (LGRUP_1 besteht aus den Lagerorten LAGO_1 und LAGO_2; LGRUP_2 besteht nur aus dem einen Lagerort LAGO_3; LAGO_4 ist sich selbst als Lagergruppe zugeordnet und damit ist der Lagerortartikelsatz gleichzeitig sein eigener Lagergruppenartikelsatz):
Lagergruppenartikelsatz 1: 4711 auf LGRUP_1 mit 300 St
Lagergruppenartikelsatz 2: 4711 auf LGRUP_2 mit 400 St.
Programmablauf:
* In einem ersten Schritt werden die Lagerort- und eventuell vorhandenen Lagergruppenartikelsätze entsprechend bereinigt und neu aufgebaut:
- Zunächst werden in allen explizit als Lagergruppensätze gekennzeichneten Einträgen in dem Wertesegment der Lagerartikeldatei die neu aufzubauenden Felder initialisiert (auf Null gesetzt). Dann werden alle zugehörigen Lagerortartikelsätze zusammengefasst und die jeweiligen Summenwerte in den Lagergruppenartikelsatz übernommen. Wenn der Lagergruppenartikelsatz noch nicht vorhanden sein sollte, wird er automatisch neu angelegt.
* In einem weiteren Schritt werden gegebenenfalls abweichende Dispositionsparameter wie folgt in die Lagergruppenartikelsätze eingebracht: In der Tabelle FRD499 sind Zuordnungen zu treffen, aus welchen Lagerort- bzw. -Lagergruppenartikelsätzen die abweichenden Daten für eine Lagergruppe übernommen werden sollen. Dieses ist für den Fall von Bedeutung, bei dem vor der Umstellung ein Lagerort gleich seiner eigener Lagergruppe ist (vgl. obiges Beispiel LAGO_4), nun aber einer anderen Lagergruppe zugeordnet werden soll. Der Lagerort muss dabei nicht zur entsprechenden Lagergruppe gehören. Ein anderes Anwendungsbeispiel wäre, die Dispo-Parameter der einen Lagergruppe auf die einer anderen Lagergruppe zu übertragen.
Wichtig Als Ergebnis erhält man also für Lagergruppen, die in der Tabelle FRD499 als Argument angelegt sind, die gleichen Dispositionsparameter wie auf dem entsprechenden Lagerort bzw. der entsprechenden Lagergruppe. Gegebenenfalls werden Parameter, die schon im Lagergruppenartikelsatz stehen, herausgenommen, weil in dem Satz, aus dem die Werte zu übernehmen sind, keine eingetragen sind. Im Zweifel sollten in der FRD499 keine Argument eingetragen sein, damit Dispo-Parameter, die schon auf Lagergruppenebene gepflegt sind, nicht unbeabsichtigt herausgenommen werden.
* In einem letzten Schritt werden in allen Lagerortsätzen, die nicht gleichzeitig auch ihre eigenen Lagergruppenartikelsätze darstellen, eventuell eingetragene Dispo-Parameter herausgenommen, da Dispo-Parameter nur auf Lagergruppen- aber nicht auf reiner Lagerortebene unterstützt werden.
Beispiel (Fortsetzung)
Abänderung der Zuordnung Lagerort-Lagergruppe in folgender Weise: LGRUP_1 umfasst aktuell die zwei Lagerorte LAGO_1 und LA-GO_3, LGRUP_2 soll momentan keinen Lagerort mehr haben und die neu eingerichtete Lagergruppe LGRUP_3 umfasst nun aktuell die anderen beiden Lagerorte LAGO_2 und LAGO_4.
Zusätzlich zu den vier Lagerortartikelsätzen und dem Artikelstammsatz wird es die folgenden drei Lagergruppenartikelsätze geben:
Lagergruppenartikelsatz 1: 4711 auf LGRUP_1 mit 500 St
Lagergruppenartikelsatz 2: 4711 auf LGRUP_2 mit 0 St.
Lagergruppenartikelsatz 3: 4711 auf LGRUP_3 mit 700 St.
Sollten nun die Dispo-Parameter des Artikels, die ursprünglich bei LAGO_4 hinterlegt waren, auf LGRUP_3 übernommen werden, müsste vor Programmlauf in der Tabelle FRD499 ein Eintrag mit dem Argument "LGRUP_3" angelegt werden, bei dem in Parameter 01 der Lagerort LAGO_4 eingetragen ist.