Skip to main content

How to get dimension value from ledger dimension in axapta 2012


 DimensionAttribute             dimensionAttribute1;  
 DimensionAttributeValueGroupStatus     dimAttrValueGroupStatus1;  
 DimensionAttributeValueGroupCombination   dimAttrValueGroupCombo1;  
 DimensionAttributeValueGroup        dimAttrValueGroup1;  
 DimensionAttributeLevelValue        dimAttrLevelValue1;  
 DimensionAttributeValue           dimAttrValue1;  
 DimensionAttrValueCOAOverride        dimAttrValueCOAOverride1;  
 DimensionAttrValueLedgerOverride      dimAttrValueLedgerOverride1;  
 DimensionFinancialTag            dimensionFinancialTag1;  
 InventPosting                inventPosting1;  
 DimensionValue               Dim1, Dim2, Dim3;  
 MainAccountNum               LedgerAc;  
 RecId                    LedgerRecId, dimCombinationId;  
 dimCombinationId  = 65656776; // for example here i gave a valid ledgerdimension  
 // find MainAccountId from LedgerDimension  
 LedgerAc    = MainAccount::findByLedgerDimension(dimCombinationId).MainAccountId;  
 LedgerRecId     = Ledger::findLedgerRecIdByLegalEntity(CompanyInfo::findDataArea(curext()).RecId);  
 while select Ordinal from dimAttrValueGroupCombo1 order by Ordinal  
 where dimAttrValueGroupCombo1.DimensionAttributeValueCombination == dimCombinationId  
 join dimAttrValueGroup1  
 where dimAttrValueGroup1.RecId == dimAttrValueGroupCombo1.DimensionAttributeValueGroup  
 outer join dimAttrValueGroupStatus1  
 where dimAttrValueGroupStatus1.DimensionAttributeValueGroup == dimAttrValueGroup1.RecId  
 join dimAttrLevelValue1  
 where dimAttrLevelValue1.DimensionAttributeValueGroup == dimAttrValueGroup1.RecId  
 join pessimisticLock IsSuspended, IsTotal, ActiveFrom, ActiveTo, DimensionAttribute, RecId, EntityInstance from dimAttrValue1  
 where dimAttrValue1.RecId == dimAttrLevelValue1.DimensionAttributeValue  
 outer join pessimisticLock IsSuspended, ActiveFrom, ActiveTo, RecId from dimAttrValueCOAOverride1  
 where dimAttrValueCOAOverride1.DimensionAttributeValue == dimAttrValue1.RecId && dimAttrValueCOAOverride1.ChartOfAccounts == LedgerChartOfAccounts::current()  
 outer join pessimisticLock IsSuspended, ActiveFrom, ActiveTo, RecId from dimAttrValueLedgerOverride1  
 where dimAttrValueLedgerOverride1.DimensionAttributeValue == dimAttrValue1.RecId && dimAttrValueLedgerOverride1.Ledger == LedgerRecId  
 {  
 dimensionFinancialTag1 = null;  
 select * from dimensionFinancialTag1  
 where dimensionFinancialTag1.RecId == dimAttrValue1.EntityInstance  
 join dimensionAttribute1  
 where dimensionAttribute1.RecId == dimAttrValue1.DimensionAttribute;  
 if (dimensionAttribute1.Name == ‘Department’)  
 {  
 Dim1 = dimensionFinancialTag1.Value;  
 }  
 if (dimensionAttribute1.Name == ‘CostCenter’)  
 {  
 Dim2 = dimensionFinancialTag1.Value;  
 }  
 if (dimensionAttribute1.Name == ‘Purpose’)  
 {  
 Dim3 = dimensionFinancialTag1.Value;  
 }  
 }  

Popular posts from this blog

Sales order posting Error - Voucher do not balance as per date in axapta 2012

Problem - How to get rid of this error if its coming while doing the sales invoice . "The transactions on voucher V-00001 do not balance as per 4/11/2014. (accounting currency: -1111- reporting currency: -232) " .  Suggestions: 1.Exchange rate setup , number sequence of invoice voucher, currency rounding all are done correctly , but still this error exists 2.Define currency for each account..or go in currency setup and check currency and rounding up rules 3.Check with penny difference in GL 4.Check there is proper conversion exchange rate defined for reporting currencies. 5. Check Rounding of option of for primary and reporting currencies both. 6.Check all the posting accounts defined in Posting profiles 7.check COGS, Customer, issue, revenue accounts are mapped. 8.Check primary and reporting currency has proper exchange rates and rounding rules defined. 9.Try to increase the value in the penny difference and then post the sales invoice. 10. Make sure ...

Error on Purchase order posting in Ax 2012

 If You are getting following error on  Purchase order posting in Ax 2012 Error Description Cannot execute a data definition language command on accounting distribution (AccountingDistributionTmpJournalize). Amount in transaction currency: 0,00. The SQL database has issued an error.  Object Server 01:   [Microsoft][SQL Server Native Client 10.0][SQL Server]Invalid object name  'tempdb.DBO.t100007_093C403F6242343F93ED4D1F8739A'. Error Message  INSERT INTO tempdb."DBO".t100007_093323236220423232323 (TRANSACTIONCURRENCYAMOUNT,ACCOUNTINGDISTRIBUTION,RECVERSION,PARTITION) SELECT T1.TRANSACTIONCURRENCYAMOUNT,T1.RECID,1,5637144576 FROM ACCOUNTINGDISTRIBUTION T1 WHERE ((T1.PARTITION=5637144576) AND ((T1.REFERENCEROLE=3) AND (T1.SOURCEDOCUMENTLINE<>563343466))) AND EXISTS (SELECT 'x' FROM ACCOUNTINGDISTRIBUTION T2 WHERE ((T2.PARTITION=5637144576) AND (((T2.SOURCEDOCUMENTLINE=5637251266) AND (T2.MONETARYAMOUNT=1)) AND (T2.RECID=T1.REFERENCEDISTRIB...