Schönen guten Tag zusammen,
(Wer sich nicht alles durchlesen möchte kann auch direkt zu den eigentlichen Fragen übergehen)
bevor ich zu meiner Frage komme erstmal kurz etwas über mich:
Ich bin momentan 19 Jahre alt und im 2. Ausbildungsjahr als Fachinformatiker für Systemintegration.
Ich arbeite in einem Mittelständischen IT-Dienstleister Betrieb und habe mit vielen Kunden aus verschiedenen Branchen zu tuen.
Wie es zu meiner Frage/meinem Problem gekommen ist:
Ich wurde heute bei einem normalem Kundentermin angesprochen und gefragt, ob wir als Unternehmen auch kundenspezifische Programme erstellen.
Für gewöhnlich gehört sowas nicht zu unserem Aufgabenbereich aber da ich schon einige Abläufe mit AutoIt automatisiert und nützliche Tools erstellt habe,
habe ich mir eine kurze Beschreibung/Problemschilderung des Kunden zeigen lassen.
Zur Problembeschreibung:
Der beschriebene Kunde ist ein Großhändler und arbeitet nun seit einigen Wochen mit Lexware (Warenwirtschaftssystem).
Er bekommt jede Wochen von verschiedenen Lieferanten aktuelle Preis- und Bestandslisten als Excel Datei.
Darin aufgeführt sind Produkte des Lieferanten unterteilt in verschiedene Kategorien wie z.B. Artikelnummer, Produktname, Brutto- und Netto Preis.
Diese Listen kann man so in Lexware importieren, allerdings werden dabei vorhandene Werte aus von ihm selbst erstellten Kategorien (z.B. eigener Lagerbestand) einfach gelöscht.
Dass lässt sich verhindern, indem er einen Export seiner Artikel anfertigt und dann die Artikelnummer aus den von den Lieferanten zugesendeten Dateien vergleicht
mit denen, die in seinem Export sind. Wird eine Übereinstimmung gefunden, dann werden die restlichen Kategorien in seinem Export mit den aktuellen Daten überschrieben.
Wenn keine Übereinstimmung gefunden wurde, wird eine neue Zeile angelegt.
Anschließend kann er seine aktualisierte, exportierte Datei ohne Probleme wieder importieren.
Meine Ideen zur Realisierung:
Ich habe gedanklich schon einen ungefähren Plan entwickelt, wie ich das ganze realisieren könnte.
Die Spalte mit den Artikelnummern aus der Export Datei wird in einem Array eingelesen.
Anschließend wird Artikel für Artikel aus dem Dokument des Lieferanten mit dem Array verglichen und bei einer Übereinstimmung werden die Daten in die Exportdatei übertragen.
Wird keine Übereinstimmung gefunden, dann wird wie weiter oben beschrieben eine neue Zeile mit dem Artikel angelegt.
Wie wurde diese Aufgabe bisher gelöst:
Das Übertragen der Daten wurde bislang immer von einem Azubi der Kaufmännischen Abteilung per Hand durchgeführt.
Dieser Vorgang dauert jede Woche zwischen 2-5 Stunden (Je nach Menge der einzupflegenden Artikel).
Allerdings ist das sehr kostenintensiv und auch nicht das gewünschte Ziel der Ausbildung (Aussage des Kunden)
Außerdem das allgemein bekannte Problem "Wo Menschen sind, da sind auch Fehler"
Was muss beachtet/nicht beachtet werden:
- Die Zeit die das Programm benötigt spielt keine Rolle
- Extreme Benutzerfreundlichkeit muss gegeben sein (Der Kunde seine Mitarbeiter sind die absoluten ober DAUs)
Nun zu den eigentlichen Fragen:
In dem Export befinden sich rund 50.000 Artikel und jede Woche werden zwischen 400-1000 Artikel aktualisiert.
- Ist es überhaupt möglich, dass alle Artikel in einem Array gespeichert werden?
- Hat jemand Erfahrung damit, so große Datenmengen miteinander vergleichen zu lassen?
- Falls ja, wenn ich mal hochrechne (Artikelnummer hat 8 Stellen, Pro Zahl = 1Byte, 8Byte x 50.000 Artikel = 400.000Byte) komme ich auf ~400KB an benötigten Arbeitsspeicher.
Das erscheint mir allerdings etwas wenig. Hat eventuell jemand durch bereits realisierte Projekte genauere Werte sammeln können?
Worum bitte ich euch:
Ich bitte euch recht herzlich darum, meine gestellten Fragen zu beantworten.
Die vollständige Ausarbeitung und Realisierung des Programms werde ich vermutlich selbst auf die Reihe bekommen.
Sollte ich Logik Fehler gemacht haben oder wenn ihr nützliche Tipps habt bin ich für alles offen und auch herzlich dankbar.
Damit das ganze hier jetzt auch mal ein Ende findet bedanke ich mich recht herzlich bei allen, die sich die Mühe gemacht haben meinen Roman durchzulesen
und ich bedanke mich auch für jeden nützlichen Kommentar, sowie konstruktive Kritik.
Liebe Grüße,
xGreenryder