Når du lukker et vindue, efter du har redigeret et sæt dimensioner, evaluerer Microsoft Dynamics NAV, om det redigerede sæt dimensioner findes. Hvis det ikke findes, oprettes der et nyt sæt, og dimensionens kombinations-ID returneres.

Oprettelse af søgetræ

Tabel 481 Trænode for dimensionsgruppe bruges, når Microsoft Dynamics NAV evaluerer, om der allerede findes et sæt dimensioner i tabel 480 Dimensionsgruppepost. Vurderingen udføres ved rekursivt at gennemgå søgetræet med start på det øverste niveau, der er nummereret 0. Det øverste niveau 0 repræsenterer en dimensionsgruppe uden dimensionsgruppeposter. Underordnede til denne dimensionsgruppe repræsenterer dimensionsgrupper med kun én dimensionsgruppepost. Underordnede til disse dimensionsgrupper repræsenterer dimensionsgruppe med to underordnede, osv.

Eksempel 1

I følgende diagram præsenteres et søgetræ med seks dimensionsgrupper. Kun den distinkte dimensionsopsætningspost vises i diagrammet.

Dimension tree structure

I følgende tabel beskrives en komplet liste over dimensionsgruppeposter, der udgør hver dimensionsgruppe.

Dimensionsopsætninger Dimensionsgruppeposter

Gruppe 0

Ingen

Gruppe 1

AREA 30

Gruppe 2

AREA 30, DEPT ADM

Gruppe 3

AREA 30, DEPT PROD

Gruppe 4

AREA 30, DEPT ADM, PROJ VW

Gruppe 5

AREA 40

Gruppe 6

AREA 40, PROJ VW

Eksempel 2

Dette eksempel viser, hvordan Microsoft Dynamics NAV evaluerer, om en dimensionsgruppe, der består af dimensionsgruppeposterne AREA 40, DEPT PROD, findes.

Først kontrollerer Microsoft Dynamics NAV, om AREA 40 findes som underordnet til overordnet ID 0. Microsoft Dynamics NAV finder en overensstemmelse i tabellen Trænode for dimensionsgruppe. Det er markeret som dimensionsgruppe 5 i diagrammet. Når Microsoft Dynamics NAV har fundet en forekomst, fortsættes der ved at kontrollere, om AFD PROD findes som underordnet til dimensionsgruppe 5. Da det ikke er tilfældet, opretter Microsoft Dynamics NAV en ny dimensionsgruppe ved at bruge det ubrugte ID 7. Den nye dimensionsgruppe 7 indeholder dimensionsgruppeposterne AREA 40 og DEPT PROD. Microsoft Dynamics NAV opdaterer også tabellen Trænode for dimensionsgruppe for at sikre, at søgetræet ser ud som i følgende diagram. Dermed bliver dimensionsgruppe 7 underordnet dimensionsgruppe 5.

NAV2013_Dimension_Tree_Example 2

Søgning efter dimensionsgruppe-id

På et konceptuelt niveau kombineres og bruges Overordnet id, Dimension og Dimensionsværdi i søgetræet som den primære nøgle, fordi Microsoft Dynamics NAV gennemgår træet i samme rækkefølge som dimensionsposterne. Funktionen GET (post) bruges til at søge efter dimensionsgruppe-id. Følgende kodeeksempel viser, hvordan du kan finde dimensionsgruppe-id, når der er tre dimensionsværdier.

 Kopier kode
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);

Men for at bevare muligheden for, at Microsoft Dynamics NAV kan omdøbe en dimension og dimensionsværdi, er tabel 348 Dimensionsværdi udvidet med et heltalsfelt af Dimensionsværdi-id. Denne tabel konverterer feltparret Dimension og Dimensionsværdi til en heltalsværdi. Heltalsværdien ændres ikke, når du omdøber dimensionen og dimensionsværdien.

 Kopier kode
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);

Se også