Open Source Dokumentenmanagement
Dokumentation

Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht

Navigation: Dokumentationen agorum core > Übersicht tags


Mitgelieferte Beispiele des agorum core dms importers

Die mitgelieferten Beispiele ansehen


Der agorum core dms importer liefert Beispiele mit, die Ihnen die Funktionsweise des Imports vorstellen. Für diese funktionalen Beispiele hat das System bei Installation des Plug-ins diverse Ordner und Dateien erstellt.

  1. Öffnen Sie links in der Seitenleiste Explorer.
  2. Öffnen Sie den Pfad:
    Dateien
    Auf dieser Ebene befinden sich Ordner, die den Archivbereich der vorhandenen Beispiele darstellen, in die das System nach Ausführung der Konfiguration die entsprechenden Objekte ablegt.
  3. Öffnen Sie den Pfad:
    Eigene Dateien‎/Administration‎/customers‎/dmsimporter‎
    • In diesem Konfigurationsprojekt befinden sich die benötigten Konfigurationsdateien und Beispieldokumente. Auf diesen baut die jeweilige Beispielkonfiguration auf.
    • Die Konfigurationsbeispiele befinden sich im Ordner dmsimporter. Er enthält etwa notwendige Importdateien, etwa die Migrationstabelle (<Beschreibung>-migrationstable.csv) oder ein manuell erstelltes JavaScript im Ordner js.
    • Im Ordner config finden Sie die Datei .impdef.config, die die die UI angelegt hat.
  4. Öffnen Sie den Pfad:
    Eigene Dateien‎/Administration‎/customers‎/dmsimporter‎/deploy‎/pre‎/fs‎/dmsimporter-demo‎
    In diesem Ordner finden Sie die zu importierenden Objekte in den Ordnern namens import. Die Ordner out speichern nach Ausführung der Konfiguration die entstehenden Log-Dateien ab.
  5. Öffnen Sie über das Kontextmenü die Aktion dms importer > UI starten, um ein Beispiel auszuführen.
  6. Wählen Sie über Load die Konfiguration.
  7. Klicken Sie auf Run und entscheiden Sie, ob Sie den Import simulieren oder durchführen möchten.
  8. Überprüfen Sie das Ergebnis.

    Sie können Änderungen über die UI rückgängig machen (Schaltfläche Delete imported).

Beispiel 1: Die d3-Exportstruktur importieren

In diesem Beispiel:


Mitgelieferte Beispieldaten ansehen

  1. Öffnen Sie links in der Seitenleiste Explorer.
  2. Öffnen Sie den Pfad:
    Eigene Dateien/Administration/customers/dmsimporter/deploy/pre/fs/dmsimport-demo
    
    Datensätze in diesem Pfad:

    import-folder-d3
    Enthält die zu importierenden Beispieldateien.

    output-folder-d3
    Enthält das Importprotokoll. Zu Beginn ist dieses leer und füllt sich erst, wenn Sie das Beispiel ausgeführt haben.
     
  3. Öffnen Sie den Pfad:
    Eigene Dateien/Administration/customers/dmsimporter/dmsimporter-demo-d3
    In diesem Ordner finden Sie die Einstellungen für den agorum core dms importer zu diesem Beispiel.


Den Import durchführen

  1. Starten Sie die UI des agorum core dms importers.
  2. Klicken Sie auf Load, um die Demo-Konfiguration dmsimporter-demo-d3.impdef zu laden.
  3. Klicken Sie auf Run, um eine Simulation des Imports durchzuführen.
  4. Deaktivieren Sie unter Settings die Einstellung Simulated.

    Ergebnis: Das System importiert die Daten.
  5. Betrachten Sie das Ergebnis. Der Ablageort der importierten Dateien ist:
    Dateien/dmsimporter-demo-d3

    • Das System hat diesen Ablageordner während des Imports mit der ACL ACL_dms importer versehen.
    • Die dort abgelegten Dateien können nur Administratoren einsehen, da der ACL noch keine Benutzergruppen oder Benutzer zugewiesen wurden.

  6. Laden Sie die Demo-Konfiguration und klicken Sie auf Delete imported, um den Import für einen weiteren Testlauf wieder rückgängig zu machen.

    Tipp: Prüfen Sie die dazugehörigen JavaScripte. Sie sehen dadurch, dass Sie die Daten auf die von Ihnen benötigte Art und Weise importieren können.

Beispiel 2: Den XML-Export importieren

In diesem Beispiel:


Mitgelieferte Beispieldaten ansehen

  1. Öffnen Sie links in der Seitenleiste Explorer.
  2. Öffnen Sie den Pfad:
    Eigene Dateien/Administration/customers/dmsimporter/deploy/pre/fs/dmsimport-demo
    
    Datensätze in diesem Pfad:

    import-folder-xml
    Enthält die zu importierenden Beispieldateien.

    output-folder-xml
    Enthält das Importprotokoll. Zu Beginn ist dieses leer und füllt sich erst, wenn Sie das Beispiel ausgeführt haben.
  3. Öffnen Sie den Pfad:
    Eigene Dateien/Administration/customers/dmsimporter/dmsimporter-demo-xml
    In diesem Ordner finden Sie die Einstellungen für den agorum core dms importer zu diesem Beispiel.


Den Import durchführen

  1. Starten Sie die UI des agorum core dms importers.
  2. Klicken Sie auf Load, um die Demo-Konfiguration dmsimporter-demo-xml.impdef zu laden.
  3. Klicken Sie auf Run, um eine Simulation des Imports durchzuführen.
  4. Deaktivieren Sie unter Settings die Einstellung Simulated.

    Ergebnis: Das System importiert die Daten.
  5. Betrachten Sie das Endergebnis. Der Ablageort der importierten Dateien ist:
    Dateien/dmsimporter-demo-xml

    • Das System hat diesen Ablageordner während des Imports mit der ACL ACL_dms importer versehen.
    • Die dort abgelegten Dateien können nur Administratoren einsehen, da der ACL noch keine Benutzergruppen oder Benutzer zugewiesen wurden.

  6. Laden Sie die Demo-Konfiguration und klicken Sie auf Delete imported, um den Import für einen weiteren Testlauf wieder rückgängig zu machen.

    Tipp: Prüfen Sie die dazugehörigen JavaScripte. Sie sehen dadurch, dass Sie die Daten auf die von Ihnen benötigte Art und Weise importieren können.

Beispiel 3: Die Filestruktur importieren

In diesem Beispiel importieren Sie eine Filestruktur ohne Metadaten.

Dieses Vorgehen ist sinnvoll, wenn Sie es mit einer großen Datenmenge zu tun haben und / oder Sie zudem anhand eines Protokolls nachweisen müssen, dass das System den Import erfolgreich durchgeführt hat.


Mitgelieferte Beispieldaten ansehen

  1. Öffnen Sie links in der Seitenleiste Explorer.
  2. Öffnen Sie den Pfad:
    Eigene Dateien/Administration/customers/dmsimporter/deploy/pre/fs/dmsimporter-demo/
    
    Datensätze in diesem Pfad:

    import-folder-3
    Enthält die zu importierenden Beispieldateien.

    output-folder-3
    Enthält das Importprotokoll. Zu Beginn ist dieses leer und füllt sich erst, wenn Sie das Beispiel ausgeführt haben.
  3. Öffnen Sie den Pfad:
    Eigene Dateien/Administration/customers/dmsimporter/dmsimporter-demo-3
    In diesem Ordner finden Sie die Einstellungen für den agorum core dms importer zu diesem Beispiel.


Den Import durchführen

  1. Starten Sie die UI des agorum core dms importers.
  2. Klicken Sie auf Load, um die Demo-Konfiguration dmsimporter-demo-3.impdef zu laden.
  3. Klicken Sie auf Run, um eine Simulation des Imports durchzuführen.
  4. Deaktivieren Sie unter Settings die Einstellung Simulated.

    Ergebnis: Das System importiert die Daten.
  5. Betrachten Sie das Endergebnis. Der Ablageort der importierten Dateien ist:
    Dateien/dmsimporter-demo-3

    • Das System hat diesen Ablageordner während des Imports mit der ACL ACL_dms importer versehen.
    • Die dort abgelegten Dateien können nur Administratoren einsehen, da der ACL noch keine Benutzergruppen oder Benutzer zugewiesen wurden.

  6. Laden Sie die Demo-Konfiguration und klicken Sie auf Delete imported, um den Import für einen weiteren Testlauf wieder rückgängig zu machen.

    Tipp: Prüfen Sie die dazugehörigen JavaScripte. Sie sehen dadurch, dass Sie die Daten auf die von Ihnen benötigte Art und Weise importieren können.

Beispiel 4: Die Filestruktur mit Metadaten aus den Dateinamen importieren

In diesem Beispiel importieren Sie eine Filestruktur inklusive Metadaten.

Das System:


Mitgelieferte Beispieldaten ansehen

  1. Öffnen Sie links in der Seitenleiste Explorer.
  2. Öffnen Sie den Pfad:
    Eigene Dateien/Administration/customers/dmsimporter/deploy/pre/fs/dmsimporter-demo
    
    Datensätze in diesem Pfad:

    import-folder-2
    Enthält die zu importierenden Beispieldateien. Die Metadaten befinden sich in den Dateinamen, etwa LI@9887678678@nbb-788@9887@02-003-0014.txt.

    LI = Dokumenttyp
    • 9887678678  = Dokumentnummer
    • nbb-788 = Projektnummer 
    • 9887 = Kundennummer
    • 02-003-0014 = Versionsnummer des Dokumentes

    output-folder-2
    Enthält das Importprotokoll. Zu Beginn ist dieses leer und füllt sich erst, wenn Sie das Beispiel ausgeführt haben.
  3. Öffnen Sie den Pfad:
    Eigene Dateien/Administration/customers/dmsimporter/dmsimporter-demo-2
     In diesem Ordner finden Sie die Einstellungen für den agorum core dms importer zu diesem Beispiel.


Den Import durchführen

  1. Starten Sie die UI des agorum core dms importers.
  2. Klicken Sie auf Load, um die Demo-Konfiguration dmsimporter-demo-2.impdef zu laden.
  3. Klicken Sie auf Run, um eine Simulation des Imports durchzuführen.
  4. Deaktivieren Sie unter Settings die Einstellung Simulated.

    Ergebnis: Das System importiert die Daten.
  5. Betrachten Sie das Endergebnis. Der Ablageort der importierten Dateien ist:
    Dateien/dmsimporter-demo-2

    • Das System hat diesen Ablageordner während des Imports mit der ACL ACL_dms importer versehen.
    • Die dort abgelegten Dateien können nur Administratoren einsehen, da der ACL noch keine Benutzergruppen oder Benutzer zugewiesen wurden.

  6. Laden Sie die Demo-Konfiguration und klicken Sie auf Delete imported, um den Import für einen weiteren Testlauf wieder rückgängig zu machen.

    Tipp: Prüfen Sie die dazugehörigen JavaScripte. Sie sehen dadurch, dass Sie die Daten auf die von Ihnen benötigte Art und Weise importieren können.

Beispiel 5: Die Filestruktur mit Metadaten importieren

In diesem Beispiel: importieren Sie eine Filestruktur inklusive Metadaten, die das System separat aus einer dazugehörigen JSON-Datei liest. Das System übernimmt die Filestruktur in diesem Beispiel genauso, wie diese exportiert wurde.


