|
I)
|
Lager bestimmen
|
|
|
1)
|
|
|
|
a)
|
aus scsLagerSoll
|
|
|
|
-
-
1-ster Lager verlangt „*:Lager“
-
leer, dann wenn EntnLagKenn == 2 Entnahmelager aus TLC (87,16)
|
|
Bei scsTyp == „PWEP“ [PWEP], "LAGNO" auswerten und ggf. nächsten Lager wie oben suchen.
|
|
b)
|
kein Lager in scsLagerSoll vorgegeben
|
|
|
|
-
dann über „normale“ Strategie aus Chargenbestand (Pfad 3, ohne Lager) ermitteln.
|
|
2)
|
weitere Aufrufe
|
|
|
Aus letztem Lagerplatzbestand. Wird über lLpbISN (Globalvariable GV_ENT_LpbISN) gelesen.
|
|
Prüfungen, Lager ist gültig wenn:
|
|
|
a)
|
Lagerstatus (24, 1) leer, „E“ bzw. „L“
|
|
|
b)
|
ggf. Bestand > 0
|
|
|
II)
|
Charge nach Strategie
|
|
|
|
Charge nach „normaler“ Strategie mit Lager suchen
|
|
|
|
-
Pfad 2 mit Teil, scsLagerSoll und Strategiefeld
-
Pfad 3 mit Teil und Strategiefeld, ohne scsLagerSoll
|
|
|
Vorwärts lesen bei Entnahmestrategie: 1, 4, 5, 6 und 8
|
|
Rückwärts lesen bei Entnahmestrategie: 2, 3, 7 und 9, Start mit Strategiefeld highvalue und ggf. 1-nen Satz zurück
|
|
1)
|
1. Aufruf (lChbISN = 0, Globalvariable GV_ENT_ChbISN).
|
|
Nur wenn noch nicht mit scsLagerSoll gefunden.
|
|
Chargenbestand nach Pfad 2 mit scsLagerSoll lesen
|
|
Beim rückwärts Lesen wenn Teil und/oder scsLagerSoll größer als Vorgabe sofort einen Satz rückwärts lesen.
|
|
2)
|
weitere Aufrufe, nächste Charge
|
|
|
Nur dann, wenn Lagerplatzbestand mit Teil und Lager schon abgearbeitet ist
|
|
Aufsetzen mit lChbISN (Globalvariable GV_ENT_ChbISN).
|
|
Nächsten/vorherigen Satz laut Entnahmestrategie lesen.
|
|
Prüfungen
|
|
Keine Prüfung auf Bestand Menge frei (88,7) - Menge zugeordnet (88,10) > 0 da auch negativ möglich.
|
|
a)
|
Teilende -> Ende
|
|
|
b)
|
Lagerende -> Ende bzw. Lagerwechsel wenn ohne scsLagerSoll
|
|
Prüfungen, Chargenbestand ist gültig wenn:
|
|
|
c)
|
Status (88,1) == „ “
|
|
|
d)
|
wenn lPWEP == 1 (nicht geprüft nehmen)
|
|
|
|
-
dann Kenneun nicht geprüft (88, 39) != „1“
-
zugeordnet wie geprüft behandeln wenn [PWEP], „ZUOgepr = Yes“ und Charge in noch keine zugeordnete Menge (88, 10) == 0
|
|
|
e)
|
wenn lPWEP == 2 (geprüft nehmen) dann Kennung geprüft (88, 39) == „1“
|
|
f)
|
wenn Verfalldatum (88, 16) dann > Tagesdatum
|
|
Wenn Chargenbestand nicht passt, dann nächsten/vorherigen Chargenbestand laut Entnahmestrategie lesen und zur Prüfung Chargenbestand.
|
|
III)
|
Lagerplatzbestand zum Chargenbestand lesen/prüfen
|
|
|
-
Pfad 1 mit Teil, scsLagerSoll, Charge und Lagerplatz
-
Pfad 3 mit Teil, scsLagerSoll, Charge, Sortfeld und Lagerplatz, [LPCV], "StratSort = Yes"
|
|
Wenn der Sort nach Strategie-Sort ([LPCV], StratSort) aktiv ist, dann Laberplatzbestand mit Sortfeld (85,17) wird aus Lagerplatz 84,5 beim Einlagern abgestellt), dann nach Pfad 3 lesen.
|
|
Stammlagerplatz aus Lager wenn da, dann zuerst verwenden
|
|
1)
|
1. Aufruf (lLpbISN = 0, Globalvariable GV_ENT_LpbISN)
|
|
2)
|
weitere Aufrufe
|
|
|
Aufsetzen mit lLpbISN (Globalvariable GV_ENT_LpbISN).
|
|
Nächsten Satz lesen.
|
|
Prüfungen
|
|
a)
|
Teilende -> nächste Charge
|
|
|
b)
|
Lagerende -> nächste Charge
|
|
|
c)
|
Chargenende -> nächste Charge
|
|
|
Prüfungen, Lagerplatzbestand ist gültig wenn:
|
|
|
c)
|
Status (85,2) == „ “
|
|
|
d)
|
Bestandsführungskennzeichen == 0, aus Zustand (85,1) über INI [CONDITION] Bestandsführungskennzeichen lesen - wenn nicht gefunden, als ob != 0, wenn 0 -> scsIFZustand
|
|
e)
|
nur wenn Buchen unter 0 verboten strUnter0: Entnahmebestand da: Menge frei (85,7) - Menge zugeordnet (85,9) > 0
|
|
Wenn Lagerplatzbestand nicht passt, dann nächsten ggf. laut Lagerplatzbestand Sortfeld lesen und zur Prüfung Lagerplatzbestand.
|
|
III)
|
Lagerplatz zum Lagerplatzbestand lesen/prüfen
|
|
|
|
Lagerplatz zum Lagerplatzbestand lesen
Lesen nach Lager, Lagerplatz
Wenn nicht vorhanden -> Fehler
Lagerplatz zum Lagerplatzbestand prüfen, gültig wenn:
|
|
a)
|
Status (84,10) == „ “
|
|
|
b)
|
laut scsKennLagPlz die Kennung (84, 33) auswerten
-
keine Kennung vorgegeben „Empty“, dann nur Kennung = „ “ oder „G“
-
Kennung „ “ (Blank), dann nur Kennung = „ “
-
Kennung != „ “, dann nur die mit der gleichen Kennung
|
|
c)
|
Lagerschnittstelle (84, 34) auswerten
|
|
|
Wenn Lagerplatz nicht passt, nächsten Lagerplatzbestand lesen und Prüfen.
Entnahmebestand gefunden:
Rückgabeparameter dMengeEntnahme, scsLagerIst, scsLagerPlatzIst, scsChargeIst, dMengeEntnahmeGes versorgen.
scsIFZustand versorgen.
Wenn nichts gefunden werden die Rückgabeparameter mit 0 (dMengeEntnahme) bzw. mit Leerzeichen (scsLagerIst, scsLagerPlatzIst, scsChargeIst) versorgt.
|
|
Ohne Strategie
|
|
|
Wenn alles angegeben ist (Lager, Platz und Charge), dann wird keine Strategie durchlaufen.
Als Ergebnis - wenn unter 0 erlaubt ist - wird ggf. der negative Lagerplatzbestand zurückgegeben.
Wenn gefunden, Versorgung wie „normale“ Strategie. Auch bei Menge 0 werden die Parameter dMengeEntnahme = 0, scsLagerIst, scsLagerPlatzIst, scsChargeIst versorgt.
Wenn nicht gefunden werden die Parameter scsLagerIst, scsLagerPlatzIst, scsChargeIst nicht versorgt.
|
|
Strategie „Versandlagerplatz“
|
|
wie „normale Strategie“ mit vorgegebenen Lager und Lagerplatz.
|
|
Strategie "Produktionswareneingangsprüfung (PWEP)" in der Fertigung
|
|
Nur [PWEP], Anteil > 0 und wenn für Teile mit Markierung «PWEP-Teil» 87,32 aktiv und LPCV (nur LPV Teile nicht).
«Mindestmenge» 87,33 aus Teilestamm wird - wenn vorhanden - berücksichtigt.
|
|
Ausnahmen:
|
|
Die Entnahme erfolgt über alle Lager mit ausnahmen der Lager laut [PWEP], "LagNo" in aufsteigender Sortierfolge der Lager:
Der Entnahmelager aus Teilestamm (87, 16) wird nicht als 1. Lager verwendet.
|
|
a)
|
ungeprüfte Menge
|
|
|
|
Zuerst ungeprüfte Menge aber nicht mehr als der Anteil laut INI-Einstellung [PWEP], „Anteil“ (in %) mit „normaler“ Strategie entnehmen.
Anfangen wird mit dem Lager aus Reservierung.
Mit der Einstellung [PWEP], „ZUOgepr = Yes" auch ungeprüfte Chargen mit bereits vorhandenen Zuordnungen ((88, 10) > 0) als geprüft betrachten und nicht verwenden
Sind zuwenig ungeprüfte Chargen vorhanden, so werden stattdessen geprüfte Chargen verwendet.
|
|
b)
|
geprüfte Menge
|
|
|
|
Die Restmenge wird aus geprüften Chargenbeständen nach „normaler“ Strategie entnommen.
Die Einstellung [PWEP], „ZUOgepr = Yes" ist wirksam.
|