Sunday, August 15, 2010

Dynamics AX Spell Checker API

The other day, I was looking for Spell Checker API in AX and stumbled onto these two very useful links on www. It shows the usage of SysSpellChecker Class in AX which uses the COM Word Application Library

http://palleagermark.blogspot.com/2008/02/spell-checking-from-ax.html

http://sangi1983.spaces.live.com/blog/cns!264A0056CBCBB1D3!404.entry

Error message when you read an .XML file that has a large text field in Microsoft Dynamics AX 4.0

Processing larger files in AX, Please backup the registry before you do any modifications to it

SYMPTOMS




You read an XML file that has a large text field in Microsoft Dynamics AX 4.0. For example, the document size is 5432150 characters, and the large text field is 5429024 characters. In this scenario, the XmlElement.text function fails. Additionally, you receive the following error message:



Error in getting through from code: Shorthanded memory to getting through from script.

Stacktrace

(C)\Classes\XmlElement\text

(C)\Classes\PrismeXML_Base\traverse - line 58

(C)\Classes\PrismeXML_Base\run - line 12

(C)\Classes\PrismeXML_Base\interpret - line 67

(C)\Jobs\CallOIOInterpreter - line 15

 
CAUSE



This problem occurs because there is no more memory space available. By default, the size for the memory allocation in the Application Object Server (AOS) is set to 10 MB at installation. If your implementation requires manipulation of data elements over 10 MB, memory allocation fails. You may or may not see an error message if memory allocation fails when this limit is exceeded.

RESOLUTION




To resolve this problem, modify the maxbuffersize registry key on the client computer or the computer that is running the AOS server. Or, break the XML file into smaller sizes possibly 500 -1000 line items.

Note The following steps will bring your AOS server offline temporarily because of a service reset.

To modify the maxbuffersize registry subkey on the client computer, follow these steps:



1. Click Start, click Run, type Regedit, and then click OK.

2.Locate and then click the following registry subkey:

HKEY_CURRENT_USER\Software\Microsoft\Dynamics\4.0\Configuration\your current config name.

3.Set the value for the maxbuffersize registry key to the maximum message size in MB. Or, set the value to zero (0) to have no restriction on the size of documents.

4.Restart the client computer.

To modify the maxbuffersize registry key on the computer that is running the AOS server, follow these steps:

1.Click Start, click Run, type Regedit, and then click OK.

2.On the AOS server, open the server configuration settings:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dynamics Server\4.0\instance name\config name

3.Set the value for the maxbuffersize registry key to the maximum message size in MB.

4.Restart the AOS service.

Wednesday, August 4, 2010

Integrating/Invoking Google Maps on Dynamics AX Customer Address Form

Last week, over the lunch time, I was chatting with some of my colleagues regarding Dynamics AX and Map Integration, Till then, I was not aware of the fact that in Dynamics AX 2009 Address form we already have a "Map" button which invokes the Bing maps as shown here











But, Bing was not able to provide us the proper location for some addresses which Google Maps could provide - Food for thought for the Bing devs/SDE's.

I was curious to see the Code Behind the "Map" button, which led me to the SmmUtility Class > mapIt method.

Then, next step was to find out how to invoke Google Maps by passing query string in the url, My best friend Google never lets me down :-) and I hit upon this wonderful site which shows how to pass different query string parameters in the url http://www.querystring.org/google-maps/google-maps-query-string-parameters

From there on it was pretty straightforward, following code snippet helped me to show up the google maps








Thatz it! Pretty easy, rite? :-).