MySQL Syntax gesucht -> Alle Bestellnummern eines Lieferanten exportieren

OP #7901736
Lesenswert?

Hallo da draussen,

Ich habe für meine WaWi usw. CAO-Faktura im Einsatz. Leider unterstützt dieses Programm (man glaubt das im Jahr 2025 gar nicht) keinen Artikelpreisupdate des Herstellers. Früher im SAP, ABAS und Multiddata konnte ich eine Liste mit den Artikellnummern des Herstellers exportieren und in dessen Warenkorb geben (oder via Mail anfragen). Die Liste konnte ich anschließend wieder in das ERP-System importieren und hatte so die aktuellen Preis X vom Artiekl Y eines Lieferanten Z.

DAS kann CAO-Faktura aber nicht :-( Hätte ich das vorher gewusst, hätte ich ein anderes Programm gewählt.

Ich habe auch schon im CAO-Faktura Forum einen Beitrag geschrieben. Resonanz: Verweis auf einen ähnlichen Beitrag. Ergebnis: Umstand seit Do 9. Okt 2014, 12:12 bekannt. "Its a feature not a bug...."

Mein Problem besteht also aus zwei Teilen:

  1. Der Export aller Artikelnummern eines Lieferanten
  2. der Reimport (andere Baustelle).

Ich würde also ein Skript benötigen, das mir alle Artikelnummern (Spalte „BESTNUM” aus der Tabelle „ARTIKEL_PREIS”) eines Herstellers ausgibt. Dieser ist in der Spalte „ADRESS_ID” in der Tabelle „ARTIKEL_PREIS” zugewiesen. Es ist der Index, in dem der Herstellername (z. B. „MOUSER”) in der Tabelle „ADRESSEN” in der Spalte „MATCHCODE” abgelegt ist.

Ich habe alle Screenshots so gut wie möglich angehängt.

Kann mir da jemand weiterhelfen?

Angehängte Dateien:
#7901743
Lesenswert?

42845er schrieb:

Ich habe alle Screenshots so gut wie möglich angehängt.

Du scheinst Dich ja irgendwie mit dem RDBMS verbinden zu können, denn sonst könntest Du uns keine Screenshots zeigen. Anstelle der Screenshots wäre es zweifellos sinnvoller, einen Schemadump der Datenbank und im Idealfall sogar inklusive Beispieldaten (natürlich ohne sensible Inhalte) zu zeigen. Damit könnte man dann schauen, wie die Tabellen der Datenbank verbunden sind, und entsprechende SELECT- und UPDATE-Queries erstellen. Besonders sinnvoll wäre angelegentlich, die Preisdaten der Hersteller beizufügen (also, was dieser Hersteller Dir an Daten zur Verfügung stellt), so läßt sich dann sicherlich ein einfaches Skript oder Programm entwickeln.

Und, ach ja: vor jeder Änderung bitte einen Datenbank-Dump erstellen, also am Besten jetzt den ersten machen (ich glaube, das Programm heißt mysqldump(1)).

#7901931
Lesenswert?

Die Lösung ist doch reines SQL. Sowas hatte ich 1986 in der Datenbankvorlesung (kein Scherz). Lernt man heutzutage denn keine Grundlagen mehr? Denn gerade wenn man in den Datenbanken etwas ändert, sollte man doch genau wissen, was man tut? Und nicht nur, weil eine KI irgendwas ausgespuckt hat.

OP #7901988
Lesenswert?

Der Reimport würde so funktionieren:

Code: Alles auswählen

UPDATE ARTIKEL_PREIS ap JOIN ADRESSEN a ON ap.ADRESS_ID = a.REC_ID SET ap.PREIS = 123456.78 WHERE a.MATCHCODE = 'MOUSER' AND ap.BESTNUM = '5678';

Ich habe mir ein Excel Makro geschrieben, welches mir die ganzen Daten wie Preis, Hersteller und Bestellnummer ersetzt.

Geht recht gut.

Jetzt muss ich mir noch einen MySQL Code generieren lassen, welchen den Preis des Standardlieferanten direkt in den EK importiert.

Dann haben wir alles an Funktionen beinander, was CAO-Faktura an In/Export leider dringenst abgeht.

OP #7901998
Lesenswert?

Was auch gut geht ist, den Preis des Standardlieferanten in den EK Preis des Artikels zu schreiben. Das kann wie folgt realisiert werden:

[CODE] UPDATE ARTIKEL a JOIN ARTIKEL_PREIS ap ON a.ARTIKEL_ID = ap.ARTIKEL_ID AND a.DEFAULT_LIEF_ID = ap.ADRESS_ID SET a.EK_PREIS = ap.PREIS; [/CODE]

Das geht sehr gut.

Schade das der Import / Export nicht in CAO Integriert ist. Ein Warenwirtschaftprogramm sollte schon Lieferanten und dessen Preise verwalten können.

Gast #7902390
Lesenswert?

SQL-Sripte und Anweisungen, die Daten in der CAO-Datenbank verändern, und somit eine Manipulation der Datenbank darstellen, werden ab sofort ohne weitere Ankündigung von den Administratoren gelöscht.

Das sind ja wirklich lustige Kasper...

Wem die Daten wohl gehören? Dem Software-Hersteller oder dem Software-Verwender?

Es gibt wirklich komische Vögel auf dieser Welt...

(Firma: 1984now) #7902605
Lesenswert?

Michael schrieb:

Wem die Daten wohl gehören? Dem Software-Hersteller oder dem Software-Verwender?

Es gibt wirklich komische Vögel auf dieser Welt...

Vendor-LockIn ist aber gerade im Bereich der Warenwirtschaftssystem gang und gäbe. Meistens ist es überhaupt nicht möglich, diese mit einer selbst kontrollierten Datenbank zu betreiben. Statt dessen nehmen die sich das Recht heraus, eine von ihnen kontrollierte DB einzurichten und stellen für den Anwender bloß ein paar Views und/oder Stored Procedures mit sehr eingeschränkter Funktionalität bereit.

Für jede erweiterte Funktionalität, selbst für rein lesende Abfragen, darf man dann Extra-Coins beim Hersteller einwerfen...

(Firma: LAPD) #7902766
Lesenswert?

Ob S. schrieb:

... endlose mutmassungen ... ... Für jede erweiterte Funktionalität, selbst für rein lesende Abfragen, darf man dann Extra-Coins beim Hersteller einwerfen...

Trifft hier aber genau nicht zu. Das Ding nutzt MySQL bzw. MariaDB und kann eigenständig betrieben werden. Wer will kann auch die DB Dienste bei denen Mieten, wenn er sich nicht mit MySQL rumplagen will. Also 100% offen. Liegt wohl daran dass deren Zielgruppe Webshops (Anbindung an Oxid und Xt) betreibt und dort MySQL/MariaDB gang und gäbe ist.

Das Problem sitzt in 90% der Fälle VOR dem Rechner, nicht im Rechner.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren