Lagerbestände per PHP SQL Query verändern

webgreat

Gut bekanntes Mitglied
17. April 2013
281
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
423
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

Offizieller Servicepartner
SPBanner
20. Januar 2010
133
12
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
281
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

Offizieller Servicepartner
SPBanner
20. Januar 2010
133
12
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
281
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
281
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

Offizieller Servicepartner
SPBanner
20. Januar 2010
133
12
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
281
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

Offizieller Servicepartner
SPBanner
20. Januar 2010
133
12
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
281
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
423
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

Offizieller Servicepartner
SPBanner
20. Januar 2010
133
12
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
281
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
281
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
Artikel mehreren Kategorien per Ameise zuordnen JTL-Wawi 1.9 3
Neu Rechnungskorrekturen per SQL Vorgangsstatus setzen JTL-Workflows - Ideen, Lob und Kritik 1
Neu Nach Update auf 1.9.8.0 kein Bilderabgleich per JTL-Connector mehr möglich Shopify-Connector 20
Zahlungslinks & Rechnungen per Mollie API? JTL-Wawi 1.9 0
Neu Waren per Scanner einlagern Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 1
Neu Bedienbarkeit von JTL-Wawi per Screenreader NVDA/JAWS JTL-Wawi - Ideen, Lob und Kritik 1
Anhänge bei zb. Auftrag per Email versenden | Workflow JTL-Wawi 1.9 5
Neu Expressbearbeitung (unter Zusatzverpackung) in der WaWi per Workflow abfangen Allgemeine Fragen zu JTL-Shop 2
Neu Auftragsview per Ameise oder SQL in CSV exportieren User helfen Usern - Fragen zu JTL-Wawi 13
Neu Rückzahlung per Zettle nicht möglich?! Allgemeine Fragen zu JTL-POS 0
Neu Bild-URL per Workflow aus eigene Felder zuordnen – Geht das? User helfen Usern - Fragen zu JTL-Wawi 5
Gelöst Datei per Workflow verschieben JTL-Workflows - Ideen, Lob und Kritik 8
Neu Einem Kunden eine Rechnung mit individuellem Betreff per E-Mail zusenden User helfen Usern - Fragen zu JTL-Wawi 2
Neu Bon automatisch per Mail Allgemeine Fragen zu JTL-POS 0
Neu CSV per FTP vom Lieferanten JTL Shop Hosting Schnittstellen Import / Export 3
Neu PDF Datei automatisch herunterladen und per E-Mail versenden Arbeitsabläufe in JTL-Wawi 1
In Diskussion Wie lässt sich ein Freiposition im Auftrag per Workflow löschen? JTL-Workflows - Fehler und Bugs 4
Neu Lieferschein per Workflow o.ä. von "offen" auf "Versendet" setzen bei bestimmter Versandart User helfen Usern - Fragen zu JTL-Wawi 8
Neu Hersteller per Ameise löschen User helfen Usern - Fragen zu JTL-Wawi 3
In Diskussion Versandbestätigung per Workflow versenden JTL-Workflows - Fehler und Bugs 1
Keine Verbindung Mit JTL Shop 5 obwohl sync PW und Sync Benutzer in php identisch mit Wawi Einrichtung JTL-Shop5 5
Neu Fehler bei der Installation in der defines.php Installation / Updates von JTL-Shop 9

Ähnliche Themen