Nicht alle alten NAV Versionen führen das Feld Dimension Set ID. Möchte man dieses Feld im Zielsystem befüllen, reicht ein kleiner Eintrag in der Migrationskonfiguration.
In der Liste der zu migrierenden Tabellen existiert das Feld Dimension Set ID Field No. Wird eine solche in der Konfiguration angegeben, passt DataMigrate Pro die Datenabfrage an. Zuvor muss jedoch eine Liste der Dimensionen Verwendungen je Tabelle ermittelt werden. Hierzu ruft man zunächst die Form bzw. Page BC Dimensions und startet die Analyse die u.a. Action

Wenn wir z.B. wollen, dass die Dimension Set ID für die Tabelle 17 gesetzt wird, muss in der Übersicht die entsprechende Feldnummer 480 eingetragen werden.

Diese Anpassung stellt sicher, dass die in Business Central die korrekte Dimension Set ID hinterlegt wird.
Für die an der Technik Interessierten Besucher – hier der generierte SQL-Befehl:
;WITH T AS
(
SELECT ROW_NUMBER() OVER(ORDER BY T.[Entry No_]) [RowNumber]
, T.[Entry No_]
, T.[G_L Account No_]
, ...
FROM [Demo Database NAV (6-0)].dbo.[CRONUS AG$G_L Entry] T WITH (NOLOCK)
)
, D AS
(
SELECT T.[Entry No_]
, MAX(COALESCE(CASE WHEN [Dimension Code]='BEREICH' THEN [Dimension Value Code] ELSE '' END,'')) [DimensionValue(BEREICH)]
, MAX(COALESCE(CASE WHEN [Dimension Code]='DEBITORENGRUPPE' THEN [Dimension Value Code] ELSE '' END,'')) [DimensionValue(DEBITORENGRUPPE)]
, MAX(COALESCE(CASE WHEN [Dimension Code]='EINKÄUFER' THEN [Dimension Value Code] ELSE '' END,'')) [DimensionValue(EINKÄUFER)]
, MAX(COALESCE(CASE WHEN [Dimension Code]='KOSTENSTELLE' THEN [Dimension Value Code] ELSE '' END,'')) [DimensionValue(KOSTENSTELLE)]
, MAX(COALESCE(CASE WHEN [Dimension Code]='KOSTENTRÄGER' THEN [Dimension Value Code] ELSE '' END,'')) [DimensionValue(KOSTENTRÄGER)]
, MAX(COALESCE(CASE WHEN [Dimension Code]='UNTERNEHMENSGRUPPE' THEN [Dimension Value Code] ELSE '' END,'')) [DimensionValue(UNTERNEHMENSGRUPPE)]
, MAX(COALESCE(CASE WHEN [Dimension Code]='VERKÄUFER' THEN [Dimension Value Code] ELSE '' END,'')) [DimensionValue(VERKÄUFER)]
, MAX(COALESCE(CASE WHEN [Dimension Code]='VERKAUFSKAMPAGNE' THEN [Dimension Value Code] ELSE '' END,'')) [DimensionValue(VERKAUFSKAMPAGNE)]
FROM [Demo Database NAV (6-0)].dbo.[CRONUS AG$Ledger Entry Dimension] TGROUP BY T.[Entry No_]
)
SELECT T.*, [DimensionValue(BEREICH)]
,[DimensionValue(DEBITORENGRUPPE)]
,[DimensionValue(EINKÄUFER)]
,[DimensionValue(KOSTENSTELLE)]
,[DimensionValue(KOSTENTRÄGER)]
,[DimensionValue(UNTERNEHMENSGRUPPE)]
,[DimensionValue(VERKÄUFER)]
,[DimensionValue(VERKAUFSKAMPAGNE)]
, 0 [Type_of_Change]
FROM T
JOIN D ON T.[Entry No_]=D.[Entry No_]
WHERE T.[RowNumb....