02391/6016690

vertrieb@iwmweb.de

Online-Hilfe / Konverter und Mapping

iwmEDI

Schaltflächen und Beschreibung

Mit * gekennzeichnete Felder sind Pflichtfelder.

Bereich: Übergreifend

Schaltflächen und FelderBeschreibung
Grundlagen
KonverterIDDie KonverterID ist die einzigartige Identifikationsnummer des Konverters.
BeschreibungEine freie Beschreibung zur Wiedererkennung des Konverters in anderen Menüs.
AktivDieser Wert beschreibt, ob der Konverter aktiv oder inaktiv ist.
Art*Beschreibt die Art des Konverters (Import oder Export).
Validierung
PreisvalidierungHier wird festgelegt, wie mit abweichenden Preisen verfahren werden soll.
ValidierungsdateiHier wird der komplette Datenpfad der Validierungsdatei hinterlegt, z.B. eine XML-Schema-Datei im .xsd-Format.
TrennzeichenBeinhaltet eine Sammlung von Trennzeichen, um Datensegmente voneinander zu trennen.
PositionsmarkerDefiniert den Einsprungspunkt als Beginn des Belegs bzw. dem Beginn der Position.
Externe Verknüpfung
Name*Hier wird der Handler gewählt, z.B. die Konvertierung zwischen Sage-Belegen und EDI-Dateien.
Speicherpfad*In diesem Feld legen Sie den Speicherort und den Namen der Datei für die Verarbeitung fest.

Beispiel für den Import-Speicherpfad:
C:\Pfad\Order*.xml

Beispiel für den Export-Speicherpfad:
C:\Order_BellID.xml

BellID wird beim Speichern durch den vorhandenen Datenwert ersetzt (.z.B. Dateiname Order_12345.xml)
Erledigtpfad*Gibt den Dateipfad auf Ihrem System an, an dem verarbeitete Dateien abgelegt werden.
Errorpfad*Gibt den Dateipfad auf Ihrem System an, an dem fehlerhafte Import-Belege abgelegt werden.
Encoding CodePageHier legen Sie fest, welchen Wert aus der Zeichensatztabelle Sie nutzen möchten. Bleibt das Feld leer, nutzt der Konverter den Standardwert UTF-8 ohne BOM.

Bereich: Konverter

Schaltflächen und FelderBeschreibung
Datenverknüpfung
Belegkennzeichen*Hier wird festgelegt, welches Belegkennzeichen, z.B. Auftragsbestätigung, Bestellung usw. auf den Konverter angewendet wird.
Kto*Kto bezeichnet den Kontokorrent, auf dem der Konverter angewendet wird. Hier kann auch eine Kundengruppe angegeben werden.
TabelleBelegInfoIn diesem Feld regelt eine durch Komma getrennte Liste der Tabellen/Views die Datenbestimmung für die verschiedenen Ebenen des Belegs.
TabelleParameterHier wird durch eine durch Kommata getrennte Liste der Verknüpfungsschlüssel der Abfrageparameter festgelegt, z.B. BelID, BelPosID usw.
DruckprozessIn diesem Feld ist der Druckprozess auszuwählen, der nach dem Import genutzt werden soll. Lässt man das Feld leer, greift der Konverter auf den Standarddruckprozess zurück.
BenutzerfeldDieses Feld definiert den iwmEDIBenutzer, der beim Im- oder Export angegeben wird.
DatumfeldDieses Feld regelt die Datumsangabe beim Im- oder Export.

Bereich: Mapping

Schaltflächen und FelderBeschreibung
Mapping IDBei der Mapping ID handelt es sich um die einzigartige Identifikationsnummer von Elementen innerhalb eines Konverters.
Konverter IDDie Konverter ID ist die zugehörige ID des Konverters.
ElternelementDas Elternelement bezeichnet das übergeordnete Datenelement und bezieht sich auf die Mapping ID.
InformationsebeneDie Informationsebene bezeichnet die Ebene der Informationsbeschaffung. Zur Auswahl stehen die Optionen „Beleg“, „Position“ sowie weitere Loops.
AttributDiese Spalte regelt, ob das Element als Attribut des Elternteils verwendet wird.
ReihenfolgeHier ist die Reihenfolge der Elemente festgelegt. Die Reihenfolge ist nullbasiert.
Name externHier wird der Name des externen Datenelements festgelegt.
Validierung externHier erfolgt die Validierung des externen Datenelements, beispielsweise wird das Datumsformat für das Datenelement „Datum“ festgelegt.
Name SQL-SpalteDiese Spalte bezeichnet den Namen der Spalte, deren Informationen ausgelesen werden soll. Funktionen werden hier eingegeben.
BefehlssatzDer Befehlssatz ermöglicht die nachträgliche Verarbeitung von Daten.

