Forum: PC-Programmierung MySQL Syntax gesucht -> Alle Bestellnummern eines Lieferanten exportieren


von 42845er (42845er)


Angehängte Dateien:

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?

von Ein T. (ein_typ)


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)).

von 42845er (42845er)


Lesenswert?

ChatGPT hat es zusammengebracht :-D
1
SELECT 
2
    a.MATCHCODE AS HERSTELLER,
3
    ap.BESTNUM, 
4
    ap.PREIS
5
FROM 
6
    ARTIKEL_PREIS ap
7
JOIN 
8
    ADRESSEN a ON ap.ADRESS_ID = a.REC_ID
9
WHERE 
10
    a.MATCHCODE = 'MOUSER'
11
    AND ap.BESTNUM IS NOT NULL
12
ORDER BY 
13
    ap.BESTNUM ASC;

von 42845er (42845er)


Angehängte Dateien:

Lesenswert?

Aber in CAO-Faktura geht es nicht.

von Jack V. (jackv)


Lesenswert?

Frag doch ChatGPT m(

von 42845er (42845er)


Lesenswert?

Jack V. schrieb:
> Frag doch ChatGPT m(

Hab ich schon gemacht, weil du ja zur Lösung nicht beitragen konntest 
:-P

von Frank D. (Firma: LAPD) (frank_s634)


Lesenswert?

42845er schrieb:
> ChatGPT hat es zusammengebracht :-D
So siehts auch aus.

von Jack V. (jackv)


Lesenswert?

42845er schrieb:
> Hab ich schon gemacht, weil du ja zur Lösung nicht beitragen konntest

Reihenfolge beachten. Meine Erfahrung ist halt: Sobald ein TE in einem 
Forum mitten im Thread mit „ich hab da mal ChatGPT gefragt“ um die Ecke 
kommt, ist klar, mit was für einem Menschen man es zu tun hat.

: Bearbeitet durch User
von Dieter E. (netdieter) Benutzerseite


Lesenswert?

Ohne weiter ins Detail zu gehen.
Eine Suche nach MySQL Excelexport bring z.B. folgenden Link zu Tage: 
https://solutioncenter.apexsql.com/how-to-export-import-mysql-data-to-excel/

von Ein T. (ein_typ)


Lesenswert?

Frank D. schrieb:
> 42845er schrieb:
>> ChatGPT hat es zusammengebracht :-D
> So siehts auch aus.

Sieh an, ein kleiner Held. Dann zeig' mal, wie Du das geschrieben 
hättest.

von Xeraniad X. (xeraniad)


Lesenswert?

@03.07.2025 17:57
a fool with a tool

von Peter (pittyj)


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.

von 42845er (42845er)


Lesenswert?

Ich bin kein "Datenbanker", daher nehme ich alle Hilfsmittel an.

CAO-Faktura wollte den ; ganz am Ende nicht.

Jetzt geht es!

von 42845er (42845er)


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.

von 42845er (42845er)


Lesenswert?

Was auch gut geht ist, den Preis des Standardlieferanten in den EK Preis 
des Artikels zu schreiben.
Das kann wie folgt realisiert werden:
1
UPDATE ARTIKEL a
2
JOIN ARTIKEL_PREIS ap 
3
  ON a.ARTIKEL_ID = ap.ARTIKEL_ID
4
  AND a.DEFAULT_LIEF_ID = ap.ADRESS_ID
5
SET a.EK_PREIS = ap.PREIS;

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.

von 42845er (42845er)


Lesenswert?

Siehe da:
Mein Beitrag im CAO-Faktura Forum wurde zensiert.

https://www.cao-faktura.de/forum/viewtopic.php?p=37949

von Michael (bastler2)


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...

von Ob S. (Firma: 1984now) (observer)


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...

von Nemopuk (nemopuk)


Lesenswert?

42845er schrieb:
> Ein Warenwirtschaftprogramm sollte schon Lieferanten und dessen Preise
> verwalten können.

Es kann nicht mal aussagekräftige Fehlermeldungen anzeigen!

von Frank D. (Firma: LAPD) (frank_s634)


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.

von Ein T. (ein_typ)


Lesenswert?

Michael schrieb:
> 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...

Geht es dabei vielleicht um Haftungsthemen?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.