Jaa


Rakennetiedot: dimensioyhdistelmien etsiminen

Kun suljet sivun dimensioyhdistelmän muokkaamisen jälkeen, Business Central arvioi, onko muokattu dimensiojoukko olemassa. Jos yhdistelmää ei ole olemassa, järjestelmän luo uuden ja palauttaa dimensioyhdistelmän tunnuksen.

Rakennetaan hakupuuta

Taulukkoa 481 Dimensioyhdistelmän puusolmu käytetään, kun Business Central arvioi onko dimensiosarja jo olemassa taulukossa 480 Dimensioyhdistelmän tapahtuma. Arviointi suoritetaan kulkemalla hakupuu läpi rekursiivisesti aloittaen ylätason numerosta 0. Ylätason 0 edustaa dimensiosarjaa, jossa ei ole dimensiosarjan kirjauksia. Tämän dimensiosarjan jälkeläiset edustavat dimensiosarjoja, joilla on vain yksi dimensiosarjan kirjaus. Näiden dimensiosarjojen jälkeläiset edustavat dimensiosarjoja, joilla on kaksi jälkeläistä jne.

Esimerkki 1

Seuraava kaavio esittelee hakupuun ja kuusi dimensiosarjaa. Kaaviossa näkyy vain erottava dimensioyhdistelmä.

Esimerkki dimension puurakenteesta.

Seuraavassa taulukossa kuvataan koko dimensiosarjan kirjausten luettelo, joka muodostaa kunkin dimensiosarjan.

Dimensioyhdistelmät Dimensioyhdistelmän tapahtumat
Aseta 0 Ei mitään
Aseta 1 AREA 30
Aseta 2 AREA 30, DEPT ADM
Aseta 3 AREA 30, DEPT PROD
Aseta 4 AREA 30, DEPT ADM, PROJ VW
Aseta 5 AREA 40
Aseta 6 AREA 40, PROJ VW

Esimerkki 2

Tämä esimerkki osoittaa, miten Business Central arvioi, onko dimensioyhdistelmän tapahtumat AREA 40 ja DEPT PROD sisältävä dimensioyhdistelmä olemassa.

Business Central varmistaa ensin päivittämällä Dimensioyhdistelmän puusolmu -taulukon, että hakupuu näyttää samalta kuin seuraavassa kaaviossa. Dimensioyhdistelmästä 7 tulee dimensioyhdistelmän 5 alitaso.

Esimerkki dimension puurakenteesta vuonna NAV 2013.

Dimensioyhdistelmän tunnuksen etsiminen

Käsitteellisellä tasolla hakupuun Päätunnus, Dimensio ja Dimensioarvo yhdistetään ja niitä käytetään perusavaimena, koska Business Central kulkee puussa samassa järjestyksessä kuin dimensiotapahtumat. GET-toimintoa (tietue) käytetään etsimään dimensiosarjan tunnusta. Seuraava koodiesimerkki osoittaa, kuinka löydetään dimensiosarjan tunnus, kun dimensioarvoja on kolme.

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

Jotta Business Central voisi kuitenkin edelleen nimetä sekä dimension että dimensioarvon uudelleen, taulukkoa 349, Dimensioarvo, laajennetaan Dimensioarvon tunnus -kokonaislukukentällä. Tämä taulukko muuntaa kenttäparin Dimensio ja Dimension arvo kokonaislukuarvoksi. Kun nimeät dimension ja dimension arvon, kokonaislukuarvoa ei muuteta.

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

Katso myös

Suunnittelun yksityiskohdat: dimensioyhdistelmä tapahtumat
dimensioyhdistelmä tapahtumien yleiskuvaus
Suunnittelun yksityiskohdat: Taulukon rakenne

Business Centralin ilmaiset e-learning-moduulit löydät täältä