Dynamics NAV 2009 R2 System Requirements

Dynamics NAV 2009 R2

I have been asked this question – what are Dynamics NAV 2009 R2 System Requirements? – quite a few times now. And each time (even though, I have answered it previously) I am thinking hard, trying to remember if there is anything different from system requirements for Dynamics NAV 2009 SP1. And, in fact, there isn’t!

The system requirements for Microsoft Dynamics NAV 2009 R2 are the same as the system requirements for Microsoft Dynamics NAV 2009 SP1!

You can download system requirements document directly from Microsoft: NAV2009SP1_SystemRequirements.doc, or review them on MSDN Library Microsoft Dynamics NAV 2009 SP1 Requirements.

Technorati Tags: , ,

Posted in Dynamics NAV / Navision, system requirements | Tagged , , | Leave a comment

What is the use of System-Created Entry Field in G/L Entry table in Dynamics NAV?

Sometimes you get a simple question… which then leads to the path of finding new things about the system (Dynamics NAV) which you thought you know quite well already. What is the use of System-Create Entry field in G/L Entry table? Obviously, when you don’t know the answer (or when you are not 100% sure if the answer you know is correct), you hit F1 and read:

System-Created Entry Field - Help Files

System-Created Entry FieldThe G/L Entry Table
On all the entries that have not been transferred directly from a journal line (that is, entries from orders, invoices, credit memos, VAT posting or a batch job), there is a check mark in the field.

However, when the answer from help files, seems to be too simple to be true, you fire a few google queries. Then again (without finding an answer which would ease your curiosity) you realize that it’s time to dig deeper. So, where is the Dynamics NAV system using “System-Created Entry” field? With a little help of Dynamics NAV Developer Toolkit (I still can’t believe the tool has been discontinued since 1st of October 2011), we can see that the field is used in a few reports (for currency adjustments and data compression), but in these instances every new g/l entry created will be marked as “System-Create Entry” = TRUE.

System-Created Entry Field - Developer Toolkit

Also, in most instances in codeunits, where function InitGLEntry is called, “System-Created Entry” will be set to TRUE. The only scenario where field “System-Created Entry” can be set to FALSE is when “System-Create Entry” field is taken from Gen. Journal Line table (for example in function PostGLAccount). Which leads us back to the explanation of help files… and confirms that explanation was correct.

On one hand it is simple and clear enough – if g/l entry was not transferred from journal line, there is a check mark in the field. On the other hand – you need to understand how Dynamics NAV works in the lowest level – that documents (orders, invoices, credit memos), batch jobs and possibly various customizations will use journal lines when posting data. Therefore, you would get g/l entries with “System-Create Entry” marked as FALSE, where the system (not user typing in data manually) uses journals for posting routines.

To summarize: if “System-Created Entry” is set to TRUE, it is definitely created by the system. If “System-Created Entry” is set to FALSE, it is created by the posting which used journal lines (either by user or system).

Technorati Tags: , , ,

Posted in Dynamics NAV / Navision, functionality | Tagged , , , | Leave a comment

Error: String is too small for insertion of %# fields

STRSUBSTNO - Error Message

Sometimes you learn something new about Dynamics NAV features when you get an error first and then you troubleshoot the issue. This time, I have found myself “a bug or feature” for function STRSUBSTNO about which kriki blogged already (yes, the first thing you do, when you get an error message which you haven’t seen before, is hit google). For a moment I thought “well, one more undocumented feature”, but then… I found documentation for STRSUBSTNO on MSDN Library:

STRSUBSTNO - Documentation


If this parameter is an expression that evaluates to Text or Code that is 512 or more characters, then a run-time error occurs.

Therefore, if you are creating filters dynamically (that’s where I have encountered the issue in the first place), don’t use STRSUBSTNO. If you will use this function, you will be limited to 512 characters. If you will choose another way (for example, if you would use Filter := Filter + ‘|’;) then your filter could go up to 1024 characters.

If you want to play around and to test STRSUBSTNO function, to replicate the issue in default CRONUS (UK) database, just create a simple codeunit:

STRSUBSTNO - Example Replicate The Issue

So, two quick points to remember:

  • Be careful with dynamic filters! They do tend to grow with time.
  • Remember the limit (512 chars) of STRSUBSTNO function

Technorati Tags: , , , , ,

Posted in Dynamics NAV / Navision, errors | Tagged , , , , , | 1 Comment

Dynamics NAV virtual table 2000000043 “License Permission”

Did you know that in Dynamics NAV you can quickly check your license permissions by reviewing virtual table License Permission?

Go to Object Designer (Shift+F12), click on “Form” button and click New (Ctrl+N) to create a new form. Enter “License Permission” into “Table” field (or if you are doing this in front of someone and want to look a little bit more geeky, just enter table id 2000000043 instead of entering table name).

New Form - License Permissions

Select “Create a form using a wizard” and select “Tabular-Type Form” and click OK. In the Tabule-Type Form Wizard, click “>>” to add all fields to the form.

New Form - Tabuler-Type Form Wizard

Then click “Preview”. You will get a list of objects and details of permissions that you are licensed to use. You can apply various filters, to narrow down the list of objects. For example, from the screenshot below we can see, that the last licensed report in the custom range is 50199, for the curernt license file.

New Form - License Permissions Preview

The beauty of this approach is, that you do not need a developer’s license file, to review license permissions. Even with end-users license file, you can create such form to review permissions. This is because, you are not saving the form as a new object, only using preview function.

This trick is very useful when you need to:

  • find out if an object (for which user is getting error message related to permissions) is licensed for customer’s use
  • find out which “next” object id you should use for development (so, it would be licensed to customer’s license)
  • do you have any other suggestions for possible usage of Dynamics NAV virtual table “License Permission”?

Technorati Tags: , , , ,

Posted in Dynamics NAV / Navision, Tips & Tricks | Tagged , , , , | 3 Comments

How do you remove field delimiters in Dynamics NAV Dataport?

I know, I know… dataports are so “stone age” and we could use so many more different options with newer technology! But there are plenty of customers out there who are still running older navision versions (3.6, 3.7). And once in a while, you might get a request to create a simple dataport. So, let’s say we have only a few requirements. Export item record details to text file:

  • One line per item
  • Fields to be exported: Item No., Description, Inventory
  • Format to be used:
    • ITEMNUMBER01,Item 1 Description,10
    • ITEMNUMBER02,Item 2 Description,20
    • ITEMNUMBER03,Item 3 Description,40

Sounds easy? Well, it should, if you have done this at least once. If not… the first question (after running the dataport and getting exported file) is –

Exported file with field delimiters

– how do you remove field delimiters (those quotes in the text file) in Dataport? The default value for FieldStartDelimiter and FieldEndDelimiter is set to quote (<“>).

Default values for field delimiters

And if you try to delete the value (or enter blank value by hitting space), it is set back to default value automatically. I have seen this question being asked quite a few times in forums and I have been asked this question in the past as well.

Therefore, you either need to know what values you can enter to this field (or, once again, just use help by clicking F1).

Help explanation for FieldDelimiter property

To answer the question quickly, you do not need to “remove” the delimiters. You need to “define” the value which would mean blank/empty delimiter. Therefore, in order to remove field delimiters in Dataport, you need to set “FieldStartDelimiter” and “FieldEndDelimiter” to <None>.

Set FieldDelimiters to None

Exported file without field delimiters

Technorati Tags: , , , , ,

Posted in development, Dynamics NAV / Navision | Tagged , , , , , | 10 Comments

Error: The Help System has been corrupted. Ensure that the .hh files are correctly installed.

How often do you read the Dynamics NAV manuals (and help files) before asking for help from your collegues? If you are doing this often enough, you will know that in Dynamics NAV it is quite easy to find additional information just by clicking on the field in question and then clicking F1. Also, if you are doing this often enough, you will be the first to notice, if something goes wrong with help files. This did happen to me once – after clicking F1, I have received error (which did not tell me much):

Microsoft Dynamics NAV Classic
The Help system has been corrupted.
Ensure that the .hh files are correctly installed.

I remembered seeing similar error on good old mibuso forum (however, in that scenario, error message would be caused on purpose, by disabling the help files, so user would not be able to use F1 function). My situation was different, I wanted (and needed) to use help files and had no intention of disabling this functionality on purpose.

Google search did not really help (neither did Bing), therefore I have considered reinstalling application. However (when copying setup files), I noticed one thing – the folder for Dynamics NAV has been marked as Hidden.

Hidden Folder

So, I went to the folder properties and cleared “Hidden” property (ensuring that applied to all folders and subfolders is selected).

Apply Changes To This Folder

Then, I have started Dynamics NAV client again, clicked F1 and…
Navision Help Rendering

…result! Dynamics NAV client (after a little bit of thinking) has rendered the help files for me. Great!

Navision Help Rendered

I did go through a few more tests (trying to show/how Dynamics NAV, Program Files folders) and each time I would get same error message:

The Help system has been corrupted

Apparently, Dynamics NAV client cannot retrieve help files from the hidden folder. I am not quite sure why, but I learnt something new today!

Technorati Tags: , , , , ,

Posted in Dynamics NAV / Navision, errors | Tagged , , , , , | 1 Comment

Dynamics NAV Error: The call to member LeftHeader failed.

Once in a while, you get error message which does not make sense. When it comes to default Dynamics NAV error messages, sometimes they can be rather complicated to understand for end-user. However, once you spent more time with Dynamics NAV, you will start understanding these “secret codes” and will be able to translate these error messages from Dynamisc NAV language tolanguage that mortals (end-users) can understand. But even then, sometimes you get an error message that does not make any sense.

A few days ago, when exporting budget to excel (Financial Management > General Ledger > Budgets. Functions > Export to Excel…), I encountered this error:

Microsoft Dynamics NAV Classic
This message is for C/AL programmers:

The call to member LeftHeader failed. Microsoft Office Excel returned
the following message: Unable to set the LeftHeader property of the
PageSetup class


The strange thing was, that same export routine worked, just one hour ago. So, I was sure, that error message is not related to version of Microsoft Office (2007) or version of Dynamics NAV client (2009 SP1) and it seemed that nothing has really changed since last successful export. However, when I tried again, I got the same error message “The call to member LeftHeader failed.”

Obviously, if you google this error message, you will find quite a few “possible” solutions (office version, citrix client, windows update), however none of these seemed to be applicable to my scenario (the fact, that it worked before!).

I was almost giving up (eh, I can enter the details manually through the form, right?), when accidently I have noticed “what has changed“! Before trying to export the budget, I have disconnected from my local network (the Dynamics NAV database was running on the local instance of the SQL) and connected to WiFi, which meant I lost my shared printers (and because I did not have any local printers) which meant that I no longer had “Default Printer”.

LeftHeader is a property of PageSetup, and appareantly PageSetup does not mean much without having “Default Printer” in your Control Panel. And connecting back to local network (I have tested it as well, by installing local pdf printer) resolve the issue.

Lesson learned: Next time you’ll get error message “The call to member LeftHeader failed.” check if you still have access to “Default Printer”.

Technorati Tags: , , , , ,

Posted in Dynamics NAV / Navision, errors | Tagged , , , , , | 15 Comments