web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Microsoft Dynamics AX (Archived)

Validate Dimension Value with Account Structure

(0) ShareShare
ReportReport
Posted on by

Hi All,

I have a DimensionValue and Account Structure and i have to validate that Dimension Value with Account Structure..... 

Dimension Value as [MainAccount-BusinessUnit-Department-CostCenter-ItemGroup]

Accounting Structure as "Manufacturing P&L"

Any Help Guys??

*This post is locked for comments

I have the same question (0)
  • Verified answer
    Khaled Alloud Profile Picture
    3,658 on at

    Hello Vairam,

    For this there are 2 ways, either from AX or by code:

    1- By code you might use this sample code (i can't share the full code here because too long):

       ledgerAccountContract.parmValues(listValueContract);

       dimStorage = DimensionServiceProvider::buildDimensionStorageForLedgerAccount(LedgerAccountContract);

       dimensionAttributeValueCombination = DimensionAttributeValueCombination::find(dimStorage.save());

       ledgerDimension = dimensionAttributeValueCombination.RecId;

       dimStorage = DimensionServiceProvider::buildDimensionStorageForLedgerAccount(ledgerAccountContract);

       dimensionValidationStatus = DimensionValidation::validateByTreeForCombination(dimStorage,dateNull(),true,true);

    2- You can create a new PO and add an item to the lines. Then go to Line details > Financial dimension tab. Here you can insert the combination you want, and then click on Financials > Distribute amounts :  if the combination is not valid you will see red box in the line.  You can change the Main account from Item group > Purchase order > Purchase expenditure for product , and then Reset the validation from Distribute amounts.

    Make sure to reset the correct setup if you change it.

    Thank you,

  • Community Member Profile Picture
    on at

    Hi Kaled Alloud,

            Thank you for your response , may i know the input format of LedgerAccountContract , i'm getting error when i pass it as

    listValueContract.addEnd("MainAccount");

       listValueContract.addEnd("401300");

       listValueContract.addEnd("BusinessUnit");

       listValueContract.addEnd("003");

       listValueContract.addEnd("Department");

       listValueContract.addEnd("024");

       listValueContract.addEnd("CostCenter");

       listValueContract.addEnd("013");

       listValueContract.addEnd("ItemGroup");

       listValueContract.addEnd("AudioRM");

    Error : "Function DimensionDefaultingEngine::constructForMainAccountId has been incorrectly called."

  • Verified answer
    Khaled Alloud Profile Picture
    3,658 on at

    Dear,

    Check below:

    valueContract = new DimensionAttributeValueContract();

           valueContract.parmName(DimensionAttribute.Name);

           valueContract.parmValue(DimensionAttributeValueSetItem.DisplayValue);

           listValueContract.addEnd(valueContract);

    Thanks,

  • Sachin Mittal Profile Picture
    6 on at
    hi , DimensionValidation::validateByTreeForCombination is this method no longer exists , and if exists in which class can ypu please help

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Season of Sharing Community Challenge Winners!

Congratulations to our community stars!

Women in Power Builds Momentum

Expanding mentorship, skilling, and AI innovation

Congratulations to the June Top 10 Community Leaders

These are the community rock stars!

Leaderboard > 🔒一 Microsoft Dynamics AX (Archived)

Last 30 days Overall leaderboard

Featured topics

Product updates

Dynamics 365 release plans