Verwendung der SourceExpr– und DestExpr-Eigenschaften
Im letzten Abschnitt haben wir besprochen, wie man Tabelleninstanzen zu einem Mapping hinzufügt. In diesem Abschnitt werden wir uns ansehen, wie man auf die Daten von Feldern in einer Tabelle zugreift. Und wie man konstante Werte und Filter verwendet.
Das Modul ermöglicht es Ihnen, Daten aus Feldern von Tabellen zu lesen, wenn es eine SourceExpr (Quellausdruck) Eigenschaft gibt. Der SourceExpr kann auch zur Angabe konstanter Werte oder zum Aufruf von Funktionen verwendet werden. Sie finden diese Eigenschaft in den Datenzeilen von Mapping des Formattyps NAV und in den Datenzeilen von Export-Mappings. Diese Eigenschaft ist aber auch für Parameter von benutzerdefinierten Funktionen und zur Erweiterung von Fehlermeldungen verfügbar. Es gibt noch weitere Optionen, auf die wir später in diesem Abschnitt eingehen werden.
Um Daten in Tabellenfelder zu schreiben, gibt es eine weitere Eigenschaft namens DestExpr (destination expression). Mit dieser Eigenschaft können Sie auch Daten anhand eines angegebenen Filters überprüfen, anstatt sie zu speichern. Auf die Einzelheiten werden wir gleich noch eingehen. Es ist wichtig zu wissen, dass Sie Daten in jedes Feld einer Tabelleninstanz schreiben können, auch wenn der Mode auf Read eingestellt ist. Beim Schreiben in eine Tabelle im Lesemodus wird die Validierungslogik von NAV aufgerufen, aber der Datensatz wird nicht verändert. Auf unseren Puffertabellen können Sie damit einen Wert für eine bestimmte Zeit im Mapping speichern. Bei anderen Tabellen hängt es von der Validierungslogik ab, ob es sicher ist, eine Tabelle im Lesemodus zur vorübergehenden Speicherung von Daten zu verwenden.
Die SourceExpr-Eigenschaft
Der Quellentyp gibt an, welche Art von Daten Sie lesen möchten. Die zulässigen Werte sind:
Ein konstanter Wert, der in das Mapping eingegeben wird.
Ein Feld aus einer Tabelleninstanz, die eine der übergeordneten Mapping dieser Mapping ist. Wenn Sie ein Summenfeld lesen wollen, müssen Sie sich außerhalb der Tabelleninstanz, aber unterhalb davon befinden.
Sie möchten Daten entweder aus einer eingebauten oder einer benutzerdefinierten Funktion lesen.
Diese Eigenschaft wurde in Anvaigo EDI Connect 4.00 hinzugefügt.
Diese Eigenschaft ist nur verfügbar, wenn der SrcType auf Const gesetzt ist. Diese Eigenschaft gibt den Datentyp des konstanten Wertes an. Sie müssen den Datentyp auswählen, um Fehler aufgrund unterschiedlicher Gebietsschemata bei der Einrichtung und während der Laufzeit zu vermeiden. In älteren Versionen musste man sicherstellen, dass das Gebietsschema während der Installation dasselbe war wie zur Laufzeit, um zu verhindern, dass z.B. Zahlen unterschiedlich interpretiert wurden.
Sie können zwischen den folgenden Datentypen wählen:
Ein konstanter Textwert.
Ein Text, der Sonderzeichen wie einen Wagenrücklauf<CR> enthalten kann. Es gibt eine Liste mit allen unterstützten Sonderzeichen.
Ein boolescher Wert, wie True oder False.
Ein Optionswert. Sie sollten den ganzzahligen Wert der Option in der Datenbank verwenden.
Ein ganzzahliger Wert (32 Bit).
Ein Dezimalwert.
Ein großer ganzzahliger Wert (64 Bit).
Der Wert enthält eine Dauer.
Der Wert ist ein Dynamics-Code-Wert (nur Großbuchstaben, nicht alle Zeichen zulässig).
Stellt einen Datumswert dar.
Stellt einen Zeitwert dar.
Stellt einen kombinierten Datums- und Zeitwert dar.
Eine Datumsformel.
Eine globale eindeutige ID (GUID).
Diese Eigenschaft ist nur verfügbar, wenn der SrcType auf Const gesetzt ist. Stellt den konstanten Wert dar, den Sie verwenden möchten.
Diese Eigenschaft ist nur verfügbar, wenn der SrcType auf Function gesetzt ist. Sie können das AssistEdit verwenden, um das Objekt und die Funktion anzugeben. Wenn die Funktion Parameter benötigt, sind diese ebenfalls SourceExpr, aber sie unterstützen keine Verschachtelung von Funktionen.
Diese Eigenschaft ist nur verfügbar, wenn der SrcType auf Field gesetzt ist. Wählen Sie die Tabelleninstanz aus, aus der die Daten gelesen werden sollen. Die Tabelle muss eine der Elterntabellen der aktuellen Mapping sein, um die Daten eines Datensatzes zu lesen. Wenn Sie Summenfelder lesen wollen, müssen Sie sich unterhalb der Tabelleninstanz befinden, aber nicht als Kind der Tabelle.
Diese Eigenschaft ist nur verfügbar, wenn der SrcType auf Field gesetzt ist. Wählt die Spalte/das Feld aus, aus der/dem Sie lesen möchten.
Sie können eine Wertumrechnung angeben, um den ausgewählten Wert in einen anderen Zielwert zu ändern. Es gibt einen Abschnitt über die Einrichtung von Wertübersetzungen.
Der Code der zu verwendenden Wertumrechnung.
Was soll geschehen, wenn der Wert nicht in der Werteübersetzung gefunden wird?
Wenn die Übersetzung fehlt, tut das Modul nichts. Es wird der Originalwert ohne Übersetzung verwendet.
Einen leeren Wert ausgeben.
Fügen Sie einen Informationsprotokolleintrag hinzu und verwenden Sie den ursprünglichen Wert.
Fügen Sie einen Warnprotokolleintrag hinzu und verwenden Sie den ursprünglichen Wert.
Brechen Sie das Mapping sofort ab und protokollieren Sie einen Fehler.
Erstellen Sie einen Fehlerprotokolleintrag und beenden Sie das Mapping nicht erfolgreich, sondern setzen Sie die Verarbeitung fort, um auch andere Fehler zu finden.
Diese Eigenschaft ist standardmäßig ausgeblendet. Sie können eine Liste zulässiger Werte angeben und Fehler erzeugen, wenn Sie versuchen, einen anderen Wert zu exportieren.
Die Liste der zulässigen Werte. Sie können entweder den AssistEdit verwenden oder die Begriffe kommagetrennt eingeben.
Was soll geschehen, wenn der Quellwert nicht in der Liste der zulässigen Werte enthalten ist?
Verwenden Sie die erweiterte Validierung nicht und ignorieren Sie alle Werte in der Liste.
Erstellen Sie einen Informationsprotokolleintrag.
Erstellen Sie einen Warnprotokolleintrag.
Brechen Sie das Mapping sofort mit einer Fehlermeldung ab.
Bei der Ausführung von Mapping einen Fehler zurückgeben, aber die Verarbeitung von Mapping fortsetzen, um auch andere Fehler zu finden.
Die DestExpr-Eigenschaft
Wählen Sie das Ziel für einen Wert. Die folgenden Werte sind gültig:
Leer bedeutet, dass der Wert ignoriert wird. Sie können dies verwenden, um Felder bei Importen zu überspringen oder um beispielsweise einen Funktionsrückgabewert zu ignorieren.
Der Wert sollte mit einem Dynamics-Filter überprüft werden. Wenn der Filter nicht übereinstimmt, wird der Wert nicht akzeptiert. Je nach Konverter führt dies zu einer Fehlermeldung oder zum Überspringen eines Teils des Mapping. Weitere Informationen über die Verwendung von Filtern für bestimmte Konverter finden Sie in der Dokumentation des jeweiligen Konverters.
Der Wert soll in ein Feld einer Tabelleninstanz in diesem Mapping geschrieben werden.
Diese Eigenschaft ist nur verfügbar, wenn der DestType auf Filter eingestellt ist. Der Dynamics-Filter, gegen den der Wert geprüft wird. Der Wert wird als Textwert für die Anwendung des Filters interpretiert. Ein typisches Beispiel wäre „BY|IV“, um die Werte „BY“ und „IV“ zuzulassen.
Diese Eigenschaft ist nur verfügbar, wenn der DestType auf Field gesetzt ist. Wählt die Tabelleninstanz aus, in die der Wert geschrieben werden soll. Die Tabelleninstanz muss eine der Elterntabellen der aktuellen Mapping sein.
Diese Eigenschaft ist nur verfügbar, wenn der DestType auf Field gesetzt ist. Der Feldname/Spaltenname des Zielfelds in der Tabelle.
Diese Eigenschaft ist nur verfügbar, wenn der DestType auf Field gesetzt ist. Diese Eigenschaft ist nur als erweiterte Eigenschaft verfügbar. Wenn Sie diese Eigenschaft auf False setzen, wird der Microsoft Dynamics 365 Business Central-Validierungs-Trigger für dieses Feld übersprungen.
Seien Sie bei der Verwendung von False sehr vorsichtig. Sie sollten die Validierung nur nach Rücksprache mit einem Programmierer deaktivieren. Sie sollten sie für keine der Standard-Dynamics-Tabellen deaktivieren, es sei denn, Sie wissen wirklich, was Sie tun. Sie können Microsoft Dynamics 365 Business Central unbrauchbar machen, indem Sie den Validierungscode überspringen.
Diese Eigenschaft ist nur verfügbar, wenn der DestType auf Field gesetzt ist und Sie den CHECK / NAV / PREPARE / PROCESS-Konverter verwenden. Weitere Informationen finden Sie auf der Konverter-Seite.
