Dynamics AX
  RSS Feed  LinkedIn  Twitter
Want to turn you're data into a true asset? Ready to break free from the report factory?
Ready to gain true insights that are action focused for truly data informed decisions?
Want to do all of this across mutliple companies, instances of Dynamics and your other investments?
Hillstar Business Intelligence is the answer then! (www.HillstarBI.com)

Hillstar Business Intelligence for Microsoft Dynamics AX and NAV on Mobile, Desktop, Tablet


Let us prove to you how we can take the complexity out of the schema and truly enable users to answer the needed questions to run your business! Visit Hillstar Business Solutions at: www.HillstarBI.com

Sunday, December 09, 2012

Workflow Wizard's for Dynamics AX 2012





I wanted to write today about Workflows in Microsoft Dynamics AX. Specifically around the Wizard's that now exists for Microsoft Dynamics AX 2012 Feature Pack and beyond. There are several wizard's that help you create the needed artifacts and elements that make up a workflow.



Before getting into the Wizard's, I think it's very important that we look into some very good resources on this topic. So the following is my hot list of resources, I make use of when looking to work with workflow's and create custom workflow's for Microsoft Dynamics AX 2012.

Now with those resource's one should have plenty of information to focus in and get started with the wonderful concept and power workflows bring's to a Dynamics AX 2012 instance.

One area that is new with the release of the Feature Pack for Microsoft Dynamics AX 2012 and beyond is the amount of Wizard's that Microsoft has delivered. We have several actually, and each has their own value point. The idea is around to help decrease your time to value for enabling workflows.



The focus for the wizard's that are delivered is around.: Approvals, Task & Workflow Types. These are each accessed by highlighting the specific type of artifact desired, right clicking, highlighting add-in's, and then selecting the Wizard option from there.



Each will ask a series of question's that will then be used to generate workflow artifacts that relate to specific workflow document classes, and types. This means having the workflow types & categories in place is a must. After understanding this, one can then jump start creating artifacts that fully help model and instance of Microsoft Dynamics AX 2012 for their specific needs.

I will end with this fact, don't under estimate the amount of work that might be required to fully enable a workflow. Depending on the nature of the workflow, and what is required. What should always be the first thing that is done to help with this fact? Solid Functional Design Documents that clearly give finalize & finite scope to the deliverable's that are being targeted.

Well that's all for this post. Check back soon as more to come! Till Next Time!


Visit Hillstar Business Intelligence (www.HillstarBI.com) in order to truly unlock your data trapped in your Microsoft Dynamics investment. With our value driven business intelligence strategy Hillstar help you transform into a data informed company.


Follow Me @:
   RSS Feed  LinkedIn  Twitter

"Visit the Dynamics AX Community Page today!"

Labels: , , , , , , , , , , , ,

Friday, February 10, 2012

AX 2012 - xppSource Exposed: Inserting code snippets





Today, a peer of mine and fellow blogger Palle Agermark wrote a very interesting post, in which he reviews the new ability in AX 2012 X++, in which certain keywords, while coding, can have code snippets added. The purpose is to decrease the amount of typing needed to complete some code block.

His example shows that if switch is entered into the X++ editor and right after, you hit the Tab key, a code block similar to the following screen shot is automatically added for you.



This is pretty handy, and you can see that it places the cursor right to the next point in the code block in which you would want to start completing it. Palle finishes his post off, with the fact that in visual studio, you can add your own, but was not sure how to do this in AX 2012?

Well, let me explain, how this can be done! The secret to this, is contained within a little known AX 2012 class, called: xppSource



Here we see that we have our cases in which xppSource completion through the use of such code snippets is fired, and also, where you could possibly change this, and / or add your own.

For example, lets change the switch method, within the xppSource class, so that we see really easily that we can make use of this. As you can see below, I've added "IDB" to the first case, in the code snippet block.



In saving this, and compiling it, I went back to my previous method, that we see the output from the first screen shot in this post, and performed the switch + tab action. In doing so we now get what you see below.



That's it! For sure the tag line powerfully simple shows in such a neat little find, which shows giving the ability and flexibility of AX 2012, even for developer needs.

I would like to thank Palle Agermark for the challenge and post, as I think other might find this very useful and helpful. Till Next Time!

Follow Me @:
RSS Feed  LinkedIn  Twitter

"Visit the Dynamics AX Community Page today!"

Labels: , , , , , , , , ,

Monday, January 02, 2012

Code Upgrade Service for Microsoft Dynamics AX 2012





Welcome to the year 2012 everyone! I hope that you all have a blessed and very successful year, and that 2012 is your best year yet! To kick off this year, I thought I would focus the first blog post, around InformationSource and specifically the Services section of InformationSource.