Beispiel: Ist bei einem Im- oder Export ein Element mit 0 hinterlegt oder leer, sollen andere Elemente verändert oder gelöscht werden, z.B. soll der Steuerbetrag vo dem Export entfernt werden, wenn der zugehörige Betrag 0 Euro beträgt und somit nicht relevant ist.
PositionsmarkerDefiniert den Positionsmarker, der verwendet wird, um bei der Mapping-Erstellung den Beginn der Position zu erkennen.
DruckprozessIn diesem Feld ist der Druckprozess auszuwählen, der nach dem Import genutzt werden soll. Lässt man das Feld leer, greift der Konverter auf den Standarddruckprozess zurück.
BenutzerfeldDieses Feld definiert den iwmEDIBenutzer, der beim Im- oder Export angegeben wird.
DatumfeldDieses Feld regelt die Datumsangabe beim Im- oder Export.

Kurzanleitung für die Anlage eines Konverters

Die Anlage eines neuen Konverters folgt einem festen Muster in fünf Schritten. Wir zeigen den Ablauf am Beispiel einer eingehenden Bestellung durch den Kunden als Datei. Der Konverter wird für die entsprechende Auftragsbestätigung eingerichtet.

Die Anlage eines neuen Konverters können Sie durch Klick auf die Schaltfläche “Neu” oberhalb der Tabelle beginnen.

Schritt 1: Validierungsdatei erstellen

Erstellen Sie vorbereitend anhand Ihrer Dokumentation eine Validierungsdatei mit Notepad++ oder einem vergleichbaren Programm. Sie können mit dem leeren Blatt Papier beginnen und eine ganz neue Datei erstellen, oder eine vorhandene Datei als Vorlage benutzen, in welcher Sie die Parameter anpassen. Die Segmentstruktur der Validierungsdatei muss den gültigen Standards entsprechen und wie im folgen Beispiel aufgebaut sein. Bitte bedenken Sie, dass die Struktur keine Leerzeichen beinhalten darf.

Structure -> Name -> Kann/muss -> Validierung -> Positionierung -> Übersetzung

MOA    MONETARY AMOUNT    M        1    MOA_GeldbetragSteuern
C516    MONETARY AMOUNT    M        2    GeldbetragSteuern
5025    Monetary amount type code qualifier    M    ‘124’    3    BetragsArt
5004    Monetary amount    C    n1..35,2    3    GeldbetragSteuern

Schritt 2: Felder im Bereich “Konverter” ausfüllen

Füllen Sie nun die Felder unter “Konverter” in den Bereichen “Grundlagen”, “Validierung”, “Datenverknüpfung” und “Externe Verknüpfung” gemäß Ihren Wünschen aus, hinterlegen Sie dabei den Pfad zur Validierungsdatei und bestimmen Sie die Pfade zur Speicherung von erledigten und fehlerhaften Jobs. Die “Grundlagen” dienen zur Identifikation und Abgrenzung Ihres neuen Konverters. Die Felder unter “Datenbankverknüpfung” definieren Belegart, Kontoinformationen und Datenbank.

Schritt 3: Validierung importieren

Als nächstes folgt der Import der Validierung. Dies geschieht durch Klick auf die gleichnamige Schaltfläche oberhalb der Tabelle. Ist die Validierungsdatei richtig hinterlegt, werden die festen Mapping-Werte im Bereich “Mapping” aus der Datei übernommen und in die entsprechenden Felder eingetragen. Nachträgliche Änderungen, zum Beispiel die Eingabe der Funktion im Feld “Neue SQL-Spalte”, sind jederzeit durch manuelle Eingabe möglich.

Schritt 4: Mapping überprüfen

