När du stänger ett fönster när du har redigerat en uppsättning med dimensioner utvärderar Microsoft Dynamics NAV om den redigerade uppsättningen med dimensioner finns. Om uppsättningen inte finns skapas en ny uppsättning och dimensionskombinationens ID returneras.

Bygga sökträd

Tabell 481 Trädnod för dimensionsuppsättning används när Microsoft Dynamics NAV utvärderar om en dimensionsuppsättning redan finns i tabell 480 Dimensionsuppsättnings transaktion. Utvärderingen utför genom att återkommande korsa sökträdet med början på högsta nivån, med nummer 0. Den översta nivån 0 representerar en dimensionsuppsättning utan dimensionsuppsättningstransaktioner. De underordnade uppsättningarna till denna dimensionsuppsättning representerar dimensionsuppsättningar med endast en dimensionsuppsättningstransaktion. De underordnade uppsättningarna till dessa dimensionsuppsättningar representerar dimensionsuppsättningar med två underordnade, och så vidare.

Exempel 1

Följande diagram representerar ett sökträd med sex dimensionsuppsättningar. Endast den särskiljande dimensionsuppsättningstransaktionen visas i diagrammet.

Dimension tree structure

Följande tabell beskrivs en fullständig lista över dimensionsuppsättningstransaktioner som utgör varje dimensionsuppsättning.

Dimensionsuppsättningar Dimensionsuppsättningstransaktioner

Frågesvar 0

Ingen

Frågesvar 1

AREA 30

Frågesvar 2

AREA 30, DEPT ADM

Frågesvar 3

AREA 30, DEPT PROD

Frågesvar 4

AREA 30, DEPT ADM, PROJ VW

Frågesvar 5

AREA 40

Frågesvar 6

AREA 40, PROJ VW

Exempel 2

I det här exemplet visas hur Microsoft Dynamics NAV utvärderar om en dimensionsuppsättning som består av dimensionsuppsättningstransaktionerna AREA 40, DEPT PROD finns.

Först kontrollerar Microsoft Dynamics NAV om AREA 40 finns som underordnad till överordnat ID 0. Microsoft Dynamics NAV får en träff i tabellen Trädnod för dimensionsuppsättning. Träffen markeras som dimensionsuppsättning 5 i diagrammet. När Microsoft Dynamics NAV har fått en träff fortsätter det genom att kontrollera om DEPT PROD finns som underordnat till dimensionsuppsättning 5. Eftersom det inte är fallet skapar Microsoft Dynamics NAV en ny dimensionsuppsättning genom att använda det oanvända ID 7. Den nya dimensionsuppsättningen 7 innehåller dimensionsuppsättningposterna AREA 40 och DEPT PROD. Microsoft Dynamics NAV uppdaterar även tabellen Trädnod för dimensionsuppsättning för att se till att sökträdet ser ut som följande diagram. På så sätt blir dimensionsuppsättning 7 underordnad dimensionsuppsättning 5.

NAV2013_Dimension_Tree_Example 2

Hitta dimensionsuppsättnings-ID

På en begreppsmässig nivå kombineras Överordnat ID, Dimensionoch Dimensionsvärde i sökträdet, och används som primärnyckel eftersom Microsoft Dynamics NAV korsar trädet i samma ordning som dimensionstransaktionerna. Funktionen GET (record) används för att söka efter dimensionuppsättnings-ID. Följande kodexempel visar hur du hittar dimensionsuppsättning-ID när det finns tre dimensionsvärden.

 Kopiera kod
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);

För att bevara möjligheten för Microsoft Dynamics NAV byta namn på en dimension och ett dimensionsvärde utökas tabellen 348 Dimensionsvärde med heltalsfältet Dimensionsvärde-ID. Den här tabellen omvandlar fältparen Dimension och Dimensionsvärde till ett heltalsvärde. När du byter namn på dimensionen och dimensionsvärdet ändras inte heltalsvärdet.

 Kopiera kod
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 även