Preislistenimport meiner Großhändler

Netkeeper

Aktives Mitglied
25. Oktober 2006
18
0
Hallo,

ist in der gleichen datenbank, eine eigene Tabelle.

Ich habe mir ein Skript geschrieben, welches die Tabelle vor dem import leert, danach die Daten einspielt und dann die Daten in der richtigen reihenfolge mit meinen Werten exportiert.

Ich weis, der export ist eigentlich überflüssig, ad ich die daten eh schon in der DB habe, jedoch war es für mich die eifnachste möglichkeit ohne nachzuschauen wo was in welche tabelle geschrieben wird.

mfg
NETKEEPER

P.S. Bei Bedarf veröffentliche ich hier gerne meine Schritte detailiert.
 

Netkeeper

Aktives Mitglied
25. Oktober 2006
18
0
hier ganz detailiert:

1. Die Tabelle xyz anlegen, hier legt man die Felder so an wie sie in der Datei vom Grosshändler stehen. Die Bezeichnungen sind frei wählbar, solange sie nicht bezeichnungen von sql befehlen oder funktionen haben!. Die Felder habe ich alle alphanumerisch mit 500 stellen definiert.

Code:
CREATE TABLE xyz
(
gruppe1 varchar(500),
hersteller varchar(500),
.......
);

2. Falls die Tabelle schon daten enthält, die Tabelle leeren
In einer Kommandozeile folgendes ausführen:
Code:
osql -D eazy -U sa -P sa04jT14 -Q "delete from xyz"

3. Die CSV-Datei im import-ordner ablegen und in die Datenbank einlesen
wieder in der Kommandozeile:
Code:
osql -D eazy -U sa -P sa04jT14 -Q "BULK INSERT ingram FROM 'x:\wawi\import\datei.csv' WITH ( FIRSTROW = 2, FIELDTERMINATOR = ';', ROWTERMINATOR = '\n')"
Erklärung:
Firstrow = Ab welcher Zeile der Import beginnt
Fieldterminator = Welches Zeichen trennt die Spalten
Rowterminator = Welches Zeichen trennt die Datensätze (\n = Carriage Return)


4. Die Importierten Daten strukturiert exportieren
wieder in der Kommandozeile:
Code:
bcp "select artikelnr, eancode, artikel1, artikel1, artikel2, 'xxvkbrutto', '19',evp, ' ', weight, 'xxvkhbrutto', vk, '1', '1','0','','Y','N','N','Y','Hersteller Art.Nr.','T',hstnummer, 'Y','','N','Y','N',hersteller,'','','','','','','','','','','','','','','','','','','','','',gruppe1, gruppe2, gruppe3 from eazybusiness.dbo.xyz" queryout x:\wawi\import\xyz.csv -S Computername\eazysales -Usa -Psa04jT14 -t; -c -C

Da ich eigentlich sql-skripte unter Oracle schreibe, habe ich hier noch etwas schwierigkeiten, daher steinigt mich bitte nicht für manche überflüssigen schritte, ich arbeite daran alles automatisch zu machen!

5. Die exportierte CSV-Datei öffne ich in Excel und füge in spalte wo xxxvkbrutto steht eine Formel ein zur berechnung des VK-Preises. Gleiches mache ich bei xxxvkhbrutto für den Händlerbruttopreis und speichere die Datei wieder.

6. Nun öffne ich die Datei mit Notepad oder einem anderen Editor und füge in die erste Zeile die Überschriftenzeile aus der Beispieldatei ein.
Das mache ich so, um bei einem späteren import den Fehler bei zeile 0 zu vermeiden.

7. Danach wird die Datei über die Importfunktion von ES eingespielt.

Wie schon gesagt, bin ich auf oracle sql spezialisiert, mir fehlen hier noch die kenntnisse wie ich die Überschriftenspalte als datensatz anzeigen soll. Normalerweise mache ich das mittels eines from dual. Ich arbeite jedoch daran alles zu automatisieren, so dass mit einer einzigen Batchdatei nichts mehr händisch bearbeitet werden muss.

Ich hoffe das hilft einigen von euch weiter.

mfg

NETKEEPER
 

Pelo

Aktives Mitglied
4. Januar 2007
11
0
Janusch hat meine 2 CSV Zeilen angesehen und er meinte, dass nur noch die Kategorie angegeben werden muss. Das habe ich getan. Jetzt importiert das WaWi die Daten, aber zeigt diese nicht in der angegebenen Kategorie an (Habe eine Kategorie "Unsortiert" angelegt und dorthin alles importieren lassen, um die Daten später in die eigenen Kategorien zu verschieben). Legt auch selber keine neue Kategorie (Hätte mich ja verschrieben haben können) an. Das Backup ist nun 4 MB größer... Allerdings sehe ich keine Daten.
Ach ja, und ich habe bemerkt, dass man den Import nur am Hauptrechner und nicht von einem Client aus machen sollte (Für viele von Euch bestimmt Logisch - Für mich Neuland und daher wusste ich es nicht).

