Blog

Microsoft Dynamics AX Blog

Browsing all articles in Blog
5

If you have ever came across a case where you found Dynamics AX girds showing only the first line of data… don’t get afraid, you still have all the data.

Basically to solve the issue, insure that the client you’re using has the very same version of your Dynamics AX AOS. You could do that by installing the right Microsoft Dynamics AX SP and Rollup version. :)

2

If you have ever used the General Ledger AIF service of the Microsoft Dynamics AX 2009, you might have noticed the limitation of not integrating other than Ledger transactions. For example, you cannot send Customer and Vendor transactions through that AIF Service.

I came across a requirement where I needed to integrate external Vendor and Bank transactions through AIF. After spending sometime on testing as well as on X++ code tracing… I came to know that Microsoft is putting some restrictions on the code to not to accept the Ledger Journal transactions of types other than Ledger.

The following code is a standard X++ code that was written to prevent such integration.

37
38
39
40
41
42
43
44
45
46
47
48
49
//LedgerJournalTableType (class) -- initializeLedgerJournalName (method) -- Line number 37
/*Commented to disable the Non-Ledger type restriction*/
    if (!true /*this.isJournalNameValidJournalType()*/)
/*Commented to disable the Non-Ledger type restriction*/
    {
        AifFaultContext::setGlobalContextField(tableId, fieldId);
        AifFault::checkFailedLogFault(strfmt("@SYS114718", axLedgerJournalTable.parmJournalName(), axLedgerJournalTable.parmJournalType()), #InvalidJournalNameJournalTypeCombination);
        throw AifFault::faultList("@SYS98197", #ValidationFailed);
    }
/*Initilizing the journal type from the journal name*/
    ledgerJournalTable.JournalType = ledgerJournalName.JournalType;
/**/
}

Also I have changed:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
//Amer Atiyah, http://www.amerax.net/
//LedgerJournalTransType (class) -- validateAccountType (method) -- Line Number 1
protected boolean validateAccountType()
{
    boolean         isValid = true;
    ;
 
    switch (ledgerJournalTable.JournalType)
    {
        case LedgerJournalType::Daily :
                /* I had to comment this code to prevent the validation
                if (ledgerJournalTrans.AccountType != LedgerJournalACType::Ledger)
                {
                    if (this.isConsumerStateTracked())
                    {
                        // AX5 service limitation
                        isValid = AifFault::checkFailedLogFault("@SYS117885", #AccountTypeMustBeLedger);
                    }
                }*/
            break;
 
        default :
            break;
    }
 
    return isValid;
}

What I like to mention in here is that Microsoft Dynamics AX 2012 now supports integrating Vendor, Customer, and Bank transactions out-of-the-box. I copied the following code from the LedgerJournalTransType class in Dynamics AX 2012 without doing any changes to it:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
protected boolean validateAccountType()
{
	boolean isValid = true;
 
	this.initializeLedgerJournalTable();
 
	switch (ledgerJournalTable.JournalType)
	{
		case LedgerJournalType::Daily :
			if(LedgerJournalTrans.AccountType != LedgerJournalACType::Ledger &&
			   LedgerJournalTrans.AccountType != LedgerJournalACType::Bank &&
			   LedgerJournalTrans.AccountType != LedgerJournalACType::Vend &&
			   LedgerJournalTrans.AccountType != LedgerJournalACType::Cust)
			{
				if(this.isConsumerStateTracked())
				{
					isValid = AifFault::checkFailedLogFault("@SYS117885", #AccountTypeIsNoSupported);
				}
			}
			break;
		default;
			break;
 
	}
 
	return isValid;
}
25

Developing applications is now easier and faster in the new Microsoft Dynamics AX 2012 than its earlier versions. .NET developers who are familiar with Visual Studio .NET will be comfortable with developing Dynamics AX applications although Dynamics AX has its own IDE which called MorphX and its own programming language with is X++.

This image shows the Dynamics AX AOT (Application Objects Tree), one of the MorphX IDE objects that Dynamics AX developers use to navigate through programming objects like Forms, Reports, and X++ Classes:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

With Microsoft Dynamics AX 2012, you can view that AOT in the Microsoft Visual Studio 2012:

Dynamics AX 2012 Applicatoin Explorer in VS.NET

Proxies

Microsoft Visual Studio 2010 now creates proxies internally to support interacting with Microsoft Dynamics AX 2012 X++ classes, tables and base enums. By creating those proxies, developers will interact with Dynamics AX objects in C# and VB.NET exactly as if they are interacting with it in X++. After the proxy is created, that type is available as a strong type and features such as IntelliSense are available. For example, table fields and X++ methods are now exposed to be used in C# with one click. The created proxies are using .NET business connector internally to connect to the Dynamics AX objects.

The following pictures speak quietly how you can access and interact with Microsoft Dynamics AX 2012 objects from within Microsoft Visual  Studio 2010:

Adding Visual Studio Project to the Dynamics AX 2012 AOT

Visual Studio Project inside Microsoft Dynamics AX 2012 AOT

Adding a Dynamics AX 2012 object to the VS 2010 Creates an Internal Proxy

 

The CustTable Appears in the Solution Explorer. You Can Now Use the Dynamics AX CustTable Methods, Properties and Fields!

0

Two weeks ago, I was very pleased to announce our intend to conduct the Microsoft Dynamics AX Brains event in Riyadh at the 19th of May. Today and after the event, I’m really happy to say that the Dynamics AX Brains event was successfully delivered.  :)

During around five hours, 140 attendees has enjoyed the very new news about the Microsoft Dynamics AX 2012. In the welcoming note, I have welcomed the attendees and introduced to them Mainly we have covered three areas:

  • What’s new in Microsoft Dynamics AX 2012 SCM and Manufacturing, by Ahmad Maghraby
  • What’s new in Microsoft Dynamics AX 2012 Finance and Projects Accounting, by Ahmad Yakan
  • What’s new in Microsoft Dynamics AX 2012 Technology, Architecture and IDE, by Amer Atiyah

I will leave you with some pics from the event :).

