June 17th, 2012
I was quite surprised to learn that the IMPORTOBJECTS/EXPORTOBJECTS C/AL commands, which were introduced into the language only recently, have now been removed from NAV 2013. Apparently, they have not been and will not be implemented in the NAV 2013 service tier executable, just like they have been absent (without any valid reasons, in my view) from the Navision Application Server (NAS) executable in previous releases.
Another surprise of a similar nature was the discontinuation of the XML object format. Admittedly, being tailored primarily to the transformation of forms and reports, the format left something to be desired in terms of support (forms and reports only) and structure. An example of the latter that instantly springs to mind is the fact that variable declarations were part of the C/AL code lines, instead of separate XML elements.
But still, the ability to import/export objects in XML format, directly from C/AL code, introduced a lot of potential for automated tools, especially for generating new objects, analyzing/manipulating existing objects, and integration to source code control systems without having to revert to things like the Running Object Table. For obvious reasons, parsing objects exported as XML using e.g. MSXML was a lot less fragile than doing the same with objects exported as text, for which no standardized parser API is available.
In my humble opinion, such possibilities were exactly what had been missing from the C/SIDE ecosystem for a very long time, making NAV development a more manual, error-prone task than it needed to be. I assumed the introduction of such possibilities as IMPORTOBJECTS/EXPORTOBJECTS was part of the same developer/tester productivity improving strategy that had led to e.g. the automated unit testing feature and, somehow, I personally expected more examples of similar techniques in the new version, instead of fewer…