Microsoft Dynamics AX Thoughts
- Backing-up my database (just in case that anything went wrong)
- Exporting the data of that table (from the AX Import/Export functionality)
- Deleting/Dropping the table from the Microsoft SQL Server Management Studio (by this all the data of course will be deleted)
- Opening the Dynamics AX client, going to: AOT –> Data Dictionary –> Tables –> LedgerJournalTrans –> Right clieck –> Synchronize
- Importing the data again to all companies (from the AX Import/Export functionality.
As you could see, I got this error in a very critical table that is the LedgerJournalTrans table. This table contained already posted lines and it was really headache for me to get it fixed. But fortunately I was able to fix it by following the previous steps.
If you ever tried to modify the LedgerJournalTransDaily form (the Ledger Jourlan Lines form) you would notice a forest of X++ codes executed on every click, initializations, closing, fields modifications… etc. Of course this makes sense because this form is basically the backbone of financial transaction of this Dynamics AX, which in turn the backbone of all modules of Dynamics AX.
One of the common classes executed in this form is LedgerJournalFormTrans class. Basically this class controls the controls of any form where LedgerJournalTrans table is a datasource for that form. It simply controls the visibility, edibility and validity of most of the controls on that form based on the “status” of the current Ledger Journal Trans and Ledger Journal Table. Whenever a user fills data, reads data, and clicks buttons and menu buttons.. a call for a method in that class is executed to control the new write/read/event.
Actually LedgerJournalFormTrans is an important class of a series of extended classes. Those classes are like the following:
-
JournalForm --> JournalFormTrans --> LedgerJournalFormTrans --> LedgerJournalFormTrans_Payment
-
JournalForm --> JournalFormTable --> LedgerJournalFormTable
I believe from the name you could tell what all of those classes are all about.
If you ever called the AIF Sales Order Service in Dynamics AX 2009, then you had to specify the Customer Requisition (PurchOrderFormNum) field in SalesTable although this field is not really mandatory.
The Sales Order web service assumes that it is called from trading partners applications. Thus, whenever a sales order is created, this means that it has been created based on a request (Purchase Requisition most of the time) by this trading partner to your organization. And this requisition should be recorded in the PurchOrderFormNum field.
But why does the AIF Web Service create Journal type sales order then? The AxdSalesOrder class (the AX Document class) checks whether this sales order has been requested before by this customer (CustAccount field) or not. If it has been requested before, then this means that this customer (the one who sent this sales order document via the AIF Sales Order service) is purchasing based in the same Sales Order.. so Dynamics AX does not need to create another sales order, it creates Journal type sales order instead for the same customer and the same Customer Repulsion.
A great detail of the Sales Order Document Service is found in this link: http://msdn.microsoft.com/en-us/library/cc967401.aspx.
You might face the same scenario that I’m facing with one of my customers currently, that is migrating sales orders from an internal legacy system where you want only to migrate sales orders without checking for a Customer Requisition. If this is what you’re looking for, then all what you have to do is to comment the code in AxdSalesOrder class and prepareSalesTable method:
select firstonly localSalesTable where localSalesTable.CustAccount == _axSalesTable.parmCustAccount() && localSalesTable.PurchOrderFormNum == _axSalesTable.parmPurchOrderFormNum() && localSalesTable.SalesId != _axSalesTable.parmSalesId(); /*COMMENT FROM HERE if (localSalesTable) { _axSalesTable.parmSalesType(SalesType::Journal); }COMMENT TO HERE*/
Search the site
Dynamics AX 2012 Event
Recent Posts
- Enterprise Portal is Not Working on Dynamics AX 2012 Hyper-V Image
- Dynamics Academy – An Academic Project for Microsoft Dynamics in Saudi Arabia
- Microsoft Dynamics AX 2012 Event in Khubar
- Knowledge Bridge
- Columbus IT
- Fawzi Al-Nahdi and Partners Holding Group
- Dynamics AX 2009 Shows One Line Only in Its Grids
- Talal Abu-Ghazaleh
Tags
Archives
- December 2011 (2)
- November 2011 (3)
- July 2011 (2)
- June 2011 (4)
- May 2011 (3)
- April 2011 (4)
- March 2011 (12)
- February 2011 (2)
- January 2011 (3)
- December 2010 (1)
- November 2010 (1)
- October 2010 (5)
- August 2010 (1)
- July 2010 (3)
- June 2010 (4)
- May 2010 (5)
- April 2010 (1)
- March 2010 (9)
- February 2010 (4)
- January 2010 (4)
- December 2009 (11)
- September 2009 (1)
- August 2009 (1)
- July 2009 (2)
- September 2008 (1)
Random Testimonial
- ~ Mohammad A-Awami, Dynamics AX Specialist at WorleyParsons
"I worked with Amer for WorleyParsons. I found him very cooperative. He is able to help me in a lot of issues that related to ax. His ability to solve the problems is fascinating me. It is so fast and done on the best practice. His ability on business analysis and implantation are done on the best methods." - Read more testimonials »
What's the little bird saying?
- Get a weekly doze of technology with the Microsoft Mondays Webcasts http://t.co/wyQSlYH3. This month showcases SSDT, Azure and SharePoint. 2 weeks ago
- @fawad343 Why not :)... I spent my honeymoon there.. and I would love to get back to it again! :D 3 weeks ago
- @saadalahmed تعليق بسيط... لاشيئ في العالم يسمى اسرائيل... لعلك تعني المغتصبة فلسطين؟ 3 weeks ago
- More updates...
Posting tweet...
Powered by Twitter Tools

April 28, 2010 in 