Wenn Sie ein Fenster schließen, nachdem Sie einen Satz von Dimensionen bearbeitet haben, prüft Microsoft Dynamics NAV, ob die bearbeitete Zusammenstellung von Dimensionen vorhanden ist. Wenn der Satz nicht vorhanden, wird ein neuer Satz erstellt und die Dimensionskombination-ID wird zurückgegeben.

Erstellungs-Suchstruktur

Tabelle 481 Dimensionssatz-Strukturknoten wird verwendet, wenn Microsoft Dynamics NAV prüft, ob ein Satz von Dimensionen bereits in Tabelle 480 Dimensionssatzposten existiert. Die Bewertung wird ausgeführt, indem rekursiv die Suchstruktur durchlaufen wird, beginnend an der obersten Ebene mit der Nummer 0. Diese Ebene repräsentiert einen Dimensionssatz ohne Dimensionssatzposten. Die untergeordneten Elemente dieses Dimensionssatzes stellen Dimensionssätze mit nur einem Dimensionssatzposten dar. Die untergeordneten Elemente dieser Dimensionssätze stellen Dimensionssätze mit zwei untergeordneten Elementen dar usw.

Beispiel 1

Das folgende Diagramm stellt eine Suchstruktur mit sechs Dimensionssätzen dar. Nur der unterscheidene Dimensionssatzposten wird im Diagramm angezeigt.

Die folgende Tabelle enthält eine vollständige Liste der Dimensionssatzposten, die jeden Dimensionssatz ergeben.

Dimensionssätze Dimensionssatzposten

0 Ausgewählt

Keine

1 Ausgewählt

AREA 30

2 Ausgewählt

AREA 30, DEPT ADM

3 Ausgewählt

AREA 30, DEPT PROD

4 Ausgewählt

AREA 30, DEPT ADM, PROJ VW

5 Ausgewählt

AREA 40

6 Ausgewählt

AREA 40, PROJ VW

Beispiel 2

In diesem Beispiel wird gezeigt, wie Microsoft Dynamics NAV bestimmt, ob ein Dimensionssatz, der aus den Dimensionssatzposten AREA 40, DEPT PROD besteht, vorhanden ist.

Zuerst überprüft Microsoft Dynamics NAV, ob AREA 40 als untergeordnetes Element der übergeordneten ID 0 existiert. Microsoft Dynamics NAV sucht einen Treffer in der Tabelle Dimensionssatz-Strukturknoten. Der Treffer ist als Dimensionssatz 5 im Diagramm markiert. Nachdem Microsoft Dynamics NAV den Treffer gefunden hat, wird mit der Prüfung fortgefahren, ob DEPT PROD als untergeordnetes Element des Dimensionssatzes 5 vorhanden ist. Da dies nicht der Fall ist, erstellt Microsoft Dynamics NAV einen neuen Dimensionssatz unter Verwendung der nicht verwendeten ID 7. verwendet. Der neue Dimensionssatz 7 enthält die Dimensionssatzposten AREA 40 und DEPT PROD. Microsoft Dynamics NAV Außerdem wird die Tabelle Dimensionssatz-Strukturknoten aktualisiert, um sicherzustellen, dass die Suchstruktur wie das folgende Diagramm aussieht. Daher wird Dimensionssatz 7 zu einem untergeordneten Element des Dimensionssatzes 5.

Suchen der Dimensionssatz-ID

Auf konzeptioneller Ebene werden Übergeordnete Kennung, Dimension und Dimensionswert, in der Suchstruktur, als Primärschlüssel kombiniert und verwendet, da Microsoft Dynamics NAV die Struktur in derselben Reihenfolge wie die Dimensionsposten durchläuft. Die GET-Funktion (Datensatz) wird verwendet, um nach der Dimensionssatz-ID zu suchen Das folgende Codebeispiel zeigt, wie Sie die Dimensionssatz-ID finden, wenn es drei Dimensionswerte gibt.

 Code kopieren
DimSet."Parent ID" := 0;  // 'root'
IF UserDim.FINDSET THEN
  REPEAT
      DimSet.GET(DimSet."Parent ID",UserDim.DimCode,UserDim.DimValueCode);
  UNTIL UserDim.NEXT = 0;
EXIT(DimSet.ID);

Um jedoch die Möglichkeit von Microsoft Dynamics NAV zu gewährleisten, eine Dimension und einen Dimensionswert umzubenennen, wird die Tabelle 348 Dimensionswert mit einem ganzzahligen Feld aus Dimensionswert-ID erweitert. Diese Tabelle wandelt die Feldpaare Dimension und Dimensionswert zu einem ganzzahligen Wert um. Wenn Sie die Dimension sowie den Dimensionswert umbenennen, wird der ganzzahlige Wert nicht geändert.

 Code kopieren
DimSet."Parent ID" := 0;  // 'root'
IF UserDim.FINDSET THEN
  REPEAT
      DimSet.GET(DimSet.ParentID,UserDim."Dimension Value ID");
  UNTIL UserDim.NEXT = 0;
EXIT(DimSet.ID);

Siehe auch