Mein Lieferant hat die Kategorien als Pfad in der CSV so angegeben:

Drucker|Zubehör|DruckerDuplexeinheit

Würde das WaWi ekzeptieren oder darf ich nur eine Kategoriepunkt aufführen. Ist auch der Trennstrich OK?

Pelo
 

Netkeeper

Aktives Mitglied
25. Oktober 2006
18
0
Hallo Pelo,

von welchem EDV-Grosshändler hast du denn solch eine Datei erhalten ??

ich importiere die Daten von Ingram Micro mit drei Kategorien und das funzt seit der ersten version tadellos.

Die Kategorien kannst du übrigens ganz einfach trennen, wenn du im Texteditor nach dem Trennzeichen also "|" suchst und dies durch ";" ersetzt dann erstellt er dir die Hauptkategorie und alle unterkategorien automatisch und setzt hier auch gleich die Artikel rein !!

mfg

NETKEEPER
 

Pelo

Aktives Mitglied
4. Januar 2007
11
0
Der Händler ist die COS AG...

Jetzt habe ich mal die Kategorien mit importiert und nun hat das System jede Kategorie in die Hauptkategorie reingehauen. So habe ich nun 250 Hautpkategorien. So war das nicht gewünscht!

Habe wie Du sagtes die | durch ; ersetzt und nun Kategorien , die Eingabegeräte;Desktop;Desktop OEM heißen....

Schöne Sch....

Irgendwas läuft da noch arg schief liebe Leute....

Pelo
 

Netkeeper

Aktives Mitglied
25. Oktober 2006
18
0
Hallo Pelo;

das Problem, so leid es mir tut, muss aber bei dir liegen !!

Ich importiere die Daten Ingram Micro, genau so wie du mit 2 Unterkategorie n. Und das funtkioniert einwand frei ich haben meine Hauptkategorien und 2 Unter kategorien. !!

Kann es sein, dass um deine Kategorien rum vor der ersten Kategorie und der letzten Kategorien Anführungszeichen sitzen ??
Dann ist das klar, denn dann werden die kompletten Kategorien als einen langen text gelesen, du musst zuvor die Anführungszeichen entfernen !

Welche Version von JTL-Wawi setzt du denn ein ?
Sitzt die Hauptkategorie auch an der richtigen stelle ??

Die Kategorien kriegst du ganz leicht wieder raus, du musst dich nur mit der Datenbank konnektieren und in der tkategorie die Einträge rauswerfen. (alles auf der Datenbank)

P.S. Du kannst mir ja mal deine Datei zusenden, dann schau ich drüber. (Keine Angst bin auch Kunde bei COS AG, heisst demnächst anders!)

mfg

NETKEEPER
 

Pelo

Aktives Mitglied
4. Januar 2007
11
0
Hmmm...

Ich versuche irgendwie diese Dateien zu öffnen. Ich nehme mal an, es sind die MDF Dateien im Ordner MSSQL$EAZYSALES\Data.

Allerdings kann ich gar nicht darauf zugreifen. Auch ein Netzwerkzugriff ist nicht direkt auf den Ordner möglich.

Welches Prog benutzt du den um auf die Dateien zuzugreifen?

Ich benutze die 0.993 also die aktuellste Version.

Wenn ich die Anführungszeichen weglasse habe ich da nicht ein Problem, dass auf einmal die ; als Feldtrenner erkannt werden? Wie um alles in der Welt soll das Prog dann noch wissen, wo eine neue Datenzeile sitzt oder besser beginnt und endet?

Pelo
 

Netkeeper

Aktives Mitglied
25. Oktober 2006
18
0
1. genau das willst du ja !
Du willst die ; als Feldtrenner einsetzen. Somit weis das Import Programm, dass in der ersten spalte die Hauptkategorie steht, in der zweiten die Unterkategorie und in der dritten die Unterkategorie der Unterkategorie.

Wann eine Zeile zu ende ist, wird durch das Carriage Return (ist nicht sichtbares Zeichen) definiert.

Vorschlag: Verwendet als Texteditor den Proton, der müsste freeware sein. Damit siehst du z.B. die Zeilennummerierung, daran kannst du sehen, dass am ende ein "CR" kommt. Du kannst auch diese Zeichen Sichtbar machen, vielleicht hilft dir ja das die Problematik zu verstehen.

2. Ich benutze OpenOffice um auf die DB zuzugreifen. Du kannst nicht einfach die .mdb dateien öffnen. Du musst entweder mit Access eine ODBC-Verbindung zu der DB herstellen oder nimmst openoffice oder sonst ein Programm !

!! ACHTUNG !! Die unsachgemässe Verwendung der Programme kann zu einem Datenverlust innerhalb der Datenbank führen !! :!:

3. Meine Version kannst du aus der Signatur entnehmen
mfg
NETKEEPER :)
 

Alf

