Skip to main content
Skip table of contents

ImportStockTransfer (LC.WpfInterfaces, Import Lagerumbuchungen)

Lagerumbuchungen aus Dateien importieren.

Zusatzmodul erforderlich

Es wird das Zusatzmodul "ImportStockTransfer" benötigt!


Inhalt

Anforderungen

  • LC.WpfInterfaces
  • Modul "Import Lagerumbuchungen" - wird über TaskCenter-Lizenzkey bereitgestellt

Schnellstart

  • LC.WpfInterfaces installieren (wenn nicht vorhanden) bzw. aktualisieren - siehe Installation LC.WpfInterfaces
  • XML-Konfigurationsdatei erstellen bzw. Vorlage kopieren und anpassen
  • Batch-Datei erstellen, die diese XML-Konfigurationsdatei als Parameter ausführt
  • Windows-Aufgabenplanung einrichten (zB. 1x pro Tag)

Einrichtung

Konfigurationsdatei

Aufbau

XML
<ImportStockTransfer>
  <!-- DB = Datenbankname -->
  <DB>**Datenbankname**</DB>
  <!-- USER = DB-Benutzername -->
  <USER>SYSADM</USER>
  <!-- PASSWORD = Datenbankname -->
  <PASSWORD>SYSADM</PASSWORD>
  <!-- DirectDbConnect ( True, False ) = Angabe, ob eine direkte Datenbank-Verbindung oder eine WebService-Verbindung verwendet wird -->
  <DirectDbConnect>False</DirectDbConnect>

  <!-- WatchFolders = Hier werden die zu prüfenden Ordner angegeben, welche die Umbuchungs-Dateien enthalten. Mehrere Ordner können strichpunkt-getrennt ( ; ) angegeben werden -->
  <WatchFolders>\\server\io\ImportStockTransfer\files</WatchFolders>
  <!-- TargetFolder = Der Ziel-Ordner, in dem die verarbeiteten Dateien verschoben werden. Details siehe https://help.pollex-lc.com/x/NYOLAw -->
  <TargetFolder>\\server\io\ImportStockTransfer\files\done</TargetFolder>
  <!-- FileFilter = Filter für die Selektion der Quell-Dateien in den entsprechenden WatchFolders -->
  <FileFilter>*.csv</FileFilter>

  <!-- FileInfo = Angaben zum Dateiaufbau der Quell-Datei -->
  <FileInfo>
    <!-- FileFormat = Dateiformat der Quell-Datei. Aktuell ist nur CSV möglich. -->
    <FileFormat>CSV</FileFormat>
    <!-- Encoding = Encoding der Quelldatei, falls diese nicht in UTF-8 kodiert ist. -->
    <Encoding>UTF-8</Encoding>
    <!-- SeparatorChar = Trennzeichen für CSV-Dateien. Standard ist ";" -->
    <SeparatorChar>;</SeparatorChar>
    <!-- DecimalSeparator = Dezimaltrennzeichen. Standard ist "." -->
    <DecimalSeparator>.</DecimalSeparator>
    <!-- GroupSeparator = Gruppen-Trennzeichen. Standard ist leer. -->
    <GroupSeparator></GroupSeparator>
    <!-- FormatPatternByte = Formatierungsvorlage für den Dateityp Byte. Standard ist "#" -->
    <FormatPatternByte>#</FormatPatternByte>
    <!-- FormatPatternInteger = Formatierungsvorlage für den Dateityp Integer. Standard ist "#" -->
    <FormatPatternInteger>#</FormatPatternInteger>
    <!-- FormatPatternNumber = Formatierungsvorlage für den Dateityp Number. Standard ist "#.##" -->
    <FormatPatternNumber>#.##</FormatPatternNumber>
    <!-- FormatPatternQuantity = Formatierungsvorlage für den Dateityp Quantity. Standard ist "#0.00" -->
    <FormatPatternQuantity>#0.00</FormatPatternQuantity>
    <!-- FormatPatternCurrency = Formatierungsvorlage für den Dateityp Currency. Standard ist "#0.00" -->
    <FormatPatternCurrency></FormatPatternCurrency>
    <!-- FormatPatternPercent = Formatierungsvorlage für den Dateityp Percent. Standard ist "#0.00" -->
    <FormatPatternPercent></FormatPatternPercent>
    <!-- FormatPatternDate = Formatierungsvorlage für den Dateityp Date. Standard ist "yyyyMMdd" -->
    <FormatPatternDate>yyyyMMdd</FormatPatternDate>
    <!-- FormatPatternDateTime = Formatierungsvorlage für den Dateityp DateTime. Standard ist "yyyyMMddHHmmss" -->
    <FormatPatternDateTime>yyyyMMddHHmmss</FormatPatternDateTime>
    <!-- BoolFalseValue = False-Wert für den Dateityp Bool. Standard ist "0" -->
    <BoolFalseValue>0</BoolFalseValue>
    <!-- BoolTrueValue = True-Wert für den Dateityp Bool. Standard ist "1" -->
    <BoolTrueValue>1</BoolTrueValue>

    <!-- Fields = Liste mit Spaltenzuordnungen (Quelle-Ziel-Definitionen) -->
    <Fields>
      
      <Field>
        <!-- TargetField = DTO-Ziel-Property. Details siehe https://help.pollex-lc.com/x/NYOLAw -->
        <TargetField></TargetField>
        <!-- SourceField = Spalte/Feld in der Daten-Quell-Datei. Bei CSV-Dateien ist das die Kopf-Spalte. Die CSV-Datei muss also Header-Spalten enthalten. -->
        <SourceField></SourceField>
        <!-- Value = Standard-Vorgabewert für ein Property. Hier können auch StringFunctions verwendet werden, um bsp. Werte aus der Datenbank zu selektieren.-->
        <Value></Value>
        <!-- Format = Formatierungsvorlage für den Wert aus der Daten-Quell-Datei, wenn diese speziell formatiert ist. Das Format hängt am Datentyp (siehe Fields.DataType). -->
        <Format></Format>
        <!-- DataType = String, Bool, Byte, Integer, Number, PlainNumber, Quantity, Currency, Date, Time, DateTime -->
        <DataType></DataType>
      </Field>
      
      <Field TargetField="ItemNumber" SourceField="Artikelnummer"></Field>
      <Field TargetField="Quantity" SourceField="Menge"></Field>
      <Field TargetField="SourceStockLocationName" SourceField="Abbuchungslagerort"></Field>
      <Field TargetField="TargetStockLocationName" SourceField="Zubuchungslagerort"></Field>
      <Field TargetField="BookingDate" SourceField="Buchungsdatum" Format="yyyyMMddHHmm"></Field>
    </Fields>

  </FileInfo>

  <!-- BookingTransaction (File, Single) = Angabe zum Buchungsmodus (Transaktion für die gesamte Datei / oder für jede einzelne Buchung). Details siehe https://help.pollex-lc.com/x/NYOLAw  -->
  <BookingTransaction>File</BookingTransaction>
  <!-- ErrorAction = (Continue, Break) = Angabe zur Behandlung von Fehlern - soll bei fehlerhaften Daten abgebrochen werden, oder soll fortgefahren werden. Details siehe https://help.pollex-lc.com/x/NYOLAw -->
  <ErrorAction>Continue</ErrorAction>

  
  <!-- ProtocolEMail = E-Mail-Adresse(n) für Protokollierung. Mehrere Adressen können Semikolon-getrennt angegeben werden. -->
  <ProtocolEMail>max@mustermann.com</ProtocolEMail>
  <!-- SenderEMail = Absender-E-Mail-Adresse wenn die Protokollierung aktiviert ist.-->
  <SenderEMail>createconsignmentnotes@mustermann.com</SenderEMail>
  <!-- SmtpServer = Smtp-Server für den Versand der Protokollierungs-Mails-->
  <SmtpServer>mail.mustermann.com</SmtpServer>
  <!-- SmtpUser = Der Benutzername für den Zugang zum Mail-Konto-->
  <SmtpUser>Benutzername</SmtpUser>
  <!-- Passwort = Das Passwort für den Zugang zum Mail-Konto-->
  <SmtpPassword>Passwort</SmtpPassword>
  <!-- SmtpPortNumber = Portnummer, falls eine andere als die Standard-Portnummer verwendet wird (Standard=25). -->
  <SmtpPortNumber>25</SmtpPortNumber>
  <!-- SmtpUseSSL = Wenn aktiviert, wird der Mail-Versand mittels SSL-Verschlüsselung durchgeführt.-->
  <SmtpUseSSL>True</SmtpUseSSL>
  <!-- [MailLevel]  All = Mail wird immer versandt ... ActivityOnly = Mail wird nur bei Aktivität versandt... ErrorsOnly = Mail nur bei Fehler ... NoMail = Keine Mails-->
  <MailLevel>All</MailLevel>
  <!-- MailSubject = EMail-Betreff -->
  <MailSubject>Individueller Betreff</MailSubject>
  <!-- MailBody = EMail-Text -->
  <MailBody>Individueller Body-Text</MailBody>
  <!-- IsBodyHtml (True, False)   = Angabe, ob der Body als HTML oder Text gesendet wird.
          Standard ist False, bzw. wird das HTML-Tag aus dem Body-Text ausgelesen.
          Bei Reports ist der Standard=True. -->
  <IsBodyHtml>True</IsBodyHtml>

