Recently I have read Microsoft Dynamic NAV blog article regarding the Commerce Gateway in NAV 2013 and I am surprise that the new solution is still remain the old commerce gateway client component. IMHO, the new solution is not give a better face lift to the product and it carry forward some limitation in the past to present time. Regardless, I was posting two articles (here & here 2) regarding alternate integration between Navision 2009 and BizTalk Server 2006 R2. The solution was utilizing the web services with WCF proxy client. However recently, I have developing a new solution which easier and without need to generate proxy client. The new solution yet still using BizTalk WCF adapter and Navision Web service technology with additional client helper DotNet assembly component for Navision connecting to BizTalk WCF service.

In sort, the new solution to consume Navision web service from BizTalk Server is only require BizTalk send port with WCF-custom adapter and a Navision code unit object with single operation service. Meanwhile, the new solution to consume BizTalk Server from Navision require to develop client request component that utilizing .net framework class “HTTPwebrequest” class and only BizTalk receive port with WCF-custom adapter.

With the POX(plain object XML) request/response design service pattern the solution can be implemented in any Navision web service (NAV 2009, NAV 2013,NAV 20013R2) and BizTalk 2006R2 onward with WCF adapter. Let’s take a look the detail solution.

Read the rest of this entry »

Dear reader,

This article is the companion part from the last article and to easily understand this article you should read the first part. This article elaborate the integration between Navision and BizTalk Server using WCF technology and it would be an alternative solution apart from using Commerce Gateway adapter component. The elaboration in this article would be heavily with BizTalk WCF adapter technology and .NET COM component wrapper which I developed by Visual Studio 2010 Express Edition in C# language. The test solution environment are based on Windows Server 2003 32 bits, BizTalk server 2006 R2 and Navision 2009 R2. It is very high likely, the solution would prevail with higher windows version and higher BizTalk server version.

Read the rest of this entry »

Recently, I have been thinking of Navision Commerce Gateway future module especially the BizTalk Commerce Gateway adapter. The latest Microsoft platform are moving forward to 64 bits and Navision maturity closer to .net. These situation cause Commerce Gateway adapter torn out to be good solution or unfitted. Wonder if Microsoft Dynamics would disclose for new technology solution or would rather let the partner to do them self. I can understand  people tried to make BizTalk server injecting data into or pulling data from Navision SQL database thru BizTalk SQL adapters. Certainly, there is nothing wrong with it but it has many limitation for few and more integration transaction to go along with it. Regardless, Navision  2009 introduce SOAP web service and high lightly it is good starting point to exploring BizTalk talk to Navision via Navision SOAP web service. In this article I am focusing on how to consume Navision web service and will talk about Navision consuming BizTalk WCF service in another post article.

Read the rest of this entry »

In the past, I was writing some article regarding project integration with older Navision version. The article overall was about developing a web service extension for exposing Navision business process and data domain reach out to external. In Navision 2009 however, the web service existence really make integration much more easily. This article is resuming from past project integration, I would like to share with you the web service request/response pattern based on Navision web service 2009.  

Read the rest of this entry »

Recently, I have been developing a batch job automation to extract/import Navision tables into/from xml format. Well it is not quite challenging if I have to use XML port object for each table and this is straight forward solution. However, in my case, I would like to extract/import any table dynamically from user selection during runtime and I don’t wish to create each xml port object for each table in Navision.

Certainly I am looking at RecordRef and FieldRef data type that would be my outmost possible solution and indeed I almost there but I was stuck with Blob data type and check mate. As you have probably known the field reference provide us with Value or Validate method to extract or to assigned the value for a field. These methods are seem good for simple data types and very unfortunately the method of CREATEINSTREAM and CREATEOUTSTREAM are absent from field reference and it is seem I am turn into the end of the road.

Read the rest of this entry »

You might already have aware of new Navision - CRM integration new features introduced in Navision 2009 R2. This integration technically gives possibility in Navision to capture data change tracking in a better way than earlier version. In this article, I want to share with you my point of view of this possibility data change tracking mechanism and give you alternative ways to achieve change tracking with another technology within Microsoft framework.

Read the rest of this entry »

Recently I have some requirement to extract Navision item picture to web front application and with Navision 2009 I could store not only BMP format but many other format namely, JPEG, TIFF, PNG and etcetera.  This is indeed is great improvement in Navision 2009, since BMP format is not the best format due the size of the space. Now, I have a little problem with the format diversity on how to recall the image format type. I need find out the format type because the web pages require the right content type before it can display correctly.

After some study and research, finally I can make a simple function in Navision C/AL to detect the image format type directly from the blob image field. Basically some bytes at the beginning of the image store the image format information. So, I need the first 4 characters from the BLOB image and do checking with it.  The function below detects some major image format and could be extended to detect others whenever it is necessary.

Content Type Function Detector

Below C/AL code  is using detector function for displaying the content type format of item picture:

                            

l_recItem.CALCFIELDS(Picture);
IF l_recItem.Picture.HASVALUE THEN BEGIN
   l_recItem.Picture.CREATEINSTREAM(l_instreamBigData);
   l_instreamBigData.READTEXT(l_textLen4);
   l_textContentType := l_cduGenFunction.GetImageContentType(l_textLen4);
   Message(’Image Format is : ‘ + l_textContentType);
END;

Some cases of requirement, I need to have text editor in Navision that does not limited to 1K of string and I need able to have break line and simple decoration. This large text could be for explanation of production description, shipping handling or document requirement or could be some comment.  So I try to develop a new stuff in Nav 2009 sp1 features call control Addin an as usual using Visual Studio Express Edition 2010 to create one.

Read the rest of this entry »

Preface

Recently, I have been thinking of consuming typical web service such currency exchange rate or RSS weather forecast from Navision.  So I come to think how to consume all these services on the web and finally I found “HTTPWebRequest” class under System.Net framework that help me do the wonders. So, I am exciting to create the COM wrapper for Navision to make a request and capture the response. Like usual, I am using Microsoft Visual C# 2008 express editions and Navision message type designer to managing XML at Navision side. Let’s go with substantial matter now.

Read the rest of this entry »

Preface

This article is the next project from last article regarding the .net component of Navision message service which contains all the message contracts. In this article I will talk about the .net component creation that contain WCF service contract, operation contract and host them in IIS application. This component will utilize the .net Navision message service to communicate with Navision listener. 

Read the rest of this entry »