Aktives Mitglied
13. Februar 2007
136
0
Hallo, ich muss mich kurz Mal mit dran hängen.
Ich bekomme auch immer die Fehlermeldung
mit der Zeile "0" angezeigt.

Hier mal ein Beispiel aus der CSV :
Code:
"ARTNR";"BARCODE";"BEZEICHNUNG";"KURZBESCH";"BESCHREIBUNG";"VKBRUTTO";"MWST";"UVP";
"EINHEIT";"GEWICHT";"VKHBRUTTO";"EKNETTO";"LIEFNR";"MINDESTAB";"LAGERBEST";"ANMERKUNG";
"PREISLISTE";"TOPART";"NEU";"AKTIV";"ATT1N";"ATT1T";"ATT1V";"ATT1INET";"BILD";"LAGERAKTIV";
"KLEINERNULL";"TEILBAR";"HERSTELLER";"ANZAHL-P1";"PREIS-P1";"ANZAHL-P2";"PREIS-P2";"ANZAHL-P3";
"PREIS-P3";"ANZAHL-P4";"PREIS-P4";"ANZAHL-P5";"PREIS-P5";"ANZAHL-H1";"PREIS-H1";"ANZAHL-H2";
"PREIS-H2";"ANZAHL-H3";"PREIS-H3";"ANZAHL-H4";"PREIS-H4";"ANZAHL-H5";"PREIS-H5";"EBAYPREIS";
"KATEGORIE"
"001000-30-1";4032668089321;"Schubkarre, faltbar";"grn";;;;;;;;39,9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
"001003-40-1";4032668089352;"Reisigbesen";"gelb";;;;;;;;2,2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Ich habe in den Überschriften im Board ne Zeilenschaltung rein gemacht
sonst sprenge ich das Board was nicht sinnvoll ist und ich hoffe trotzdem
das man es erkenne kann.

Gibt es irgendwelche Pflichtangaben wie die Kat z.B. denn das wollte ich
später einordnen ?

Für jede Hilfe wäre ich dankbar da es ca. 2000 Artikel sind
und ich nicht alle per hand eingeben möchte.

Grüsse aus München

-- Alf --
 

Alf

Aktives Mitglied
13. Februar 2007
136
0
Super danke das ist die einzige Pflichtangabe
und stimmt es dann auch so weit wie in meinem
Beispiel ?

Danke und grüsse aus München

-- Alf --
 

Marcel

Sehr aktives Mitglied
14. September 2006
7.153
5
Kategorie ist das einzige "wirkliche" Pflichtfeld auf das geprüft wird, da gibts nen Error wenn dort nichts drinsteht.
Bezeichnung, Preis und Artikelnummer sollten aber nach Möglichkeit auch ausgefüllt sein, damit es keine Probleme gibt.
 

Alf

Aktives Mitglied
13. Februar 2007
136
0
Danke. Mein Shop ist noch leer sind nur die kategorien
angelegt die kann ich aber so nicht in die WaWi holen
denn wenn ich auch Webshopabgleich gehe dann sagt er
zwar das er die Shopdaten holt aber da nichts drin ist holt
auch nicht oder gibt es ne Möglichkeit die Kat doch zu übertragen
um den Import dann zu machen.

Grüsse aus München
-- Alf --
 

Marcel

Sehr aktives Mitglied
14. September 2006
7.153
5
Die Wawi holt keine leeren Kategorien ab, das ist richtig.

Vielleicht eine Möglichkeit.
Erstelle einen "Dummy-Artikel", den du in jede Kategorie setzt und mach dann den Abgleich, damit du alle Kategorien in der Wawi hast. Dann den Dummy-Artikel komplett rauslöschen und du hast in der Wawi deine ganzen Kategorien, die leer sind.

Ich hoff ich hab keinen Denkfehler, aber so müsste das eigentlich recht gut und halbwegs bequem zu machen sein.
 

Alf

Aktives Mitglied
13. Februar 2007
136
0
Ich versuche es mal und Poste dann das Ergebnis damit
evtl. andere User davon profitieren. Wenn ich Aktiv auf "N"
setze werde die Artikel in der WaWi ja als nicht aktiv deklariert
was bei ( ich habe mal nachgeschaut 5043 Artikel ) für die
Bearbeitung von Vorteil ist da ich noch nicht weis welche CSV-Überschrift
was ist und ich die Artikel lamgsam bearbeiten und dann aktivieren kann.

gelle <- hessisch ;)

Grüsse aus München

-- Alf --
 

Marcel

Sehr aktives Mitglied
14. September 2006
7.153
5
Ich würds nicht "riskieren".
Vom Grundsatz her hast du recht, aber es gab damit in der Vergangenheit schon immer wieder mal Probleme, weshalb ich lieber dazu rate, die Artikel mit einem "Y" zu importieren.

Wenns später irgendwelche Probleme gibt will ich kein Geschrei hören 8)

Mochst hoit bessa, wos ma dir aschafft <-- bayerisch :wink: