Microsoft Dynamics AX Financial I Videos

One of my friend Faisal has published great videos for Financial I training. if you have plan for certifications for financials and you find yourself bored while reading the material then these videos is great asset for you. i really recommend seeing these videos for Financial I understanding.

Enjoy the comprehensive videos over Microsoft Dynamics AX financials from Faisal Blog here


Reflections : Changing properties of AOT objects in code

Few days back i was working to update some properties of dynamics ax objects, objects count was quite high and manually doing that work could be hectic. i decided to use the reflection and i found it real powerful as it has lots of area where needs playing.

My scenario was simple where i need to find objects on my own criteria and then update the properties for those objects.

like i have to find out all those classes which starts with ‘XXX’

static void FindClassStartsWithXXX(Args _args)
   UtilIdElements utilId;
   while select utilId where utilid.recordType == UtilElementType::Class
   && like 'XXX*'

i also have to update properties of selected objects, like here i am updating the name property of the class.

static void RenameXXXObjectsToYYY(Args _args)
   TreeNode  node = TreeNode::findNode(@'\Classes\XXXClass');
   str oldName;
   str newName;
   oldName = node.AOTgetProperty(#PropertyName);
   newName = strdel(oldName,1,3);
   node.AOTsetProperty(#PropertyName, "YYY"+newName);
   node = null;

There are a couple of things to explain here. First of all the macro #Properties contains the names of all properties you can read and write. These are the same as what you get in the property window. Use the macro instead of literal strings, it’s safer and doesn’t violate best practices.

Next you can see there is a set of methods to get and set properties. After modifying anything you need to save the changes, just like you would when changing an AOT object in the property window. TreeNode works just like doing it manually. You can do a lot more fun stuff with the TreeNode API.

Also, if you have questions or ideas for articles don’t hesitate to let me know .

Knowledge is Key — SSRS with Dynamics AX

In this blog i have created a knowledge base for SSRS, which is really important now as Microsoft announces the future of AX Reporting is SSRS

What softwares do we need to start working on SSRS ?.
Visual Studio (for developing SSRS reports),
SQL SERVER with SSRS and SSAS (necessary for reporting, it should be configure properly as well),
Dynamics ax,
AX component for reporting, that will add the Visual studio template for Dynamics ax SSRS
How i can learn SSRS development with Dynamics AX?
Saveen Reddy, lead program manager for Dynamics AX Business Intelligence, acknowledges this difficulty in making the transition and has a series of posts on his blog, which might help developers and consultants alike “being productive”. Saveen also have recorded lots of Web cast related to SSRS, which is worth to watch for developers and consultants. Web casts can be access from his blog or from below link.

BI reporting

How we can debug the business logic in AX from SSRS report ?
There are certain steps that have to perform to debug the business Logic in AX. We have to use the ‘attach-to-the-server-process‘ approach using Visual studio. One approach to debug your business logic consist of the following steps
· Rebuild the report in VS in debug mode
· Save it back to the AOD
· Deploy the report
· Set a breakpoint at a strategic location in your business logic code
· Using Visual studio attach to the Dynamics ax server process
· Invoke your report
· Hit the breakpoint and start debugging
How can we call the SSRS report with AX menu item ?.
The basic steps
•Create an AX Query
•Create a new AX Reports Project and a new report in that project
•Create a dataset in the report bound to that query
•Create a design to report to render the dataset
•Preview the design
•Deploy the design to SSRS
•View the report via IE
•Save the Report project back into AX
%d bloggers like this: