Let's clean up NAV #5 - Torn Page Detection
2014-11-18 8:23

Join the Clean Team! Geeked

Welcome to my fellow MVP Alain Krikilion, aka Kriki, who also clearly wants to clean up as you can read below. Let's kriki up NAV!

In the database properties of NAV, on the Options tab, there is the toggle Torn Page Detection.

In SQL2000 this option was introduced to have some mechanism to detect if a page was 'torn'.

What is behind it?

A page in SQL is approx. 8KB. But the default disk-cluster in Windows is 4 KB. So when you write a SQL page to disk, you write it in 2 disk-clusters. If the first cluster is written well, but the second not because of some problem, you have a torn-page.

In a later version of SQL Server, the Checksum was introduced. SQL Server calculates this checksum, when a SQL-page is written to disk, and writes it together with the data in the page. Now when SQL server reads that page, it calculates the checksum and confronts it with the checksum found in the page. If they differ, SQL knows the page is corrupt.

In the beginning, it was feared that it could have a performance impact, but that proved to be wrong (luckily). So the default has become Checksum and you don't need the possibility in NAV to change that as there is no reason to do it!

So lets get rid of Torn Page Detection.

Let's clean up NAV #4 - SYSTEM Functions
2014-11-16 15:51

Once I start to clean up ... I can't stop I guess. So here's more that still resides in C/SIDE and has become totally obsolete (the following table is an excerpt from Changes in C/AL Behavior and Support from Earlier Versions of Microsoft Dynamics NAV):

Function

Change

COMMANDLINE

Not supported in Microsoft Dynamics NAV 2015.

ENVIRON

Not supported in Microsoft Dynamics NAV 2015.

EXPORTOBJECTS

Not supported in Microsoft Dynamics NAV 2015. Use the finsql.exe executable with the ExportObjects command instead. For more information, see ExportObjects.

IMPORTOBJECTS

Not supported in Microsoft Dynamics NAV 2015. Use the finsql.exe executable with the ImportObjects command instead. For more information, see ImportObjects.

ISSERVICETIER

Obsolete in Microsoft Dynamics NAV 2015, but still supported. This function always returns true.

LANGUAGE

Not supported in Microsoft Dynamics NAV 2015.

OSVERSION

Not supported in Microsoft Dynamics NAV 2015.

SHELL

Not supported in Microsoft Dynamics NAV 2015.

VARIABLEACTIVE

Not supported in Microsoft Dynamics NAV 2015.

YIELD

Not supported on Microsoft Dynamics NAV Server.

So if it is not supported why still have it? Let's clean up the ... Geeked

Let's clean up NAV #3 - AltSearchField
2014-11-13 21:12

With RTC all of a sudden, so it seemed to many, AltSearchField was not working anymore. Complaints abundant as probably the same 'many' hadn't learned about the new dropdown list yet. You know that list defined by the FieldGroup property on a table.

Meanwhile this dropdown list has become a common feature that provides the user with even a more powerful way of searching the correct data than AltSearchField did provide. And still AltSearchField is to be found in C/SIDE as a table property including the data that it was populated with in the past. However, totally obsolete now and a next candidate to be cleaned out!

'Vedbaek, go ahead. Clean it out!'

The Word layout document is malformed - Misleading Message #2
2014-11-7 11:54

I guess this error message can make sense for sure, but not with what I was doing today.

I mean, working with the new document reporting feature in NAV 2015, this perfectly would made sense importing a Word layout, that has just been updated, but in such a way that is ended up to be malformed.

But this wasn't what I was doing. At least that's what I thought and also proved to be so.

What did I do to get here?

From C/SIDE I had exported the Word layout of REP1306. Opened it in Word and pimped it nicely, just to get some feeling of it. Saved the Word document. Returned to C/SIDE and imported it again. And ... ran into this message. Hmm

Long story short: I indeed had saved the Word layout, but had not closed the file. I.e. the file was still open in Word.

Document malformed?

Let's clean up NAV #2 - Form Designer
2014-11-7 11:48

Of course after my post How-to: Design a Form in NAV 2015 this one is obvious, ain't it? Just for the counter to increment: #2.

Need to say more?

by Luc van Vugt | with no comments
Filed under: , , ,
Let's clean up NAV #1 - URL and SAVEASHTML
2014-11-6 17:13

As Mark started to set the pace, I am following up on this with my list of small enhancements that could easily be picked up in the next release. Let's clean up NAV from obsolete remnants. I just call this post #1 even though I am totally unaware how many more will follow.

So here we go: 'Houston' ... uhhh ... 'Vedbeak' let's get rid of the obsolete report property URL and function SAVEASHTML.

For those who agree, give your vote here.

One or more projects in the solution were not loaded correctly
2014-11-5 13:02

Last week performing a NAV 2013 update training, I was confronted with the above message when opening the layout from C/SIDE in Visual Studio 2013. "Ouch", I thought, "apparently trusting too much on my installation to work well. Should have checked." Surely after my laptop re-install some weeks ago. Hmm

"OK, let's click OK and see," I said to myself, crossing fingers. Luckily Visual Studio opened up showing me the layout of the report and indeed a useful message in the output window:

Typically a case of my stringiness when installing Visual Studio (or in general any other software package): always trying to get away with a minimal install. I had unchecked all optional features.

Let's check the Web Developer Tools and update the installation.

How-to: Design a Form in NAV 2015
2014-10-30 13:54

Don't believe you can? Have a look at this picture story ... Cool

Finding NAV 2015 MSDN Help - Let's Hope It Improves
2014-10-26 12:39

For ages Help has been the laughingstock of NAV. Many where evading the creation of it, even more were mocking about the content. For various reasons.

With NAV 2009 MS has picked up this gauntlet in various ways: creating better and more valuable content, putting it online, providing us with easier to use tools, not in the least the help server that was released last year. Now with the release of NAV 2015 the next version of standard help has been put online. But it appears that it's still showing up in search queries as dominant as it used to be for previous versions.

If you now do a search for NAV ShowMandory the msdn topic on ShowMandatory will only show as last entry on the first page (and guess what's the top 3 shown?). But ... it is improving. The search results were even worse some weeks ago.

Searching for NAV AccessByPermission will not even yield an msdn result! Not even on msdn itself.

Informing myself on this with one of my former MS colleagues I found I surely was not the only one experiencing this and that the issue has been escalated to the msdn team.

Let's hope it improves the coming weeks.

Running Help Servers Side-By-Side
2014-10-24 11:24

Digging myself into the new features in NAV 2015 I was referencing the Help and found myself looking at default page. My first thought was: Isn't there any help for this field?

So I returned to the page and selected the upper left dropdown arrow (forgotten the term for it), Help, Microsoft Dynamkics NAV Help to see if there wasn't any help for the page. Nope. Same topic shown.

Now looking a bit more closely I saw I wasn't looking at 2015 help at all.

Didn't I install the NAV 2015 Help Server?

Well, apparently I had and it was running also.

But ... it was running on the same port as the NAV 2013 R2 Help Server: 49000. My recent installation of both NAV 2013 R2 and NAV 2015 came to mind. I had set different ports for the service tier, but had totally neglected the Help Server and thus had both set on the same port. (Note that there as a useful post on this by my fellow MVP Saurav Dhyani.)

Piece of cake to change the port, I thought. Well, now looking in retrospect, it is, but it took me some while before I got it running and even spammed one of my former MS colleagues with it. Once more my apology for that. Embarrassed

I guess you figured out that I knew the Help Server as an IIS service. But not being a regular user of the IIS Manager, it's like "wow, there is a lot to configure". Surely if you only look at the middle pane (Feature View) and start browsing around there. Don't, I can tell you now.

Have a look at the right pane and click on Bindings .... Now writing this I can't recall anymore how I got to click on that; nevertheless, that's where to go.

I added a binding for port 48000, deleted the one for 49000 (and left that to the Help Server for NAV 2013 R2) and (re)started the service.

Time to return to NAV 2015 and ... No, no, not yet. As the referencing of the help is handled by the service tier there another thing to do.

Stop service, change the Help Server Port to the right one, i.e. 48000 in our case, and restart the service.

Back to my NAV 2015 windows client and click F1 again.

.......... Shooot. Should have thought of this. At least should have better read Saurav's post.

There is a third part in this: the user settings the be found in ClientUserSettings.config which typically resides in C:\Users\<user>\AppData\Roaming\Microsoft\Microsoft Dynamics NAV\80.

Change 49000 to 48000, save, restart my NAV 2015 windows client, and click F1.

NAV 2015 Glance 4: New Functions are Local by Default?
2014-10-17 14:51

It is considered a general coding best practice to declare a function as being local. Over time you could see that the NAV Team was also adhering this, even though C/SIDE wasn't helping a lot on this a a new functions would by default be global, i.e. the property Local would be <No> (or you might say undefined). Now with NAV 2015 any new function will get Local=Yes.

Well, that's not always true I found out today by accident when writing my previous post. It appears to be depending on the Subtype of the codeunit.

If Subtype is ...

  • Normal (or undefined, i.e. <Normal>) functions will be local by default
  • Test functions by default be global test functions (i.e. FunctionType=Test)
  • TestRunner we get the same behavior as for Subtype Normal
  • Upgrade functions will default to local upgrade functions (i.e. FunctionType=Upgrade)
by Luc van Vugt | with no comments
Filed under: , ,
Did You Have a Look at the C/AL Editor Status Bar Today?
2014-10-17 14:50

Well, I did and noticed something that has been there apparently for some time ... Huh?

... a year or so, since NAV 2013 R2. I surely had noticed that since then the C/AL editor shows the attributes. A simple but valuable feature that makes my live a lot easier.

So, no, this is not what I wanted to address here - I recon you did read the title. Cool

Have a look:

Maybe a bit to much. And now?

The first part ... wasn't there before NAV 2013 R2. You can now easily see in what function you are, on what line and column.

Or ...

... did you notice and I am just wasting your time? Geeked

This license is not compatible with this version of Microsoft Dynamics NAV - Misleading Message #1
2014-10-3 14:00

So today I sat down to get things prepared for my session at Directions EMEA 2014, next week. Not in the least because this week I had to install a new laptop, hence having to let go of everything that was there and proofed working alright at Directions US. Indeed somewhat tricky. Hmm

Luckily everything got installed well and working, earlier on this week. Nothing really to worry about. NAV 2015 RTM NL was running and now I wanted to get a W1 database to put my things in. Having the W1 DVD at hand only a matter of restoring the Demo Database NAV (8-0).bak file, and renaming the database name and file names. This in order to discriminate between the various country versions (which MS be default always name Demo Database NAV (version)) and projects I am using c.q. working on. Therefor I decided to call my database: Demo Database NAV (8-0) - Directions EMEA, likewise I had done for Directions US.

Connected my NAV 2015 Development client and service tier to this database. And ... couldn't get the the windows client work. Quite fast I realised I had to get some things set on the account that is running my service tier: NT AUTHORITY\NETWORK SERVICE.

  • map it to this database and
  • mark the dd_datareader, db_datawriter and db_ddladmin roles

Restart the service and ...

... open the windows client again, I wanted to say.

Holy cow. My license not compatible? My mind started running, trying to unnerve myself.

  • Got one from MS before Directions US and was working right ... then ... two weeks ago
  • Did work last Tuesday when I had reinstalled everything on the new laptop
  • By all means, it worked this morning

Upload the license to the database? Nope, no use. Ask MS for a license update? Might, but will take too much time. Would it work with the other NAV 2015 databases on my SQL Server (see screen shot)? Yes, it does! With the same license!

Am I being fooled somehow? Well, it seems to be.

I recon that, when I named my database Demo Database NAV (8-0) - Directions EMEA, your mind was triggered. Mine was somehow, but I decided to disregard it. I shouldn't.

Once I had changed the name to Demo Database NAV (8-0) D-EMEA everything worked fine.

What the ****, "this license is not compatible with this version of Microsoft Dynamics NAV"?

A to-the-point message would have made it surely easier for me, mister MS.

BTW: Should the name be less than 30 characters? Is that the rule? No, time to figure that out now.

Added 2014-10-07

For those who would like NAV to be enhanced to get a meaningful message, please vote on msconnect: go here

NAV ALM with Team Foundation Server - On Tour
2014-9-30 14:01

Returned from summer vacation, picking up daily work and, as you might say, ... getting ready for the touring season. The NAV on TFS tour. Or somewhat longer: NAV ALM with Team Foundation Server - On Tour. By now the tour is already on the run. It started two weeks ago at Directions 2014 in San Diego, USA, being in great company of which not the least were almost three hands full of my fellow NAV MVPs.

And surely, when doing the presentation on Source Code Management, together with my brother in arms Soren Klemmensen, as part of the MVP Best Practices Track.

Next stop will be at Directions EMEA 2014, in Poznan, Poland, where we will have a kind of replay of best practices track, now called MVP Sessions. This time I will have to conduct the SCM session on my own and hope to see you there.

However ...

... will you miss either of the sessions at directions: there will be 3 chances more before the end of the year. These might even suite you better, as these will be deep dive workshops on the various aspects of the use of Team Foundation Server in NAV development.

  1. Hasselt, Belgium @ Plataan.be - 2 days | October 23 & 24, 2014
  2. Antwerp, Belgium @ NAV TechDays 2014 - 1 day (already sold out) | November 19, 2014
  3. Ulm, Germany, @ Infoma - 2 days | December 17 & 18, 2014

So ... see you there?

 

The Bear is Loose Again!
2014-9-25 18:42

It has been very silent and all of a sudden the bear is loose again. I mean Sigfredo Beerman is writing again. You might recall my amazement some years ago. As a matter of fact three years, on my birthday (check it out). In those days, finally somebody (or at least one of the few) started blogging on functional matters. I know I am a bit to blunt but there weren't many doing that and surely not at MS. Things have changed and there more people around, however , IMHO still to little.

In the mean time, for almost a year there haven't been any SCM post on the NAV Team Blog. And now with a few weeks we get 5 nice post! Yowza, yowza, yowza. Let the bear loose.

More Posts Next page »

Recent Posts

Search

Email Notifications

This Blog

Tags

Favorite BLOGS

MS BLOGS

Team Foundation Server BLOGS

NAV & TFS BLOGS

Syndication

Archives