Cumulative Update 11 for Microsoft Dynamics NAV 2016 (Build 46773) – Released in Sep 2016

This cumulative update includes all hotfixes and regulatory features that have been released for Microsoft Dynamics NAV 2016, including hotfixes and regulatory features that were released in previous cumulative updates.

This cumulative update replaces previously released cumulative updates. You should always install the latest cumulative update.

It may be necessary to update your license after implementing this hotfix to gain access to new objects included in this or a previous cumulative update (this only applies to customer licenses).

For a list of cumulative updates released for Microsoft Dynamics NAV 2016, see released cumulative updates for Microsoft Dynamics NAV 2016

( ) .

Cumulative updates are intended for new and existing customers who are running Microsoft Dynamics NAV 2016.

46773 :-,en-us,3188240

Local Versions Included : AT, AU, BE, CH, CZ, DE, DK, ES, FI, FR, IS, IT, IN, NA, NL, NO, NZ, RU, SE, UK

Find the Download Page Link :-,en-us,3108728

You will require customer source/ partner source to access these informations.



How to attach additional 6 Shortcut Dimensions to Dimension Set when copy data to Journal from Excel


In my previous post I explained how we can copy data to-and-fro between Excel and Navision. Also we saw the limitation of additional 6 Shortcut Dimensions neither can be exported nor imported back.

Today we will see solution to this limitation, as it is required from several customers and we keep getting request for same. The same reader for whom I have posted my previous post have requested similar need.

If you missed my previous post you can find here : Copying data to-and-fro between Excel & Navision

Let us see how we can get this part working, yes it will require a small customization to get this working. Below I explain the steps we require to achieve this.

My example refers to Table 81 & Page 39. You can do same with other Journals too.

We will Add Custom Fields for these additional 6 Shortcut Dimensions.



Add the Fields and write the above code to OnValidate trigger and set the Property accordingly for all of the 6 Shortcut Dimension Fields.


Similarly add a piece of code to OnInsert trigger of the Table.


Add our newly created Fields to Page too.

Now Let us check if it works as expected.



Perform the operation as in previous post, this time add the newly created fields for Dimensions as shown in above screen.

If you missed my previous post you can find here : Copying data to-and-fro between Excel & Navision

Export and Import back by adding value to these additional Dimensions 1 &2 is Global 3-6 is my additional Shortcut Dimensions, 7-8 I have not included as not setup in my database.

After importing back check the Dimensions and you will find due to above customization my all the Shortcut Dimensions are attached to Dimension Set Entry.

Yes we are done.

I will come up with more information in my upcoming posts. Till then keep exploring and Learning.



Copying data to-and-fro between Excel & Navision


One of my reader has requested to show him how to export data from Nav Journal to Excel, perform correction and import back to Navision.

So let us see how can we perform this and what are the limitations.

Open the Journal in Navision.

Arrange and show all the Fields that you want to export to Excel on the page.

Fill some sample data. Say single line of Journal, way usually you do.


Now Send to Excel using options shown in below screen.


Data will get Exported to Excel.

Have you noticed something, with the data that got exported yo Excel?

Your 2 Additional Shortcut dimension was not Exported to Excel. Customer Group Code & Area Code, why?

Since these are not the actual fields in the table and it is calculated on Page level, so you will only be able to export Dim-1 & Dim-2 your Global Dimensions which is available as Field in the Table.

Make sure you enter Dimension Values in Capitals in Excel Columns.


Now perform required changes to the Journal data.

Insert New Lines, Delete existing Lines or Edit existing Lines.

Make sure you don’t keep more than 30000 to 40000 lines, until this it works fine if more than this either performance is too slow or Navision gets hang while you copy back your data to Navision. Upto 40000 works fine have tested several time. Depending upon your system performance you can decide how much data will be ok for you.


As we have seen above my 2 additional Dimensions is missing from the exported data. We need to match the columns what we have in our Excel and sequence. So we will hide/remove the additional columns from the Journal to match the sequence from Excel columns before we copy back our data from Excel to Navision.


Select the Rows in excel containing you data excluding header columns and copy.

Return to your Journal and Paste as shown in above screen.


Your modified data is imported back to the Journal in Navision.

Now perform the Journal action way you do normally.


Controlling User wise Report Print & Save As… Permission


It is always asked from several users to have a control on Printing of reports from Preview.

Normally you have two options to print the Report in Navision.

  • From Request Page


  • From Print Preview


If you check document Reports you will notice that you don’t have option to Print the Report from Preview, but you can print from Request Page.

Why it doesn’t allow in such Reports?

It is because these report uses statement like:


If the C/AL code for the report uses the PREVIEW function to disable printing from the preview, then users cannot change the display mode to print layout.

Using these option I have tried to disable Printing of Report from Request Page and Print Preview.



Add a Boolean type Field in User Setup Table & Page as shown above.

Now the report which we want to restrict from printing we will add piece of code.

Although there are other ways to do this but to keep it simple I have followed this approach. Once you are ok with logic you can implement the same in your way, in fact more better way than this sample demo.


If I run the report by setting Allow Report Printing to FALSE, it will not show me the Print & Save as Option on Preview.


Also if I Try to Print or Save As… from Request Page it will Flag me an error as above.

So now you know the logic behind it, what you are waiting for. Give your user to control the Printing & Save As… option.

Now in last Cumulative Updates also Microsoft added option to control this,  but it is at Service Level, if you want to control at user Level this is one option, wait for any further Cumulative Update in which Microsoft may add this capability or explore and find any other option and share with others.

That’s all for this post. I will come up with more details in my upcoming posts.

Till then keep exploring & learning.



NAV 2016 – Indian Localization Released in August 2016

Product: Microsoft Dynamics NAV
Version: NAV 2016

Released Features (Find CustomerSource Links)

Title                                                                                                     Internal Reference
Additional Depreciation under Income Tax                                        167285
Krishi Kalyan Cess feature for Microsoft Dynamics NAV 2016      167286
New File Validation Utility (Version 5.0) for TDS                               167288

Enhancement of e TDS (Form 26Q & Form 27Q) feature for Microsoft Dynamics NAV 2016 – India

This release addresses the changes brought in by versions of FVU ranging from 4.3 to 5.0 released time to time by the Income tax department. It includes incorporating necessary validations along with updating e TDS files of Form 26Q and Form 27Q generated by the application to ensure compatibility with the latest FVU (5.0) hosted in NSDL website.

Krishi Kalyan Cess feature for Microsoft Dynamics NAV 2016 – India
Government has introduced a new Cess called ‘Krishi Kalyan Cess (KKC)’ in Finance Act 2016 which will take effect from 01-Jun-2016. It is imposed on all taxable Services at the rate of 0.5%. KKC is not a Cess on Service Tax but it is a tax on taxable services in addition to Service tax. It would be calculated in the same way as Service Tax is being calculated.?

Enhancement of Additional Depreciation Feature for Microsoft Dynamics NAV 2016 – India

This release facilitates carry forward of additional depreciation to the subsequent year in case the asset is acquired and put to use for less than 180days during a financial year.?

Configuring Single Sign-On using Office 365 on Navision 2016

Today we will see how we can enable Single Sign-On using Office 365 for Navision 2016.

Before we start we should have Virtual Machine ready on Azure with Navision 2016 installed, Certificates and Nav User is configured. Endpoints are open so that web client can be used from outside Virtual Machine on internet.

It should be hosted on Public IP, then only we will be able to configure it.

For details regarding Azure Subscription you can see my earlier post here.

For details regarding Creating Virtual Machines you can see my earlier post here.

You also need Office 365 Subscription ready for use and you can use the AD of same to configure your Single Sign-On.

Let us start with Admin console of office 365. Click on Azure AD this will create Management Console to work with AD.


Enter your details and click on Next.


Enter your details and click on Next, Finally Sign Up.


It will take few minutes to configure and make it available for you.


Once your Subscription is ready click on Start Managing my Service.


From Management Console click on Virtual Machine, if you dont have already to create one for you.


