Hi Folks,
In my previous post I shared information about new classed that introduced in D365 for Dimension actions. In this post I am sharing a sample code to merge two different ledger dimension and get a new LedgerDimension id.
This is rough code , please feel free to copy and update it according to your requirement.
public static void main(Args _args)
{
LedgerJournalTrans ledgerJournalTrans1, ledgerJournalTrans2 ;
RefRecId dim1, dim2, mergerDim;
select firstonly TrvExpTrans where TrvExpTrans.ExpNumber == "USMF-000565";
select firstonly AccountingDistribution where AccountingDistribution.SourceDocumentLine == SourceDocumentLine::find(TrvExpTrans.SourceDocumentLine).RecId;
//AccountingDistribution::
dim1 = TrvCostType::find("mycategory").LedgerDimension; //First dimension
dim2 = 5637236123;//AccountingDistribution.LedgerDimension; //Second dimension
mergerDim = LedgerDimensionFacade::serviceMergeLedgerDimensions(dim1, dim2);
info(strFmt("Dim1: %1" , DimensionAttributeValueCombination::find(dim1).DisplayValue));
info(strFmt("Dim2: %1" , DimensionAttributeValueCombination::find(dim2).DisplayValue));
info(strFmt("merge dim: %1", DimensionAttributeValueCombination::find(mergerDim).DisplayValue));
}
Please share your queries/feedback in comment box, I will be happy to help you.
-Harry
In my previous post I shared information about new classed that introduced in D365 for Dimension actions. In this post I am sharing a sample code to merge two different ledger dimension and get a new LedgerDimension id.
This is rough code , please feel free to copy and update it according to your requirement.
public static void main(Args _args)
{
LedgerJournalTrans ledgerJournalTrans1, ledgerJournalTrans2 ;
RefRecId dim1, dim2, mergerDim;
select firstonly TrvExpTrans where TrvExpTrans.ExpNumber == "USMF-000565";
select firstonly AccountingDistribution where AccountingDistribution.SourceDocumentLine == SourceDocumentLine::find(TrvExpTrans.SourceDocumentLine).RecId;
//AccountingDistribution::
dim1 = TrvCostType::find("mycategory").LedgerDimension; //First dimension
dim2 = 5637236123;//AccountingDistribution.LedgerDimension; //Second dimension
mergerDim = LedgerDimensionFacade::serviceMergeLedgerDimensions(dim1, dim2);
info(strFmt("Dim1: %1" , DimensionAttributeValueCombination::find(dim1).DisplayValue));
info(strFmt("Dim2: %1" , DimensionAttributeValueCombination::find(dim2).DisplayValue));
info(strFmt("merge dim: %1", DimensionAttributeValueCombination::find(mergerDim).DisplayValue));
}
Please share your queries/feedback in comment box, I will be happy to help you.
-Harry