In 5.5.1.0 wurde der Präprozessor umgebaut. Firmen- und Ansprechpartnerdaten sind ab dieser Version in einer .csv-Datei und der Benutzer kann außerdem CustomAttributes importieren.
Beispieldateien:
Beispielkonfiguration:
<preProcessorSettings encoding="UTF-8" key="default" delimiter=";" sourceDirectory="ConfigurationItemImport\preProcessDir" fileMask="*.csv" templateFilePath="ConfigurationItemImport\format.xml" useHeaders="true" quote="QuotationMark" />
encoding: Das Encoding der csv-Datei. Kann z.B. “Unicode” oder “UTF-8” sein. Import Encpdings
delimiter: Das Trennzeichen zwischen den Spalten
sourceDirectory: Das Verzeichnis in dem die CSV-Dateien liegen
fileMask: Filterfunktion, welche CSV-Dateien importiert werden sollen.
templateFilePath: Die Vorlage-XML-Datei
useHeaders: Legt fest, ob die Spaltenüberschriften aus der CSV-Datei benutzt werden. Ist es deaktiviert, werden folgende Spaltenüberschriften benutzt: column1, column2, columnN, …
quote: (5.5.17.0+) Steuert die Zeichen, welches das Feld im CSV begrenten (vor bzw. nach dem Trennzeichen). Folgende Werte sind möglich:
| quote | Beispiele | Standardwert |
|---|---|---|
| NoQuotationMark | foo;bar;foo;bar oder foo;“ba”r;f“o”o;bar | |
| QuotationMark | “foo”;“bar”;“foo”;“bar” | x |
| SingleQuotationMark | 'foo';'bar';'foo';'bar' |
Die Werte von beliebigen Feldern können beim Import einer XML-Datei vor dem Speichern verändert werden.
Die Konfiguration des Mappings ist über die Datenbanktabelle “tbImportMapping” möglich. Diese hat folgenden Aufbau:
| Feld | Funktion |
|---|---|
| importName | Der Name des Imports, zu dem das Mapping gehört. z.B. “CustomerImport” oder “ConfigurationItemImport” |
| fieldName | Der Name des Feldes, das verändert werden soll. (siehe unten) |
| currentValue | Der Wert des Feldes, der aktuell zugewiesen ist und ersetzt werden soll. |
| nextValue | Der Wert, den das Feld zukünftig haben wird. |
Der “fieldName” ist jeweils analog der XML-Struktur aufgebaut.
Ausnahme: Der XML-Knoten “contactperson” heißt beim Mapping “CustomerContactPerson”.
Beispiele beim CustomerImport:
CustomerContactPerson.attributes.test CustomerContactPerson.name status
Beispiele beim ConfigurationItemImport:
customerConfigurationItemInfo.field