Within InformationSource, once you sign in either with your PartnerSource or CustomerSource enabled windows live id, there is a section called Services. Within this section there are several tools, all beta, that have been released in order to help you with your AX 2012 projects. Recently, I highlighted one of these, the IDMF, or Intelligent Data Management Framework for Dynamics AX 2012. Today, I wanted to switch focus now, and look into another tool, the Code Upgrade Service for Microsoft Dynamics AX 2012.

Direct from InformationSource about the Code Upgrade Service:
"This service is designed to help Microsoft Dynamics AX developers upgrade their X++ code to Microsoft Dynamics AX 2012. the service analyzes X++ code patterns and automatically fixes some patterns, provides suggestions on how to fix other patterns, categorizes upgrade task, and enables developers to add their own patterns to be analyzed."

Further, the following is from the short screen cast on InformationSource, about the focus and intent of this new tool.



As you can tell, the idea behind this great new Service, is around helping companies with their upgrade projects, and specifically focused around the code investments / customizations that a specific company has made within their Dynamics AX instance. Now I must state again, all of these tools are currently in Beta, so use with caution, and understand this fact. To help better understand how to use this new tool, Microsoft has a home page on TechNet, specifically for the Code Upgrade Service.: Code Upgrade Tool User Guide [AX 2012]

There are several sections, to the current Beta release of the User guide, that cover:
  • Install the Code Upgrade Tool
  • Run the Code Upgrade Tool
  • Extend the Code Upgrade Tool
  • Uninstall the Code Upgrade Tool


In a nutshell, the code upgrade tool is an AX 2012 model file, called "Code Upgrade Tool Model.axmodel". There are also several Managed code assemblies that are delivered as part of this tool. Specifically these assemblies contain the out-of-the-box rules, listed in the following categories:
  • AddressBook - Rules that are related to adoption of the updated address book framework for Microsoft Dynamics AX 2012
  • FormLetter - Rules that are related to adoption of the updated form letter framework for Microsoft Dynamics AX 2012
  • IDGoAway - Rules that are related to adoption of the updated type IDs
  • Inventory - Rules that are related to adoption of the updated inventory refactoring in Microsoft Dynamics AX 2012
  • Number sequence framework - Rules that are related to adoption of the updated number sequence framework for Microsoft Dynamics AX 2012
  • XppCompiler - Rules that are related to adoption of compiler changes.


After installing, its highly recommended that you experiment with the tool, and see what kind of errors it can identify, as well as fix. It comes then, with two example classes:
  • PipelinableMutator, which contains errors that the tool can identify and fix.
  • PipelinableSweeper - which contains errors that the tool can identify, but can not automatically fix for you.

Once you get a feel for how to use the tool, and the value it can add to your upgrade process, keep in mind that from the ISV, VAR and Customer level, the tool is meant to be extended. Make sure that before you attempt to extend the tool, that you read carefully the section on extending the Code Upgrade Tool.

Well, that's all for now. Hopefully this is a great introduction for you, and you can start using this tool, to help with your projects today. Finally, stay tuned, as there is a lot of topics to cover about the Dynamics Ecosystem, Dynamics AX 2012, and a whole lot more. Till Next Time!

Follow Me @:
RSS Feed  LinkedIn  Twitter

"Visit the Dynamics AX Community Page today!"

Labels: , , , , , , , , ,

Wednesday, October 12, 2011

AX 2012 Design Patterns: Instantiating Objects





Recently I created a resource blog post, focused on AX 2012 - Design Patterns Overview. There are a lot of things we need to understand about design patterns with Microsoft Dynamics AX 2012. The return, and value in understanding these, is being able to have correct designs, when working with custom scope.

With that, lets take a little look at some of these. First up is: Instantiating Application Objects Design Pattern. What's interesting about this design pattern, is the very first thing you read from the post on MSDN.:

"You must use menu items to open application objects instead of opening them directly. Menu items can be seen as APIs to the application. They are an abstract layer (interface) between the user and the actual application object that implements the functionality. Changes to application objects are automatically reflected in the user interface when menu items are used."

Menu Items, have always been used actually, around objects like Forms, Reports, and Action classes. These action classes, usually were focused around RunBase and RunBaseBatch. That is being replaced with the SysOperations Framework however. Still, the SysOperations Framework, or Business Operation Framework, artifacts are surfaced to the user and controlled by this API of menu items.

Once more, we have some nice Community content on this specific design pattern, from Martin DrĂ¡b.:

Notice that FormFunctionButtonControl class has a menuFunction() method. It allows to easily access MenuFunction instance on forms.
For example, you can define custom parameters in menuitembutton's clicked() in this way:


Args args = new Args();

