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>
JavaScript errors detected

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

If this problem persists, please contact our support.