Von Navision zu Business Central – Wie Inhalte angepasster und neuer Tabellen übertragen werden

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 loadconfiguration

Dort 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 70103

5. 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