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

Enterprise Grade Exception Handling in Dynamics 365 Finance & Operations through X++

  Exception handling in Dynamics 365 Finance & Operations (D365 F&O) is often implemented in a simple manner with a simple motive t...