Skip to main content
Skip table of contents

Aufträge importieren (import orders - CSV-Schnittstelle)

Ab TaskCenter Version 4.94.0.0 können Aufträge im CSV-Format eingelesen und angelegt werden. Die CSV-Spalten-Zuordnung kann individuell zugeordnet/gesteuert werden.


Manueller Import

TaskCenter - Fenster "Angebote/Aufträge" - Zusatzfunktionen - Import - Import Auftrag aus Datei


Automatischer Import

LC.WpfInterfaces - UnifiedOrderImport


Dateiaufbau / Import Vorlagen

Es können verschiedene CSV-Import-Vorlagen erstellt werden, welche den genauen Dateiaufbau der CSV-Datei beschreiben.

Die Vorlagen werden in der Tabelle IO_DATEI_VORLAGEN zur Verfügung gestellt. Jeder Vorlage werden beliebig viele Felder zugeordnet, welche in der Tabelle IO_DATEI_FELDER verwaltet werden.

Es können beliebig viele Vorlagen zu beliebig vielen Feldern erstellt werden. 

Die Verwaltung der Vorlagen ist zurzeit ausschließlich über manuelle SQL-Statements vorzunehmen!


Tabelle IO_DATEI_VORLAGEN

Eine neue Vorlage einfügen:

