Mapping-Codeunits
Mapping-Codeunits sind Microsoft Dynamics 365 Business Central-Objekte, die Quellcode ausführen können. Dadurch ist eine Schnittstelle zu eigenem Quellcode möglich. Für eine Mappingzeile können beliebig viele Codeunits hinterlegt werden.
Mapping-Codeunits öffnen
- Wählen Sie Codeunits auf dem Inforegister Zeilen der Mappingversionskarte, um die Seite Codeunits zu öffnen.
- Füllen Sie bei Bedarf die Felder auf der Seite Codenuits aus. Fahren Sie über ein Feld, um eine Kurzbeschreibung zu lesen.
Zusätzliche Informationen zu Parametern
Sie können zusätzliche Parameter für DIS-Codeunits definieren.
Technisch wird ein Codeunit.RUN ausgeführt. Codeunit 5100957, DIS - Mapping Codeunit Mgt. ist besonders, da zusätzliche Parameter übergeben werden können. Wählen Sie die Aktion DIS-Codeunit festlegen, um diese Codeunit automatisch im Feld Codeunit-Nr. in der aktuellen Zeile einzugeben. Folgende Parameter stehen zur Verfügung:
REOPEN – Dieser Parameter setzt den Status eines Microsoft Dynamics 365 Business Central-Belegs auf Offen. Der Datenspeicher der Mappingzeile muss entweder Sales Header oder Purchase Header sein.
POST – Dieser Parameter bucht den Microsoft Dynamics 365 Business Central-Beleg. Vor der Buchung wird ein COMMIT ausgeführt, im Anschluss wird für jede Rechnungs- und Lieferzeile eine Änderungsart = Einfügen ausgeführt. Der Datenspeicher der Mappingzeile muss entweder Sales Header, Purchase Header oder Service Header sein. Für Service Header kann die Art der Buchung über die Variablen Ship, Invoice und Consume, jeweils mit den konstanten Werten true oder false, gesteuert werden.
ITEMTRACKING – Dieser Parameter liest bzw. schreibt die Artikelverfolgung für einen Beleg oder eine Zeile.
Wird der Parameter auf eine Mappingzeile für Verkaufskopf,Einkaufskopf, Servicekopf oder einen der entsprechend gebuchten Belegköpfe ausgeführt, schreibt er die komplette Artikelverfolgung eines Microsoft Dynamics 365 Business Central-Belegs in den an der Mappingversion hinterlegten Datenspeicher im Feld Artikelverfolgung Datenspeichercode. Die Datenspeicherart sollte Tabelle sein, mit Auswahl Temporäre Tabelle und Tabellennr. 336 (Tracking Specification).Hinweis
Der (temporäre) Datenspeicher muss anschließend exportiert werden.
Um die Artikelverfolgung zu lesen, muss der Parameter für eine Mappingzeile mit Datenspeicherart = Tabelle für Sales Line oder Purchase Line ausgeführt werden. Eine temporäre Tabelle mit Tabellennr. 336 sollte zuvor mit allen relevanten Informationen gefüllt werden. Die Zuweisung der temporären Tabelle erfolgt über das Feld Artikelverfolgung Datenspeichercode an der Mappingversion.
DIMSETID – Dieser Parameter kann für eine Mappingzeile mit Datenspeicherart temporäre Tabelle und Tabellennr. 480 (Dimension Set Entry) genutzt werden. Die Dimension Set ID wird aus den Einträgen der Tabelle berechnet und in die Variable DimSetId geschrieben. Anschließend werden alle Datensätze der temporären Tabelle gelöscht.
SETENTRYRECORD – Dieser Parameter schreibt den aktuellen Datensatz der Microsoft Dynamics 365 Business Central-Tabelle in einen Mappingposten, und damit die Partner-Nachricht. Wählen Sie die Aktion Dokument öffnen in den Gesendeten/Empfangenen Nachrichten aus, um die Nachricht zu finden und zu öffnen.
BREAKLOOP – Dieser Parameter bricht die aktuelle Schleife am Ende der Zeilenaktion ab. Dadurch kann die Anzahl der Datensätze pro XML oder JSON verwaltet werden (siehe Anzahl der Datensätze pro XML-Dokument begrenzen).
COMMIT – Dieser Parameter führt einen COMMIT aus, der Datenbanktransaktionen für Microsoft Dynamics 365 Business Central auch im Falle eines Fehlers speichert.
ERROR – Dieser Parameter löst einen Fehler bei der Mappingverarbeitung aus. Die Fehlermeldung wird durch die konstante Variable ErrorText definiert (siehe Mappingvariablen). Wenn ein Fehler auftritt, wird die Verarbeitung des aktuellen Datensatzes angehalten, und der Fehler wird in den Mappingposten angezeigt. Der Fehler wird nur ausgelöst, wenn die Variable ErrorText einen Wert hat. Diese Variable wird automatisch gefüllt, wenn ein Buchungsfehler im Rahmen der Verwendung des POST Parameters auftritt.
Benutzerdefinierte Codeunits - Benutzerdefinierte Codeunits können auch über Parameter aufgerufen werden. Wenn in der Konfiguration ein Parameter gesetzt ist, muss die Codeunit die Tabelle 5100965, DIS - Mapping Codeunit als SourceTable-Eigenschaft haben. Das Feld ist jetzt auf der Seite bearbeitbar, nicht nur, wenn die Standard-Codeeinheit ausgewählt ist. Standardmäßig zeigt der Lookup nur die unterstützten Parameter an.
Neben den genannten Parametern wird ein Event OnBeforeCodeunitParameter(Rec) in der Codeunit DIS - Mapping Codeunit Mgt. aufgerufen. Eigener Quellcode kann hinzugefügt werden, um eigene Berechnungen mit eigenen Parametern durchzuführen.
Feedback
Senden Sie Feedback für diese Seite. (Beachten Sie, dass diese Umfrage auf Englisch ist.)