Select the Virtual Machine in Search for Microsoft Dynamics Nav 2016.


Select the approprite Virtual Machine from the List.


Enter your details and Create. For more details see the link provided on top of the post.


Let us return to our AD, Click on Applications. This will List all you Apps currently available with your AD or office 365.


Click on Add to configure your Application.

Give a Name and Select Web Application/or Web API, as we are configuring for Web Client today. Click on Next.


Enter your Web Client URL and Office portal AD URL.  Click on OK.


Your New application gets registered with your AD.

Select the created Application and Click on View Endpoints.


Copy the Federation MetaData URL and keep it handy at safe place we will require this in our next step. Close the window we are not performing any changes here.


Open your Navision User Card.In Office 365 Authentication enter your Office portal user email id which you will be using for Single Sign-On.


Open your Navision Service Instance configuration and enter Federal MetaData URL which we copied in our previous step.


Restart you NAV Service.


Open the Web Client Folder under your IIS. Edit your Web.config file using prefered Editor.


Enter you Client Service Credentials as AccessControlService.


Change value of ACS URI as below. You have full explaination of same in the file itself.


Thats all, Now you open your web client and you will be redirected to Office 365 Login Page, enter your valid office 365 e-mail user id and password you will be authenticated and Web Client is opened.

Thats all for today, I will come up with moredetails in my upcoming posts.

Till then keep exploring and learning.


Schedule SQL Job for SQL Database Backup


Today we will see how we can schedule to take daily backup of our database.

Before i start explaining the step i am confirming the version of SQL based on which i am writing this post.

Process will remain same may be screen bit different in different versions of SQL.


At first we will ensure that SQL Server Agent is running, in case it is not right click and Start it.


Expand the SQL Server Agent Folder, Select Jobs, Right click and select New Job.


Provide Name & Description to your New Job.


Select Page Steps & New from Bottom of the page to define Step for your Job.


Give name to the Step.

Select Type as Transact Script (T-SQL).

Select Database Name in my case i am selecting Demo Database NAV (9-0)

Write the Script as shown below:


Here is the Script for your ready reference:

{– Script Start


select getdate() “Start Time”

set nocount on
declare @dbname varchar(36),@cmd varchar(255)

declare dbname_cursor cursor
for select name from master..sysdatabases where name = ‘Demo Database NAV (9-0)’
order by name

open dbname_cursor
fetch dbname_cursor into @dbname

while @@fetch_status = 0
SELECT @DATE = (select CONVERT(char(8),DATEADD(dd,-30,GETDATE()),112))
if DATABASEPROPERTYEX(@dbname,’Status’) = ‘ONLINE’
select @cmd =’backup database [‘+@dbname+’] to DISK=”C:\User Data\SQL Backup\’+@dbname+’.bak” with init’;
print @cmd
execute (@cmd)
fetch dbname_cursor into @dbname

close dbname_cursor

deallocate dbname_cursor

select GETDATE() “End Time”

–Script End}

Although above script is for multipurpose like if you want to backup all database on your SQL Server, you can make small tweaking and you are done.

If you would like to backup all the databases on a particular SQL Server, then make the following changes to the code above.

Replace following line of code:

for select name from master..sysdatabases where name = ‘Demo Database NAV (9-0)’

with the following line of code:

for select name from master..sysdatabases where name != ‘tempdb’

This will create a backup file for each database on the server, except for the temp database.

Next : Switch to Advanced Page.

Define other parameters as shown in below screen as per your requirement.


On Selecting OK, you will return to Job window.


Select Schedule Page:

Define your Schedule as per your requirement.


Select OK to return to Job Page.


Select OK to close and save the JOB.

Now our Job is  created and scheduled.

You can see defined Jobs and its Status using Job Activity Monitor.

Before Job is executed


After executed you can see the Status as.


Post execution of Job here is the backup file created at defined path in the Script. Above script will overwrite the file on next execution.

If you want to create new file on every execution you need to modify the script for file name by adding timestamp or any other logic you desire.


I will come up with more information in my upcomming posts.

thats all for this post.


Cumulative Update 9 for Microsoft Dynamics NAV 2016 – released in July 2016

