Date: Fri, 29 Mar 2024 10:48:37 +0000 (UTC) Message-ID: <215228164.1768.1711709317238@wiki.rz.novabit.de> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_1767_2130835521.1711709317238" ------=_Part_1767_2130835521.1711709317238 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
Men=C3=BCaufruf: (Konfiguration) - (Import & Export) - (St= rukturdefinition)
In der Maske Strukturdefinition f=C3=BCr Objektimport wird die Zuordnung zwischen der Spalte in der Quelldatei und dem Nuclos-= Feld vorgenommen.
Name =E2=86=92 Name der Strukturdefinition
Kofpzeilen gibt die Anzahl der Kopfzeilen an, die f=C3= =BCr den Import ignoriert werden sollen (z.B. Spalten=C3=BCberschriften).= p>
Importmodus
Feldtrennzeichen ist das Trennzeichen der einzelnen Spa= lten in der CSV-Datei (im Normalfall ";").
Businessobjekt Zuordnung zum Importierenden Businessobj= ekt.
Nur Datens=C3=A4tze einf=C3=BCgen es wird grunds=C3=A4t= zlich versucht, einen neuen Datensatz anzulegen, egal ob schon vorhanden od= er nicht. Bei Eindeutigkeitsverletzungen treten Fehler im Import auf.
Bestehende Datens=C3=A4tze aktualisieren Es werde= n nachtr=C3=A4gliche Updates durchgef=C3=BChrt
Nicht mehr vorhandene Datens=C3=A4tze l=C3=B6schen Wenn eines oder mehrere Felder als eindeutig erkannt werden, wird dieser D= atensatz =C3=BCberschrieben. Datens=C3=A4tze, die in der Importdatei nicht = mehr vorkommen, werden entfernt, wenn gesetzt ist.
Unter Attribut stehen die in dem Businessobjekt zu= r Verf=C3=BCgung stehenden Felder zur Auswahl. Dieses Feld in Verbindung mi= t der Spaltennummer der Importdatei stellt die Verkn=C3=BC= pfung dar. Mit dem Flag Bestehende Attribute nicht =C3=BCberschreib= en kann ein =C3=9Cberschreiben auf Feldebene zus=C3=A4tzlich einge= grenzt werden.
F=C3=BCr Boolean Attribute kann man entweder=
einen Berechnungsausdruck verwenden oder den Import =C3=BCber die Spaltenn=
ummer der Importdatei realisieren. Das Boolean in der Importdatei erkennt f=
olgende Standards: true/false; 1/0; j/n.
=C3=9Cber das Feld Berechnungsausdruck kann ein zu impo=
rtierendes Attribut dynamisch berechnet werden. =C3=9Cber ein Groovy-Script=
k=C3=B6nnen Sie den zu importierenden Wert f=C3=BCr jede Zeile aus den kom=
pletten Daten der Zeile ableiten. Dabei sehen in die Variablen
(java.lang.String[]), alle Werte der aktuellen Zei=
le 0-indiziert), line
(java.lang.Integer, die=
aktuelle Zeilennummer) und log
(org.nuclos.s=
erver.fileimport.ImportLogger) zur Verf=C3=BCgung. Wenn Sie ein Attribut dy=
namisch berechnen m=C3=B6chten, darf keine Spaltennummer angegeben=
werden.
Beispiel f=C3=BCr Boolean-Feld:
if (val= ues[1] =3D=3D "No") { return false } else if (values[1] =3D=3D "Si") { return true; } else { return false; }
Beispiel f=C3=BCr Double-Feld:
if (val= ues[2] =3D=3D null) { return null; } else { return Double.parseDouble(values[2]) * 1000; }
Beispiel f=C3=BCr Referenz-Feld:
if (val= ues[0] =3D=3D "Frau") { return 40000001; } else if (values[0] =3D=3D "Herr") { return 40000002; } return null;
F=C3=BCr Referenzfelder darf das Script nat=C3=BCrlich nur Zahlen (Long)=
, null
oder leere Strings zur=C3=BCck liefern. Ein Leerstring =
wird ebenfalls als null
behandelt.
Beispiel f=C3=BCr Datums-Feld:
java.te= xt.SimpleDateFormat dateFormat =3D new java.text.SimpleDateFormat("dd.MM.yy= yy"); java.util.Date date =3D dateFormat.parse("25.02.2020"); return date;
Das Feld Format hat, abh=C3=A4ngig von dem Datentypen, in die die Eingab= e umgewandelt wird, verschiedene Bedeutungen.
Die Implementierung erfolgt in org.nuclos.common2.fileimport.parser.CsvF= ileImportParserFactory. Dieser Klasse k=C3=B6nnen Entwickler weitere Detail= s entnehmen.
Format wird nur verwendet, wenn kein Script hinterlegt ist.
Das Format hat die Form '<match>#<replacement>'. Da= bei ist <match> eine Regex, die auf die Eingabe angewendet wird. Das = initiale Ergebnis ist <replacement>.
F=C3=BCr jeden Group Match auf der Eingabe wird im Ergebnis jed= er Match des regul=C3=A4re Ausdrucks '$<group_number>$' durch den Mat= ch der Gruppe ersetzt.
Im Normalfall wird dies wohl verwendet, um einen Grupp= enmatch durch in das Ergebnis zu =C3=BCbertragen. Beispiel: Format 'Nr(\\d)= +#Nr $1', Eingabe 'Nr9' -> Ergebnis 'Nr 9', Eingabe 'nomatch' -> Erge= bnis 'nomatch'.
In diesem Fall wird das Format nicht =
verwendet!
Erlaubte true
Werte: ja, yes, true, wahr, y, j, t,=
1
Erlaubte false
Werte: nein, no, false, falsch, n, =
f, 0
Werte, die nicht matchen, werden zu false
=
.
Format wird als SimpleDateFormat verwendet. Wird kein Format an= gegeben, wird 'dd.MM.yyyy' verwendet.
In diesem Fall wird das Format nicht<=
/strong> verwendet!
Wie unter String beschrieben. Am Ende wird nur=
-Leerzeichen zu null
. Bei allem anderen wird versucht, es in d=
en entsprechenden Zahlentyp umzuwandeln.
Das Feld Identifizierer-Attribut stellt eine Kombinatio= n aus Attributen dar, mit welchen ein Datensatz als eindeutig gekennzeichne= t wird (wichtig f=C3=BCr die Aktualisiserung von Daten).
In diesem Bereich k=C3=B6nnen Sie die Referenzen von Feldern festlegen. = Wird unter den Attributen ein Referenzfeld markiert, so sind unter = Attribut Name alle verf=C3=BCgbaren Felder das Referenz-Businessob= jekt aufgelistet. W=C3=A4hlen Sie hier das Feld auf, =C3=BCber das das Mapp= ing auf das Referen-Businessobjekt stattfinden soll. Zus=C3=A4tzlich m=C3= =BCssen Sie die entsprechende Spaltennummer angeben. Beisp= iel: Es soll ein Attribut "Standort" importiert werden. Der Standort stellt= ein Referenzfeld dar. In der CSV Datei steht in der Spalte "Standort" die = Standortnummer, die f=C3=BCr das Mapping verwendet werden kann. Also w=C3= =A4hlen Sie im "Identifizierer des referenzierten Datensatzes" die Nummer a= ls Mapping Feld aus.
Aktuell wird der Import von CSV Formaten unterst=C3=BCtzt. Die zu import= ierende Datei muss daher im CSV Format vorliegen.
Valides CSV Format
Da es unterschiedliche Definitionen von CSV-Formaten gibt, ist es notwen= dig sich an folgende Regeln zu halten damit Nuclos die Daten korrekt import= ieren kann:
jedes Feld kann in doppelte Anf=C3=BChr= ungsstriche gesetzt werden
"testA"= ,testB,"87",900
Felder mit Zeilenumbruch m=C3=BCssen in= Anf=C3=BChrungsstriche gesetzt werden
"testA"= ,testB,"87","900 St=C3=BCck"
falls Felder in Anf=C3=BChrungsstriche = gesetzt werden, m=C3=BCssen Anf=C3=BChrungsstriche innerhalb des Feldwerts = mit einem vorangestellten Anf=C3=BChrungsstrich maskiert werden
"TestA"= ,"24"" Monitor",87,900
soll das Feldtrennzeichen im Feldwert v= erwendet werden, muss dieser in Anf=C3=BChrungsstriche gesetzt werden
"TestA"= ,"TestB,",87,900
Siehe hierzu auch https://tools.ietf.org/html/rfc4180<= /p>