Search code examples
sql-serveraxaptax++dynamics-ax-2012dynamics-ax-2012-r3

Microsoft Dynamics AX 2012 R3 XDS Security on Finacial Dimesion


I'm trying to create an AX security framework for one of my client. The key task here is to enable Branch Accounting in AX 2012 R3 environment. Which means i'm required to filter different transactions / customers / vendors / Transfer orders on the basis of Location & Financial dimension BU respectively such as Each Branch (location) should see records of there respective branch.

I created my custom security roles enabled XDS framework on them, it was easy in the case of customer, vendor etc for which I had an Location wise field.

But in case of transactions i.e 'LedgerJournalTrans' Table I am not able to filter on the basis of Financial dimension. As the field LedgerDimesion is a combination of different dimensions its hard to use it in a AOT query.

If any one give an insight on how to filter transactions or any other records on the basis of Financial dimension combinations ?

Note: I've already studied the white paper to filter through dimensions on XDS but the example mentioned there is based on the myDepartment table and methods which I cannot use in my scenario

Link to White Paper for reference


Solution

  • You have to create a query or view to get values for each ledger dimension. You can get this info by joining DimensionAttributeValueGroupCombination (this has ledger dimension id), DimensionAttributeLevelValue (field DisplayValue is the dimension value), DimensionAttributeValue (DimensionAttribute RecId). Now you can use this view or modify it to filter by dimenison values.

    MyDepartments temp table has a method named XDS which is automatically called to fill the data. Refresh of this table can be per session or per invocation. You can use this to make your own user based filter data.