SQL
insert into IO_DATEI_VORLAGEN (INX,KONFIG_NAME,KONFIG_TYP,DATEIFORMAT,CSV_TRENNZEICHEN) select max(io_datei_vorlagen)+1,'Name der Vorlage',110,'CSV',';' from indizes;
update indizes set IO_DATEI_VORLAGEN=select max(INX) from IO_DATEI_VORLAGEN;]] ></ac:plain-text-body></ac:structured-macro><p><br /></p><h3>Tabelle IO_DATEI_FELDER</h3><h4>Aufbau</h4><table><colgroup><col /><col /><col /></colgroup><tbody><tr><th>Spalte</th><th>M&ouml;gliche Werte</th><th>Beschreibung</th></tr><tr><td>INX</td><td>0,1,2,3...</td><td>Eindeutiger Datensatzindex aus INDIZES.IO_DATEI_FELDER</td></tr><tr><td>VORLAGE_INX</td><td>0,1,2,3,...</td><td>Eindeutiger Datensatz-Index der Datei-Vorlage aus IO_DATEI_VORLAGEN.INX</td></tr><tr><td>ZIEL_FELD</td><td><ac:link ac:anchor="targetfields"><ac:plain-text-link-body><![CDATA[Siehe TargetFields]] ></ac:plain-text-link-body></ac:link></td><td>Name des Ziel-Properties, welches bearbeitet oder behandelt wird. Je nach KONFIG_TYP sind unterschiedliche Properties verf&uuml;gbar.</td></tr><tr><td colspan="1">QUELL_FELD</td><td colspan="1"><br /></td><td colspan="1">Quell-Spaltenname in der CSV-Datei oder ev. auch einer XML-Datei</td></tr><tr><td colspan="1">WERT</td><td colspan="1"><br /></td><td colspan="1">Fixer Wert, der zugewiesen wird. <span style="color: rgb(23,43,77);">Hier k&ouml;nnen auch<span>&nbsp;</span></span><ac:link ac:anchor="StringFunctions" /><span style="color: rgb(23,43,77);"><span>&nbsp;</span>verwendet werden, um bsp. Werte aus der Datenbank zu selektieren.</span></td></tr><tr><td colspan="1">FELDFORMAT</td><td colspan="1"><br /></td><td colspan="1">Daten-Format, in dem die Quell-Spalte formatiert ist (f&uuml;r Nummern und Datumsfelder). Bsp. yyyy-MM-dd oder #0.000</td></tr><tr><td colspan="1">DATENTYP</td><td colspan="1"><br /></td><td colspan="1">Hier kann der Datentyp des Felds genau festgelegt werden. Datentypen sind: String, Bool, Byte, Integer, Number, PlainNumber, Quantity, Currency, Percent, Date, Time, DateTime</td></tr></tbody></table><p><br /></p><h4>Felder hinzuf&uuml;gen</h4><p>Ein neues Feld zu einer Vorlage einf&uuml;gen (in dem Beispiel ist der VORLAGE_INX = 1 ... das ist der eindeutige Datensatz-Index der zuvor angelegten Vorlage):</p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="ab3ead82-ddd6-42ed-8e2b-6e6d533ade9f"><ac:parameter ac:name="language">sql</ac:parameter><ac:plain-text-body><![CDATA[insert into IO_DATEI_FELDER (INX,VORLAGE_INX,QUELL_FELD, ZIEL_FELD) select max(io_datei_felder)+1,-1,'Index','EdiReference' from indizes;
update indizes set IO_DATEI_FELDER=(select max(inx) from IO_DATEI_FELDER);
insert into IO_DATEI_FELDER (INX,VORLAGE_INX,QUELL_FELD, ZIEL_FELD) select max(io_datei_felder)+1,-1,'Material','ItemNumber' from indizes;
update indizes set IO_DATEI_FELDER=(select max(inx) from IO_DATEI_FELDER);
insert into IO_DATEI_FELDER (INX,VORLAGE_INX,QUELL_FELD, ZIEL_FELD) select max(io_datei_felder)+1,-1,'Menge','Quantity' from indizes;
update indizes set IO_DATEI_FELDER=(select max(inx) from IO_DATEI_FELDER);
insert into IO_DATEI_FELDER (INX,VORLAGE_INX,QUELL_FELD, ZIEL_FELD) select max(io_datei_felder)+1,-1,'Seriennummer','SerialNumber' from indizes;
update indizes set IO_DATEI_FELDER=(select max(inx) from IO_DATEI_FELDER);
insert into IO_DATEI_FELDER (INX,VORLAGE_INX,QUELL_FELD, ZIEL_FELD) select max(io_datei_felder)+1,-1,'Quelllager','StockLocationName' from INDIZES;
update indizes set IO_DATEI_FELDER=(select max(inx) from IO_DATEI_FELDER);
insert into IO_DATEI_FELDER (INX,VORLAGE_INX,QUELL_FELD, ZIEL_FELD, FELDFORMAT) select max(io_datei_felder)+1,-1,'Datum/Zeitpunkt','ConfirmedDeliveryDate','yyyyMMddHHmmss' from INDIZES;
update indizes set IO_DATEI_FELDER=(select max(inx) from IO_DATEI_FELDER);
insert into IO_DATEI_FELDER (INX,VORLAGE_INX,QUELL_FELD, ZIEL_FELD) select max(io_datei_felder)+1,-1,'Abrechnungseinheit-ID','EdiReference2' from INDIZES;
update indizes set IO_DATEI_FELDER=(select max(inx) from IO_DATEI_FELDER);
insert into IO_DATEI_FELDER (INX,VORLAGE_INX,WERT, ZIEL_FELD) select max(io_datei_felder)+1,-1,'@GetContentFilename()','PurchaseOrderNumber' from INDIZES;
update indizes set IO_DATEI_FELDER=(select max(inx) from IO_DATEI_FELDER);
insert into IO_DATEI_FELDER (INX,VORLAGE_INX,WERT, ZIEL_FELD) select max(io_datei_felder)+1,-1,'ADHOCTEST','Category' from INDIZES;
update indizes set IO_DATEI_FELDER=(select max(inx) from IO_DATEI_FELDER);]] ></ac:plain-text-body></ac:structured-macro><p><br /></p><h4><ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="87f6ec7e-1f3b-443d-a051-f6fb25464572"><ac:parameter ac:name="">targetfields</ac:parameter></ac:structured-macro>TargetFields (Properties f&uuml;r die Ziel-Zuordnung)</h4><table><colgroup><col /><col /><col /><col /></colgroup><tbody><tr><th>Property</th><th>Datentyp</th><th>M&ouml;gliche Werte</th><th>Beschreibung</th></tr><tr><td>InsertMode</td><td>Enum</td><td>Insert, Change, Cancel, Reject</td><td>Gibt an, ob die Position neu ist oder ge&auml;ndert/storniert/entfernt werden soll. Standard = Insert.</td></tr><tr><td>APType</td><td>Int</td><td>600</td><td>Anlageprogrammteil CSV (=600)</td></tr><tr><td>Aposinx</td><td>Long</td><td><br /></td><td>Bei einer Datensatz-&Auml;nderung muss hier der eindeutige Positions-Index der Auftragsposition enthalten sein. Zus&auml;tzlich muss der <strong>InsertMode</strong> auf Change stehen.</td></tr><tr><td>ItemNumber</td><td>String</td><td><br /></td><td>Artikelnummer der Position</td></tr><tr><td>CustomerItemNumber</td><td>String</td><td><br /></td><td>Kunden-Artikelnummer. Wenn keine ItemNumber angegeben wurde, wird der Artikel &uuml;ber die Kundennummer gesucht.</td></tr><tr><td colspan="1">ItemDescription1</td><td colspan="1">String</td><td colspan="1"><br /></td><td colspan="1">Artikel-Bezeichnung 1. Wenn nicht angegeben, wird die aus dem Artikelstamm genommen.</td></tr><tr><td colspan="1">ItemDescription2</td><td colspan="1">String</td><td colspan="1"><br /></td><td colspan="1">Artikel-Bezeichnung 2. Wenn nicht angegeben, wird die aus dem Artikelstamm genommen.</td></tr><tr><td colspan="1">ItemDescription3</td><td colspan="1">String</td><td colspan="1"><br /></td><td colspan="1">Artikel-Bezeichnung 3. Wenn nicht angegeben, wird die aus dem Artikelstamm genommen.</td></tr><tr><td colspan="1">Longtext</td><td colspan="1">String</td><td colspan="1"><br /></td><td colspan="1">Artikel-Langtext. Wenn nicht angegeben, wird dieser aus dem Artikelstamm genommen.</td></tr><tr><td colspan="1">User1</td><td colspan="1">String</td><td colspan="1"><br /></td><td colspan="1">Benutzer 1. Wenn nicht angegeben, wird dieser aus dem Artikelstamm genommen.</td></tr><tr><td colspan="1">User2</td><td colspan="1">String</td><td colspan="1"><br /></td><td colspan="1">Benutzer 2. Wenn nicht angegeben, wird dieser aus dem Artikelstamm genommen.</td></tr><tr><td colspan="1">User3</td><td colspan="1">String</td><td colspan="1"><br /></td><td colspan="1">Benutzer 3. Wenn nicht angegeben, wird dieser aus dem Artikelstamm genommen.</td></tr><tr><td colspan="1">Grafic1</td><td colspan="1">String</td><td colspan="1"><br /></td><td colspan="1">Grafik 1. Wenn nicht angegeben, wird dieser aus dem Artikelstamm genommen.</td></tr><tr><td colspan="1">Grafic2</td><td colspan="1">String</td><td colspan="1"><br /></td><td colspan="1">Grafik 2. Wenn nicht angegeben, wird dieser aus dem Artikelstamm genommen.</td></tr><tr><td colspan="1">Grafic3</td><td colspan="1">String</td><td colspan="1"><br /></td><td colspan="1">Grafik 3. Wenn nicht angegeben, wird dieser aus dem Artikelstamm genommen.</td></tr><tr><td colspan="1">HintText</td><td colspan="1">String</td><td colspan="1"><br /></td><td colspan="1">Positions-Hinweistext</td></tr><tr><td colspan="1">Code</td><td colspan="1">String</td><td colspan="1"><br /></td><td colspan="1">Positions-Code. Wird standardm&auml;&szlig;ig aus dem Artikelstamm &uuml;bernommen. Wenn &quot;T&quot;, wird eine Textzeile eingef&uuml;gt.</td></tr><tr><td colspan="1">PosNumber</td><td colspan="1">String</td><td colspan="1"><br /></td><td colspan="1">Positionsnummer. Wenn nicht angegeben, wird diese automatisch vergeben.</td></tr><tr><td colspan="1">EdiReference</td><td colspan="1">String</td><td colspan="1"><br /></td><td colspan="1">Positions-Schnittstellen-Referenz (Spalte SS_REFERENZ)</td></tr><tr><td colspan="1">EdiReference2</td><td colspan="1">String</td><td colspan="1"><br /></td><td colspan="1">Positions-Schnittstellen-Referenz 2 (Spalte SS_REFERENZ2)</td></tr><tr><td colspan="1">EdiReferenceDate</td><td colspan="1">String</td><td colspan="1"><br /></td><td colspan="1">Positions-Schnittstellen-Referenzdatum (Spalte SS_REFERENZ_DATUM)</td></tr><tr><td colspan="1">EdiReferenceStatus</td><td colspan="1">String</td><td colspan="1"><br /></td><td colspan="1">Positions-Schnittstellen-Status (Spalte SS_STATUS)</td></tr><tr><td colspan="1">NetPrice</td><td colspan="1">Decimal</td><td colspan="1"><br /></td><td colspan="1">Einzel-Nettopreis</td></tr><tr><td colspan="1">GrossPrice</td><td colspan="1">Decimal</td><td colspan="1"><br /></td><td colspan="1">Einzel-Bruttopreis</td></tr><tr><td colspan="1">Quantity</td><td colspan="1">Decimal</td><td colspan="1"><br /></td><td colspan="1">Menge</td></tr><tr><td colspan="1">StockNumber</td><td colspan="1">Long</td><td colspan="1"><br /></td><td colspan="1">Lagernummer</td></tr><tr><td colspan="1">StockLocationNumber</td><td colspan="1">Long</td><td colspan="1"><br /></td><td colspan="1">Lagerortnummer</td></tr><tr><td colspan="1">StockLocationName</td><td colspan="1">String</td><td colspan="1"><br /></td><td colspan="1"><span style="color: rgb(23,43,77);">Lagerortname. Wenn angegeben, und es sind eindeutige Lagerortnamen system&uuml;bergreifend vorhanden, dann kann die Angabe der Felder &quot;StockNumber&quot; und &quot;StockLocationNumber&quot; entfallen.</span></td></tr><tr><td colspan="1">DesiredDeliveryDate</td><td colspan="1">DateTime</td><td colspan="1"><br /></td><td colspan="1">Gew&uuml;nschtes Lieferdatum</td></tr><tr><td colspan="1">ConfirmedDeliveryDate</td><td colspan="1">DateTime</td><td colspan="1"><br /></td><td colspan="1">Best&auml;tigtes Lieferdatum</td></tr><tr><td colspan="1">OrderResponseRequired</td><td colspan="1">Bool</td><td colspan="1"><br /></td><td colspan="1">True, wenn eine Auftragsantwort gew&uuml;nscht ist.</td></tr><tr><td colspan="1">SerialNumber</td><td colspan="1">String</td><td colspan="1"><br /></td><td colspan="1">Seriennummer. Wenn angegeben, wird diese Seriennummer in die Position &uuml;bertragen.</td></tr><tr><td colspan="1">LotNumber</td><td colspan="1">String</td><td colspan="1"><br /></td><td colspan="1">Chargennummer. Wenn angegeben, wird diese Chargennummer in die Position &uuml;bertragen.</td></tr></tbody></table><p class="auto-cursor-target"><br /></p><h4 class="auto-cursor-target"><ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="e1672aef-3290-4ff8-a76f-cd5c5469b164"><ac:parameter ac:name="">StringFunctions</ac:parameter></ac:structured-macro>StringFunctions</h4><p>Zus&auml;tzlich zu den<span>&nbsp;</span><a href="https://help.pollex-lc.com/x/NIBU" rel="nofollow">Standard-StringFunctions</a><span>&nbsp;</span>sind folgende Funktionen m&ouml;glich:</p><table><thead><tr><th style="text-align: left;"><p>StringFunction</p></th><th style="text-align: left;"><p>Beschreibung</p></th></tr></thead><colgroup><col /><col /></colgroup><tbody><tr><td style="text-align: left;">GetSourceValue(&quot;SPALTE&quot;)</td><td style="text-align: left;">Liefert einen Wert aus der aktuell in Verarbeitung befindlichen Quell-Zeile.</td></tr><tr><td style="text-align: left;">GetTargetValue(&quot;TargetProperty&quot;)</td><td style="text-align: left;">Liefert einen Wert aus dem bef&uuml;llten Ziel-DTO. Es k&ouml;nnen hier alle TargetField-Properties angegeben werden.</td></tr><tr><td colspan="1">GetContentFilename()</td><td colspan="1">Liefert den Dateinamen (inkl. Dateierweiterung ohne Pfad) der importierten Datei.</td></tr></tbody></table><p class="auto-cursor-target"><br /></p>