0

If you have registered for our Dynamics AX Brains event, then we would like to thank you very much for registering to the “Microsoft Dynamics AX 2012, a New Generation of ERP Systems” event. If you did not register yet, then you can register now on the event Registration Page. :)

This email is to remind you with the event that be held in the 19th of May, 2011 in the PSU – Riyadh. For more details about the event please check the Registration Page.

Location:

Old Management Building – Prince Sultan University
King Abdullag St. (Exit 10) Cross with Abu-Bakr AlSeddeeq St.
Riyadh, Saudi Arabia

Event Location

(Click to enlarge the map)

Time:

Thursday 19th of May, 2011
Registration begins at 10:00 AM.
Remember the Prizes for the first five attendees.

 

We look forward to see you all there :).

 

Best regards,,,
The Dynamics AX Brains Community Members
Dynamics AX Brains Community

 

 

 

0

As part of  awareness that we are trying to deliver to the Dynamics AX community in Saudi Arabia, Dynamics AX Brains community is very pleased to conduct a one day event to provide “What’s New in Microsoft Dynamics AX 2012” sessions.

The event will be conducted at Thursday 19th of May in the Microsoft Innovation Center at Al-Yamama University, Riyadh. Through out three sessions, I and two of the Dynamics AX community members will be demonstrating What’s new in Dynamics AX 2012 for the following (ordered in the same order at the event):

  • Supply Chain Management and Manufacturing
  • Technology
  • Financials and Projects Accounting

In addition to the above sessions, there will be a 30-minutes opening note to demonstrate the Dynamics AX Brains Community. I do hope that the event will be great opportunity for community members to more about the new Dynamics AX version and to network as well.

We would love to see you at the event, around one month from now. Click the attend button to register in the event and to know more about it.

See you there community! :)

2

Finally Microsoft has released some documents about the long waited Microsoft Dynamics AX 2012. These new training materials highlight the new features in Microsoft Dynamics AX 2012.  These materials are currently downloadable on PartnerSource (Partner Service Plan required).   They will be orderable (can be purchased) beginning April 21.

Have fun :).

 

0

New RSS Feed URL of My Blog

If you have subscribed earlier to Microsoft Dynamics AX Thoughts blog RSS feed, then you better change the RSS feed URL.

I have done some changes on my previous blog. I had to create different categories in order to have the posts distributed in different places in my website.

The new “technical” posts RSS feed URL is: http://www.amerax.net/?feed=rss2&category_name=blog

Have fun! :)

0

amerax.net in a New Shape!

Here I am! I just changed my aged website into a new and nice theme. I used the WordPress open source platform for the site to make it dynamic exactly as the Microsoft Dynamics :).

I always wanted to change my website to reflect what I’m currently doing of supporting the Saudi market by my freelancing activites.

In the new version of amerax.net, you will find some cool pages like: Testimonials page (as you can it randomly selected in the right pane of the screen) and Clients page (on the top and footer menu).

I do welcome any feedback on the website. If you have encountered any technical issues when exploring it, please get back to me!

 

0

My AX Session at the ROCS2

Yesterday I provided an online session for the technical community in Saudi Arabia.

This session will be the beginning of a series of Dynamics sessions covering most of the technical areas like MorphX, Workflow, EP, Reporting… etc.

The session I gave yesterday provides an overview about the Dynamics AX from technical perspective. I described the Architecture, IDE, X++, EP, Reporting and BI, and Workflow.

You can download the PowerPoint file from here.

 

5

Populating Data from Different Companies

I came across a case where I needed to select a field value from different companies in Dynamics AX.

Simply what you have to do is the following (I choose ItemId to be taken from different companies as an example):

  1. Create a field in your table with an ExtendedDataType than has NO relation, MyNewItemIdEDT in our example
  2. Create an ItemCompany field, put the extended data type as dataAreaId
  3. Create a Relation in that table with the following elements (Normal relation elements):
    • <<NewTableName>>.MyNewItemId == InventTable.ItemId
    • <<NewTableName>>. ItemCompany = InventTable.dataAreaId

 

By this you would be able to select the ItemId field based on the selected dataareaid without writing any code even. :)

0

As part of Microsoft technical community contributions in Saudi Arabia, we are conducting a two days online event in February 10th and 11th.

Dynamics AX Brains will conduct a Dynamics AX session by the end of that event called: “The What, Why and How Answers of Dynamics AX” which will give an overview about the Dynamics AX 2009 from functional and technical perspectives.

There are going to be other topics to be covered like Windows Azure, Silverlight, SharePoint 2010, XNA, Windows Phone 7, Dynamics CRM 2011, and SSIS.

Wish you can attend! :) Remember that the Dynamics AX session will be on the 11th at 03:00 PM Riyadh time.

Attend

Dynamics AX 2012 Event

Recent Posts

Tags

Archives

Random Testimonial

  • ~ Mohamed Wajd Haikal, Software Team Leader at IDIS

    no_thumb"Amer is one of my best friends, he always tries to be the best by focusing on gaining new certifications and to have wide relationships"

  • Read more testimonials »