Nun ist das Mapping fertig vorbereitet. Durch Klick auf die Schaltfläche “Test” oberhalb der Tabelle, können Sie Ihre Eingaben auf Richtigkeit überprüfen und sich von der Funktionstüchtigkeit des erstellten Konverters überzeugen. Die Informationen werden als Textblock ausgegeben. Jetzt ist der Konverter eingerichtet, und kann über den Import oder Export genutzt werden. Nicht länger benötigte Konverter können durch Klick auf die Schaltfläche “Entfernen” oberhalb der Tabelle gelöscht werden. Der nicht mehr benötigte Konverter muss dafür zuvor in der Tabelle markiert werden.

Funktionen für den Import

Beim Import werden Informationen aus einer Datei ausgelesen und an den Belegerstellungsprozess in der Sage100 weitergegeben. In der Spalte “Name-SQL-Spalte” hinterlegt man dafür die Eigenschaftswerte des Belegs bzw. eine der unten stehenden Funktionen, um die Informationen aus der Datei vor der Weitergabe zu verarbeiten. Die Spalte “Validierung extern” wird gefüllt, um die Konvertierung der Zeichenkette in Zahlen- oder Datumswerte zu vollziehen. Weitere Einstellungen können in der Spalte “Befehlssatz” vorgenommen oder Eigenschaftswerte verändert werden.

Funktionsübersicht

Verketten von Funktionen und Spalten (+)

Diese Funktion ermöglicht es, mehrere Spalten bzw. weitere Funktionen mit dem ermittelten Datenelement auszuführen, z.B. um ein Element an mehreren Positionen im Beleg zu speichern. Der Wert der Datei @Data wird dafür in die benutzerdefinierten Felder USER_BYILN (ILN des Käufers) und USER_IVILN (ILN des Rechnungsempfängers) geschrieben.

Aufbau
Funktion1+Funktion2+…+FunktionN

Erklärung der verwendeten Parameter
Das “+” leitet weitere Funktionen ein.

Beispiel
USER_BYILN+USER_IVILN

Freier SQL-Code (~)

Diese Funktion führt den angegebenen SQL-Code aus und leitet das Ergebnis an den Erstellprozess der Sage-Belege weiter. Als Übergabename wird der Name der Spalte verwendet. Eventuell muss dieser mit dem “AS”-Stichwort umbenannt werden. Als Parameter werden der Mandant (@Mandant) und der Wert aus der Datei (@Datei) unterstützt. Die SQL-Abfrage fragt dabei zu einem gegebenen Kontokorrent (@Data) den Matchcode aus und schreibt dies in das benutzerdefinierte Feld USER_Kundenmatchcode.

Aufbau
~SELECT Spalte AS Bezeichnung FROM Tabelle WHERE Mandant=@Mandant AND Wert=@Data

Erklärung der verwendeten Parameter
Die “~” leitet die SQL-Funktion ein.

Beispiel
~SELECT TOP 1 Matchcode AS USER_Kundenmatchcode FROM KHKKontokorrent WHERE Mandant=@Mandant AND Kto=@Data