</ImportStockTransfer>]] ></ac:plain-text-body></ac:structured-macro><p><br /></p><h3>Feldbeschreibung</h3><table class="wrapped relative-table" style="width: 100.0%;"><colgroup><col style="width: 11.523%;" /><col style="width: 27.6209%;" /><col style="width: 60.8564%;" /></colgroup><tbody><tr><th>Feld</th><th>M&ouml;gliche Werte</th><th>Beschreibung</th></tr><tr><td colspan="1">DB</td><td colspan="1"><br /></td><td colspan="1">Datenbankname f&uuml;r die Verbindung zur Datenbank</td></tr><tr><td colspan="1">USER</td><td colspan="1"><br /></td><td colspan="1">Benutzername f&uuml;r die Verbindung zur Datenbank</td></tr><tr><td colspan="1">PASSWORD</td><td colspan="1"><br /></td><td colspan="1">Passwort f&uuml;r die Verbindung zur Datenbank</td></tr><tr><td>DirectDbConnect</td><td>True, <strong>False</strong></td><td><p style="text-align: left;"><strong>True </strong>= die Buchung wird mit der Datenbankverbindung direkt &uuml;ber LC.WpfInterfaces durchgef&uuml;hrt</p><p style="text-align: left;"><strong>False </strong><em>(Standard)</em> = die Buchung wird &uuml;ber den TaskCenter-WebService (LCService) durchgef&uuml;hrt</p></td></tr><tr><td>WatchFolders</td><td><p>\\server\import1\StockTransfer\files;</p><p>\\server\import2\StockTransfer\files;</p><p>c:\import</p></td><td>Hier werden die zu pr&uuml;fenden Ordner angegeben, welche die Umbuchungs-Dateien enthalten. Mehrere Ordner k&ouml;nnen strichpunkt-getrennt ( ; ) angegeben werden</td></tr><tr><td>FileFilter</td><td>*.csv</td><td>Filter f&uuml;r die Auswahl der Dateien (Standard-Windows-Dateifilter)</td></tr><tr><td colspan="1">TargetFolder</td><td colspan="1">\\backup\import\done</td><td colspan="1">Der Ziel-Ordner, in dem die verarbeiteten Dateien verschoben werden.<br />Folgende Logik wird dabei angewendet:<br />Bei <strong>Erfolg</strong> (wenn der jeweilige Ordner existiert, werden die nachfolgenden Ordner nicht mehr behandelt):<br />1) <strong>TargetFolder</strong>\<strong>success</strong>\Dateiname.{original-ext}<br />2) <strong>TargetFolder</strong>\Dateiname[yyyyMMdd_HHmmssfff].{original-ext}<br /><br />Bei <strong>Fehler</strong> (wenn der jeweilige Ordner existiert, werden die nachfolgenden Ordner nicht mehr behandelt):<br />1) <strong>TargetFolder</strong>\<strong>error</strong>\Dateiname.{original-ext}<br />2) <strong>TargetFolder</strong>\Dateiname[yyyyMMdd_HHmmssfff][error].{original-ext}<br /><br /><br />Wenn <strong>kein Ordner (TargetFolder)</strong> angegeben wurde, dann wird folgende Logik angewendet:<br />Bei <strong>Erfolg</strong> (wenn der jeweilige Ordner existiert, werden die nachfolgenden Ordner nicht mehr behandelt):<br />1) <strong>Quellordner</strong>\<strong>done</strong>\<strong>success</strong>\Dateiname.{original-ext}<br />2) <strong>Quellordner</strong>\<strong>done</strong>\Dateiname[yyyyMMdd_HHmmssfff].{original-ext}<br />3) <strong>Quellordner</strong>\Dateiname[yyyyMMdd_HHmmssfff].processed<br /><br />Bei <strong>Fehler</strong> (wenn der jeweilige Ordner existiert, werden die nachfolgenden Ordner nicht mehr behandelt):<br />1) <strong>Quellordner</strong>\<strong>done</strong>\<strong>error</strong>\Dateiname.{original-ext}<br />2) <strong>Quellordner</strong>\<strong>done</strong>\Dateiname[yyyyMMdd_HHmmssfff][error].{original-ext}<br />3) <strong>Quellordner</strong>\Dateiname[yyyyMMdd_HHmmssfff][error].processed</td></tr><tr><td colspan="1">FileInfo</td><td colspan="1">/**/</td><td colspan="1">Angaben zum Dateiaufbau der Quell-Datei</td></tr><tr><td colspan="1"><p>&nbsp; |--- FileFormat</p></td><td colspan="1"><strong>CSV</strong> (zuk&uuml;nftig geplant XML, JSON)</td><td colspan="1"><p>Dateiformat der Quell-Datei. Aktuell ist nur CSV m&ouml;glich.</p></td></tr><tr><td colspan="1"><p>&nbsp; |--- Encoding</p></td><td colspan="1"><strong>UTF-8</strong>, iso-8859-1,...</td><td colspan="1"><p>Encoding der Quelldatei, falls diese nicht in UTF-8 kodiert ist.</p></td></tr><tr><td colspan="1"><p>&nbsp; |--- SeparatorChar</p></td><td colspan="1">;</td><td colspan="1">Trennzeichen f&uuml;r CSV-Dateien. Standard ist &quot;;&quot;</td></tr><tr><td colspan="1"><p>&nbsp; |--- DecimalSeparator</p></td><td colspan="1">.</td><td colspan="1">Dezimaltrennzeichen f&uuml;r Zahlen. Standard ist &quot;.&quot;</td></tr><tr><td colspan="1"><p>&nbsp; |--- GroupSeparator</p></td><td colspan="1">,</td><td colspan="1">Gruppen-Trennzeichen f&uuml;r Zahlen. Standard ist leer.</td></tr><tr><td colspan="1"><p>&nbsp; |--- FormatPatternByte</p></td><td colspan="1">#</td><td colspan="1">Formatierungsvorlage f&uuml;r den Dateityp <strong>Byte</strong>. Standard ist &quot;#&quot;</td></tr><tr><td colspan="1"><p>&nbsp; |--- FormatPatternInteger</p></td><td colspan="1">#</td><td colspan="1">Formatierungsvorlage f&uuml;r den Dateityp <strong>Integer</strong>. Standard ist &quot;#&quot;</td></tr><tr><td colspan="1"><p>&nbsp; |--- FormatPatternNumber</p></td><td colspan="1">#.##</td><td colspan="1">Formatierungsvorlage f&uuml;r den Dateityp <strong>Number</strong>. Standard ist &quot;#.##&quot;</td></tr><tr><td colspan="1"><p>&nbsp; |--- FormatPatternQuantity</p></td><td colspan="1">#0.00</td><td colspan="1">Formatierungsvorlage f&uuml;r den Dateityp <strong>Quantity</strong>. Standard ist &quot;#0.00&quot;</td></tr><tr><td colspan="1"><p>&nbsp; |--- FormatPatternCurrency</p></td><td colspan="1">#0.00</td><td colspan="1">Formatierungsvorlage f&uuml;r den Dateityp <strong>Currency</strong>. Standard ist &quot;#0.00&quot;</td></tr><tr><td colspan="1"><p>&nbsp; |--- FormatPatternPercent</p></td><td colspan="1">#0.00</td><td colspan="1">Formatierungsvorlage f&uuml;r den Dateityp <strong>Percent</strong>. Standard ist &quot;#0.00&quot;</td></tr><tr><td colspan="1"><p>&nbsp; |--- FormatPatternDate</p></td><td colspan="1">yyyyMMdd</td><td colspan="1">Formatierungsvorlage f&uuml;r den Dateityp <strong>Date</strong>. Standard ist &quot;yyyyMMdd&quot;</td></tr><tr><td colspan="1"><p>&nbsp; |--- FormatPatternDateTime</p></td><td colspan="1">yyyyMMddHHmmss</td><td colspan="1">Formatierungsvorlage f&uuml;r den Dateityp <strong>DateTime</strong>. Standard ist &quot;yyyyMMddHHmmss&quot;</td></tr><tr><td colspan="1"><p>&nbsp; |--- BoolFalseValue</p></td><td colspan="1">0</td><td colspan="1">Falsch-Wert f&uuml;r den Dateityp Bool. Standard ist &quot;0&quot;</td></tr><tr><td colspan="1"><p>&nbsp; |--- BoolTrueValue</p></td><td colspan="1">1</td><td colspan="1">Richtig-Wert f&uuml;r den Dateityp Bool. Standard ist &quot;1&quot;</td></tr><tr><td colspan="1"><p>&nbsp; |--- Fields</p></td><td colspan="1">/**/</td><td colspan="1">Liste mit Spaltenzuordnungen (Quelle-Ziel-Definitionen)</td></tr><tr><td colspan="1"><p>&nbsp; &nbsp; &nbsp; &nbsp; |--- TargetField</p></td><td colspan="1"><p>ItemNumber, Quantity,</p><p>SourceStockNumber, SourceStockLocationNumber, TargetStockNumber, TargetStockLocationNumber</p></td><td colspan="1"><p>DTO-Ziel-Property.</p><p>Das Ziel-DTO ist die Struktur einer Buchungsposition und enth&auml;lt alle Spalten, die f&uuml;r die Tabelle Schnellumbuchung verf&uuml;gbar sind. Zus&auml;tzlich werden auch Feature-Properties unterst&uuml;tzt, bsp. SourceStockLocationName oder TargetStockLocationName.</p><p>F&uuml;r eine Buchung sind mindestens folgende Werte anzugeben:</p><p>ItemNumber, Quantity, SourceStockNumber (und/oder SourceStockLocationName), TargetStockNumber (und/oder TargetStockLocationNumber).</p><p>Liste mit Properties --&gt;</p></td></tr><tr><td colspan="1"><p>&nbsp; &nbsp; &nbsp; &nbsp; |--- SourceField</p></td><td colspan="1">Artikelnummer, ...</td><td colspan="1">Spalte/Feld in der Daten-Quell-Datei. Bei CSV-Dateien ist das die Kopf-Spalte. Die CSV-Datei muss also Header-Spalten enthalten.</td></tr><tr><td colspan="1"><p>&nbsp; &nbsp; &nbsp; &nbsp; |--- Value</p></td><td colspan="1"><br /></td><td colspan="1">Standard-Vorgabewert f&uuml;r ein Property. Hier k&ouml;nnen auch <ac:link ac:anchor="StringFunctions" /> verwendet werden, um bsp. Werte aus der Datenbank zu selektieren.</td></tr><tr><td colspan="1"><p>&nbsp; &nbsp; &nbsp; &nbsp; |--- Format</p></td><td colspan="1">yyyyMMdd, 00000.00,...</td><td colspan="1">Formatierungsvorlage f&uuml;r den Wert aus der Daten-Quell-Datei, wenn diese speziell formatiert ist. Das Format h&auml;ngt am Datentyp (siehe Fields.DataType).</td></tr><tr><td colspan="1"><p>&nbsp; &nbsp; &nbsp; &nbsp; |--- DataType</p></td><td colspan="1">Number, Bool, ...</td><td colspan="1"><p>Formatierungs-Datentyp der Spalte in der Daten-Quell-Datei.</p><p>Folgende Typen sind verf&uuml;gbar: <strong>String, Bool, Byte, Integer, Number, PlainNumber, Quantity, Currency, Date, Time, DateTime</strong></p></td></tr><tr><td colspan="1"><br /></td><td colspan="1"><br /></td><td colspan="1"><br /></td></tr><tr><td colspan="1">BookingTransaction</td><td colspan="1"><strong>File</strong>, Single</td><td colspan="1"><p>Angabe zum Buchungsmodus (Transaktion f&uuml;r die gesamte Datei / oder f&uuml;r jede einzelne Buchung).</p><p><strong>File</strong> <em>(Standard)</em> = Es wird eine Transaktion &uuml;ber alle Buchungszeilen einer Datei gelegt. Tritt bei einer Buchung ein Fehler auf, wird ein &quot;Rollback&quot; durchgef&uuml;hrt - die gesamte Datei ist somit fehlerhaft und es wurde keine der Positionen gebucht.</p><p><strong>Single</strong> = Es wird f&uuml;r jede Position eine Transaktion erstellt und committed. Tritt ein Fehler bei einer Position auf, bleiben die bereits zuvor gebuchten Positionen bestehen.</p></td></tr><tr><td colspan="1">ErrorAction</td><td colspan="1"><strong>Continue</strong>, Break</td><td colspan="1"><p>Angabe zur Behandlung von Fehlern - soll bei fehlerhaften Daten abgebrochen werden, oder soll fortgefahren werden</p><p><strong>Continue </strong>(Standard) = Tritt ein Fehler auf, wird mit der n&auml;chsten Buchung oder Datei fortgefahren, je nach Buchungsmodus (siehe <strong>BookingTransaction</strong>)</p><p><strong>Break </strong>= Tritt ein Fehler auf, wird die nachfolgende Verarbeitung abgebrochen</p></td></tr><tr><td colspan="1"><br /></td><td colspan="1"><br /></td><td colspan="1"><br /></td></tr><tr><td colspan="1">ProtocolEMail</td><td colspan="1"><a style="text-decoration: none;" href="mailto:max@mustermann.com" class="external-link" rel="nofollow">max@mustermann.com</a>;</td><td colspan="1">EMail-Adresse f&uuml;r Protokoll - mehrere Adressen k&ouml;nnen semikolon-getrennt angegeben werden</td></tr><tr><td colspan="1">BccEMail</td><td colspan="1"><a style="text-decoration: none;" class="external-link" href="mailto:min@mustermann.com" rel="nofollow">min@mustermann.com</a></td><td colspan="1">Unsichtbare Ziel-EMail-Adresse(n)</td></tr><tr><td colspan="1">SenderEMail</td><td colspan="1"><a class="external-link" style="text-decoration: none;" href="mailto:ordrsp@mustermann.com" rel="nofollow">ordrsp@mustermann.com</a></td><td colspan="1">EMail-Adresse die als Absender angezeigt wird</td></tr><tr><td colspan="1">SmtpServer</td><td colspan="1"><a style="text-decoration: none;" href="http://mail.mustermann.com/" class="external-link" rel="nofollow">mail.mustermann.com</a></td><td colspan="1">SMTP-Server f&uuml;r EMail-Versand</td></tr><tr><td colspan="1">SmtpUser</td><td colspan="1">mustermann\admin</td><td colspan="1">SMTP-Benutzername f&uuml;r EMail-Versand</td></tr><tr><td colspan="1">SmtpPassword</td><td colspan="1">admmus</td><td colspan="1">SMTP-Passwort f&uuml;r EMail-Versand</td></tr><tr><td colspan="1">SmtpUseSSL</td><td colspan="1">True, False</td><td colspan="1">SSL f&uuml;r SMTP-Email-Versand verwenden</td></tr><tr><td colspan="1">SmtpPortNumber</td><td colspan="1"><br /></td><td colspan="1">Port-Nummer f&uuml;r Mail-Versand (Standard=25)</td></tr><tr><td colspan="1">MailLevel</td><td colspan="1">All, ErrorsOnly, NoMail</td><td colspan="1">Beinhaltet das Level, welche Mails versendet werden sollen.</td></tr><tr><td colspan="1">MailSubject</td><td colspan="1"><br /></td><td colspan="1">EMail-Betreff. Wenn angegeben, wird dieser Betreff angezeigt.</td></tr><tr><td colspan="1">MailBody</td><td colspan="1"><br /></td><td colspan="1">EMail-Body. Wenn angegeben, wird dieser Body angezeigt.</td></tr><tr><td colspan="1">IsBodyHtml</td><td colspan="1">True, False</td><td colspan="1">Gibt an, ob der Body ein HTML-Body ist, oder ein normaler Text. Wenn nicht angegeben, wird standardm&auml;&szlig;ig HTML gesendet.</td></tr><tr><td colspan="1"><br /></td><td colspan="1"><br /></td><td colspan="1"><br /></td></tr><tr><td colspan="1">GetTargetProperties</td><td colspan="1"><br /></td><td colspan="1">Wenn angegeben, werden alle verf&uuml;gbaren TargetProperties zur&uuml;ckgegeben. Alle anderen Funktionen werden ignoriert.</td></tr></tbody></table><h3>TargetField-Properties</h3><p>Die fett hervorgehobenen Properties sind &quot;Pflichtfelder&quot;.</p><table><colgroup><col /><col /><col /><col /></colgroup><tbody><tr><th>Property</th><th>= DB-Spalte</th><th>Datentyp</th><th colspan="1">Beschreibung</th></tr><tr><td>DocumentNumber</td><td>NUMMER</td><td>Long (Decimal 18,0)</td><td colspan="1">Schnellumbuchungsnummer - wenn nicht angegeben, wird eine neue Umbuchungsnummer (erst bei Buchung) erstellt. Die Umbuchungsnummer bleibt je Datei f&uuml;r alle Positionen gleich.</td></tr><tr><td>Inx</td><td>INX</td><td>Long (Decimal 18,0)</td><td colspan="1">Eindeutiger Datensatz-Index der Umbuchungs-Position (wird automatisch erstellt)</td></tr><tr><td><strong>ItemNumber</strong></td><td>ARTIKELNUMMER</td><td>String (Varchar)</td><td colspan="1">Artikelnummer</td></tr><tr><td>LotNumber</td><td>CHARGENNUMMER</td><td>String (Varchar)</td><td colspan="1">Chargennummer - wenn angegeben, wird diese Charge gebucht</td></tr><tr><td colspan="1">SerialNumber</td><td colspan="1">SERIENNUMMER</td><td colspan="1">String (Varchar)</td><td colspan="1">Seriennummer - wenn angegeben, wird diese Seriennummer gebucht</td></tr><tr><td colspan="1"><strong>Quantity</strong></td><td colspan="1">MENGE</td><td colspan="1">Decimal 15,5</td><td colspan="1">Die umzubuchende Menge in Lager-MEH</td></tr><tr><td colspan="1">QuantityUnit</td><td colspan="1">MENGENEINHEIT</td><td colspan="1">String (Varchar)</td><td colspan="1">Lager-Mengeneinheit</td></tr><tr><td colspan="1">PositionType</td><td colspan="1">TYP</td><td colspan="1">QuickTransferPositionType (Smallint)</td><td colspan="1">NotAssigned (= 0 = KeineZuordnung)<br />FreeTransfer (=1 = FreieUmbuchung)<br />ProductionWithdrawal ( = 2 = MaterialentnahmeProduktion)<br />ProjectTransfer ( = 3 = Projektumbuchung)<br />Consignment ( = 4 = Kommissionierung)</td></tr><tr><td colspan="1">RowNumber</td><td colspan="1">ZEILENNUMMER</td><td colspan="1">Int (Smallint)</td><td colspan="1">Positions-Zeilennummer innerhalb der Umbuchung (wird automatisch vergeben)</td></tr><tr><td colspan="1"><strong>SourceStockNumber</strong></td><td colspan="1">ABBUCHUNGSLAGER</td><td colspan="1">Long (Decimal 18,0)</td><td colspan="1">Abbuchungslagernummer</td></tr><tr><td colspan="1"><strong>SourceStockLocationNumber</strong></td><td colspan="1">ABBUCHUNGSLAGERORT</td><td colspan="1">Long (Decimal 18,0)</td><td colspan="1">Abbuchungslagerortnummer</td></tr><tr><td colspan="1"><strong>SourceStockLocationName</strong></td><td colspan="1"><br /></td><td colspan="1">String (Varchar)</td><td colspan="1">Abbuchungslagerortname. Wenn angegeben, und es sind eindeutige Lagerortnamen system&uuml;bergreifend vorhanden, dann kann die Angabe der Felder &quot;SourceStockNumber&quot; und &quot;SourceStockLocationNumber&quot; entfallen.</td></tr><tr><td colspan="1"><strong>TargetStockNumber</strong></td><td colspan="1">ZUBUCHUNGSLAGER</td><td colspan="1">Long (Decimal 18,0)</td><td colspan="1">Zubuchungslagernummer</td></tr><tr><td colspan="1"><strong>TargetStockLocationNumber</strong></td><td colspan="1">ZUBUCHUNGSLAGERORT</td><td colspan="1">Long (Decimal 18,0)</td><td colspan="1">Zubuchungslagerortnummer</td></tr><tr><td colspan="1"><strong>TargetStockLocationName</strong></td><td colspan="1"><br /></td><td colspan="1">String (Varchar)</td><td colspan="1">Zubuchungslagerortname.&nbsp; Wenn angegeben, und es sind eindeutige Lagerortnamen system&uuml;bergreifend vorhanden, dann kann die Angabe der Felder &quot;TargetStockNumber&quot; und &quot;TargetStockLocationNumber&quot; entfallen.</td></tr><tr><td colspan="1">APosInx</td><td colspan="1">APOSINX</td><td colspan="1">Long (Decimal 18,0)</td><td colspan="1">Eindeutiger Datensatz-Index f&uuml;r die Verkn&uuml;pfung zur Kunden-Auftragsposition.</td></tr><tr><td colspan="1">OrderInx</td><td colspan="1">ANGINX</td><td colspan="1">Long (Decimal 18,0)</td><td colspan="1">Eindeutiger Datensatz-Index f&uuml;r die Verkn&uuml;pfung zum Kunden-Auftrag.</td></tr><tr><td colspan="1">FaPosInx</td><td colspan="1">FAPOSINX</td><td colspan="1">Long (Decimal 18,0)</td><td colspan="1">Eindeutiger Datensatz-Index f&uuml;r die Verkn&uuml;pfung zur Fertigungsauftragsposition.</td></tr><tr><td colspan="1">DeliveryProposalNumber</td><td colspan="1">LIEFERVORSCHLAG</td><td colspan="1">Long (Decimal 18,0)</td><td colspan="1">Liefervorschlagsnummer, f&uuml;r welchen die Umbuchung erstellt wurde. Wird vor allem f&uuml;r SmartCenter-Kommissionierung verwendet.</td></tr><tr><td colspan="1">Infotext</td><td colspan="1">INFOTEXT</td><td colspan="1">String (Varchar)</td><td colspan="1">Individueller Zusatztext</td></tr><tr><td colspan="1">ChangeConsignmentStockLocation</td><td colspan="1">KO_AENDERUNG</td><td colspan="1">Bool (Smallint)</td><td colspan="1">Kommissionierlagerplatz &auml;ndern. Wenn aktiviert, wird bei Lagerbuchung der Position der Defaultlagerort des Artikels am Ziel-Lager auf den Ziel-Lagerort ge&auml;ndert.</td></tr><tr><td colspan="1">ReleaseConsignmentStockLocation</td><td colspan="1">KO_FREIGABE</td><td colspan="1">Bool (Smallint)</td><td colspan="1">Kommissionierlagerplatz freigeben. Wenn aktiviert, wird bei Lagerbuchung der Position der Defaultlagerort des Artikels am Quell-Lager auf den Quell-Lagerort ge&auml;ndert.</td></tr><tr><td colspan="1">ParentPackingEmptiesInx</td><td colspan="1"><br /></td><td colspan="1">Long</td><td colspan="1">Zuordnung der Schnellumbuchung zu einem Verpackungs-Inhalt. Wenn angegeben, wird zus&auml;tzlich ein Eintrag in PACKLISTE_INHALT erstellt.</td></tr><tr><td colspan="1"><span style="color: rgb(0,0,0);">IsNotBooked</span></td><td colspan="1">KB</td><td colspan="1">Bool (Smallint)</td><td colspan="1"><div class="content-wrapper"><p>Kennzeichen ob die Umbuchungs-Position lagergebucht (False, leer) werden soll, oder nicht (True). <strong>Wenn nicht explizit angegeben, wird die Position lagergebucht.</strong></p><p class="auto-cursor-target"><br /></p></div></td></tr><tr><td colspan="1">BookingDate</td><td colspan="1">BU_DATUM</td><td colspan="1"><br /></td><td colspan="1">Buchungsdatum - wenn angegeben, wird die Lagerbuchung f&uuml;r diesem Zeitpunkt durchgef&uuml;hrt.</td></tr><tr><td colspan="1">CreationUser</td><td colspan="1">ANLAGEUSER</td><td colspan="1">String (Varchar)</td><td colspan="1">Benutzername, der den Datensatz erstellt hat.</td></tr><tr><td colspan="1">CreationDate</td><td colspan="1">ANLAGEDATUM</td><td colspan="1"><br /></td><td colspan="1">Datum/Uhrzeit der Datensatz-Anlage.</td></tr><tr><td colspan="1">ModifiedUser</td><td colspan="1">AENDERUNGSUSER</td><td colspan="1">String (Varchar)</td><td colspan="1">Benutzername, der den Datensatz zuletzt ge&auml;ndert hat.</td></tr><tr><td colspan="1">ModifiedDate</td><td colspan="1">AENDERUNGSDATUM</td><td colspan="1"><br /></td><td colspan="1">Datum/Uhrzeit der letzten Datensatz-&Auml;nderung.</td></tr><tr><td colspan="1">APType</td><td colspan="1">AP</td><td colspan="1">Int (Smallint)</td><td colspan="1"><a href="https://help.pollex-lc.com/x/MQAb">Anlage-Programmteil</a>.&nbsp; Die Kombination AP+SS_REFERENZ+SS_REFERENZ2 darf nur 1x vorhanden sein.</td></tr><tr><td colspan="1">EdiReference</td><td colspan="1">SS_REFERENZ</td><td colspan="1">String (Varchar)</td><td colspan="1">Schnittstellenreferenznummer. Diese Referenznummert zieht sich vom Warenkorb &uuml;ber Auftrag, Lieferschein bis hin zur Rechnung. Die Kombination AP+SS_REFERENZ+SS_REFERENZ2 darf nur 1x vorhanden sein.</td></tr><tr><td colspan="1">EdiReference2</td><td colspan="1">SS_REFERENZ2</td><td colspan="1">String (Varchar)</td><td colspan="1">Zusatz-Referenz f&uuml;r Schnittstellen, falls SS_REFERENZ nicht ausreichend ist. Die Kombination AP+SS_REFERENZ+SS_REFERENZ2 darf nur 1x vorhanden sein.</td></tr><tr><td colspan="1">Text01</td><td colspan="1">TEXT_01</td><td colspan="1">String (Varchar)</td><td colspan="1">Freies Textfeld 01</td></tr><tr><td colspan="1">Text02</td><td colspan="1">TEXT_02</td><td colspan="1">String (Varchar)</td><td colspan="1">Freies Textfeld 02</td></tr><tr><td colspan="1">Text03</td><td colspan="1">TEXT_03</td><td colspan="1">String (Varchar)</td><td colspan="1">Freies Textfeld 03</td></tr><tr><td colspan="1">Text04</td><td colspan="1">TEXT_04</td><td colspan="1">String (Varchar)</td><td colspan="1">Freies Textfeld 04</td></tr><tr><td colspan="1">Text05</td><td colspan="1">TEXT_05</td><td colspan="1">String (Varchar)</td><td colspan="1">Freies Textfeld 05</td></tr></tbody></table><h3><ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="7216d97c-6bc3-41b0-8680-86801fe24d3c"><ac:parameter ac:name="">StringFunctions</ac:parameter></ac:structured-macro>StringFunctions</h3><p>Zus&auml;tzlich zu den <a href="https://help.pollex-lc.com/x/NIBU">Standard-StringFunctions</a> sind folgende Funktionen m&ouml;glich:</p><table><colgroup><col /><col /></colgroup><tbody><tr><th>StringFunction</th><th>Beschreibung</th></tr><tr><td>GetSourceValue(&quot;SPALTE&quot;)</td><td>Liefert einen Wert aus der aktuell in Verarbeitung befindlichen Quell-Zeile.</td></tr><tr><td>GetTargetValue(&quot;TargetProperty&quot;)</td><td>Liefert einen Wert aus dem bef&uuml;llten Ziel-DTO. Es k&ouml;nnen hier alle TargetField-Properties angegeben werden.</td></tr></tbody></table><p><br /></p><h1>Ablauf</h1><p>Nachfolgend wird der Programm-Ablauf der Schnittstelle n&auml;her beleuchtet.</p><ul><li><span style="letter-spacing: 0.0px;">Ordner verarbeiten (Wiederholung je Ordner in WatchFolders)</span></li><li><span style="letter-spacing: 0.0px;">Datei verarbeiten (Wiederholung je Datei im aktuellen Ordner)<br />1) </span>Dateiformat bestimmen<br />2) Datei einlesen<br />3) Gesamten Dateiinhalt konvertieren nach Ziel-Positionen, splitten nach Transaktionen wenn Buchungsmodus = Single<br />4) F&uuml;r jede erstellte Transaktion alle Positionen buchen (Im Buchungsmodus Single ist jede Position in einer eigenen Transaktion) - Je Datei bleibt die Umbuchungsnummer gleich.</li><li><span style="letter-spacing: 0.0px;">Optional Report senden</span></li></ul><h1>Automatischer Start</h1><p><span style="color: rgb(23,43,77);">Im Unterordner \Interfaces\POLLEX-LC\ImportStockTransfer\Templates werden Beispieldaten f&uuml;r die automatische Ausf&uuml;hrung der Schnittstelle mit ausgeliefert. Wollen Sie diese Dateien verwenden, kopieren Sie diese bitte in den Ordner der LC.WpfInterfaces.exe. Die mitgelieferten Templates werden beim Update &uuml;berschrieben.</span></p><h2><span style="color: rgb(23,43,77);">Beispiel</span></h2><h3><span style="color: rgb(23,43,77);">XML-Konfigurationsdatei</span></h3><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="88b3c2ce-c55e-41e6-97e9-70fbbcb7efd5"><ac:parameter ac:name="language">xml</ac:parameter><ac:parameter ac:name="title">ImportStockTransferTemplate.xml</ac:parameter><ac:plain-text-body><![CDATA[<ImportStockTransfer>
	<DB>**Datenbankname**</DB>
	<USER>SYSADM</USER>
	<PASSWORD>SYSADM</PASSWORD>
	<DirectDbConnect>False</DirectDbConnect>
	
	<WatchFolders>\\server\io\ImportStockTransfer\files</WatchFolders>
	<TargetFolder>\\server\io\ImportStockTransfer\files\done</TargetFolder>
	<FileFilter>*.csv</FileFilter>

	<FileInfo>
		<FileFormat>CSV</FileFormat>
		<Encoding>UTF-8</Encoding>
		<DecimalSeparator>.</DecimalSeparator>
		<GroupSeparator></GroupSeparator>
		<FormatPatternNumber>#.##</FormatPatternNumber>
		<FormatPatternDate>yyyyMMdd</FormatPatternDate>
		<FormatPatternDateTime>yyyyMMddHHmmss</FormatPatternDateTime>
		<SeparatorChar>;</SeparatorChar>

		<Fields>
			<Field TargetField="ItemNumber" SourceField="Artikelnummer"></Field>
			<Field TargetField="Quantity" SourceField="Menge"></Field>
			<Field TargetField="SourceStockLocationName" SourceField="Abbuchungslagerort"></Field>
			<Field TargetField="TargetStockLocationName" SourceField="Zubuchungslagerort"></Field>
			<Field TargetField="BookingDate" SourceField="Buchungsdatum" Format="yyyyMMddHHmm"></Field>
 			<Field TargetField="EdiReference" SourceField="PosReferenz"></Field>
			<Field TargetField="EdiReference2" SourceField="DokReferenz"></Field>
  		</Fields>

	</FileInfo>
	
	<BookingTransaction>File</BookingTransaction>
	<ErrorAction>Continue</ErrorAction>

	<ProtocolEMail>ihre_mail@ihr_provider.com</ProtocolEMail>
	<SenderEMail>noreply@ihr_provider.com</SenderEMail>
	<SmtpServer>mail.ihr_provider.com.com</SmtpServer>
	<SmtpUser>**Benutzername**</SmtpUser>
	<SmtpPassword>**Passwort**</SmtpPassword>
	<MailLevel>All</MailLevel>

</ImportStockTransfer>]] ></ac:plain-text-body></ac:structured-macro><p class="auto-cursor-target"><br /></p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="2908da3c-2b13-4bf1-9c45-ad12ac8d0760"><ac:parameter ac:name="language">powershell</ac:parameter><ac:parameter ac:name="title">ImportStockTransfer.cmd</ac:parameter><ac:plain-text-body><![CDATA[LC.WpfInterfaces.exe /C=ImportStockTransferTemplate.xml]] ></ac:plain-text-body></ac:structured-macro><p class="auto-cursor-target"><br /></p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="51fa0841-b9cd-4d14-be19-8492a834b79e"><ac:plain-text-body><![CDATA[LC.WpfInterfaces.exe /C=ImportStockTransferTemplate.xml /DB=DEMO /USER=DEMO /PASSWORD=TEST]] ></ac:plain-text-body></ac:structured-macro><p><br /></p><p><br /></p>
JavaScript errors detected

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

If this problem persists, please contact our support.