Friday, January 24, 2020

How to get financial dimension values of Customers without the use of Accounting Structure using x++ in D365 FO


Hi all ,


One of the most important requirements in D365 FO Projects is to get the financial dimension values and display it at various places.

In this scenario we are using the names of the specific Financial Dimensions.

Please take a look at the code written below :-


class CalculateFinancialDimension
{
 

    /// <summary>
    /// Return financial dimension values
    /// </summary>
    public  Str1260 calculatefinancialdim(CustTable _custtable)
    {
        Str1260                             dimvalue ;
        DefaultDimensionView    defaultDimensionViewitem;

        select firstonly defaultDimensionViewitem
                where defaultDimensionViewitem.DefaultDimension ==  _custtable.DefaultDimension
                    && defaultDimensionViewitem.Name =='Dim1';

        if (defaultDimensionViewitem.RecId)
        {
            dimvalue += defaultDimensionViewitem.DisplayValue ;
        }
        else
        {
            dimvalue += '-' ;
        }

        defaultDimensionViewitem.clear() ;

        select firstonly defaultDimensionViewitem
                where defaultDimensionViewitem.DefaultDimension ==  _custtable.DefaultDimension
                    && defaultDimensionViewitem.Name == 'Dim2';
        if(defaultDimensionViewitem.RecId)
        {
            dimvalue += '-'+defaultDimensionViewitem.DisplayValue ;
        }
        else
        {
            dimvalue += '-' ;
        }

        defaultDimensionViewitem.clear() ;
        select firstonly defaultDimensionViewitem
                where defaultDimensionViewitem.DefaultDimension ==  _custtable.DefaultDimension
                    && defaultDimensionViewitem.Name == 'Dim3';

        if  (defaultDimensionViewitem.RecId)
        {
            dimvalue += '-'+defaultDimensionViewitem.DisplayValue ;
        }
        else
        {
            dimvalue += '-' ;
        }

        defaultDimensionViewitem.clear() ;
        select firstonly defaultDimensionViewitem
                where defaultDimensionViewitem.DefaultDimension ==  _custtable.DefaultDimension
                    && defaultDimensionViewitem.Name == 'Dim4';

        if  (defaultDimensionViewitem.RecId)
        {
            dimvalue += '-'+defaultDimensionViewitem.DisplayValue ;
        }
        else
        {
            dimvalue += '-' ;
        }

        defaultDimensionViewitem.clear() ;
        select firstonly defaultDimensionViewitem
                where defaultDimensionViewitem.DefaultDimension ==  _custtable.DefaultDimension
                    && defaultDimensionViewitem.Name == 'Dim5';

        if  (defaultDimensionViewitem.RecId)
        {
            dimvalue += '-'+defaultDimensionViewitem.DisplayValue ;
        }
        else
        {
            dimvalue += '-' ;
        }

        defaultDimensionViewitem.clear() ;
        select firstonly defaultDimensionViewitem
                where defaultDimensionViewitem.DefaultDimension ==  _custtable.DefaultDimension
                    && defaultDimensionViewitem.Name == 'Dim6';

        if  (defaultDimensionViewitem.RecId)
        {
            dimvalue += '-'+defaultDimensionViewitem.DisplayValue ;
        }
        else
        {
            dimvalue += '-' ;
        }

        defaultDimensionViewitem.clear() ;
        select firstonly defaultDimensionViewitem
                where defaultDimensionViewitem.DefaultDimension ==  _custtable.DefaultDimension
                    && defaultDimensionViewitem.Name == 'Dim7';

        if  (defaultDimensionViewitem.RecId)
        {
            dimvalue += '-'+defaultDimensionViewitem.DisplayValue ;
        }
        else
        {
            dimvalue += '-' ;
        }
        return dimvalue ;
    }

}


No comments:

Post a Comment

Demystifying the SysOperation Framework in D365 F&O: Building Scalable and Maintainable Batch Jobs

 If you've been developing in Dynamics 365 Finance and Operations for a while, chances are you've either worked with or heard about ...