Mitgelieferte Beispieldaten ansehen

  1. Öffnen Sie links in der Seitenleiste Explorer.
  2. Öffnen Sie den Pfad:
    Eigene Dateien/Administration/customers/dmsimporter/deploy/pre/fs/dmsimporter-demo
    
    Datensätze existieren in diesem Pfad:

    import-folder-1
    Enthält die zu importierenden Beispieldateien.

    • Die Metadaten liegen im JSON-Format vor:
    {
      "src_invoicenumber": "12345",
      "src_invoicedate": "17.09.2019",
      "src_customernumber": "K123",
      "src_customername": "Testkunde 123"
    }
    
    • Das System mappt diese Metadaten beim Import auf agorum core-Metadaten und setzt sie auf das dazugehörige Dokument.

    output-folder-1
    Enthält das Importprotokoll. Zu Beginn ist dieses leer und füllt sich erst, wenn Sie das Beispiel ausgeführt haben.
  3. Öffnen Sie den Pfad:
    Eigene Dateien/Administration/customers/dmsimporter/dmsimporter-demo-1
    In diesem Ordner finden Sie die Einstellungen für den agorum core dms importer zu diesem Beispiel.


Den Import durchführen

  1. Starten Sie die UI des agorum core dms importers.
  2. Klicken Sie auf Load, um die Demo-Konfiguration dmsimporter-demo-1.impdef zu laden.
  3. Klicken Sie auf Run, um eine Simulation des Imports durchzuführen.
  4. Deaktivieren Sie unter Settings die Einstellung Simulated.

    Ergebnis: Das System importiert die Daten.
  5. Betrachten Sie das Endergebnis. Der Ablageort der importierten Dateien ist:
    Dateien/dmsimporter-demo-1

    • Das System hat diesen Ablageordner während des Imports mit der ACL ACL_dms importer versehen.
    • Die dort abgelegten Dateien können nur Administratoren einsehen, da der ACL noch keine Benutzergruppen oder Benutzer zugewiesen wurden.

  6. Laden Sie die Demo-Konfiguration und klicken Sie auf Delete imported, um den Import für einen weiteren Testlauf wieder rückgängig zu machen.

    Tipp: Prüfen Sie die dazugehörigen JavaScripte. Sie sehen dadurch, dass Sie die Daten auf die von Ihnen benötigte Art und Weise importieren können.

Beispiel 6: Den Import mit einer agorum core smart assistant-Konfiguration durchführen

In diesem Beispiel importieren Sie eine Filestruktur inklusive Metadaten, die das System separat aus einer dazugehörigen JSON-Datei liest.

Das System:


Mitgelieferte Beispieldaten ansehen

  1. Öffnen Sie links in der Seitenleiste Explorer.
  2. Öffnen Sie den Pfad:
    Eigene Dateien/Administration/customers/dmsimporter/deploy/pre/fs/dmsimporter-demo
    
    Datensätze existieren in diesem Pfad:

    import-folder
    Enthält die zu importierenden Beispieldateien.

    • Die Metadaten liegen im JSON-Format vor:
    {
      "src_invoicenumber": "12345",
      "src_invoicedate": "17.09.2019",
      "src_customernumber": "K123",
      "src_customername": "Testkunde 123"
    }
    
    • Das System mappt diese Metadaten beim Import auf agorum core-Metadaten und setzt sie auf das dazugehörige Dokument.

    output-folder
    Enthält das Importprotokoll. Zu Beginn ist dieses leer und füllt sich erst, wenn Sie das Beispiel ausgeführt haben.
  3. Öffnen Sie den Pfad:

    Eigene Dateien/Administration/customers/dmsimporter/dmsimporter-demo

    In diesem Ordner finden Sie die Einstellungen für den agorum core dms importer zu diesem Beispiel.


Die Daten anhand der agorum core smart assistant-Konfiguration ablegen

In diesem Beispiel legen Sie die Daten anhand einer Einstellung im smart assistant konfigurator an.

Name des Add-ons:

dms importer - AddOn

Die aufgerufene Ablage finden Sie unter:

Ablage -> dmsimporter_kundenakte //Diese Konfiguration erstellt eine Kundenakte, in die Angebote und Rechnungen abgelegt werden.