if (something)
args.record(ds1);
else
args.record(ds2);

this.menuFunction().run(args);


So the idea should be firm then, in that when possible Menu Items are what should be used to instantiate an object. Now there are other times, in which you need to instantiate and object that a menu item just does not fit the bill. In those times, you should use the ClassFacotry.

Doing this, will make sure any subclasses will fire correctly, and that the correct sequence of calling an object like a form, report or action style class is properly handled. There is a big note on this design pattern, that changes what has been used in the past for AX. That is: Never use the FormRun or ReportRun methods for directly instantiating an object.

A lot of developers, and customization's have been done in the manner in the past, and this is a big no no, now. Keep this in mind when doing actual development work. Of course, you still have custom class objects, and table objects within X++ code, that have a static create, or a new() call to work with them. However even with these concepts, if you can use the design pattern of making use of menu items for these scope and need as well, then you have a layer of abstraction that can be used to connect, and help drive parameter based callings of an object.

Well I hope this helps in our first dive into the design patterns in AX 2012. I think this is a very important one for developers to understand. The FormRun and ReportRun is something I've seen a lot, and in earlier versions of AX development I used myself.

That's all for now, check back soon as more to come. Till next time!

"Visit the Dynamics AX Community Page today!"


Labels: , , , , , , , ,

Thursday, August 11, 2011

Spotlight: AX 2012 Developer Resources



With the release of Microsoft Dynamics AX 2012, there is so much to keep up with and learn. So many great features, technology changes, application changes, etc.

Because of this fact, it's ever so important that the community at large, continues to grow and create resources that are helpful and useful. I did a blog spotlight, back in July, for Joris de Gruyter blog Dynamics AX Musings.

Well Joris is still being very active in creating great content, and he has put together an AX 2012 Developer Resource page that is nicely put together, and has some great links to some great resources.

I wanted to thank Joris for putting this together for the community, and I recommend you check it out.

This is the kind of community building that we should encourage, and continue to always strive to build out. These links will help anyone looking to continue to dive deeper into the new area's that come along with AX 2012.

Some of these topics I cover myself, and others I will cover deeper, as well as bringing them together into concepts and higher levels from an Architects point of view.

That's all for now, but check back soon as more to come, including interviews, how-to's, ISV spotlights, and much, much more! Till next time!



"Visit the Dynamics AX Community Page today!"


Labels: , , , , , , , ,

Tuesday, July 19, 2011

Microsoft Dynamics AX 2012 - At your Service



Yesterday, I talked about Business Operations Framework for Microsoft Dynamics AX 2012.

This touched on a new concept, that will take us away from RunBaseBatch, and other concepts in AX, and move us towards some of the new features, that have never existed before, with the SysOperations Framework, and into true SOA approaches within, and extending AX.

Today, a new post from Microsoft, that continues a series well into the launch event for Microsoft Dynamics AX 2012, has arrived. I'm talking about the following post.: At Your Service: Microsoft Dynamics AX2012 Integration and Web Services


Caption: In Microsoft Dynamics AX 2012, inbound ports provide a logical grouping of services, which model specific integration points between the ERP solution and an external system.


From the post.:
"Standards-based web services are undoubtedly the programming model with the widest possible reach across platform boundaries. In Microsoft Dynamics AX 2012, we have greatly emphasized the role of services, both in integration with other line-of-business applications and as a programming model to expose the rich functionality of the application. We believe these enhancements will benefit our customers by significantly reducing the time it takes to develop custom applications and by enabling the enterprise resource planning (ERP) system to reach the entire organization."

Service are for sure the future with development, inside Dynamics AX, as well as extending AX, and other LOB applications reaching into AX. This is the vision and the desired goal.

Embracing this now, as an Architect, Developer, and general AX consultant or company, will help you and your clients reach their full Dynamic Potential that drives business value, while taking advantages of the latest technology advancements.

Is critical, that we take into consideration all that Microsoft Dynamics AX 2012 brings to the table. Doing so will help shape the business world, from the older, strict, and cumbersome business systems of the 90's that so many Dynamics Competitors shove down their clients throats, and bring to the forefront what end users, and business users need, today. Dynamic, Flexible & Scalable business processes, that adapt and grow, as the business that implement and need them.

That's all for now, but check back soon, as a whole lot more to come, including interviews, blog spotlights, continued dives into AX 2012, and more! Till next time!



"Visit the Dynamics AX Community Page today!"

Labels: , , , , , , , , , , ,

Tuesday, April 07, 2009

Webcast: .Net for X++ programmers

Well thanks to twitter, I just saw that a web cast focusing on .Net for X++ programmers will be done soon.

The link can be found here: Webcast: .Net for X++ programmers

