Lagerbestände per PHP SQL Query verändern

webgreat

Gut bekanntes Mitglied
17. April 2013
282
9
Verl
Moin moin, nachdem ich nun einige Shopware Plugins für JTL Abgebildet habe, versuche ich mich aktuell daran die Lagerbestände direkt mit PHP zu verändern. MSSQL ist Neuland für mich.
Hat jemand eine Info was für DB Tabellen gefüttert werden müssen damit die Sache ohne Genickbruch sauber abzubilden ist?

Für die ersten Gehversuche - Standardlager ohne WMS.

Code:
SELECT tartikel.kArtikel,
tartikel.cArtNr,
tartikel.cName,
tartikel.cBarcode,
tlagerbestand.fLagerbestand,
tWarenLagerPlatzArtikel.kWarenLagerPlatz,
tWarenLagerPlatzArtikel.kArtikel,
tWarenLagerPlatzArtikel.fAnzahl


FROM tartikel
INNER JOIN
tlagerbestand ON tartikel.kArtikel = tlagerbestand.kArtikel
INNER JOIN
tWarenLagerPlatzArtikel ON tartikel.kArtikel = tWarenLagerPlatzArtikel.kArtikel AND tWarenLagerPlatzArtikel.kWarenLagerPlatz = 7

Gibt:
Code:
[COLOR=#000000]Array[/COLOR]
(    [kArtikel] => 6    [cArtNr] => 100000    [cName] => Olimp Gold Omega 3 - 60 Kapseln    [cBarcode] => 5901330024498    [fLagerbestand] => 5811    [kWarenLagerPlatz] => 7    [fAnzahl] => 133 [COLOR=#000000])[/COLOR]

Ich habe das Gefühl ich bin auf dem Holzweg. Ich habe zwei Lager angelegt und einen Artikel in beiden Lagern eingebucht. Welche Tabellen legen fest das der Artikel mit Stückzahl x in Lager A und Stückzahl y in Lager B liegen? Bin ich blind ? ;)


fLagerbestand zeigt GesamtbestandfAnzahl zeigt Bestand auf dem Lagerplatz 7Die Lagerbestände tauchen ja in vielen Tabellen auf, welche müssen gefüllt werden damit die Sache funktionieren kann?Bin für jeden Hinweis dankbar! Eine Dokumentation in der Richtung existiert nicht oder habe ich etwas übersehen?
 

zwitsch

Sehr aktives Mitglied
14. November 2007
425
38
AW: Lagerbestände per PHP SQL Query verändern

Schau Dir mal die StoredProcedures in der JTL-DB an. Da sind ein paar dabei, mit denen Lagerbestandsbuchungen gemacht werden können.
 

gerfriedd

Gut bekanntes Mitglied
20. Januar 2010
135
13
AW: Lagerbestände per PHP SQL Query verändern

wie soll der überhaupt Bestand gebucht werden ?

Wareneingang, Warenausgang, Umbuchung ?

siehe StoredProcedures eazybusiness sp.BestandBuchen*

die können mittels T-SQL mit Parametern Werten angesprochen werden

also T-SQL ist hier das Stichwort, und nicht PHP

dieses ggf. lieber in einer "Extra-Datenbank" "neben" der eazybusiness innerhalb der SQL Instance

so machen wir es bei der Verarbeitung / dem Abgleich von Lieferantenbestellungen ( Daten Response aus XML Dateien )
 

webgreat

Gut bekanntes Mitglied
17. April 2013
282
9
Verl
AW: Lagerbestände per PHP SQL Query verändern

Zunächst mal eine einfache plus Buchung eines Artikels in Lager XY. Wie gesagt, MSSQL ist neu für mich.



wie soll der überhaupt Bestand gebucht werden ?

Wareneingang, Warenausgang, Umbuchung ?

siehe StoredProcedures eazybusiness sp.BestandBuchen*

die können mittels T-SQL mit Parametern Werten angesprochen werden

also T-SQL ist hier das Stichwort, und nicht PHP

dieses ggf. lieber in einer "Extra-Datenbank" "neben" der eazybusiness innerhalb der SQL Instance

so machen wir es bei der Verarbeitung / dem Abgleich von Lieferantenbestellungen ( Daten Response aus XML Dateien )
 

gerfriedd

Gut bekanntes Mitglied
20. Januar 2010
135
13
AW: Lagerbestände per PHP SQL Query verändern

INSERT INTO eazybusiness.dbo.tWarenLagerEingang

mit Values

und

EXEC eazybusiness.dbo.spBestandBuchenWareneingang

mit dementsprechenden Parametern

!! -> aber vorher PK holen und verarbeiten

EXEC eazybusiness.[dbo].[spGetAndUpdatePK] 'tWarenLagerEingangSessionID' -- gibt neue Nummer für SessionID zurück

--

wir haben hier ein T-SQL Script für ( was ich aber im Forum nicht veröffentliche )

--

Du willst also mit PHP "von außen" auf die MSSQL Tabellen der Tabellen zugreifen
In wie fern das auch mit den sp geht weiss ich nicht

ich hab grad mal gegoogelt "mssql php"
 

webgreat

Gut bekanntes Mitglied
17. April 2013
282
9
Verl
AW: Lagerbestände per PHP SQL Query verändern

Danke für deine Tips!

ich verstehe nicht ganz was das hier ist
PHP:
EXEC eazybusiness.[dbo].[spGetAndUpdatePK] 'tWarenLagerEingangSessionID' -- gibt neue Nummer für SessionID zurück


Was meinst du mit "sp"?
PHP:
In wie fern das auch mit den sp geht weiss ich nicht
INSERT INTO eazybusiness.dbo.tWarenLagerEingang

mit Values

und

EXEC eazybusiness.dbo.spBestandBuchenWareneingang

mit dementsprechenden Parametern

!! -> aber vorher PK holen und verarbeiten

EXEC eazybusiness.[dbo].[spGetAndUpdatePK] 'tWarenLagerEingangSessionID' -- gibt neue Nummer für SessionID zurück

--

wir haben hier ein T-SQL Script für ( was ich aber im Forum nicht veröffentliche )

--

Du willst also mit PHP "von außen" auf die MSSQL Tabellen der Tabellen zugreifen
In wie fern das auch mit den sp geht weiss ich nicht

ich hab grad mal gegoogelt "mssql php"
 

webgreat

Gut bekanntes Mitglied
17. April 2013
282
9
Verl
AW: Lagerbestände per PHP SQL Query verändern

Also die Verbindung auf einer Unix Kiste zur MSSQL besteht bereits. Ich kann alles machen, nur weiß ich nicht wie / wo man überall füttern muss um sauber den Bestand zu manipulieren.
 

gerfriedd

Gut bekanntes Mitglied
20. Januar 2010
135
13
AW: Lagerbestände per PHP SQL Query verändern

sp = "präfix" für die StoredProcedures in der eazybusiness


EXEC eazybusiness.[dbo].[spGetAndUpdatePK] 'tWarenLagerEingangSessionID'


schau Dir die Prozedur und die zugehörige Tabelle dazu an,
es ist wichtig das zu verstehen,
ansonsten würde ich lieber nicht bei Script Warenbestände "buchen"

 

webgreat

Gut bekanntes Mitglied
17. April 2013
282
9
Verl
AW: Lagerbestände per PHP SQL Query verändern

Bis jetzt kapier ich dieses MSSQL und dieses lustige SQL Management Studio nicht wirklich und das geht mir richtig auf die Ketten.
Was genau ist "StoredProcedures" ? Weiter kann ich mit
PHP:
EXEC eazybusiness.[dbo].[spGetAndUpdatePK] 'tWarenLagerEingangSessionID'
auch nichts anfangen.

Jemand einen Tip wo die SQL Geschichte und Besonderheiten gegenüber MySql quick & dirty erklärt wird?
 

reneromann

Sehr aktives Mitglied
31. August 2012
2.135
5
AW: Lagerbestände per PHP SQL Query verändern

Stored Procedures sind vereinfacht gesagt spezielle Select/Update/Insert-Kombinationen...
Das hat den Vorteil, dass bei einer Änderung der Grundstruktur der DB zwar die stored procedure (sprich deren Inhalt) geändert werden muss, aber nicht die Programme, die die stored procedure aufrufen.
 

gerfriedd

Gut bekanntes Mitglied
20. Januar 2010
135
13
AW: Lagerbestände per PHP SQL Query verändern

@webgreat

EXEC eazybusiness.[dbo].[spGetAndUpdatePK] 'tWarenLagerEingangSessionID'
EXEC eazybusiness.dbo.spBestandBuchenWareneingang

schau Dir die Prozedur und die zugehörige Tabelle dazu an,
es ist wichtig das zu verstehen,
ansonsten würde ich lieber nicht bei Script Warenbestände "buchen"

das meinte ich genauso wie ich es geschrieben habe.

Wenn Du Dich damit nicht genauer auseinander setzen willst hat der JTL-Wawi Betreiber demnächst instabile Daten,
besonders im Bezug auf seinen Warenbestand.

Die Prozeduren erfüllen Ihre Zweck,
und werden dementsprechend auch aus der Software "aufgerufen" / "aktiviert".

P.S. Studio Management ist eben das Tool für T-SQL

.. und damit kannst Du auch die evtl. noch vorhanden Trigger ansehen die auf einer Tabelle liegen
.. und was die dann ggf. auslösen

wenn Du "einfach mal eben so" einen Insert auf eine Tabelle machst
 

SebastianB

Moderator
Mitarbeiter
6. November 2012
2.084
339
AW: Lagerbestände per PHP SQL Query verändern

Hi,

die Bestände sind ein komplexes Thema - abhängig vom Artikeltyp werden ganz unterschiedliche Stellen in der DB benötigt. Bei manuellen Zugriffen auf die DB stehen in diesem Bereich die Chancen sehr, sehr gut dass danach die Bestände nicht mehr stimmen, beim nächsten Update überschrieben werden oder völlig hinüber sind.

Dazu kommt noch, dass sich die Strukturen in diesem Bereich auch häufiger ändern. Mit der 1.0 werden viele Skripte die manuell die Warenbestände verändert haben nicht mehr funktionieren.

Insofern kann ich wirklich nur davon abraten in diesem Bereich an der DB manuell etwas zu ändern. Über die Ameise ist es auch via Kommandozeile möglich, Lagerbestände sauber zu ändern.

Gruß,
Sebastian
 

webgreat

Gut bekanntes Mitglied
17. April 2013
282
9
Verl
AW: Lagerbestände per PHP SQL Query verändern

Die Ameise ist super, nur eben nicht Live .. das ist mir alles zu starre. Wenn man an der Stelle sauber arbeitet sollte es doch kein Problem sein. Nur eben verstehen muss ich das ganze erst noch ;)
 

zwitsch

Sehr aktives Mitglied
14. November 2007
425
38
AW: Lagerbestände per PHP SQL Query verändern

Ich habe mir in einem Zusatzprogramm eine Routine erstellt, die aus meine Daten eine CSV-Datei erstellt und dann per Ameise und Aufruf über Parameter (ebenfalls im Programm kodiert) die Daten lädt. Das hat den Vorteil, dass die Daten per JTL-Bordmitteln angelegt werden und man in den JTL-Tabellen nicht "wildern" muss. Und ist Updatesicher.

Gruß
Peter
 

gerfriedd

Gut bekanntes Mitglied
20. Januar 2010
135
13
AW: Lagerbestände per PHP SQL Query verändern

@webgreat

Frage: kannst Du mit PHP eine StoreProduced in MSSQL aufrufen und Parameter übergeben ?
mache Dich da bitte mal schlau auf Deiner PHP Seite und melde Dich ggf. per PN bei mir
Interessiert mich inzwischen auch.

wenn NEIN -> vergiss die Lagerbestände zu Buchen so wie Du es willst

Anmerkung: Wir sind im Bereich EDI(fact) Datenverarbeitung,- Schnittstellen unterwegs und tiefer eingestiegen,
und haben eine komplette XML-Schnittstelle ( in T-SQL )

Ich spreche hier also aus ( auch aus Produktiven ) Erfahrungswerten

Sollte das ein Auftrag sein den Du abarbeitest für einen Kunden,
wünsche ich Dir eine gute Rechtsabteilung.

aber

Ameise:

1.) Import Vorlage anlegen
2.) Import Vorlage per Batch antriggern per Aufgaben-Task unter Windows

