Für Programme, die es ermöglichen, Daten in die SOG ERP (VACOS) -Datenstrukturen zu importieren, ist es erforderlich, dass diese Importdaten vorher in die SOG ERP (VACOS) -Importtabellen übernommen werden. Nach der Übernahme der Daten in diese Importtabellen kann dann der eigentliche Import in die SOG ERP (VACOS)-Datenstrukturen auf Basis der Importtabellen vorgenommen werden.
Die Übernahme der Importdaten in die SOG ERP (VACOS) -Importtabellen erfolgt dabei in folgenden Schritten:
Nach der Übernahme der Importdaten in die SOG ERP (VACOS)-Importtabellen können diese über andere SOG ERP (VACOS)-Programme weiterverarbeitet werden.
Erstellung eines Importmappings
Das Importmapping wird dazu verwendet, einzelne Spalten der CSV-Datei mit Datenfeldern der SOG ERP (VACOS) -Importtabellen zu verknüpfen und so festzulegen, wohin die einzelnen Daten der CSV-Datei übernommen werden sollen.
Die Erstellung eines Importmappings erfolgt über Importmappingsuche (impmapsu). Hier werden bereits vorhandene Importmappings angezeigt, die hier auch über den PropertyGrid-Control bearbeitet werden können.
Über die Funktion Importmapping erstellen wird die Bearbeitung des Importmappings aufgerufen, über die neue Importmappings erstellt und vorhandene Importmappings bearbeitet werden können.
Die Bearbeitungsmaske ist in zwei Bereiche unterteilt, einen allgemeinen Bereich und einen Mappingbereich.
Im allgemeinen Bereich können Informationen zur Importart und zur CSV-Datei hinterlegt werden, die mit dem Importmapping verarbeitet werden soll.
Der Mappingbereich ist aufgeteilt in eine Liste der Importmapping-Datensätze auf der linken Seite und eine Liste der Spalten der CSV-Datei auf der rechten Seite.
Die Liste der Importmapping-Datensätze enthält alle Datensätze der einzelnen SOG ERP (VACOS) -Importtabellen, die auf Basis einer einzelnen CSV-Datenzeile erzeugt werden sollen.
Unterhalb der Liste der Importmapping-Datensätze können weitere Datensätze zur Liste hinzugefügt werden. Hier ist es notwendig, einen eindeutigen Namen für jeden Datensatz zu vergeben, da pro SOG ERP (VACOS) -Importtabelle mehr als ein Datensatz je CSV-Zeile erzeugt werden kann. Je nach Importart stehen hier unterschiedliche Importtabellen für das Importmapping zur Verfügung.
Zu jedem Importmapping-Datensatz wird die Liste der Importmapping-Datenfelder als Untertabelle angezeigt. Hier werden automatisch immer alle vorhandenen Datenfelder der jeweiligen SOG ERP (VACOS) -Importtabelle angezeigt.
Die Liste der Spalten der CSV-Datei zeigt zeilenweise alle Spalten der CSV-Datei an. Sie dient hier als Hilfestellung zur Festlegung der Zuordnung. Die Liste der CSV-Spalten muss zu Beginn der Bearbeitung über den Dateiauswahldialog unterhalb der Liste ausgewählt und geladen werden.
Neben der evtl. Spaltenüberschriften und Spaltentypen kann auch eine Zeilennummer als Beispieldatensatz angegeben werden, aus der dann die Rohdaten der CSV-Datei mit angezeigt werden. Die Darstellung der CSV-Datei kann hier auch verwendet werden, um zu prüfen, ob die Angaben zur CSV-Datei, die über den allgemeinen Reiter vorgenommen werden, korrekt sind.
Referenzierung über mehrere Mappings
Um eine Referenzierung von Datensätzen über mehrere Importmappings hinweg erreichen zu können, verfügen die einzelnen Importtabellen über eine Import-Referenznummer. Wenn die Importreferenznummer nicht aus der CSV-Datei geladen wird, wird hier die jeweilige Zeilennummer der Importtabelle verwendet.
Beim eigentlichen Importvorgang kann dann der jeweilige Importprozess über die Importreferenznummer Verknüpfungen mit Datensätzen aus anderen Importtabellen herstellen.
Um eine CSV-Spalte mit dem entsprechenden Importmapping-Datenfeld zu verknüpfen, kann jeweils die CSV-Spalte in der Liste der CSV-Spalten und das Importmapping-Datenfeld in der Liste der Importmapping-Datensätze markiert werden und die Funktion Verknüpfen aufgerufen werden.
Die Verknüpfung kann außerdem per Drag & Drop hergestellt werden, indem die CSV-Spalte auf das jeweilige Importmapping-Datenfeld gezogen wird.
Nach der Verknüpfung wird der Spaltenindex der CSV-Datei als zugeordneter Index des Importmapping-Datensatzes gespeichert. Diese Zuordnung kann auch manuell ohne vorhandene CSV-Datei vorgenommen werden.
Für jeden einzelnen Importmapping-Datensatz kann ein Basissatz der Datenbanktabelle hinterlegt werden, auf der die jeweilige SOG ERP (VACOS) -Importtabelle basiert. Bei der Übernahme der Importdaten werden dann bestimmte Datenfelder des erzeugten Datensatzes aus dem Basissatz vorbelegt.
Die Auswahl erfolgt über die Funktion Basissatz auswählen des Importmapping-Datensatzes oder über die direkte Bearbeitung des Importmapping-Datensatzes im PropertyGrid-Control. Hinterlegt werden muss hier der jeweilige Key-1 des Basissatzes.
Nach der Definition eines Basissatzes muss für alle Importmapping-Datenfelder des Importmapping-Datensatzes über das Übernahmekennzeichen festgelegt werden, ob eine Datenübernahme aus dem Basissatz für das Datenfeld erfolgen soll.
Aktualisierung vorhandener Importsätze
Neben der Erstellung neuer Import-Datensätze ist es auch möglich, bereits erstellte Datensätze nachträglich zu aktualisieren (z. B. aus einer anderen CSV-Datei mit einem anderen Importmapping). Dazu ist es erforderlich, dass die Erstellung der Import-Datensätze und die Aktualisierung der Datensätze in demselben Importübernahmelauf stattfinden. Über die Verarbeitungsart des Importmapping-Datensatzes kann dabei festgelegt werden, ob die Datensätze, die auf dieser Basis gebildet werden neu eingefügt werden oder einen bereits eingefügten Datensatz aktualisieren. Die Identifizierung der zu aktualisierenden Datensätze erfolgt über die Import-Referenznummer des Datensatzes.
Neben der Verknüpfung des Importmapping-Datenfeldes mit einer Spalte der CSV-Datei kann für ein Importmapping-Datenfeld auch ein konstanter Wert festgelegt werden, der an Stelle von Importdaten der CSV-Datei oder als Ersatzwert im Fehlerfall (wenn z. B. die Wandlung des Wertes aus der CSV-Datei in den Datentyp des Zieldatenfeldes nicht möglich ist) verwendet wird.
Über Scripting ist es möglich, den Wert der CSV-Datei vor der Übernahme in einzelne Datensätze zu bearbeiten. Dazu ist es notwendig, eine Scriptklasse zu erstellen, die von der Klasse SOGLuebeck.Vacos.SOGCsvValueConvertScript abgeleitet ist und am Importmapping-Datenfeld zu hinterlegen. Aus dieser Klasse kann dann die Methode Convert überschrieben, und hier eigene Routinen zur Wandlung des CSV-Wertes implementiert werden (siehe Beispielscript).
Übernahme der Importdaten in SOG ERP (VACOS)-Importtabellen
Nach der Erstellung eines Importmappings kann die Übernahme der Importdaten aus der CSV-Datei in die SOG ERP (VACOS)-Importtabellen durchgeführt werden. Die Übernahme erfolgt über die Übernahme Importdaten.
Hier wird ein vorher erstelltes Importmapping und eine dazu passende CSV-Datei ausgewählt. Vor der Verarbeitung der CSV-Datei kann hier ein Prüflauf eingestellt werden, bei dem die Importnummer '0' verwendet wird und die erzeugten Datensätze nicht in die SOG ERP (VACOS)-Importtabellen übernommen werden.
Über das Löschkennzeichen kann festgelegt werden, ob die verwendete CSV-Datei nach der fehlerfreien Verarbeitung gelöscht wird.
Nach dem Start der Verarbeitung über die Funktion Übernahme durchführen wird im unteren Bereich der Dialogmaske angezeigt, welche Importnummer vergeben wurde, wieviel CSV-Zeilen insgesamt vorhanden sind und wieviele davon verarbeitet wurden oder fehlerhaft sind. Zusätzlich dazu wird die Anzahl der erzeugten Datensätze in den einzelnen SOG ERP (VACOS)-Importtabellen angezeigt.
Auftretende Fehler bei der Verarbeitung einer einzelnen Zeile werden im Logbuch protokolliert und für die betreffende Zeile keine Datensätze in den Importtabellen erzeugt.
Eine laufende Übernahme von Importdaten kann über die Funktion Verarbeitung abbrechen abgebrochen werden. Der Abbruch der Verarbeitung bewirkt dabei, dass alle bereits erzeugten Datensätze in den SOG ERP (VACOS)-Importtabellen wieder verworfen werden.
Nach der erfolgreichen Verarbeitung können die erzeugten Datensätze und weitere Informationen zur Übernahme über die Importübernahmen (impsu) eingesehen werden.
Standardmäßig wird nach der Übernahme ein Nachlauf durchgeführt, der bestimmte fehlende Informationen in den Importdaten ergänzen kann.
Fehler innerhalb des Nachlaufs führen nicht zu einem Löschen der Importdaten, da der Nachlauf auch beliebig oft über das Programm k805 - Importnachlauf (impnala) wiederholt werden kann.
Übernahme der importierten Daten in die zugehörigen Datenbanktabellen
Sind alle vorherigen Schritte erfolgt, kann über das Programm ImportBatch die Übernahme aus den Importtabellen in die Datenbanktabellen f010, f030 etc. erfolgen!