TargetFields (Properties für die Ziel-Zuordnung)

Property

Datentyp

Mögliche Werte

Beschreibung

InsertMode

Enum

Insert, Change, Cancel, Reject

Gibt an, ob die Position neu ist oder geändert/storniert/entfernt werden soll. Standard = Insert.

APType

Int

600

Anlageprogrammteil CSV (=600)

Aposinx

Long

Bei einer Datensatz-Änderung muss hier der eindeutige Positions-Index enthalten sein. Zusätzlich muss InsertMode = Change gesetzt sein.

ItemNumber

String

Artikelnummer der Position

CustomerItemNumber

String

Kunden-Artikelnummer. Wenn keine ItemNumber angegeben wurde, wird der Artikel über die Kundennummer gesucht.

ItemDescription1

String

Artikel-Bezeichnung 1. Wenn nicht angegeben, wird die aus dem Artikelstamm genommen.

ItemDescription2

String

Artikel-Bezeichnung 2. Wenn nicht angegeben, wird die aus dem Artikelstamm genommen.

ItemDescription3

String

Artikel-Bezeichnung 3. Wenn nicht angegeben, wird die aus dem Artikelstamm genommen.

Longtext

String

Artikel-Langtext. Wenn nicht angegeben, wird dieser aus dem Artikelstamm genommen.

