Ausdrücke
Bei der Verarbeitung von Datenaustauschdefinitionen können Sie neben XML-Knoten und Konstanten auch Ausdrücke verwenden, um einfache Rechenoperationen (mit Zahlen, Texten, Datumswerten und Ähnlichem) auf den importierten Spaltenwerten durchzuführen. Grundlegende Informationen zum Einrichten von Datenaustauschdefinitionen finden Sie unter Datenaustauschdefinitionen einrichten.
So richten Sie die Funktionalität für das Feld "Ausdruck" ein
- Klicken Sie im Menüband Dynamics 365 Business Central auf das Symbol Lupe , geben Sie im Suchfeld Datenaustauschdefinitionen ein und klicken Sie auf das übereinstimmende Suchergebnis.
- Klicken Sie in das Feld Code, um eine Datenaustauschdefinition zu öffnen.
- Klicken Sie im Inforegister Allgemein in das Feld Art und wählen Sie eine Option aus: Generischer Import oder VEO Export.
Geben Sie im Feld Lese-/Schreibe-Codeunit einen Wert ein:
- 5153106 für die Art Generischer Import
5561710 für die Art VEO Export
Hinweis
Die Codeunit 5153106 unterstützt derzeit keine Namespaces beim Import der XML-Daten.
So verwenden Sie das Feld "Ausdruck"
Das Feld Ausdruck finden Sie auf der Seite Datenaustauschdefinitionen im Inforegister Spaltendefinitionen.
Für Ausdrücke gilt eine eingeschränkte Syntax:
- Überflüssige Leerzeichen werden ignoriert (zum Beispiel wird NetAmount* 1.19 zu NetAmount*1.19).
- Für die Klammersetzung werden runde Klammern verwendet (zum Beispiel NetAmount*((100.0+"VAT %")/100.0)).
- Funktionsparameter werden durch ein Komma getrennt und in Klammern übergeben (zum Beispiel IIF(Name<>'', Name, "Name 2")).
- Bei Funktionsaufrufen ohne Parameter müssen Klammern mitgegeben werden (zum Beispiel TODAY()).
Spaltenzugriff
Auf die Spalten im Inforegister Spaltendefinitionen können Sie über das Feld Name zugreifen. Falls Leerzeichen im Feld Name enthalten sind, muss der Name in Anführungszeichen eingeschlossen sein (zum Beispiel "Name 2").
Beispiel:
Der Ausdruck Name + '.' + "Name 2" + '@' + EMail liefert einen Text der Form 'Vorname.Nachname@EMailProvider.de' zurück.
Hinweis
Die Groß- und Kleinschreibung wird beim Spaltenzugriff berücksichtigt.
Konstanten
- Texteingaben werden zum Verketten in Hochkommas (') eingeschlossen (zum Beispiel Name + '.' + Email).
- Wahrheitswerte werden mit 'true' und 'false' dargestellt (zum Beispiel IIF(Name <> '', true, false)).
- Dezimalzahlen werden mit einem Punkt (.) als Dezimaltrenner angegeben (zum Beispiel NetAmount* 1.19).
- Datumswerte werden im Format yyyymmdd mit dem Suffix D angegeben (zum Beispiel 20231231D).
Rechenoperatoren
- Addition: a + b
- Subtraktion: a - b
- Multiplikation: a * b
- Division: a / b
- Potenz: a ^ b
Vergleichsoperatoren
- Kleiner gleich: <=
- Kleiner: <
- Größer gleich: >=
- Größer: >
- Ungleich: <>, !=
- Gleich: =
Hinweis
Vergleichsoperationen werden immer zu einem Wahrheitswert (true / false) ausgewertet.
Logische Operatoren
- UND: a AND b
- ODER: a OR b
Funktionen
Funktion | Beschreibung | Beispiel |
---|---|---|
IIF(expr, arg2, arg3) | Gibt einen von zwei Werten zurück, abhängig davon, ob expr true (arg2) oder *false *(arg3) ergibt. | IIF(3>2, 3, 2) Ergebnis: 2 |
FORMAT(arg) | Wandelt den Parameter in einen Text um. | FORMAT(20231231D) Ergebnis: 31.12.2023 |
TODAY() | Gibt das aktuelle Datum zurück. | TODAY() Ergebnis: 20240312D |
Hinweis
Unterschiede in der Groß- und Kleinschreibung werden bei Funktionsnamen ignoriert.
Tabellenzugriff
Ausdruck | Beschreibung |
---|---|
@Tablename(key[, key, ...]) | Gibt den Wert des Feldes Field in der BC-Tabelle Tablename mit dem Datensatzschlüssel key zurück. |
@Location('HAUPT').Name | Gibt den Wert des Feldes Name des Datensatzes aus der Tabelle Location (mit Schlüssel 'HAUPT') zurück. |
Beispiele
Ausdruck | Ergebnis (Beispiel) | Beschreibung |
---|---|---|
Today() | 20240312D | Erstellt das aktuelle Datum. |
Today()+1 | 20240313D | Erstellt das Folgedatum zum aktuellen Datum. |
20240215D + 1 | 20240216D | Erstellt das Folgedatum für ein bestimmtes Datum (zum Beispiel 15.02.2024). |
20240106D -20240101D | 5 | Gibt die Differenz zwischen zwei Datumswerten in Tagen an. |
Name | Peter | Gibt den Wert der Spalte Name zurück. |
Name +'.'+"Name 2" | Peter.Meier | Die Werte der Spalten Name und Name 2 werden mit dem Pluszeichen (+) und einem Punkt (.) aneinandergehängt. |
IIF(3>2, 3, 2) | 3 | Da 3>2 wahr ist, wird 3 zurückgegeben. |
IIF(3<2, 3, 2) | 2 | Da 3<2 falsch ist, wird 2 zurückgegeben. |
IIF(DueDate < Today(), Today(), DueDate) | 20240312D | Gibt den späteren der beiden Datumswerte zurück. |
NetAmount | 100.0 | Gibt den Wert der Spalte NetAmount zurück. |
NetAmount*1.19 | 119.0 | Der Wert in der Spalte NetAmount wird mit 1.19 multipliziert. |
@Location('HAUPT').Name | Hauptlagerort | Holt den Datensatz mit dem Schlüssel 'HAUPT' aus der BC-Tabelle Location und liefert von diesem Datensatz den Wert des Feldes Name zurück. |
@Company().FindFirst().Name | CRONUS DE | Gibt den Mandantennamen des ersten Datensatzes des aktuellen Mandanten zurück. |