Search This Blog

Tuesday, March 25, 2014

PacktPub - celebrate their 2000th title with an exclusive offer

Buy One, Get One Free" on all of #Packt’s 2000 eBooks! #Packt2k - http://bit.ly/1j26nPN

During this offer we are giving all our customers a chance to enjoy our books by giving them a free e-book copy for every purchase - "Buy One, Get One Free".

*Hurry up*……*Hurry up*….*Hurry up*........Lot of Dynamics AX2012 E-Books are available.

The campaign began on 18th-Mar-2014 and will continue up until 26th-Mar-2014. Following are the benefits readers can avail during this campaign.

  •     Unlimited purchases during the offer period
  •     Offer is automatically applied at checkout

Monday, March 24, 2014

AX2012 Financial Dimension Service classes.

Explaining some financial dimension Classes that used to validate,Build dimensions.

Validate LedgerAccount against account structure.
FinancialDimensionService class:- ValidateLedgerAccount(LedgerAccountValidationContract)

DimensionServiceProvider: This class provides multiple methods to build DimensionStorage object based on our dimension values list with different combinations ex: buildDimensionStorageAttributesAndValues(List _values, Map _dimensionSpecifiers),buildDimensionStorageForLedgerAccount( LedgerAccountContract   _ledgerAccount,    boolean                 _createForDefaultAccount = false)

DimensionValidation: this class manages the validation for dimension combinations.ex: validateByTreeForCombination(Validates the specified combination against the constraint trees and also validates the ledger    account rules).validateByTree(dimcombinationRecid).


Wednesday, March 19, 2014

Explore Dynamics World With Krishh: AIF service, Importing, grouping data while import...

Explore Dynamics World With Krishh: AIF service, Importing, grouping data while import...: Requirement. We have a Fixed positioned flat file from external system which have more than 1 million records where I have to import into...

AIF service, Importing, grouping data while importing.Problem and required solution

Requirement.

We have a Fixed positioned flat file from external system which have more than 1 million records where I have to import into LEDGERJOURNAL, customer doesn't want the all records as they want to group by the CURamt,DebtAmt based on the fields and date and load into the journal using  Standard AIF Service.

Environment: AX2012 R2 CU7.

I have one solution.
My Idea is.
1. Build the .net component that parse the flat file and do group by on that generate the XML using XSLT and use this component and xsl in transformations in AIFInbound port.

Do any one have any other Idea. Please provide the solution.

krishna.

Monday, February 24, 2014

AX2012 Get dimension Values


To get the master Data for Dimension attributes we can use two service classes.
1. DimensionService
2. DimenisionValueService

we will see what Dimension Service class is providing
1. getActiveDimensionsFromLedger()- Gets active dimensions in current company which will return the DimensionContract class collection List.
2. getDimensions(AccountStructureContract _accountStructureContract)-Processes an incoming account structure contract and return a list of financial dimensions for a specific account structure.
3. getDimensionsAll()-Gets a list of all financial dimensions, which returns a A String list of dimension values using DimensionContract class.

we will see what DimensionValue Service class is providing
using this class we can create/Get DimensionValues for the specific dimension attribute.

Methods:
1. createDimensionValue(DimensionValueContract _dimensionValueContract)-Processes an incoming dimension value contract and creates a financial dimension value for a specific financial dimension.
2. getDimensionValues(DimensionContract _dimensionContract)- processes an incoming dimension contract and returns a list of financial dimension values for a specific financial dimension. and returns the list of the dimension values for that specific dimension attribute.

we can use this service classes and consume in any external application and call this service methods.


by using these two services we can get the dimension values easily.


static void Krishh_getDimensionValues(Args _args)
{

    List                            dimensionAttributeList;
    ListEnumerator                  listEnumerator;

    DimensionService                dimensionService;
    DimensionContract               dimensionContract;
    AccountStructureContract        accountStructureContract;

   
    dimensionService            = new dimensionService();

    accountStructureContract    = new AccountStructureContract();
    accountStructureContract.parmName("Account Structure - P&L");

    dimensionAttributeList      = dimensionService.getDimensions(accountStructureContract);

    listEnumerator  = dimensionAttributeList.getEnumerator();
    while (listEnumerator.moveNext())
    {
        dimensionContract   = listEnumerator.current();
        info(strFmt("%1, %2",dimensionAttributeList.elements(), dimensionContract.parmDimensionName()));
    }

}

Friday, December 27, 2013

PacktPub Offer for E-Books

Readers!
I have seen the fantastic offer in PacktPub to get an ebooks for just 5$.!
Packt has announced the $5 eBook Bonanza to mark the commencement of this holiday season!

You can go to this link to find out more details.

- http://bit.ly/1jdCr2W


Tuesday, December 3, 2013

AX2012 Solution for time consuming Deploy Report from Visual studio.