User1

String

Benutzer 1. Wenn nicht angegeben, wird dieser aus dem Artikelstamm genommen.

User2

String

Benutzer 2. Wenn nicht angegeben, wird dieser aus dem Artikelstamm genommen.

User3

String

Benutzer 3. Wenn nicht angegeben, wird dieser aus dem Artikelstamm genommen.

Grafic1

String

Grafik 1. Wenn nicht angegeben, wird diese aus dem Artikelstamm genommen.

Grafic2

String

Grafik 2. Wenn nicht angegeben, wird diese aus dem Artikelstamm genommen.

Grafic3

String

Grafik 3. Wenn nicht angegeben, wird diese aus dem Artikelstamm genommen.

HintText

String

Positions-Hinweistext

Code

String

Positions-Code. Wird standardmäßig aus dem Artikelstamm übernommen. Wenn "T", wird eine Textzeile eingefügt.

PosNumber

String

Positionsnummer. Wenn nicht angegeben, wird diese automatisch vergeben.

EdiReference

String

Positions-Schnittstellen-Referenz (Spalte SS_REFERENZ)

EdiReference2

String

Positions-Schnittstellen-Referenz 2 (Spalte SS_REFERENZ2)

EdiReferenceDate

String

Positions-Schnittstellen-Referenzdatum (Spalte SS_REFERENZ_DATUM)

EdiReferenceStatus

String

Positions-Schnittstellen-Status (Spalte SS_STATUS)

NetPrice

Decimal

Einzel-Nettopreis

GrossPrice

Decimal

Einzel-Bruttopreis

Quantity

Decimal

Menge

StockNumber

Long

Lagernummer

StockLocationNumber

Long

Lagerortnummer

StockLocationName

String

Lagerortname. Wenn eindeutig, kann auf StockNumber und StockLocationNumber verzichtet werden.

DesiredDeliveryDate

DateTime

Gewünschtes Lieferdatum

ConfirmedDeliveryDate

DateTime

Bestätigtes Lieferdatum

OrderResponseRequired

Bool

True, wenn eine Auftragsantwort gewünscht ist.

SerialNumber

String

Seriennummer. Wenn angegeben, wird diese in die Position übertragen.

LotNumber

String

Chargennummer. Wenn angegeben, wird diese in die Position übertragen.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.