Cumulative Update 9 includes all application and platform hotfixes and regulatory features that have been released for Microsoft Dynamics NAV 2016.

Where to find Cumulative Update 9

You can download the cumulative update from KB 3172549 – Cumulative Update 9 for Microsoft Dynamics NAV 2016 (Build 46290).


Before you install a cumulative update in a production environment, take the following precautions:

  1. Test the cumulative update in a non-production environment.
  2. Make a backup of the system or computer where the cumulative update is to be installed.

Additional Information

For information about how to install the cumulative update, see How to Install a Microsoft Dynamics NAV 2016 Cumulative Update.
Note that if you upgrade to this cumulative update from a version older than Microsoft Dynamics NAV 2016 Cumulative Update 6, you must run the development environment with elevated rights (run as administrator).

For a list of all cumulative updates for this version, see Released Cumulative Updates for Microsoft Dynamics NAV 2016.

For more details see Link :

Configuring Session Timeout – Navision 2016

Dynamics NAV Windows client timeout configuration is managed at the service level by setting the Idle Client Timeout setting.

To configure the Dynamics NAV Windows client to time out after 10 minutes of idleness, you will require to set this to 00:10:00 and then restart the Dynamics NAV Server service so that the change comes in effect.

There are some additional settings



When you start the Microsoft Dynamics NAV Windows client or Microsoft Dynamics NAV Web client, a connection is established with the Microsoft Dynamics NAV Server instance and a corresponding session is added on Microsoft Dynamics NAV Server.

Microsoft Dynamics NAV Server includes several timeout settings that determine when a session closes as a result of inactivity over the client connection, lost client connection, or closing of the client.

You can configure this in CustomSettings.config file of Microsoft Dynamics NAV Server.

ClientServicesReconnectPeriod :- This value determines the time during which a client can reconnect to an existing session on Microsoft Dynamics NAV Server before a session closes.

ClientServicesIdleClientTimeout :- This value determines the interval of time that a Microsoft Dynamics NAV client connection can remain inactive before the session is closed.

You can configure this in the ClientSettings.config file of the Microsoft Dynamics NAV Windows client.

ClientServicesKeepAliveInterval :- This value determines the interval of time (in seconds) between keep-alive messages that are sent from the Microsoft Dynamics NAV Windows client to Microsoft Dynamics NAV Server. This value is also used, in part, to define the reconnect period when a connection is lost.

You can configure this in the web.config file of Microsoft Dynamics Web Server for the client.

SessionTimeout :- This value specifies how much of time that session remains open when there is no activity over the connection from the Microsoft Dynamics NAV Web client to Microsoft Dynamics NAV Server.


The SessionTimeout setting enables you to set the Microsoft Dynamics NAV Web client inactive session timeout different than for the Microsoft Dynamics NAV Windows client, which is only controlled by the ClientServicesIdleClientTimeout setting.

Typically, this is set the inactive session timeout period on Microsoft Dynamics NAV Web client connections shorter than for the Microsoft Dynamics NAV Windows client.

When the Microsoft Dynamics NAV Windows client is inactive, reliable sessions automatically sends messages from the Microsoft Dynamics NAV Windows client to Microsoft Dynamics NAV Server.

You can control the interval of the keep-alive messages by setting the ClientServicesKeepAliveInterval setting on the Microsoft Dynamics NAV Windows client.

The default value of the ClientServicesKeepAliveInterval setting is 120 seconds (2 minutes).

If there is no activity on the client connection for duration of the load balancer’s idle timeout setting, then the load balancer might redirect the client connection to another server.

To avoid this condition, it is recommend that set the ClientServicesKeepAliveInterval to half the value of the load balancer’s idle timeout setting.

The idle timeout on Windows Azure is around 4 minutes, so the default setting of ClientServicesKeepAliveInterval (2 minutes) should be sufficient.

Occasionally, a Microsoft Dynamics NAV client can lose the network connection to Microsoft Dynamics NAV Server.

You can use ClientServicesReconnectPeriod setting on Microsoft Dynamics NAV Server to control how long a session remains open after the connection is lost to allow time for the client to reconnect to the session.



  • The connection is lost and the initial inactivity period starts (default is 4 minutes).
  • After the initial inactivity period, the service channel enters a faulted state. When the service channel is in the faulted state, Microsoft Dynamics NAV Server considers the session with the client as orphaned and waits for it to reconnect.
  • If the client does not reconnect within the time period that is specified by the ClientServicesReconnectPeriod setting (default is 10 minutes), then Microsoft Dynamics NAV Server closes the session.
  • The session is then removed from the Active Session table in the Microsoft Dynamics NAV.

ClientKeepAlive:- This  setting is managed at the user level and located in the ClientUserSettings.config file.

The value of this setting is given in seconds and defines the interval between ‘pulse’ signals sent by the client to prevent the client from going idle in some scenarios, or for some users.


In Dynamics NAV 2016 Cumulative Update 8:

The ClientKeepAlive setting has been moved from the user level to the service level, and is no longer defined in number of seconds but as a time interval, just like the Idle Client Timeout setting.


Before Cumulative Update 8:

  1. In the server configuration file, set Idle Client Timeout  to 00:10:00
  2. In the client configuration file, set ClientKeepAlive  to any value  larger than 600 This value is in seconds, so 600 equals 10 minutes.



After Cumulative Update 8:

  1. In the server configuration file, set Idle Client Timeout  to 00:10:00
  2. In the server configuration file, set Keep Alive Interval  to a value larger than 00:10:00

To configure the timeout for the Dynamics NAV Web client, it is sufficient to configure the SessionTimeout setting in the web.config file to the relevant interval – in above example it’s 00:10:00.

For more information you can check out here :



Create Production Orders for/from Sales Order

One of my reader have requested to demonstrate how he can create Sales Order which is directly associated with Sales Order.

Let us start with creating a Sales Order:


Here you can see we don’t have Available Inventory to fulfil the demand of this Order.


To fulfil the demand we will create Production Order for this Order.

Select Planning from Action TAB on Ribbon.

Sales Order Planning Window Opens, Select Create Production Order.


Select the Status for Production Order as desired.

For Order Type you have 2 Options

  1. Item Order – Production Order is created for each Item on Lines
  2. Project Order – Single Production order for Entire Order

Select the desired option and respond to Yes.


I have Selected Released & Project Order in my case.


You can check that Quantity to be produced is reserved for this Order.

There could be the situation where you may have few Inventory available, in that case you need to reserve the quantity from Function before creating Production Order else all quantity will be created. In other case only short quantity will be a quantity of Production Order.


Select the line from available lines in Item Ledger Entries (e.g. on hand inventory) and by using the ‘Reserve from Current Line’ function you can reserve those against the sales order line.  The ‘Reserved Quantity’ then gets updated and you can see the rest in the ‘Unreserved Quantity’ field.


Although in this case entire line is already reserved from the Production Order.

But in case you want to reserve from any available Inventory in hand from Ledger entry.

This was one of the way how you can perform Creating Production Order and Reserving for Sales Order.

We can do the same by another way as below, directly creating Production Order for this Sales Order.


Create a Production Order Select Source Type as Sales Header and Source No as Sales Order No.

Then Refresh the Production Order.






This way we can create and Reserve the Item for required demand.

I will come with more details in my upcoming posts.


Previous Older Entries


Most of the contents you find in this blog will be either inherited from MSDN or Navision Developer IT Pro Help. Some places images are also directly taken from these sites. Purpose is simple to try those stuffs and re-produce adding few things as per my understanding to make easy understanding for others and quick reference.

Here nothing under my own brand or authorship of the content. At any point of time we are just promoting Microsoft stuffs nothing personnel with same.

Hope stuffs used here will not violate any copyright agreement with them. In case by mistake or in-intestinally it happens and the Microsoft feels these should not be used Microsoft have full right to inform me about same and will be glad to take down any such content which may be violating the norms.

Purpose is to promote Navision and share with community.

FB Profile

Like FB Page

%d bloggers like this: