Neu Ware direkt in ein Standardlager einbuchen per SQL StoreProcedure dbo.spWarenlagerEingangSchreiben

John

Sehr aktives Mitglied
3. März 2012
3.700
860
Berlin
Hi,

ich möchte Ware in ein Standardlager (nicht WMS) direkt per dbo.spWarenlagerEingangSchreiben.
Ameise und REST sind aus Kosten- und Performancegründen keine Option.

Leider finde ich dazu gar nichts. Vielleicht hat ja jemand von Euch mit der Funktion schonmal gearbeitet.

Die spWarenlagerEingangSchreiben
Code:
DECLARE @RC int
DECLARE @xWarenlagerEingaenge xml
DECLARE @kArtikel int
DECLARE @kWarenLagerPlatz int
DECLARE @kLieferantenBestellungPos int
DECLARE @kBenutzer int
DECLARE @fAnzahl decimal(28,14)
DECLARE @fEkEinzel decimal(28,14)
DECLARE @cLieferscheinNr varchar(255)
DECLARE @cChargenNr varchar(255)
DECLARE @dMHD datetime
DECLARE @dGeliefertAm datetime
DECLARE @cKommentar varchar(255)
DECLARE @kGutschriftPos int
DECLARE @kLHM int
DECLARE @kSessionId int
DECLARE @kBuchungsart int
DECLARE @kBestellPosUmlagerung int
DECLARE @kRMRetourePos int
DECLARE @nHistorieNichtSchreiben int
DECLARE @kWarenlagerEingang int

EXECUTE @RC = [dbo].[spWarenlagerEingangSchreiben]
   @xWarenlagerEingaenge
  ,@kArtikel
  ,@kWarenLagerPlatz
  ,@kLieferantenBestellungPos
  ,@kBenutzer
  ,@fAnzahl
  ,@fEkEinzel
  ,@cLieferscheinNr
  ,@cChargenNr
  ,@dMHD
  ,@dGeliefertAm
  ,@cKommentar
  ,@kGutschriftPos
  ,@kLHM
  ,@kSessionId
  ,@kBuchungsart
  ,@kBestellPosUmlagerung
  ,@kRMRetourePos
  ,@nHistorieNichtSchreiben
  ,@kWarenlagerEingang OUTPUT
GO

1. kSessionId
Eine Korrekturbuchung in der Wawi holt sich zunächste via spGetAndUpdatePK [@cName = 'tWarenLagerEingangSessionID'] eine SessionID und übergibt sie als kSessionId.
Ein Import per Ameise setzt kSessionId = 0
Welchen Effekt hat das?
Wie lange kann ich eine SessionID nutzen? Für alle Eingänge meiner Imporsitzung?

2. dGeliefertAm
Die Ameise setzt dGeliefertAm = NULL während eine Korrekturbuchung das Datum setzt.
Effekt?

3. kWarenLagerPlatz
Die Ameise und Wawi ermitteln kWarenLagerPlatz (hier mit kLager = 2) unterschiedlich.
Wawi:
Code:
SELECT * FROM
tWarenLagerPlatz
WHERE kWarenlager = 2
AND ((kWarenLagerPlatzTyp IS NULL) OR (kWarenLagerPlatzTyp <> 10))

Ameise:
Code:
SELECT tWarenLagerPlatz.kWarenLagerPlatz, tWarenLager.cName
FROM tWarenLager
JOIN tWarenLagerPlatz ON tWarenLagerPlatz.kWarenLager = tWarenLager.kWarenLager
WHERE tWarenLager.nFulfillment < 2 AND tWarenLager.nAktiv = 1 AND tWarenLager.nLagerplatzVerwaltung = 0 AND ISNULL(tWarenLager.kUser, 0) = 0
AND tWarenLagerPlatz.kwarenlagerplatztyp != 10 AND tWarenLagerPlatz.kWarenLager=2

Wieso läuft das unterschiedlich?

Der Rest der Procedur ist klaro...

John
 

Enrico W.

Administrator
Mitarbeiter
27. November 2014
9.031
1.877
Welche Performancegründe sprechen gegen die Ameise?
Mit dem Import Preise und Bestände ist das m.E. schnell erledigt?
 

Enrico W.

Administrator
Mitarbeiter
27. November 2014
9.031
1.877
Doch, die Frage ist durchaus ernst gemeint, denn dass das so langsam sein soll kann ich mit meinen Datenbeständen nicht reproduzieren.
Hättest du eine Beispieldatenbank, mit der ich das mal prüfen könnte?
 

FOC Solutions

Offizieller Servicepartner
SPBanner
5. Juli 2024
259
138
Doch, die Frage ist durchaus ernst gemeint, denn dass das so langsam sein soll kann ich mit meinen Datenbeständen nicht reproduzieren.
Hättest du eine Beispieldatenbank, mit der ich das mal prüfen könnte?
Das Thema liegt beim Kollegen, nur der ist jetzt im Urlaub. Wir gucken danach, ob wir Euch die Kunden-DB zur Verfügung stellen dürfen.
 

Enrico W.

Administrator
Mitarbeiter
27. November 2014
9.031
1.877
Nein, hab ich nicht - und wenn ich sie hätte: Wir unterstützen keine DB-Eingriffe.
Das hat auch durchaus Gründe - denn mit dem Eintrag in der Datenbank ist es nicht getan. Es müssen in der Folge Aktionen ausgelöst werden - wie z.B. müssen Abgleiche getriggert werden, Workflows etc.

Um das mal in Relationen zu setzen habe ich jetzt auf die Schnelle eine CSV mit 100k Artikeln erstellt. Diese wurde gerade importiert. Mit der Ameise.
100.000 Datensätze in 54 Minuten, 47 Sekunden.
Als nächstes importiere ich zu diesen 100k Artikeln Bestände. Mal schauen, wie lange das dauert.

Der Import der Bestände hat für 100k Artikel auch gut eine Stunde gedauert.
 
Zuletzt bearbeitet:

John

Sehr aktives Mitglied
3. März 2012
3.700
860
Berlin
Die Lager, in die ich schreiben möchte, dienen nur der Ansicht.
Es werden dort Lagerbestände eines anderen Standorts mit einer eigenen, anderen Warenwirtschaft angezeigt.
Sie sind für Auslieferung gesperrt und Workflows darauf nicht gewünscht.

Insofern finde ich Beschreiben legitim.

Hat jemand noch eine Idee, was es mit der SessionID und der Unerschiedlichen Auswertung von kWarenLagerPlatz auf sich hat?
Rober vielleicht @T4DT.GmbH
 

mvh

Sehr aktives Mitglied
26. Oktober 2011
937
342
Moin. SessionId wird von WMS und WaWi benutzt, ist eine quasi Richtlinie von Microsoft, und es wird an zig Stellen verwendet. Die Ameise braucht keine Session und prüft es auch nicht. Wir erstellen eine SessionId und verwerfen diese nach dem Vorgang. Genauso dGeliefertAm - ist für den Vorgang in der Ameise irrelevant. Beim kWarenlagerPlatz bezieht die WaWi das Vorwissen und ändert die Abfrage je nach Lager, die Ameise versucht mit einer Abfrage alles zu regeln. In der Regel ist die Ameise "dumm" und "faul" - alles was nicht unbedingt gemacht werden muss - wird auf Null gestellt oder nicht berechnet, und ohne bekannte Lager/Artikel Zustände muss die Abfrage geändert werden.
 
Ähnliche Themen
Titel Forum Antworten Datum
Beantwortet Workflow Auftrag über FFN ausliefern wenn Ware eingelagert JTL-Workflows - Ideen, Lob und Kritik 3
Neu Rückzahlungen aus JTL Wawi direkt auslösen User helfen Usern - Fragen zu JTL-Wawi 0
Neu "Evtl. Lieferzeitverzögerung" direkt beim Einlegen in den Warenkorb anzeigen? Allgemeine Fragen zu JTL-Shop 0
Neu Gutschein E-Mail versand direkt nach den ändern der Kundenklasse Allgemeine Fragen zu JTL-Shop 0
Neu Ist das ein BUG JTL-Ameise - Fehler und Bugs 1
Neu Unhandled Exception beim Versuch ein WEBP Format als Merkmalbild zu importieren JTL-Wawi - Fehler und Bugs 0
Neu Welches PlugIn für ein besseres Google Ranking? Plugins für JTL-Shop 2
Neu PayPal Plugin 2.0 - Vaulting - Ist IMMER ein neues Onboarding nötig? Wie prüfen, ob OK? Plugins für JTL-Shop 6
Fehler in der JTL-Wawi-Anzeige, ob ein Artikel bereits einem Onlineshop zugeordnet wurde. JTL-Wawi 1.10 5
Nach Update > Artikel > Lieferanten friert ein JTL-Wawi 1.10 3
Rechnung mailen nur noch ein kleiner Teil JTL-Wawi 1.9 1
Neu Wie kann es sein, dass ein "Rechnung erstellt" - Workflow 3 Tage später nochmal ausgelöst wird? User helfen Usern - Fragen zu JTL-Wawi 5
Neu Wie richte ich es so ein, dass alle vom Shop versendeten Mails per BBC an eine bestimmte Mail gehen (SMTP) Allgemeine Fragen zu JTL-Shop 1
In Diskussion Wie lässt sich die Ausführung eines Workflows stoppen, sobald ein Produkt in einer gewissen Kategorie ist? JTL-Workflows - Fehler und Bugs 1
In Diskussion E-Mail an die Produktion, wenn ein Kunde bezahlt hat. JTL-Workflows - Ideen, Lob und Kritik 3
Neu Amazon Lister 1.0 vs. 2.0 = ein absolutes Chaos !? Amazon-Lister - Fehler und Bugs 25
Wann kommt endlich ein Update zur 1.10.10.3 ? JTL-Wawi 1.10 6

Ähnliche Themen