This web cast is being put on by 'Florian DITTGEN'. This should be a really great webcast, and any Xpp / X++ developers that will be doing any work with .Net, I think this is for sure worth checking out.

Well check back soon!




"Visit the Dynamics AX Community Page today!"


Labels: , , , , , , ,

Tuesday, October 14, 2008

Map Object Sorting - a real issue

Alright,

So I am sure everyone has used Map objects in writing X++ code before. Map's are part of Collection classes that exist inside Dynamics AX.

Well one of the strangest things about this Collection class, is that it's lack or sorting methods. It does not have any. You can't sort a Map object by values or Keys, and if you can, it's buried so deep that no one has wrote about it or found it.

What kind of sorting I did see today, with my partner in crime Derek Pate, was based on the Type for the Key value of the map.

For example, say you have:

3,4,5,6,7,8,10,12,14,16

as values. Now if these values are integer based from the source your pulling from or you convert to, and you take and insert these values as listed with some form of while loopping on the object that carried these values for you, sorted in the above way, you would expect these to appear in the object your inserting too, in that same sorted order. Right?

Wrong!

If you are trying to insert the above values, of type integer, into a Map of Types::String, Types::String you will end up with the following sorted values for that Map's value elements:

"10","12","14","16","3","4","5","6","7","8"

So even though there is not a known / published sorting method or built-in function for sorting a Map, it tries to automatically sort the values for you based on type, even though you inserted those values into the map object the order desired.

This is one of those strange things that exists, that should not actually. The ability to sort, and sorting to exist for the developer at hand. Not a guessed sorting order, based on type.

Maybe an improvement suggestion? Have you seen this before? Do you have a sorting method you like to use for Map Object Values? Let me know here... and check back soon!

Update: I have had some really good comments on this entry, that point out the fact this is actually documented behavior. And based on that documented behavior, and the Key Type for the map, this is working as expected. Still it would be nice to have the ability to do your own sorting, with some kind of method of off the Map Class itself.

Here is the information pointed out:
"The order in which the elements occur during iteration is defined not by the sequence in which the elements are inserted, but the ordering of the elements: Elements with lower keys appear before elements with higher keys. The usual ordering for the types is in effect. However, for if the keys are objects, the addresses of the objects are used to supply the ordering, and no specific ordering may consequently be inferred: The addresses of the objects are transient by nature"

Thanks to the following:
Palle Agermark, Jan B. Kjeldsen & Torben for adding the comments.

Honestly, I have just nevet ran into this before, as the Types:: for the key value was always ok and the odering / sorting was never an issue. Thanks again!




"Visit the Dynamics AX Community Page today!"


Labels: , , , , , , , ,

Monday, May 05, 2008

Bye-Bye X++ Dangling semicolon

Well, if you have done X++ development, and done it for at least over 6 months, at one point in your training or in your X++ development life you have wondered why or why must we use a dangling semicolon to denote the end of our Variable delcarations? And why can't we declare variables throughout the code as needed.

Well for the longest we have just had to put up with it, but over at MFP's Two Cent's blog we have an answer and solution (in DAX 6.0 release) so that come DAX 6.0 we should no longer have to have the dangling ; (semicolon).

Check out the direct link here: What's up with this semicolon?

I know this is not a Major development, but it is for sure note worthy! Check back soon!

Labels: , , , , , , , ,

Thursday, April 03, 2008

AX Developer Survey

Well DAXGuy, over at daxguy.blogspot.com posted about a new Developer Survey, that is stated to be feeding a research program by the MorphX / X++ Development team at Microsoft.

This survey is trying to give a voice to all those technical people, who live and work in and around the DAX platform. There are a good bit of questions, and spots where you can give your input.

If your interested check it out: AX Developer Survey

Thanks DAXGuy for bringing this to the DAX Community!

Check back soon here as well, as hopefully I can pick back up on some great post in the near future!

Labels: , , , , ,

Sunday, June 10, 2007

MSDN Dynamics Developer Page

Alright,

So I was doing some weekend reading, and went to Arijit's blog. He had posted this week about the MSDN Dynamics Developers landing page. This page covers all the Dynamics Brand. So I followed the link to check it out, and man they really got some great stuff out there. Nice looking page on top of that! Anyway for sure it is a resource that Dynamics Professionals and Customers alike should have. So here is the link: MSDN Dynamics Developer Page

Thanks Arijit for postings this! [You can visit him at: DAXGuy [Arijit]]

Well check back next week as we continue to go deeper into the .Net BC and customer ASP.Net Application!

Find a job at: www.DynamicsAXJobs.com

Labels: , , , , , ,


Copyright 2005-2011, J. Brandon George - All rights Reserved