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.

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.

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.
![]() | |
---|---|
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.
![]() | |
---|---|
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); |