Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.
Auszug
hiddentrue

Nuclos Strukturdefinition: CSV Import, Mapping, Spaltennummer, Groovy, Berechnungsausdruck, Identifizierer, RFC 4180, Direktimport.

globe with meridians Sprache: Deutsch · English

open book Strukturdefinition

CSV-Spalten auf BO-Felder mappen – Importmodi, Groovy-Berechnung, Format und Identifizierer.

Status
colourGrey
titleReferenz
Status
colourBlue
titleAnwendungsentwickler
Status
colourGreen
titleStand: Jul 2026
Status
colourGrey
titlegilt fuer Nuclos 4.2026.x

Panel
bgColor#F4F5F7

Auf dieser Seite

Inhalt
maxLevel2
minLevel2

Wozu eine Strukturdefinition?

Die Strukturdefinition ordnet die Spalten einer Quelldatei (CSV) den Feldern eines Businessobjekts zu. Menü: Konfiguration → Import & Export → Strukturdefinition.

Grundeinstellungen

FeldBedeutung
NameBezeichnung der Strukturdefinition.
KopfzeilenAnzahl der zu ignorierenden Zeilen (z.​B. Spaltenüberschriften).
ImportmodusStandardimport (mit Nuclos-Speichermechanismen und Regeln) oder Direktimport (direkt in die DB, ohne Regeln).
FeldtrennzeichenSpaltentrenner der CSV (meist ;).
BusinessobjektZiel-BO des Imports.

Anlage-/Update-Verhalten

OptionWirkung
Nur Datensätze einfügenes wird stets ein neuer Datensatz angelegt; Eindeutigkeitsverletzungen führen zu Fehlern.
Bestehende Datensätze aktualisierenvorhandene Datensätze (per Identifizierer) werden aktualisiert.
Nicht mehr vorhandene Datensätze löschenDatensätze, die in der Importdatei fehlen, werden entfernt.

Strukturdefinition für Objektimport.

Attribute zuordnen

Je Zeile ein Attribut des BOs mit der Spaltennummer der Datei verknüpfen. Mit Bestehende Attribute nicht überschreiben lässt sich das Überschreiben auf Feldebene eingrenzen. Boolean-Werte erkennen true/false, 1/0, j/n u.​a.

Berechnungsausdruck (Groovy)

Statt einer Spaltennummer kann ein Attribut per Groovy-Script je Zeile berechnet werden. Verfügbare Variablen: values (String[], 0-indiziert), line (Integer) und log (ImportLogger). Ist ein Script hinterlegt, darf keine Spaltennummer angegeben werden.

Codeblock
languagejava
if (values[2] == null || values[2].isEmpty()) {
    log.info("FALSE "+values[2]);
    return false;
} else {
    log.info("TRUE "+values[2]);
    return true;
}

Referenzfelder dürfen nur Long, null oder Leerstring (≡ null) liefern:

Codeblock
languagejava
if (values[0] == "Frau") {
    return 40000001;
}
else if (values[0] == "Herr") {
    return 40000002;
}
return null;

Datumswert:

Codeblock
languagejava
java.text.SimpleDateFormat dateFormat = new java.text.SimpleDateFormat("dd.MM.yyyy");
java.util.Date date = dateFormat.parse("25.02.2020");

return date;

Format (Parsestring)

Wird nur genutzt, wenn kein Script hinterlegt ist. Bedeutung je Datentyp:

TypFormat
String / Number<match>#<replacement> mit Regex; Beispiel Nr(\d)+#Nr $1: Nr9Nr 9.
DateSimpleDateFormat; Standard dd.MM.yyyy.
Boolean / BigDecimalFormat wird nicht verwendet.

Identifizierer

Das Identifizierer-Attribut kennzeichnet einen Datensatz eindeutig (wichtig für Updates). Für Referenzfelder legt der Identifizierer des referenzierten Datensatzes fest, über welches Feld (und welche Spaltennummer) das Mapping auf das Referenz-BO erfolgt.

Info
titleCSV-Format

Valides CSV (RFC 4180): Felder dürfen in doppelte Anführungszeichen; Felder mit Zeilenumbruch oder Feldtrennzeichen müssen gequotet werden; ein " im Wert wird durch "" maskiert.

Verwandte Seiten

electric plug Objektimport


Import ausführen.

Öffnen →

clipboard XML Strukturdefinition


XML-Import.

Öffnen →

package Import und Export


Übersicht.

Öffnen →