3.54 Lagerplatz-Einlagerungsstrategie
EinlagerungsStrategie(strMode,strInp,strTLC,strLAG,strOut,strCHB,strLPZ,
dMengeLagerplatz);
|
Argumente
|
|
Input:
|
|
strMode
|
Modus abhängig von der Anwendung:
|
|
|
“KONSI“: für 45B (AUF43A) Zubuchung auf Konsignationslager, es werden Chargendaten aus den Satzpuffern (nicht aus IF-Variablen) verwendet
|
|
|
“742“ Wareneingang aus 742 (EKA742), Chargendaten aus IF-Variablen
|
|
strInp
|
für spezielle Behandlungen:
|
|
strTLC
|
Teilestammsatz LCV, verwendete Felder:
|
|
|
1: Teilenummer
|
|
|
2: Chargenart
|
|
strLAG
|
Lagerstammsatz
|
|
Input über interne Variable:
|
|
scsIF
|
Lagernummer
|
|
|
Laber
|
|
scsIF
|
Teilenummer
|
|
|
Teil
|
|
Input aus INI-Datei:
|
|
Section [GENERAL], „EinlagStrategie“
|
|
|
1 nur leere Lagerplätze
|
|
|
2 erst leere, dann belegbare
|
|
|
3 erst belegbare, dann leere
|
|
Section [HAENEL], „M<Menue>-IPS“
|
|
|
TRUE Schnittstellen-Lagerplätze sind verboten
|
|
|
FALSE alle Lagerplätze werden gesucht
|
|
Output:
|
|
|
|
|
|
strOut
|
|
|
|
|
|
|
für Übergabe an IPS-Steuerdatei
|
|
|
Pis.
|
Lang
|
Ausgabe
|
|
|
|
11
|
0 = Charge (D88) vorhanden, weiter update
|
|
|
|
1 = Chargennummer vorhanden, Satz anlegen
|
|
|
|
2 = Charge vergeben und Satz anlegen
|
|
Input/Output:
|
|
strCHB
|
Chargenbestandssatz
|
|
|
falls vorhanden, wird der gefundene Satz an IPS-Steuerdatei übergeben, sonst bleibt der Puffer unverändert
|
|
strLPZ
|
Lagerplatz
|
|
|
falls die Einlagerung auf eingegebenen Lagerplatz erfolgen soll muss der Lagerplatz im Satz versorgt sein
|
|
|
gefundener Lagerplatz
|
|
dMenge
|
Lagerplatz
|
|
|
Die maximale mögliche Einlagerungsmenge bzw. 0 für unbegrenzte Menge
|
|
Input/Output über interne Variable:
|
|
scsIF
|
Lagerplatz
|
|
|
gefundener Lagerplatz
|
|
scsIF
|
Chargenbezeichnung
|
|
|
Output „0“ = nur bei Teil mit nur Lagerplatzverwalzung ohne Charge
|
|
|
Rückgabewert
|
|
0
|
Alles in Ordnung, Lagerplatz gefunden.
|
|
ungleich 0
|
kein Lagerplatz gefunden bzw. Datenbankfehler
|
|
|
Beschreibung
|
Lagerplatz gemäß Einstellungen in Teilestamm LCV (ggf. INI - siehe oben) mit möglicher Einlagerungsmenge (entweder max. freie Menge, wenn nicht alles rein passt oder Einlagerungsmenge) wird vorgeschlagen. Die Auswahl des Lagerplatzes erfolgt mit/ohne Einlagerungsstrategie (nach Eingabe des Lagerplatzes bzw. Stammlagerplatzangabe im Lager ohne Strategie).
Einlagerung ohne Strategie:
-
Stammlagerplatz: Bei Vorhandensein eines Stamm-Lagerplatzes aus Lagerstamm (Feld 52) wird die Einlagerungsstrategie ignoriert. Stamm-Lagerplatz hat Vorrang, falls kein Lagerplatz vorgegeben wurde. Solange nicht voll und Status aktiv ist, wird er verwendet. Es werden auch keine Lagerplatztypen und Einheiten geprüft und auch keine Mischbelegung.
-
Vorgegebener Lagerplatz: Falls ein Lagerplatz vorgegeben wurde, so hat dieser immer Vorrang. Der Lagerplatz wird dann wie bei Einlagerungsstrategie geprüft.
Kann der Stammlagerplatz bzw. der vorgegebene Lagerplatz nicht verwendet werden, so wird nach der eingestellten Einlagerungsstrategie ein Lagerplatz gesucht.
Zusätzlich wird im „strOut“ an die IPS-Steuerdatei mitgeteilt, wie mit der Chargenbestand-Datei (Charge) weiter verfahren werden muss.
|
|
Beispiel
|
………….(Auszug aus 742-Z.IPS)
// Lagerplatz ist ggf. aus Programm versorgt
AssignString(strMode,"742");
IpsSetItemParams("LES",1);
IpsSetPreparedRcPrefixMSG("LES");
EinlagerungsStrategie(strMode,_
strInp,_
strTLC,_
strLAG,_
strOut,_
strCHB,_
strLPZ,_
dMengeLagerplatz);
IpsSetItemParams("IPS",1);
IpsSetPreparedRcPrefixMSG("IPS");
// Chargensatzbehandlung
AssignString(strChargenbezNeu,"N");
AssignLong(lPis,1);
IsInString(strOut,"2",lPis);
if (lPis == 1)
AssignString(strChargenbezNeu,"J"); // nicht vorhanden, vergeben
|

|