Vergleich mit einer Referenzspalte (#CompareEQ)

Diese Funktion vergleicht den Datenwert @Data mit einem bereits eingelesenen Vergleichswert. Sind die beiden Werte identisch, wird der Wahrheitswert „true“ gesetzt bzw., falls vorhanden, der angegebene Wahrheitswert übergeben. Andernfalls wird „false“ bzw. der Falschwert übergeben. Der Datenwert @Data wird dabei mit dem Wert in der Spalte verglichen. Ist dieser Zeichenkettenvergleich erfolgreich, wird die Eigenschaft der Spalte auf wahr gestellt.

Aufbau
#CompareEQ:Spalte:Referenzspalte[:TrueValue[:FalseValue]]

Erklärung der verwendeten Parameter
Die Spalte ist der Speicherort des Ergebnisses (Eigenschaftswert des Belegs/der Position).
Die Referenzspalte ist der Referenzwert für den Vergleich.
TrueValue bezeichnet den abweichenden Wahrheitswert (optional).
FalseValue bezeichnet den abweichenden Falschwert (optional).

Beispiel
#CompareEQ:VKHatKommissionierungsfreigabe:Artikelgruppe

Suche über Referenz (#Referenz)

Mit dieser Funktion kann man an eine einfache Datenbankabfrage erstellen. Das Ergebnis wird in die angegebene Spalte übergeben. Es wird dabei der Eintrag der Spalte einer Tabelle gesucht, deren Parameter übereinstimmen.

Aufbau
#Reference:Tabelle:Spalte[:Referenzspalte AS Parametername]*

Erklärung der verwendeten Parameter
Bei der Tabelle handelt es sich um die Datenbanktabelle zur Abfrage.
Die Spalte ist der Speicherort des Ergebnisses (Eigenschaftswert des Belegs/der Position). Diese kann mit “AS” auch umbenannt werden, falls die SQL-Spalte vom Eigenschaftswert abweicht.
Die referenzspalte bezeichnet die Parameter für die SQL-Suche, wobei die Referenzspalte den Eigenschaftswert darstellt und der Parametername den SQL-Spaltennamen enthält (optional, beliebig viele)

Beispiel
#Reference:KHKKontokorrent:Matchcode:Kto

Zusammenfügen von Datenelementen (#Merge)

Manche Einträge werden über mehrere Felder oder Zeilen in der externen Datei gespeichert. Mit diesem Befehl ist es möglich diese Elemente zusammenzuführen. Der Datenwert @Data wird an die Referenzspalte angefügt, falls bereits vorhanden.

Aufbau
#Merge:Spalte:Mergestring[:]

Erklärung der verwendeten Parameter
Die Spalte ist der Speicherort des Ergebnisses (Eigenschaftswert des Belegs/der Position).
Der Mergestring ist das Bindeelement zwischen den Einträgen.
Der Doppelpunkt ermöglicht es, den Datenwert vorne einzufügen.

Beispiele
#Merge:Bezeichnung1:““ (AltNeu)
#Merge:Bezeichnung1:,:  (Neu,Alt)

Statische Zuordnung verwenden (#LookUp)

Bei der Übergabe von Beleg- oder Positionseigenschaften kann es zwischen verschiedenen Systemen zu unterschiedlichen Codierungsbezeichnungen kommen. Statische Zuweisungen können verwendet werden, um Übersetzungen von festen Werten aus der Sage100 und der externen Dateien zu realisieren, etwa um Mengenangaben von Artikeln zu übertragen. Der Datenwert @Data wird dabei über die statische Zuordnung der Gruppenkennung übersetzt und in der Spalte abgespeichert.

Aufbau
#LookUp:Gruppenkennung:Spalte

Erklärung der verwendeten Parameter
Die Gruppenkennung regelt die statische Zuordnung in der Sage100-Warenwirtschft.
Die Spalte ist der Speicherort des Ergebnisses (Eigenschaftswert des Belegs/der Position).

Beispiel
#LookUp:PreisProMenge:Preiseinheit

Zusammenfügen von Datenelementen mit anschließender statischer Zuweisung (#MergeLookUp)

Diese Funktion fügt einem bestehenden Spalte den Datenwert hinzu und übersetzt diesen anschließend über die statische Zuordnung. Der Datenwert @Data wird dabei an die Referenzspalte angefügt, falls bereits vorhanden. Als Trennzeichen wird die angegebene Zeichenkette verwendet. Um einen Leerstring zu nutzen, müssen doppelte Ausführungszeichen verwendet werden. Das Ergebnis wird im Gruppenkennzeichen nachgeschlagen und in das Spaltenfeld geschrieben.

Aufbau
#MergeLookUp:Gurppenkennung:Spalte:Mergestring[:]

Erklärung der verwendeten Parameter
Die Gruppenkennung regelt die statische Zuordnung in der Sage100-Warenwirtschaft.
Die Spalte ist der Speicherort des Ergebnisses (Eigenschaftswert des Belegs/der Position).
Der Mergestring ist das Bindeelement zwischen den Einträgen.
Der Doppelpunkt ermöglicht es, den Datenwert vorne einzufügen.

Beispiel
# MergeLookUp:Kto:““ (AltNeu -> Kto)

Adressnummer anhand einer einzigartigen Spalte ermitteln (#AddressByColumn)

Dieser Befehl ermöglicht das Suchen einer Adresse anhand einer einzigartigen Spalte. Beispielsweise wird eine ILN in der Datei angegeben, um die Lieferadresse auszuwählen. Der Datenwert @Data wird dabei als Parameter für die Parameterspalte eingesetzt. Nach der SQL-Abfrage wird das Ergebnis in die Spalte geschrieben. Der Sage100-Beleg setzt daraufhin die Lieferanschrift auf die ausgewählte Adresse.

Aufbau
#AddressByColumn:Parameterspalte:Spalte

Erklärung der verwendeten Parameter
Die Parameterspalte dient der Ermittlung der Adressspalte.
Die Spalte ist der Speicherort des Ergebnisses (Eigenschaftswert des Belegs/der Position).

Beispiel
#AddressByColumn:USER_ILN:A1Adresse

Kontokorrent anhand einer einzigartigen Spalte ermitteln (#KtoByAddressColumn)

Dieser Befehl ermöglicht das Suchen eines Kontokorrenten anhand einer einzigartigen Spalte. Beispielsweise wird eine ILN in der Datei angegeben, um den Auftraggeber auszuwählen. Der Datenwert @Data wird dabei als Parameter für die Parameterspalte eingesetzt. Nach der SQL-Abfrage wird das Ergebnis in die Spalte geschrieben. Der Sage100-Beleg setzt daraufhin den ausgewählten Kontokorrenten.

Aufbau
#KtoByAddressColumn:Parameterspalte:Spalte

Erklärung der verwendeten Parameter
Die Parameterspalte dient der Ermittlung der Adressspalte.
Die Spalte ist der Speicherort des Ergebnisses (Eigenschaftswert des Belegs/der Position).

Beispiel
#KtoByAddressColumn:USER_ILN:Kto

Kontokorrenten über zusammengesetzte Informationen ermitteln (#KtoByMergeReference)

Manchmal muss das Kontokorrent über verschiedene Elemente ermittelt werden. Mit dieser Funktion kann eine zusammengesetzte Abfrage des Kontokorrents erstellt werden. Der Datenwert @Data wird dabei an die Referenzspalte mit dem Trennzeichen angefügt. Anschließend wird der Inhalt der Referenzspalte am Mergestring gespalten und die Informationen in die Spalten1-SpaltenN aufgeteilt. Ist ein Element leer, muss der Abfragewert in der Tabelle „null“ oder ein Leerstring sein. Der Rückgabewert der Abfrage wird schließlich in die Zielspalte übergeben.

Aufbau
#KtoByMergeReference:Zielspalte:Mergestring:Spalte1,Spalte2,…,SpalteN

Erklärung der verwendeten Parameter
Die Zielspalte ist selbige für das Kontokorrent.
Der Mergerstring gibt die Zeichenkette der zusammengesetzten Spalteninformationen an.
Die Spalten Spalte1-SpalteN sind die Parameterlisten, in die die Spalteninformation aufgeteilt wird.

Beispiel
#KtoByMergeReference:Kto:,:Name1:Poststrasse            (AltNeu)

Zahlungskondition anhand einer Beschreibung auswählen (#ZKD)

Diese Funktion ermöglicht es, die Zahlungskondition anhand einer Beschreibung in der Datei auszuwählen. Voraussetzung hierfür ist es, dass die Beschreibung in der Sage100 vorhanden ist. Falls kein Wert ermittelt werden konnte, kann bei Bedarf ein Standardwert (Schlüssel der Zahlungskondition) festgelegt werden. Der Datenwert @Data wird dabei in der Beschreibung der Zahlungskonditionen gesucht. Falls ein Match gefunden wird, wird der entsprechende Schlüssel als Zahlungskondition des Beleges zurückgegeben. Konnte kein Wert ermittelt werden, wird die Zahlungskondition nicht gesetzt und die Sage kümmert sich um den Standardwert des Kunden bzw. des Beleges. Wird hier ein Standardwert mit übergeben, wird stattdessen dieser verwendet.

Aufbau
#ZKD:Standardwert

Erklärung der verwendeten Parameter
Der Standardwert ist der Schlüssel der Standard-Zahlungskondition, für den Fall, dass keine gültige Kondition ermittelt werden kann.

Beispiel
#ZKD

Ermittlung eines Zuschlags anhand der Zuschlagsart (#Zuschlag)

Bei manchen Dateien werden Zuschläge im Bereich der Positionen übermittelt. Diese Funktion ermöglicht es, die Positionsanlage abzufangen, um stattdessen einen Zuschlag anzulegen. Falls die Artikelnummer nicht gegeben ist, wird der Datenwert @Data dabei als Zuschlagart gesucht und die ermittelte ID in das Feld „Zuschlag“ geschrieben. Wird dabei keine Zuschlagsart gefunden, wird der Standardwert (2) verwendet, falls angegeben.

Aufbau
#Zuschlag:ActiveByName[:Standardwert]

Erklärung der verwendeten Parameter
ActiveByName aktiviert die Zuschlagserstellung. Der Wert der angegebenen Spalte muss “0” oder leer sein.
Hinter dem Standardwert verbirgt sich die ZuschlagID, die ausgewählt wird, wenn die Zuschlagsart nicht gefunden wird.

Beispiele
#Zuschlag:Artikelnummer
#Zuschlag:Artikelnummer:2

Aktuelles Datum oder aktuellen Zeitpunkt ermitteln (#Today)

Die Funktion erfasst das aktuelle Datum und gibt dies an den Belegerstellungsprozess weiter. Das aktuelle Datum wird dabei in die Spalte des Liefertermins geschrieben. Ist eine Abweichung angegeben, wird das Datum um diesen Wert erhöht. Falls der Doppelpunkt verwendet wird, wird das Datum mit Zeiteinheiten abgespeichert und die Abweichung wird als Stunden verrechnet.

Aufbau
#Today:Spalte[:Abweichung[:]]

Erklärung der verwendeten Parameter
Die Spalte gibt den Speicherort des Ergebnisses an (Eigenschaftswert des Belegs/der Position)
Die Abweichung beziffert die Anzahl der Tage oder Stunden, um die das Datum erweitert wird.
Durch den Doppelpunkt wird der Datenwert als Zeitpunkt ermittelt.

Beispiele
#Today:Liefertermin 
#Today:Liefertermin:10
#Today:USER_Zeiterfassung:1:

Aktuelle Woche ermitteln (#Week)

Die Funktion erfasst die aktuelle Woche und gibt diese an den Belegerstellungsprozess weiter. Die aktuelle Woche wird in die Spalte des Lieferwoche geschrieben. Ist die Abweichung angegeben, wird das Datum vorher um diese erhöht oder verringert.

Aufbau
#Week:Spalte[:Abweichung]

Erklärung der verwendeten Parameter
Die Spalte gibt den Speicherort des Ergebnisses an (Eigenschaftswert des Belegs/der Position)
Die Abweichung beziffert die Anzahl der Tage oder Stunden, die aufaddiert werden, bevor die Woche ermittelt wird.
Durch den Doppelpunkt wird der Datenwert als Zeitpunkt ermittelt.

Beispiele
# Week:Lieferwoche:10

Datumsrechnung (#Date)

Die Funktion erfasst das Datum der Datei und gibt dies an den Belegerstellungsprozess weiter. Der Datenwert @Data wird dabei in ein Datum umgewandelt und in die Spalte geschrieben. Ist eine Abweichung angegeben, werden die angegebenen Tage entsprechend mit berücksichtigt.

Aufbau
#Date:Spalte[:Abweichung]

Erklärung der verwendeten Parameter
Die Spalte gibt den Speicherort des Ergebnisses an (Eigenschaftswert des Belegs/der Position)
Die Abweichung beziffert die Anzahl der aufaddierten oder abgezogenen Tage.

Beispiel
#Date:Liefertermin 
#Date:Liefertermin:10

Woche aus einem Datum der Datei ermitteln (#DateWeek)

Die Funktion erfasst das Datum als Woche und gibt dies an den Belegerstellungsprozess weiter. Der Datenwert @Data wird dabei in ein Datum umgewandelt und die dazugehörige Woche ermittelt. Diese wird in die Spalte der Lieferwoche geschrieben. Ist eine Abweichung angegeben, wird das Datum vor der Umwandlung entsprechend erhöht oder verringert.

Aufbau
#DateWeek:Spalte[:Abweichung]

Erklärung der verwendeten Parameter
Die Spalte gibt den Speicherort des Ergebnisses an (Eigenschaftswert des Belegs/der Position)
Die Abweichung beziffert die Anzahl der aufaddierten oder abgezogenen Tage vor der Umrechnung.

Beispiel
#DateWeek:Lieferwoche:10

Datum mit Mindestwert aus Datei ermitteln (#DateMin)

Die Funktion erfasst das Datum der Datei und gibt dies an den Belegerstellungsprozess weiter. Falls das Datum kleiner als der Mindestwert ist, wird stattdessen dieser verwendet. Der Datenwert @Data wird dabei in ein Datum umgewandelt und in die Spalte des Liefertermins geschrieben. Das Datum muss jedoch mindestens um die angegebene Abweichung in der Zukunft liegen.

Aufbau
#DateMin:Spalte:Abweichung

Erklärung der verwendeten Parameter
Die Spalte gibt den Speicherort des Ergebnisses an (Eigenschaftswert des Belegs/der Position)
Die Abweichung beziffert die Anzahl der Tage gegenüber heute, die mindestens erreicht werden müssen.

Beispiel
#DateMin:Liefertermin:10

Woche mit Mindestwert aus Datum aus Datei ermitteln (#DateMin)

Die Funktion erfasst das Datum als Woche und gibt dies an den Belegerstellungsprozess weiter, wobei sie eine Mindestabweichung berücksichtigt. Der Datenwert @Data wird dabei in ein Datum umgewandelt und die dazugehörige Woche ermittelt. Diese wird in die Spalte geschrieben. Dabei muss das Datum mindestens um die als Abweichung definierten Tage in der Zukunft liegen.

Aufbau
#DateWeekMin:Spalte:Abweichung

Erklärung der verwendeten Parameter
Die Spalte gibt den Speicherort des Ergebnisses an (Eigenschaftswert des Belegs/der Position).
Die Abweichung beziffert die Anzahl der Tage gegenüber heute, die mindestens erreicht werden müssen, bevor die Woche ermittelt wird.

Beispiel
#DateWeekMin:Lieferwoche:10

Einen Teil einer Zeichenkette auswerten (#Split)

Bei manchen Datenwerten werden mehrere Informationen in einem Element geschrieben. Diese Funktion ermöglicht es, nur einen Teil der Information auszulesen. Der Datenwert @Data wird dabei durch ein Trennzeichen getrennt und die Position unter der Bezeichnung der Spalte an die Sage100 weitergegeben.

Aufbau
#Split:Spalte:Position:Trennzeichen

Erklärung der verwendeten Parameter
Die Spalte gibt den Speicherort des Ergebnisses an (Eigenschaftswert des Belegs/der Position).
Die Position ist der Teil der Zeichenkette, der nach der Trennung ausgewertet werden soll.
Das Trennzeichen trennt die Zeichenkette.

Beispiel
#Split:Bezeichnung1:0:

Liste von Elementen auswerten (#Child)

Die Funktion ermöglicht das Auswerten von angehängten Listen, wie sie beispielsweise bei Seriennummern verwendet werden. Dabei wird die Aufzählung der Listenelemente als Seriennummer an den Sage-Prozess übergeben.

Aufbau
#Child:Spalte

Erklärung der verwendeten Parameter
Die Spalte gibt den Speicherort des Ergebnisses an (Eigenschaftswert des Belegs/der Position).

Beispiel
#Seriennummer: Nimmt alle Werte des Unterelements und fügt sie als durch Komma getrennte Liste ein. Seriennummer: Wert1,Wert2,Wert3

Statische Werte übergeben (#Static)

Statische Werte, die nicht in der Datei vermerkt sind, können mit dieser Funktion an die Sage übergeben werden.

Aufbau
#Static:Spalte:Wert

Erklärung der verwendeten Parameter
Die Spalte gibt den Speicherort des Ergebnisses an (Eigenschaftswert des Belegs/der Position).
Der Wert bezeichnet den Wert, der übergeben werden soll.

Beispiel
#Static:Kto:D12345

Den Dateinamen übergeben (#File)

Die Funktion gibt den Dateinamen der Datei zurück.

Aufbau
#File:Spalte

Erklärung der verwendeten Parameter
Die Spalte gibt den Speicherort des Ergebnisses an (Eigenschaftswert des Belegs/der Position).

Beispiel
#File:USER_Filename

Beleg auf Einzigartigkeit prüfen (#CheckUnique)

In der Regel sollen Belege nur einmal importiert werden. Mit dieser Prüfung kann dies sichergestellt werden, indem bei Doppelungen der Importprozess abgebrochen wird.

Aufbau
#CheckUnique:Spalte

Erklärung der verwendeten Parameter
Die Spalte beinhaltet den zu überprüfenden Wert.

Beispiel
#CheckUnique:Referenznummer

Datenwert ersetzen (#Replace)

Normalerweise darf eine Spalte nur einmal beschrieben werden. Dieser Befehlssatz erlaubt es, den Wert zu ersetzen.

Aufbau
#Replace:Spalte

Erklärung der verwendeten Parameter
Die Spalte beinhaltet den Wert, der ersetzt werden darf.

Beispiel
#Replace:Kto

Datenwert zusammensetzen (#Merge)

Normalerweise darf eine Spalte nur einmal beschrieben werden. Dieser Befehlssatz erlaubt es, den Wert zu erweitern.

Aufbau
#Merge:Spalte:MergeString[:]

Erklärung der verwendeten Parameter
Die Spalte beinhaltet den Wert, der erweitert werden soll.
Der Mergestring beinhaltet die Zeichenkette, die als Bindeglied fungieren soll.
Der Doppelpunkt fügt den Datenwert optional vorne ein.

Beispiel
#Merge:Bezeichnung1:““
#Merge:Bezeichnung2:“,“:

Datenwert umwandeln (#Cast)

Die Funktion wandelt einen Datenwert in den angegebenen Typen um. Optional kann auch die Kultur des Betriebssystems mit angegeben werden.

Aufbau
#Cast:Datentyp[:Format]

Erklärung der verwendeten Parameter
Der Datentyp definiert den Zieldatentypen.
Das Format beinhaltet das Format für die Umwandlung.

Beispiel
#Cast:Bool konvertiert Datenwert in booleschen Ausdruck.
#Cast:Int konvertiert Datenwert in eine Ganzzahl.
#Cast:Decimal:de-de konvertiert Datenwert in eine Dezimalzahl. Der Datenwert ist in deutscher Schreibweise angegeben.
#Cast:DecimalPlus konvertiert Datenwert in eine positive Dezimalzahl.

Datenwert abschneiden (#Cut)

Diese Funktion schneidet zu lange Zeichenketten ab bzw. extrahiert einen Teil der Zeichenkette. Sie verkürzt dabei die Zeichenkette auf die angegebene Länge und beginnt den Prozess beim ersten Zeichen bzw. beim angegebenen Startwert.

Aufbau
#Cut:Länge[:Startwert]

Erklärung der verwendeten Parameter
Der Datentyp definiert den Zieldatentypen.
Das Format beinhaltet das Format für die Umwandlung.

Beispiel
#Cut:35 verkürzt die Zeichenkette auf maximal 35 Zeichen.
#Cast:35:70 verkürzt die Zeichenkette auf maximal 35 Zeichen und beginnt mit Zeichen Nummer 71.

Datenwert trimmen (#Trim)

Diese Funktion entfernt überflüssige Zeichen am Anfang und Ende der Zeichenkette. Das Standardzeichen ist ein Leerzeichen. Optional kann ein alternatives Zeichen angegeben werden.

Aufbau
#Trim[:Trimmzeichen]

Erklärung der verwendeten Parameter
Das Trimmzeichen definiert optional das Zeichen, das entfernt werden soll.

Beispiel
#Trim: entfernt überflüssige Leerzeichen am Anfang und Ende der Zeichenkette.
#Trim:0 entfernt überflüssige Nullen am Anfang und Ende der Zeichenkette.

Funktionen für den Export

Verketten von Funktionen und Spalten (+)

Diese Funktion ermöglicht es, mehrere Spalten bzw. weitere Funktionen mit dem ermittelten Datenelement auszuführen. Dies ist wichtig, wenn ein Element an mehreren Positionen im Beleg geschrieben werden soll.

Aufbau
Funktion1+Funktion2+…+FunktionN

Beispiel
USER_BYILN+USER_IVILN

Freier SQL-Code (~)

Dieser Befehl führt den angegebenen SQL-Code aus und leitet das Ergebnis an den Erstellprozess der Sage-Belege weiter. Als Übergabenamen wird der Name der Spalte verwendet. Eventuell muss dieser mit dem “AS”-Stichwort umbenannt werden. Als Parameter werden der Mandant (@Mandant) und der Wert aus der Datei (@Data) unterstützt.

Aufbau
~SELECT Spalte AS Bezeichnung FROM Tabelle WHERE Mandant=@Mandant AND Wert=@Data

Beispiel
~SELECT TOP 1 Matchcode FROM KHKKontokorrent WHERE Mandant=@Mandant AND Kto=@Da