Some tips and hints about temporary tables

  • Reading time:7 mins read

MP900433071[1]Temporary tables in NAV are a great thing, and are frequently used, but there are some misconceptions about them. I see developers do the same mistakes time after time and again. In this post I’ll address some common misconceptions and give some tips and hints that you can use in practice.

There may be a lot of basics for you here, in which case just skip to the end: there I give you a nice tip about how to prevent accidental changes to physical tables when you expect that a table is temporary, and in fact it is not.

Continue ReadingSome tips and hints about temporary tables

Web Services Black Belt: consuming NAV web services using pure C/AL

  • Reading time:4 mins read

MP900406779[1]Have you ever needed to connect to the Web services of one NAV instance from another one? If so, I bet that the approach was something like this: you created a .NET class where you defined a Web or Service reference to the target instance, and then you consumed that .NET class using .NET Framework interoperability. It was kind of clumsy, inflexible, but it worked.

How cool would it be if you could do something like this:

WITH WebService DO BEGIN
  CONNECT(‘http://localhost:7047/DynamicsNAV70/WS/CRONUS%20International%20Ltd/Page/Customer’);

  INIT;
  SETVALUE(‘Name’,’Test Customer’);
  SETVALUE(‘Blocked’,Cust.Blocked::Ship);
  SETVALUE(‘Credit_Limit_LCY’,10000);
  CREATE;

  MESSAGE(‘I just created Customer No. %1 in another NAV instance.’,GETVALUE(‘No’));
END;

Continue ReadingWeb Services Black Belt: consuming NAV web services using pure C/AL

Benchmarking Results: NAV 2013 Outperforms All Previous Versions

  • Reading time:17 mins read

imageMarketing is nice as long as it matches the reality. With Microsoft Dynamics NAV 2013, Microsoft has promised a lot of improvements, but how well does NAV 2013 stand the reality test?

Apparently, outstandingly well.

Over the past two days, I have intensively tested NAV 2009 and NAV 2013 through a series of five different tests that measure different aspects of NAV data handling. My conclusion is clear: NAV 2013 is faster than any NAV you have ever seen, including the Classic client on the native database.

Continue reading to find out more about my findings and testing approach.

Continue ReadingBenchmarking Results: NAV 2013 Outperforms All Previous Versions

Top 5 SQL Server Improvements in NAV 2013

  • Reading time:5 mins read

imagePerformance is one of those things you can’t get enough of and NAV is one of those systems where an extra operation per second is always welcome. Yesterday, during the Expert Panel at the NAV day of the Decisions Spring conference, there was a question: is there any improvement in how NAV 2013 works on SQL Server.

And the answer is: oh yeah!

As a matter of fact, everything is new and improved.

Jörg has already posted an overview of the news of NAV on SQL Server in his last blog post, but I still think there’s room for a couple of more words on the really amazing palette of news and improvements.

Continue ReadingTop 5 SQL Server Improvements in NAV 2013

NAV Expert Panel Session Begins

  • Reading time:1 min read

imageI’m right now sitting in the virtual lobby of the NAV Expert Panel Session of the NAV day of the Decisions Spring 2012 conference. The panel features three MVPs, three book authors, and established members of the NAV community: Eric Wauters, Matt Traxinger, Steven Renders, Brent Fisher and myself.

With Microsoft Dynamics NAV 2013 beta out and a lot of partners having laid their hands on it, I assume the discussion will develop around NAV 2013 topics.

I don’t know how much time I’ll have during the session, because I’ll probably be busy answering questions, but I’ll be tweeting live from the session, so if you don’t have an opportunity to join the conference, you can still stay in the loop by following me at @vjekob, or follow the conference hashtag #msdwdecisions.

Continue ReadingNAV Expert Panel Session Begins

Decisions Spring 2013 Kicking-off Next Week

  • Reading time:1 min read

imageMake sure not to miss Decisions, the virtual conference about Microsoft Dynamics, by MSDynamicsWorld.com. It’s starting next Monday, and I hope you already have it in your calendar. It’s a four day conference, a day per Dynamics flavor (SL is the only one not being served). The best of all – it’s free! Be there.

The Microsoft Dynamics NAV day is on Wednesday, June 20, and it’s featuring a program manager from Microsoft, three MVPs, (at least) three book authors, and a team of seasoned professionals in a series of interesting presentations.

Just like the previous years, I’ll be speaking there myself, and if you would like to join me for an excursion into the world beyond ERP, where several disruptive trends are shaping the future of the IT, and consequently the ERP. I’ll take an angle at the challenges the present and the future bring, and how Microsoft Dynamics NAV faces them, copes with them, and plays along. I promise it’ll be time well spent.

The conference is virtual, so you can attend it in your slippers, I won’t mind. See you in the cloud!

Continue ReadingDecisions Spring 2013 Kicking-off Next Week

Unlimited Text Length in NAV 2013

  • Reading time:1 min read

imageHave you noticed already that in Microsoft Dynamics NAV 2013 the text variables can have unlimited length? That’s quite a leap ahead of the previous versions which couldn’t handle more than 1024 characters per variable. If you wanted to achieve bug-free code then, when you were assigning texts around, you had to concatenate the result down to the MAXSTRLEN of the target text.

Not anymore.

The trick is to simply not declare the Length property on text variables. If you declare a variable of type Text, and then leave the Length empty, it means – unlimited.

Don’t worry – you won’t kill NAV by eating up all the available memory. Underneath C/AL there is .NET now, and strings in .NET are of unlimited length, or better yet – unlimittable – length anyway. Strings will only make things slow if you stuff the revised version of King James’s Bible in them. In all practical situations, there will be absolutely no performance penalty of leaving Texts unlimited.

I don’t know about you, but from tomorrow morning, I won’t be setting Length to my Texts.

Continue ReadingUnlimited Text Length in NAV 2013

NAV 2013 beta mini-launch at Adriatics Community

  • Reading time:1 min read

Microsoft Comomunity CroatiaIf you want to learn more about the upcoming release of Microsoft Dynamics NAV 2013, and you are from Zagreb, or don’t mind coming to it, the next community event of Microsoft Dynamics Community Adriatics will be fully dedicated to NAV 2013.

There are going to be two presentations. In the first one on the topic of “What’s new in application functionality”, hosted by Ivan Koletić, a member of Microsoft Dynamics NAV product team, who will give an overview of new application features in NAV 2013, and by now you should already know there are plenty.

The second presentation will be about “What’s new in technology”, and will be hosted by me. I won’t be doing any deep-dive this time, and I’ll provide a cloud-perspective overview of a myriad of architecture changes and technology improvements in NAV 2013.

Both of these presentations are merely going to be an introduction in the series of the presentations that will follow over the next several community events. It’s going to be an exciting summer and fall.

If you would like to attend, then please register your attendance (for free, of course) at the event homepage. We are looking forward to seeing you there!

Continue ReadingNAV 2013 beta mini-launch at Adriatics Community

Generics in .NET Interop for NAV 2013

  • Reading time:6 mins read

image.NET Framework is full of programming conceptual gems, that are now at the fingertips of us poor C/AL folks. One of those is generics. However, the C/AL support for generics at the first glance seems rather limited, and the help file says that you can’t specify data types, and that all generics will be instantiated with System.Object as their type. However, with Microsoft Dynamics NAV 2013, there is a very simple way which allows you to use generics with other data types, as well. So, if .NET Framework Interoperability interests you a slightest bit, here’s a solution. The example below will be for the System.Collections.Generic.Dictionary<,>, and I will show how to use instances of the Dictionary<,> object with any desired data type, without having to pull in any external assemblies.

Continue ReadingGenerics in .NET Interop for NAV 2013