Den Import durchführen

  1. Starten Sie die UI des agorum core dms importers.
  2. Klicken Sie auf Load, um die Demo-Konfiguration dmsimporter-demo.impdef zu laden.
  3. Klicken Sie auf Run, um eine Simulation des Imports durchzuführen.
  4. Deaktivieren Sie unter Settings die Einstellung Simulated.

    Ergebnis: Das System importiert die Daten.
  5. Betrachten Sie das Endergebnis. Der Ablageort der importierten Dateien ist:
    Dateien/dmsimporter-demo

    • Das System hat diesen Ablageordner während des Imports mit der ACL ACL_dms importer versehen.
    • Die dort abgelegten Dateien können nur Administratoren einsehen, da der ACL noch keine Benutzergruppen oder Benutzer zugewiesen wurden.

  6. Laden Sie die Demo-Konfiguration und klicken Sie auf Delete imported, um den Import für einen weiteren Testlauf wieder rückgängig zu machen.

    Tipp: Prüfen Sie die dazugehörigen JavaScripte. Sie sehen dadurch, dass Sie die Daten auf die von Ihnen benötigte Art und Weise importieren können.

Beispiel 7: List-Metadaten

In diesem Beispiel:

List-Metadaten verwendet agorum core etwa bei Rechnungsdokumenten, um darin Positionsinformationen abzuspeichern.


Einführung in die List-Metadaten von agorum core

Zuerst definieren Sie List-Metadaten.

Beispielhafter Auszug aus der metadata.yml des d3-Beispiels. Hier sehen Sie, wie die List-Metadaten für dieses Beispiel konfiguriert wurden:

...
position_items:
  displayName: Positionsdaten
  list:
    number:
      displayName: Nummer
      type: long

    description:
      displayName: Bezeichnung
      type: string

    amount:
      displayName: Betrag
      type: double  
      
    deliveryDate:
      displayName: Lieferdatum
      type: date
      
    validity:
      displayName: Gültigkeit
      type: boolean
...


Einführung der JPL-Datei mit List-Metadaten

JPL-Datei (P000119399.JPL) aus dem d3-Beispiel mit List-Metadaten. Diese sind fett hinterlegt:

zeich_nr = "P000119399"
dokuart = "TSTPOS"
var_nr = "1"
logi_verzeichnis = "Fr"
bearbeiter = ""
color_code = "0"
konstrukteur = "rpe"
text[1] = ""
text[2] = ""
text[3] = ""
text[4] = ""
dok_dat_feld[2] = "agorum"
dok_dat_feld[28] = "Positionstest mehr Datentypen"
dok_dat_feld[49] = "4501226999"
dok_dat_feld[50] = "16.10.2019"
dok_dat_feld_62[1] = "Standort Ostfildern"
dok_dat_feld_64[1] = "73760"
dok_dat_feld_66[1] = "Musterfirma GmbH"
dok_dat_feld_68[1] = "agorum core docform"
dok_dat_feld_69[1] = "6408"
dok_dat_feld_70[1] = "1"
dok_dat_feld_70[2] = "2"
dok_dat_feld_70[3] = "3"
dok_dat_feld_71[1] = "Dies ist Position 1"
dok_dat_feld_71[2] = "Dies ist Position 2"
dok_dat_feld_71[3] = "Dies ist Position 3"
dok_dat_feld_72[1] = "123.45"
dok_dat_feld_72[2] = "234.56"
dok_dat_feld_72[3] = "345.67"
dok_dat_feld_73[1] = "15.10.2019"
dok_dat_feld_73[2] = "16.10.2019"
dok_dat_feld_73[3] = "17.10.2019"
dok_dat_feld_74[1] = "true"
dok_dat_feld_74[2] = "false"
dok_dat_feld_74[3] = "true"


Einführung in JavaScript

