Als Unternehmer
Meine Zeit als Unternehmer begann am 18.08.2010 und endete am 24.02.2013.
Während dieser Zeit habe ich mit einem Kollegen zusammen zwei größere Softwareprojekte entwickelt. Weiterhin übernahm ich diverse andere administrative Tätigkeiten:
- 1. Entwickeln ein Systems zur Belegorganisation
Der Kunde, ein Großhandel von Eiswaren etc. (Zulieferer von Eisdielen), betreibt das ERP-System Microsoft Dynamics AX für die Auftragsabwicklung, Debitorenbuchhaltung und zur Lagerverwaltung (Inventur, Warenein- und –ausgang).
Im Laufe der Jahre etablierte sich ein Aktensystem für einen jeden Kunden, in dem ersichtlich sein sollte, was er wann wieso bestellt hat und was er wann wieso nicht bekommen hat. Im Prinzip seine gesamte Anamnese bezogen auf den Großhandel.
Das Problem, was permanent existierte, war die zeitnahe Beantwortung von Kundenanfragen. Der Regelfall war, trotz des großen Aktenarchivs, dass meist bis zu 3 Mitarbeiter bis zu 30 Minuten Zeit für einen Anruf benötigten – nur um einfachste Dinge beantworten zu können. In der Regel betraf dies Anfragen, die handschriftlich auf den Kommissionierlisten im Lager vorgenommen wurden. Diese Informationen kamen nie zurück in das ERP (was auch nicht möglich war) und lagen nur in Form von handbeschriebenem Papier vor. Natürlich waren diese Dokumente auch oft nicht bei den Akten.
Das Ergebnis der Softwarelösung ist nun, dass einerseits die Papiermenge aus den Büroräumen verschwindet, alle Geschäftsprozesse auch alle erzeugten und veränderten Unterlagen im Zugriff hatten – und somit letztlich die Kundenzufriedenheit (aus Sicht des Großhandels) gesteigert wird und natürlich die internen Zeitaufwände und Personalaufwände stark reduziert werden. Das System ist seit Ende 2010 im Einsatz.
Folgende Kernkomponenten wurden hierzu verknüpft und entwickelt:
- a. Microsoft SharePoint Services
Um dem System eine Validierungsmöglichkeit geben zu können, werden alle relevanten Stammdaten wie beispielsweise Kundennummern bzw. Auftragsnummern, Kommissionierlisten etc. dort hinterlegt.
Nach erfolgter Validation der Dokumente werden diese dort, angereichert mit den korrekten Meta-Daten, hochgeladen.
- b. Das Frontend – iDMS – der Scanplatz
Hier ist eine Software entstanden, die überwiegend in Microsoft Visual FoxPro 9 geschrieben wurde.
Es werden für sämtliche Dokumenttypen Vorlagen konfiguriert, welche eine Aussage darüber treffen sollen, wie der grundsätzliche Aufbau eines Dokumentes ausschaut und vor allem, welche Daten für ein jeweiliges Feld korrekt (formal und inhaltlich) sind. Hierbei kommt ein zweistufiges Testverfahren zum Einsatz. Zum einem ein Formales – via RegEx – welches die Daten auf das Gröbste hin überprüft, zum anderen die Prüfung gegen die Stammdaten, die das System von SharePoint bezieht. Das Dokument selbst wird gescannt, grafisch mit dem Template abgeglichen – und mit OCR die jeweiligen Daten extrahiert, validiert und in anderer Form, strukturiert, zugeordnet. Dies wurde dann als ‚SharePoint-Dokument‘ als PDF hochgeladen – und die Metadaten dieses Dokuments basierend auf der vorherigen Erkennung angereichert.
- c. Integration in Microsoft Dynamics AX
Um das Ziel nun zu erreichen, wurde das Dokumenten-Feature aus Axapta genutzt, um die konkreten zugrunde liegenden Dokumente aus SharePoint an die entsprechenden Geschäftsprozesse zu binden.
Weiter wurden dem SharePoint-System die im ERP relevanten Stammdaten zur Verfügung gestellt.
- d. Microsoft Office (PowerPoint)
Da dieses Softwarepaket vorhanden war, wurde hier die Fähigkeit für OCR und PDF-Erstellung entnommen.
Meine Aufgabe in diesem Projekt war es, einerseits das notwendige Datenmodell für die Anwendung zu planen und zu implementieren. Auch war es meine Aufgabe hier, die vollständige, SOAP-basierte Kommunikation zu SharePoint so zu abstrahieren, dass ein einfacher Zugriff auf SharePoint aus Sicht der Anwendung möglich wurde (aus Sicht des Quellcodes). Die gesamte Logik des Dokumenterkennens wie auch die Feldauswertung und die damit einhergehende Integration der Office-OCR-Funktionalität war meine Aufgabe. Die zur Verfügung Stellung der PDF-Funktionalität gehörte ebenso dazu.
Nicht Teil meiner Aufgabe, war einerseits das optische Design wie auch die Im-/Export-Funktionalitäten aus Axapta-heraus.
- 2. Entwickeln eines Verkaufssystems für Vertreter im Außendienst
Auch für den selben Kunden wurde zur direkten Unterstützung der Vertreter draußen vor Ort eine Softwarelösung geboten, dem Kunden direkt und umfassend einerseits Auskunft über die Artikel, ihre Preise, Verfügbarkeiten usw. zu geben und andererseits einen anderen Aspekt des Papieraufkommens entgegen zu wirken. Die Vertreter mussten immer relativ umständlich, Aufwändig und Ressourcenvergeudend für Ihren Kundenstamm entsprechend Daten aufbereiten und die entsprechenden Berichte zu Papier bringen. Diese wiederum hatten die Vertreter auch bei sich zu führen – jedenfalls jene für die entsprechenden Kundenbesuche. Darüber hinaus wurde das Unternehmen selbst stark dadurch belastet, dass die Vertreter ihre Aufträge in Papierform beibrachten. Meist zog dies auf Grund schlecht lesbarer Handschrift, nicht plausibler Preis-/Mengenangaben entweder zu Reklamationen (durch Falschlieferungen oder –Berechnungen) oder zu störenden Nachfragen bei den Vertretern. Auch hatten die Vertreter die Schwierigkeit, dass die gedruckte Version meist schon veraltet ist – es sei denn, sie hielten die Drucke auch aktuell.
Die Softwarelösung sollte diesen Problemen entgegnen, so dass die Vertreter alle notwendigen Informationen zu Kunden, offene Posten, ‚private‘ Lagerbestände des Kunden, Handelsvereinbarungen (über Kundengruppen und Artikelpreisgruppen), Artikelstammdaten – mit hierarchischer Artikelgruppenstruktur – mit Artikeltexten, Artikel- und Gruppenbildern, einfache Handhabung der Kalkulationsspannen (Preisangabe per Slider (der Grenzen standen durch Stammdaten und Handelsvereinbarungen fest) oder auch per Direkteingabe möglich ist. Weiter sollte diese Lösung das Unternehmen selbst davon befreien, Aufträge und Angebote in das ERP-System zu erfassen – dies geschieht auch auf dem Tablett – was im Prinzip auch seine Hauptfunktion ist. Die Daten werden durch die Integration zum ERP eingelesen und können dann einfach wie alle anderen Erfassungen (tel. Bestellungen beispielsweise) weiter verarbeitet werden. Dieses System ist seit Anfang 2012 im Einsatz.
Zur Zielerreichung wurden folgende Infrastruktur-Komponenten genutzt bzw. entwickelt:
- a. Eine Java SE Anwendung zur Bereitstellung von Stammdaten
Diese Anwendung hat zur Aufgabe, das Ergebnis mehreren konkreten SQL-Abfrage gegenüber der MS-SQL-Server Datenbank (jene für Axapta) in eine SQLite-Datenbank zu transformieren. Weiter stellt sie noch die themenbezogenen Bilder bereit und verpackt sowohl die gefüllte SQLite-Datenbank und die Bilder in einem einzigen Archiv. Es beinhaltet somit dann sämtliche Bilder, die im ERP zu Artikelgruppen und Artikeln gepflegt wurden, Kundenstammdaten, Artikelstammdaten, Handelsvereinbarungen, offene Posten, Lagerbestände, Aufträge und Angebote aus der Vergangenheit, etc. Diese Anwendung läuft auf einem Server 2003 – als geplanter Task, so dass die Stammdaten automatisiert zur Verfügung stehen.
- b. Eine Java Tablet-Anwendung – tabSales – für Google’s Android-OS
Die Tablet-Anwendung selbst, mit welcher die Vertreter in Kontakt kommen. Hier steht dem Vertreter alles Notwendige zur Verfügung, um den Kunden beraten zu können, überhaupt zu ihm zu finden (Google-Maps Integration), ihn zu kontaktieren (SMS, Phone, eMail), überhaupt zu wissen, ob der Kunde ein Problemkunde ist, und natürlich in Erfahrung zu bringen, was der Kunde noch abzurufen hat, was er in der Vergangenheit bestellt hat – und auch um ihm Angebote zu unterbreiten und auch Aufträge entgegen zu nehmen. Im späteren Verlauf wurde die Anwendung noch in der Art erweitert, dass man sie losgelöst von der hier beschriebenen Infrastruktur (Datenexport, FTPS und ERP-Integration) nutzen kann. Somit unterstützte sie die Stammdateneingabe direkt am Tablet, dem Import dieser Daten via CSV und auch per XML; der Datenexport für (Neu-)Kundenupdates, Angebote und Aufträge können auch via eMail zugestellt werden. Dadurch war die Bindung an andere Komponenten nicht mehr vorhanden – wenn gleich natürlich das volle Potential nur mit einem ERP wirklich genutzt werden kann.
- c. Die Bereitstellung von FTPS zum sicheren Datentransfer
Die Jave SE-Anwendung (a) stellt in einem Ordner, der für diesen FTPS-Dienst erreichbar ist, das Stammdatenarchiv bereit. Das Tablet kann dieses Archiv bei Bedarf herunterladen und die Daten dann anwenden. Erzeugt das Tablet Daten, wird es diese auch via FTPS hochladen (als XML), so dass Axapta diese Dateien (die natürlich pro User bzw. Tablet getrennt sind) auch automatisiert einlesen kann.
- d. Die Integration zum Einspielen in Microsoft Dynamics AX
In Microsoft Dynamics AX wurden Anpassungen vorgenommen, so dass einerseits diese bereitgestellten XML-Dateien (welch Neukunden, Kundendatenänderungen, Aufträge oder Angebote sein können) in das System eingelesen werden. Andererseits allerdings den Anwendern die Möglichkeit offen steht, die Daten ggf. nochmals zu sichten und zu korrigieren – bevor sie endgültig zu realen Kunden, Kundenupdates bzw. Angebote und Aufträge werden.
- 3. Administrative Tätigkeiten wie beispielsweise:
- a. Windows-Netzwerke
- b. Domänen-Administration
- c. (MS)SQL-Server Verwaltung/Einrichtung/Sicherung
- d. Windows Terminaldienste
- e. …
- 4. Anpassungen von diversen Berichten und Formularen für Microsoft Dynamics AX