I am using a method like this:
My problem is that in my DEV box the business Unit (the first dimension shown in the D365 forms) is named 'Business Unit' and in my test environment it is named 'Department'.
I am looking for a method to find out what the DimensionAttribute name for dimension that is shown first is.
static void ValidateLedgerDimension(Args _args)
{
str mainAcctNum = "110130";
LedgerAccountValidationContract validationContract;
LedgerAccountContract accountContract;
DimensionAttributeValueContract valueContract;
FinancialDimensionValidationService service;
List listValueContract = new List(Types::Class);
// Business Unit
valueContract = new DimensionAttributeValueContract();
valueContract.parmName("BusinessUnit");
valueContract.parmValue("002");
listValueContract.addEnd(valueContract);
accountContract = new LedgerAccountContract();
accountContract.parmMainAccount(mainAcctNum);
accountContract.parmValues(listValueContract);
validationContract = new LedgerAccountValidationContract();
validationContract.parmLedgerAccount(accountContract);
validationContract.parmValidDate(systemDateGet());
service = new FinancialDimensionValidationService();
if (service.validateLedgerAccount(validationContract))
{
info("Valid");
}
else
{
info("Invalid");
}
}