CMD-Line Version von JTL-Ameise ? JTLWiki

Die Ameise ist super, nur eben nicht Live .. das ist mir alles zu starre

-> hat sich wohl damit erledigt
 

webgreat

Gut bekanntes Mitglied
17. April 2013
282
9
Verl
AW: Lagerbestände per PHP SQL Query verändern

Vielen Dank für die Anregungen. Da muss ich mich wohl ein bisschen mehr Zeit für aufbringen. Ameise ist - für mich - dafür nicht geeignet.
 

webgreat

Gut bekanntes Mitglied
17. April 2013
282
9
Verl
AW: Lagerbestände per PHP SQL Query verändern

Nein ist es nicht. Bevor ich das nicht aus em ff abbilden kann, werden auch keine Aufträge in der Richtung angenommen. Es ist zunächst pure Spielerei, später kann man Anwendungen auf PHP schreiben.

@webgreat

Sollte das ein Auftrag sein den Du abarbeitest für einen Kunden,
wünsche ich Dir eine gute Rechtsabteilung.


-> hat sich wohl damit erledigt
 
Ähnliche Themen
Titel Forum Antworten Datum
Lagerbestände mit der Ameise korrigieren JTL-Wawi 1.6 3
Neu Lister 2.0 und Lagerbestände Amazon-Lister - Fehler und Bugs 0
Neu Wie lässt sich der Lieferstatus von Aufträgen per SQL abfragen? User helfen Usern - Fragen zu JTL-Wawi 4
Neu Sendungsnummern per Mail versenden bei mehreren Paketen User helfen Usern - Fragen zu JTL-Wawi 5
Neu Eigene Felder des Artikels per Exportvorlage Auftrag auslesen Schnittstellen Import / Export 0
Textvorlage bei "Nachricht an Kunde" per email nicht mehr möglich JTL-Wawi 1.11 2
Beantwortet Workflow Datei schreiben Dateiname per Dotliquid Fehler Illegales Zeichen im Pfad. callerMemberName : WriteFile JTL-Workflows - Fehler und Bugs 1
Bildimporte per Ameise ein "netter" Zeitvertreib JTL-Wawi 1.11 0
Lieferantenbestellung per Workflow bestätigen JTL-Wawi 1.11 0
Fehler Export PDF Datei / Senden per Email JTL-Wawi 1.11 2
Alternativtext für Artikelbilder per Ameise pro Plattform setzen JTL-Wawi 1.10 0
Neu Kundengruppe per SQL löschen User helfen Usern - Fragen zu JTL-Wawi 3
Neu Aktivierung des Kundenkontos per Bestätigungsemail Allgemeine Fragen zu JTL-Shop 5
Neu Kann man das Shop-Guthaben von Kunden per Workflow beeinflussen? User helfen Usern - Fragen zu JTL-Wawi 0
Neu "Ist Standard Dropshipping Lieferant" per Ameise exportieren User helfen Usern - Fragen zu JTL-Wawi 5
XML Auftragsimport per Workflow bediinen JTL-Wawi 1.8 1
neue Zahlungsart "Barter", trotzdem erscheint "Zahlung per Überweisung und QR-Code" JTL-Wawi 1.10 1
Neu Die Leiferantendaten bei Artikelstammdaten lassen sich per Ameise nicht ändern User helfen Usern - Fragen zu JTL-Wawi 6
Neu PHP critical condition - jtl_paypal_commerce Allgemeine Fragen zu JTL-Shop 2

Ähnliche Themen