Datenbasen einrichten
Wenn Sie Änderungen an Datenbasen aufzeichnen möchten, müssen Sie Datenbasen einrichten.
Eine Datenbasiskarte erstellen
- Wählen Sie das Symbol aus, geben Sie Datenbasen - Data Integration Framework ein und wählen Sie dann den entsprechenden Link.
- Wählen Sie die Aktion Neu aus.
- Füllen Sie bei Bedarf die Felder auf der Seite Datenbasiskarte aus. Fahren Sie über ein Feld, um eine Kurzbeschreibung zu lesen.
Spezifische Felder auf dem Inforegister Allgemein
Der Bereich Mapping Nachbearbeitung auf dem Inforegister Allgemein beschreibt das Verhalten von unverarbeiteten und verarbeiteten Posten.
Die Optionen für Unverarbeitete Posten sind:
- Erstellt – Speichert die unverarbeiteten Posten als Erstellt.
- Reserviert – Speichert die unverarbeiteten Posten als Reserviert.
- In Verarbeitung – Speichert die unverarbeiteten Posten als In Verarbeitung.
- Verarbeitet – Setzt beim Speichern den Status auf Verarbeitet; Standardoption.
- Veraltet – Speichert die unverarbeiteten Posten als Veraltet.
Die Optionen für Verarbeitete Posten bei Fehler sind:
- Erstellt – Der Status des Postens wird wieder auf Erstellt gesetzt; Standardoption.
- Reserviert – Der Status des Postens wird wieder auf Reserviert gesetzt.
- In Verarbeitung – Der Status des Postens wird wieder auf In Verarbeitung gesetzt.
- Verarbeitet – Belässt den Status beim Speichern auf Verarbeitet.
- Veraltet – Der Status ändert sich auf Veraltet.
Spezifische Felder auf dem Inforegister Partner
Für einen Partner können unterschiedliche Aktionen, wie Einfügen, Ändern oder Löschen für Daten, aufgezeichnet werden. Dies gilt nur für Tabellen entsprechend der Datenbasis. Die Einstellungen können im Inforegister Partner vorgenommen werden.
Das Kontrollkästchen Events aufzeichnen gibt an, ob eine Reihe von Änderungen aufgezeichnet werden, die von Microsoft Dynamics 365 Business Central-Ereignissen abgefangen und aufgezeichnet werden, zum Beispiel Funktionsaufrufe. Im Standard von COSMO Data Integration Framework sind folgende Events integriert:
- Codeunit 80, OnAfterPostSalesDoc – Sales Invoice Header and Sales Shipment Header
- Codeunit 90, OnAfterPostPurchaseDoc – Purchase Invoice Header and Purchase Receipt Header
- Codeunit 414, OnAfterReleaseSalesDoc – Sales Header
- Codeunit 415, OnAfterReleasePurchaseDoc – Purchase Header
Eigener Quellcode kann durch Aufruf der Funktion LogEvent(<Datensatz>) der Codeunit 5100915, DIS – Record Pool Mgt. ebenfalls Datenbasisposten erstellen.
Das Feld Autom. BreakLoop nach Anzahl Datensätzen führt automatisch einen BreakLoop aus, wenn die Anzahl der Datensätze in der Schleife eines Mappings erreicht ist. Bei einem Wert von Null (0) wird überhaupt kein BreakLoop ausgeführt. Verwenden Sie das Feld Reservierungsgrenze in Kombination, um festzulegen, wie viele Datenbasisposten vor der Ausführung der Zuordnung reserviert werden. Bei einem Wert von Null (0) werden alle verfügbaren Einträge reserviert. Der Wert sollte gleich oder höher als die automatische BreakLoop-Grenze sein.
Spezifische Felder auf dem Inforegister Posten
Datenbasisposten sind aufgezeichnete Änderungen an Daten für einen Partner. Für jede Art der aufzuzeichnenden Änderung (Einfügen, Löschen, …) wird ein Datenbasisposten erstellt. Wenn ein Datensatz geändert wird und für diesen bereits ein unverarbeiteter Datenbasisposten (Status = Erstellt) existiert, wird dieser mit der neuen Änderungsart überschrieben und aktualisiert. Für jeden Datensatz existiert somit maximal ein unverarbeiteter Posten für einen Partner.
Diese Einstellungen können im Inforegister Posten vorgenommen werden.
Verarbeitete Datenbasisposten können entweder manuell gelöscht werden oder über die Aufgabenwarteschlange durch einen Posten der Codeunit DIS – Sequence Adapter. Weitere Informationen finden Sie unter Automatisierung.
Wird ein Mapping ausgeführt, werden alle Datenbasisposten für das Mapping und den Partner reserviert (Status = Reserviert). Die reservierten Posten werden temporär im Mapping vorgehalten, und es öffnet sich ein Dialogfeld, das angibt Datenbasis wird verarbeitet. Während der Verarbeitung des Mappings erhalten alle durchlaufenen Posten zuerst den Status = In Verarbeitung. Nach Bearbeitung aller eingerückten Mappingzeilen wird der Status letztlich auf Verarbeitet gesetzt. Am Ende eines Mappings werden alle Änderungen an die reservierten Datenbasisposten übertragen, und es öffnet sich ein Dialogfeld, das angibt Datenbasis wird gespeichert.
Wenn während der Verarbeitung eines Mappings ein Fehler auftritt, entscheidet die Einrichtung im Feld Verarbeitete Posten bei Fehler (auf der Seite Datenbasiskarte), ob die verarbeiteten Posten auf den Status Erstellt oder Verarbeitet gesetzt werden. Es wird eine Benachrichtigung geöffnet, die Fehler nur einmal bei der Verarbeitung in einer Sequenz anzeigt. Microsoft Dynamics 365 Business Central führt bei einem Fehler ein Rollback der geänderten Datensätze aus.
Nach jedem Durchlauf eines Mappings werden alle unverarbeiteten Posten entsprechend der Einstellung im Feld Unverarbeitete Posten auf den Status Verarbeitet oder Erstellt gesetzt.
Datenbasisposten erstellen
- Wählen Sie die Aktion Datenbasisposten erstellen aus, um den Datenbasisposten Erstellen Assistent zu öffnen.
- Suchen Sie das Feld Tabellenfilter und verwenden Sie die Schaltfläche Assist edit, um die Tabelle der Datenbasis zu filtern. Die Anzahl Datensätze zeigt die Anzahl der gefilterten Datensätze in der Tabelle an, die in den nächsten Schritten verwendet werden können.
- Geben Sie im Feld Datenbasisfilter den Datenbasiscode für die Datenbasisposten ein. Lassen Sie dieses Feld leer, um die Aktion Datensatz (Änderungsart) für die Tabelle und damit alle verfolgten Datenbasisposten zu verarbeiten.
- Legen Sie im Feld Datenbasis-Partnerfilter die Datenbasis-Partner für die Datenbasisposten als Filterwert fest. Lassen Sie dieses Feld leer, um die Aktion Datensatz (Änderungsart) für alle zugehörigen Partner in der Datenbasis zu verarbeiten.
- Wählen Sie das Feld Änderungsart und wählen Sie die gewünschte Änderungsart für die Datenbasisposten aus den verfügbaren Optionen aus:
- Datenbankeinfügung - Simuliert, dass ein Datensatz erstellt wird.
- Datenbankänderung - Simuliert, dass ein Datensatz geändert wird.
- Datenbanklöschung - Simuliert, dass ein Datensatz gelöscht wird.
- Datenbankumbenennung - Simuliert eine Änderung des Primärschlüssels des Datensatzes.
- Codeunit-Ereignis - Simuliert ein Änderungsereignis für den Datensatz.
- Geben Sie im Feld Erstellung erzwingen an, ob die Datenbasisposten unabhängig von einer Überprüfung der Datenbasis erstellt oder aktualisiert werden.
- Legen Sie im Feld Ist Mapping fest, ob die Datenbasisposten als Teil einer Mapping-Ausführung erstellt werden.
- Wählen Sie Weiter, um zur nächsten Seite des Assistenten zu gelangen.
- Auf der folgenden Seite sehen Sie alle gefilterten Datensätze. Nutzen Sie die verfügbaren Aktionen, um die Datensätze auszuwählen oder abzuwählen, für die die gewählte Änderung erfasst werden soll. Nachdem Sie Ihre Auswahl getroffen haben, wählen Sie Weiter, um zur nächsten Seite des Assistenten zu gelangen.
- Wählen Sie nochmals Weiter, um zur letzten Seite des Assistenten zu navigieren. Das Feld Datenbasisposten zeigt die Anzahl der erstellten oder aktualisierten Datenbasisposten an.
Datenbasis Einstellungen verstehen
Um eine höhere Performance zu erreichen, werden die Einstellungen der Datenbasispartner für jede Sitzung zwischengespeichert. Nach Änderung einer Datenbasis oder eines Datenbasispartners ist es daher ratsam, alle Clients neu zu starten. Alternativ kann über die Aktion Datenbasen-Protokollierungscache zurücksetzen in der Data Integration Framework - Einrichtung der Cache für den aktuellen Client geleert werden.
Bei Tabellen mit einem Primärschlüssel, der aus zwei oder mehr Feldern besteht, von denen ein Feld die Eigenschaft AutoIncrement = true hat, erfolgt die automatische Erhöhung nach dem Trigger OnDatabaseOnAfterInsert. Daher ist es nicht möglich, den erhöhten Feldwert auf eine allgemeine Weise zu erfassen. Der Feldwert und die Datensatz-ID des Datenbasispostens werden 0 sein. Abonnieren Sie manuell den Trigger OnAfterInsertEvent dieser Tabelle und protokollieren Sie eine Änderungsart = Codeunit-Ereignis, um das Einfügen von Datensätzen zu erfassen.
Verwenden Sie den Datenbasis-Aufzeichner, um Einblicke in den Erstellungsprozess von Datenbasisposten zu erhalten. Dies hilft bei der Fehlersuche, warum ein Posten möglicherweise nicht erstellt wurde.
Datenbasis-Aufzeichner
Mit Hilfe des Datenbasis-Aufzeichners können Sie die Änderungen und Entscheidungen des Datenbasis-Managements aufzeichnen. Die Seite veranschaulicht, was in der Codeeinheit der Datenbasis passiert ist, um festzustellen, ob ein Eintrag erstellt oder geändert wurde oder warum die Validierung eines Eintrags fehlgeschlagen sein könnte.
- Wählen Sie das Symbol aus, geben Sie Datenbasis-Aufzeichner - Data Integration Framework ein und wählen Sie dann den entsprechenden Link.
- Wählen Sie die Aktion Start, um die Aufzeichnung zu starten. Die Seite muss während der Aufzeichnung geöffnet bleiben. Wählen Sie das Symbol Diese Seite in einem neuen Fenster öffnen in der oberen rechten Ecke der Seite, um die Seite in einem neuen Fenster zu öffnen.
- Fahren Sie mit dem Prozess fort, den Sie aufzeichnen möchten. In der Zwischenzeit werden alle Änderungen und Entscheidungen des Datenbasis aufgezeichnet.
- Wählen Sie im neuen Fenster die Aktion Stopp, um die Aufzeichnung zu beenden. Auf der Seite werden alle Aktionen der Reihe nach aufgelistet.
Wählen Sie die Aktion Tabellentrigger-Cache anzeigen, um die Tabellentrigger anzuzeigen, die Dynamics 365 Business Central aus Performancegründen zwischengespeichert hat.
Detaillierte Informationen zur Protokollierung von Datenbasisposten
Die Art und Weise, wie Datenbasisposten erstellt/verändert/gelöscht werden können, wird wie folgt beschrieben:
- Beim Einfügen eines Datensatzes werden frühere Posten vom Typ Einfügen/Ändern/Ereignis nicht geändert. Nur ein Umbenennen-Posten erzeugt einen neuen Einfügen-Posten. Alle Löschen-Posten sind danach veraltet.
- Beim Löschen eines Datensatzes werden frühere Einfügen-Posten veraltet. Vorherige Umbenennen-Posten bleiben unangetastet und es wird ein neuer Löschen-Posten erstellt. Frühere Posten vom Typ Ändern/Löschen/Ereignis werden zu einem Löschen-Posten aktualisiert.
- Beim Umbenennen eines Datensatzes werden frühere Einfügen- und Umbenennen-Posten auf die neue Datensatz-ID aktualisiert, während bestehende Löschen-Posten veraltet sind. Vorherige Ändern- oder Ereignis-Posten sind veraltet, und es werden zwei neue Posten erstellt: ein Umbenennen-Posten und dann ein Ändern-Posten.
Einige zusätzliche Status-Handhabungsinformationen für Datenbasisposten bei Änderungen an Datensätzen:
- Wenn ein Datensatz gelöscht wird und das Kontrollkästchen Löschen aufzeichnen nicht aktiviert ist, werden alle entsprechenden Datenbasisposten mit Status = Erstellt auf Status = Veraltet gesetzt. Diese Posten werden bei der nächsten Mapping-Verarbeitung nicht geladen.
- Wenn das Kontrollkästchen Löschen aufzeichnen im Inforegister Datenbasispartner aktiviert ist, werden alle entsprechenden Posten mit Änderungsart = Einfügen oder Ereignis in Status = Veraltet geändert. Andere Posten (Status = Ändern, Umbenennen und Löschen) aktualisieren die aktuellen Posten-Felder.
- Wenn eine Umbenennung aufgezeichnet wurde, wird bei weiteren Änderungen immer ein neuer Datenbasisposten erstellt, um den Umbenennungsposten zu speichern.
Feedback
Senden Sie Feedback für diese Seite. (Beachten Sie, dass diese Umfrage auf Englisch ist.)