When Deploying the report from visual studio in some environments its taking lot of time to deploy, as it is verifying the privileges with the AD and ADServer is slow, some times I found its taking atleast 20mins to deploy a report.

So please use powershell with the following command to deploy the report with  the parameters.

Publish-axreport -reportName   <raportname>  -SkipReportServerAdminCheck

Friday, November 8, 2013

Microsoft Dynamics AX2012 R2 CU7


What’s new in Microsoft Dynamics AX 2012 R2 CU7
In CU7 for Microsoft Dynamics AX 2012 R2, Microsoft added and changed a number of features.

The build number of this cumulative update package is 6.2.1000.4051. Before you install this cumulative update package, we recommend that you read the Microsoft Dynamics AX 2012 R2 CU7 release notes carefully.

This update can be applied only on AX2012 R2 Installation.

See the following link for the feautures Added in CU7
http://technet.microsoft.com/EN-US/library/dn527179.aspx


Thursday, November 7, 2013

Read Dimension combination values


These functions used to read the individual ledger dimension combinatio values.

private void Krishh_getDimensionValues(LedgerDimensionAccount _dimensionRecid)
{
   
    DimensionAttributeLevelValueAllView dimAttrView;
    DimensionAttribute                  dimAttr;
 

        while select DisplayValue from dimAttrView  
            where dimAttrView.ValueCombinationRecId == _dimensionRecid
            join BackingEntityType from dimAttr
                where dimAttr.RecId == dimAttrView.DimensionAttribute
        {
            switch (dimAttr.BackingEntityType)
            {
                case tableNum(DimAttributeMainAccount):
                    info(strFmt(“Main Account: %1″, dimAttrView.DisplayValue));
                    break;
             
                case tableNum(DimAttributeOMBusinessUnit):
                    info(strFmt(“Business Unit: %1″, dimAttrView.DisplayValue));
                    break;

                case tableNum(DimAttributeCustTable):
                    info(strFmt(“Customer: %1″, dimAttrView.DisplayValue));
                    break;

                case tableNum(DimAttributeOMDepartment):
                    info(strFmt(“Department: %1″, dimAttrView.DisplayValue));
                    break;

                case tableNum(DimAttributeHcmWorker):
                    info(strFmt(“Worker: %1″, dimAttrView.DisplayValue));
                    break;
            }  
        }
   
 
}

private DimensionValue krishh_getDimensionValueByName (LedgerDimensionAccount _dimensionRecid, Name _name)
{
    DimensionAttributeLevelValueAllView dimAttrView;
    DimensionAttribute                  dimAttr;

 
        Select DisplayValue from dimAttrView  
            where dimAttrView.ValueCombinationRecId == _dimensionRecid
            join BackingEntityType from dimAttr
                where dimAttr.RecId == dimAttrView.DimensionAttribute
&& dimattr.Name==_name;


return dimAttrView.DisplayValue;

}

Tuesday, November 5, 2013

Microsoft Dynamics AX 2012 Reporting Cookbook


Dear Friends,

·        Thanks to Packt Publishing team and author “Kamalakannan Elangovan” for forwarding me this book for review.
Before providing the brief introduction to this book, I am getting lot of questions from all over the world about the reporting in AX2012 like:- how to create a simple report or providerbase report and a lot of questions about debugging,designing the report, I think this book provides you all the most of answers for developing the reports in AX2012.
Ready-to-use fixes and tips for real-time reporting challenges

Introduction
Microsoft Dynamics AX2012 Reporting Cookbook
·                 Introduction to SSRS, Reporting Architecture, Installation,Configuring Reports
·                  Difference between AX2009 and AX2012 reports.
·                  Understanding and Creating simple Reports
·                  Customization of Standard AX2012 Reports.
·                  Create Reports using Report Data Provider, EnumProviders.
·                  Customizing the parameters using UIBuilder.
·                  Understanding Integration with External data sources.
·                  Design complex report like matrix, charts, Sub reports. etc.
·                  Troubleshooting.
·                  Deploying Reports.
  
Cover Image




Who this book is for
This title is for all Technical consultants, who want to take full advantage of the features of Dynamics AX 2012 Reports.

Book Link

Book Authors
I know Kamalakannan Elangovan as fellow bloggers on Dynamics AX.
Kamalakannan Elangovan has over eight years of development experience in Dynamics AX. He shares a passion for product development and has pioneered multiple ISV solutions on Dynamics AX. In the past he worked with Innovites to create the first multidimensional ISV solution for cable industries called "Innovites for cable". Building the solution from scratch, he has gained great insights into building, selling, and promoting the product among customers and partners in the Microsoft Ecosystem. You can learn more about him at http://about.me/casperkamal. He is enthusiastic about sharing his learning with the community which led him to create one of the first few blogs for AX in 2006. It is currently available at http://kamalblogs.wordpress.com. He is active through twitter and the community, popularly by his pseudonym Casperkamal.