1. Strukturen in Business Central vorbereiten
Zunächst werden in Business Central die Zielstrukturen erstellt oder angepasst. Diese Tabellen sollen später die Inhalte aus dem alten NAV-System aufnehmen – inklusive neuer Felder oder angepasster Tabellen, die für das neue System erforderlich sind.

Beispielstruktur in NAV
Auszug Provisionsposten.Table.al
namespace Customer.Provision;
using Microsoft.Sales.Setup;
using Microsoft.Sales.Document;
using Microsoft.Inventory.Item;
using Microsoft.Sales.Customer;
table 70103 "Provisionsposten IOI"
{
//DrillDownFormID = Form50006;
//LookupFormID = Form50006;
fields
{
field(1; "Entry No."; Integer)
{
Caption = 'lfd. Nr.';
}
field(8; Buchungsdatum; Date)
{
}
field(9; "Document Type"; Option)
{
Caption = 'Document Type';
OptionCaption = 'Quote,Order,Invoice,Credit Memo,Blanket Order,Return Order';
OptionMembers = Quote,"Order",Invoice,"Credit Memo","Blanket Order","Return Order";
}
field(10; "Document No."; Code[20])
{
Caption = 'Document No.';
}2. Strukturen in Mapping-Strukturen einlesen
Anschließend werden diese BC-Strukturen in das Mapping-System eingelesen. Dort dienen sie als Grundlage für die Zuordnung der Quell- zu den Zieltabellen und -feldern.

3. Mapping-Strukturen nach NAV zurückspielen und Zuordnung konfigurieren
Die eingelesenen Strukturen werden dann nach NAV übertragen.
DataMigratePro -t loadconfigurationDort erfolgt die Konfiguration der Beziehungen: Welche Tabelle aus NAV entspricht welcher Tabelle in BC? Welche Felder sollen übertragen werden, welche sind Schlüssel?
4. Datenübertragung nach BC starten
Mit dieser vollständigen Zuordnung kann die Übertragung der Inhalte beginnen. Die Daten aus NAV werden entsprechend der definierten Beziehungen und Mappings automatisch in die neuen Strukturen übertragen.
DataMigratePro -t putdata -s 50001 -d 701035. Alternativer Vorgang
Die Konfiguration der Übertragung kann auch direkt über Mapping-Dateien erfolgen. Hier ein Auszug zum obigen Beispiel
{
"Provisionsposten": [
{
"FieldNo": 1,
"FieldName": "Entry No.",
"MappedName": "Entry No_",
"Validate": true
},
{
"FieldNo": 8,
"FieldName": "Buchungsdatum",
"MappedName": "Buchungsdatum",
"Validate": true
},
{
"FieldNo": 9,
"FieldName": "Document Type",
"MappedName": "Document Type",
"Validate": true
},
{
"FieldNo": 10,
"FieldName": "Document No.",
"MappedName": "Document No_",
"Validate": true
},
.
.
.
],
"ValidateOnInsert": true,
"ValidateOnModify": true,
"ValidateOnDelete": true
}Mit dieser Json sind die Schritte 1. – 4. nicht notwendig. Mit folgendem Befehl werden die Daten dann übertragen:
DataMigratePro -t putdata -s 50001 -d 70103 -m pfad/zur/Mapping/Datei.json
Statusmeldung während der Übertragung