Hay una codeunit que se encarga de ello, se llama DimensionManagement(408).
1. Copia la dimensión a un rec temporal, por ejemplo: TempDimSetEntry
OldDimSetID := “Dimension Set ID”;
DimMgt.GetDimensionSet(TempDimSetEntry,OldDimSetID); //Obtiene lista de las dimensiones existentes.
2. Inserta la nueva dimensión al rec temporal que te has creado antes.
3. Crea una nueva lista de dimensiones
NewDimSetID := DimMgt.GetDimensionSetID(TempDimSetEntry); // Coges la nueva lista de dimensiones
4. Comparas y asignas las dimensiones
IF OldDimSetID <> NewDimSetID THEN BEGIN
“Dimension Set ID” := NewDimSetID; //assign new DimSetID
DimMgt.UpdateGlobalDimFromDimSetID(“Dimension Set ID”,”Shortcut Dimension 1 Code”,”Shortcut Dimension 2 Code”);
END;