Sie importierten die List-Metadaten (Positionsdaten mit einem JavaScript. Dabei formatiert das Skript die d3-Metadaten um, sodass diese dem Format der agorum core-Metadaten (dmsimporter_psoitionen) entsprechen.

Der spezifische Teil für List-Metadaten ist fett markiert:

let InputStreamReader = Packages.java.io.InputStreamReader;
let BufferedReader = Packages.java.io.BufferedReader;
let FileInputStream = Packages.java.io.FileInputStream;
let File = Packages.java.io.File;
let ac = require('ac');

/**
 * internal fields:
 * - ac_ignore: true/false - ignore this file
 * - ac_note: string: Add note to object with the given text
 * - src_doctype: has to be given, is used to identify the rule in the migrariontable
 */
// read in jpl an return a map with the data
function read(file) {
  let jplData = {};
  let f = new File(file);
  
  if (f.exists()) {
    
    // holen des relativen Pfades ab dem Start-Ordner der Importstruktur
    let path = f.getParentFile().getAbsolutePath().replace(/\\/g, '/');
    let str = 'dmsimporter-demo/import-folder-d3';
    path = path.substring(path.indexOf(str) + str.length + 1);

    jplData.parent = path;    
    jplData.name = f.getName();
    
    let baseName = jplData.name;
    if (baseName.indexOf('.') !== -1) baseName = baseName.substring(0, baseName.lastIndexOf('.'));
    // ACHTUNG: JPL muss immer genau so geschrieben werden wie es ist (zumindest unter Linux)
    let stream = new FileInputStream( new File(f.getParentFile(), baseName  + '.JPL'));
    

    let br = new BufferedReader(new InputStreamReader(stream, 'UTF-8'));
    try {
      let line = null;
      while ((line = br.readLine()) !== null) {
        if (line.indexOf(' = ') !== -1) {
          let name = line.substring(0, line.indexOf(' = ')).toLowerCase();
          let value = line.substring(line.indexOf(' = ') + 4);
          value = value.substring(0, value.length - 1);
          jplData[name] = value;
        }
      }
      
      // Test mit List-Metadaten(Positionsdaten). 
      // Diese befinden sich in den Feldern dok_dat_feld_70 - dok_dat_feld_74
      // beim Dokumententyp TSTPOS in unserem Beispiel
      // wobei in [] dann der jeweilige Positions-Index angegeben ist
      // dok_dat_feld_70[1] ist also number in der ersten Position
      //
      // Felder aus dem Beispiel:
      //   dok_dat_feld_70 = number
      //   dok_dat_feld_71 = description
      //   dok_dat_feld_72 = amount
      //   dok_dat_feld_73 = deliveryDate
      //   dok_dat_feld_74 = validity
      let positions = [];
      if (jplData.dokuart === 'TSTPOS') {
        fillArrayData(jplData, 'dok_dat_feld_70', positions, 'number', 'long');
        fillArrayData(jplData, 'dok_dat_feld_71', positions, 'description', 'string');
        fillArrayData(jplData, 'dok_dat_feld_72', positions, 'amount', 'double');
        fillArrayData(jplData, 'dok_dat_feld_73', positions, 'deliveryDate', 'date');
        fillArrayData(jplData, 'dok_dat_feld_74', positions, 'validity', 'boolean');
      }
      
      // am Ende das gefüllte positions-Array in die jplData einfügen
      // in der CSV Datei der migrationtable ist das src_metadata als positions angegeben.
      jplData.positions = positions;
    }
    finally {
      br.close();
    }
    
    // Jetzt noch prüfen 
    // ACHTUNG: NOT muss immer genau so geschrieben werden wie es ist (zumindest unter Linux)
    let fn = new File(new File(f.getParentFile(),baseName + '.NOT'));
    if (fn.exists()) {

      let stream = new FileInputStream(fn);

      let br = new BufferedReader(new InputStreamReader(stream, 'UTF-8'));
      try {
        let lines = [];

        let line = null;
        while ((line = br.readLine()) !== null) {
          lines = lines.concat(line);
        }

        // special case note
        // data.ac_note = 'A Note Object for: ' + data.name;
        jplData.ac_note = lines.join('\n');

      }
      finally {
        br.close();
      }
    }    

    return jplData;
    
  }
  
  return null;
}

/**
 * Sucht in source nach allen Vorkomnissen von sourceField und füllt diese entsprechend dem Index
 * in das Zielarray destination mit dem Namen angegeben in destinationField.
 * Der ausgelesene Wert wird durch Angabe von dataType konvertiert
 *
 * source: die Quell-Map aus der die Daten ausgelesen werden
 * sourceField: der Name (ohne die []) aus source
 * destination: ein Array in das die Ziel-Daten kommen
 * destinationField: der Zielname in destination
 * dataType: Datentyp zur Konvertierung. Derzeit unterstützt
 *   string, long, double, int, float, boolean, date
 * format: optional für die Konvertierung von date, Standard ist dd.MM.yyyy
 */
function fillArrayData(source, sourceField, destination, destinationField, dataType, format) {
  for (let name in source) {
    if (name.startsWith(sourceField + '[')) {
      // index aus den [] herauslesen
      let index = parseInt(name.substring(name.indexOf('[') + 1).substring(0, name.indexOf(']')), 10) - 1;
      
      // array erweitern
      if (destination.length <= index) {
        destination.length = index + 1;
      }
      
      let data = destination[index];
      if (!data) {
        // initialisierung, wenn noch keine Daten vorhanden sind
        data = {};
        destination[index] = data;
      }
      
      // Wert konvertieren und an die richtige Stelle in der map im Ziel-Array ablegen
      data[destinationField] = convertValue(source[name], dataType, format);
      
      // feld aus source rauslöschen
      delete source[name];
    }
  }
  
  // es könnte sein, dass es leere Daten im Array gibt, da Lücken in der Datendefinition der JPL Dateien enthalten sind
  // diese werden nun aufgefüllt mit einer leeren map
  for (let i=0;i<destination.length;i++) {
    if (!destination[i]) {
      destination[i] = {}; // leere map
    }
  }
}

/**
 * Konvertierung des values in den angegebenen Datentype
 *
 * value: Der ursprüngliche Wert als string
 * dataType: Zieldatentyp: string, long, double, int, float, boolean, date
 * format: optional für die Konvertierung von date, Standard ist dd.MM.yyyy
 */
function convertValue(value, dataType, format) {
  if (!value) {
    // leer, nichts machen
    return null;
  }
  
  if (dataType === 'string') {
    return value;
  }
  
  if (dataType === 'int') {
    return ac.parseInt(value);
  }

  if (dataType === 'boolean') {
    return ac.parseBoolean(value);
  }

  if (dataType === 'date') {
    return ac.parseDate(value, format || 'dd.MM.yyyy');
  }
  
  if (dataType === 'long') {
    return ac.parseLong(value);
  }
  
  if (dataType === 'double') {
    return ac.parseDouble(value);
  }
  
  if (dataType === 'float') {
    return ac.parseFloat(value);
  }
  
  throw new Error('datatype ' + dataType + ' not supported');
}

function update(object, rule) {
  // In diesem Beispiel wird hier nichts gemacht
}

module.exports = {
  read: read,
  update: update
};


Einführung in Object-positions

Dieses Skript zeigt, wie Sie List-Metadaten aufbereiten müssen, sodass das System diese direkt dem List-Metadatum aus agorum core zuordnen kann.

positions = [
  {
    "number": 1,
    "description": "Dies ist Position 1",
    "amount": 12345,
    "deliveryDate": "2019-10-15T00:00:00.000Z",
    "validity": true
  },
  {
    "number": 2,
    "description": "Dies ist Position 2",
    "amount": 23456,
    "deliveryDate": "2019-10-16T00:00:00.000Z",
    "validity": false
  },
  {
    "number": 3,
    "description": "Dies ist Position 3",
    "amount": 34567,
    "deliveryDate": "2019-10-17T00:00:00.000Z",
    "validity": true
  }
]


Auszug aus der CSV-Regeldatei

In dem d3-Beispiel ordnen Sie jetzt in der CSV-Regeldatei die Spalten zur Kopfzeile zu (Auszug speziell für die List-Metadaten):

csv-Header-Name Eintrag Beschreibung
src_metadata positions List-Metadaten, aufbereitet über das JavaScript.
ac_metadata dmsimporter_position_items List-Metadaten in agorum core, denen die importierten Metadaten zugeordnet werden.
ac_type list Metadaten-Type in agorum core
ac_save_on_doc true Diese Metadaten sollen dem Object zugeordnet werden.