Tuesday, May 31, 2011

Extended Stored Procedure xp_ndo.dll Error

Hi all,

We may face this error while trying to connect Role Tailored Client or Classic Client with Windows Login.

Reason for the Error

Microsoft Dynamics NAV requires two extended stored procedures from xp_ndo.dll to exist on SQL Server if Windows logins are used. If these extended stored procedures do not exist, you will get this error when trying to log on using Windows Authentication:

The extended stored procedure xp_ndo_enumusersids in the library file xp_ndo.dll, is not available on the <server name> server.  Until this procedure and library have been added, it will not be possible to connect to this server from Microsoft Dynamics NAV with Windows Authentication, but you will still be able to connect with Database Server Authentication.  You can read more about adding this extended stored procedure in the help pages on the product CD. Follow the hyperlink to the readme.txt file on the Servers page under the Documentation section of SQL Server.

If you are getting this error on classic client, then you can use the database login, but if you are using Role Tailored Client then you need to create the extended stored procedures on the SQL Server.

Steps to Resolve

From the product DVD, open the folder sql_esp, and run the file xp_ndo.exe to extract the file xp_ndo.dll somewhere you your disk. Then copy it into this folder on your SQL Server (on SQL 2008): C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn\. You can use any path but the above path is recommended by Microsoft. 

Remember, copying files into the “Program Files”-folder requires administrative privileges on Vista and Windows2008, which is why you should extract the file to a different folder first, and then copy it into this location.

 Open SQL Server Management Studio. Extend Databases -> System Databases -> master -> Programmability. Right click on “Extended stored procedures”, and select “New extended stored procedure”.

Name it xp_ndo_enumusersids, and in the DLL field, select the full file and path for xp_ndo.dll (on SQL Server 2008
C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn\xp_ndo.dll):

Assign permissions to the public role: In the Extended Stored Procedures properties, click on “Permissions”, then “Search”. Type in “Public”, and click OK. Then assign Execute permissions to Public:

Finally, repeat the previous steps and make another extended stored procedure which is exactly identical, except this one must be called xp_ndo_enumusergroups instead of xp_ndo_enumusersids.

You should now have two extended stored procedures, and should be able to use Windows login from NAV.

The Command Way

Run the following SQL command to add the stored procedures.

USE master
EXEC sp_addextendedproc xp_ndo_enumusersids, ‘C:[Location of file]xp_ndo.dll’

ON [xp_ndo_enumusersids]

USE master
EXEC sp_addextendedproc xp_ndo_enumusergroups, ‘C: [Location of file]xp_ndo.dll’

ON [xp_ndo_enumusergroups]

Thanks & Regards
Saurav Dhyani

Monday, May 30, 2011

Trace flag in SQL Server for Dynamics NAV 2009

Hi all,

This is one of the common issue faced by most of us.

When starting the RTC client or open the database in classic client you will get a warning if you have not set the trace flag correct. Because of changed security in SQL Server 2005 Dynamics NAV 2009 will only connect to the SQL Server if the trace flat ‘4616’ is set.

Resolution Steps

Saturday, May 28, 2011

Run Multiple Services in Navision R2

We all face issues with clients where they want my to run RTC for multiple Databases.

Thanks to Kine for providing solution for same.
Kamil Sacek (Kine) provided a solution by creating a solution for the same.
This can be downloaded from here.

Steps to follow to setup multiple services in NAV R2-

Locate File In the given Folder, file name NST_Mgt_NAV2009R2_6_02_00.

Import the file in any database, go to File à Import.

Click No in the message window that appear, it will open the import worksheet.

This Fob will import the below mentioned object into the database.

Please check that in Action there is create selected not replace or skip ( NST objects are by default start with object ID 50000, if in the client database there are existing tables with id 50000 and 50001, existing Codeunit  with id 50000 and page with id 50000, 50001 and 50002, the please call some technical consultant with last Customized Table, Codeunit and Page ID and tell him to replace the ids of the the NST object by using the text file shown in Step1.)

After importing the objects you are supposed to get this message only.

Run Page NST Service List, it will display a message,  Select Allow this time, but ask next time and hit OK.

This action will open the NST Service List Page, which will display the current NAV Services and their status.
 For creating a new service, Click on create new NST. This will open a new window.

 In the service Name, Enter a User Defined Name for the new service (I named it NAVR2W1 as I am creating a service for the W1 database of R2).
Select the template path name of the Navision Installation (Default Value is C:\Program Files\Microsoft Dynamics NAV\60\Service). 
Enter the SQL Server Name or IP Address; I am using my local SQL Server.
Select the database from the list for which you want to create service.
Click on Check Box if you want to create the web service also.
After creating service it will display a message shown below.

After Clicking ok Click on the refresh table button from the menu. Now it will display Two web services and two Navision Server Services.
Go to Run, Services.msc and start the new service named as MicrosoftDynamicsNavServer$NAVR2W1.
 Now Run the R2 Client.

The Default Cronus India Database will get open. Now Click on Microsoft Dynamics NAV drop down button and click on select server.

Replace DynamicsNAV  with name given for new service (in my case that is NAVR2W1)and press TAB.
Click Ok.

W1 Database started.

Thanks & Regards
Saurav Dhyani

Change Listener Error in Microsoft Dynamics NAV 20009 RTC and ahead

A common error faced most of time while trying to start Microsoft Dynamics Navision 2009 Role Tailored Client is of Change Listener with username in the database.

For resolving the issue follow the below given steps.

Open SQL Server Management Studio. and then connect to your SQL Server instance.

On the File menu, point to New, and then click Query with Current Connection.

Type in these commands one by one and then selecting the whole query and click Execute button-


USE [ReplaceWithYourDatabaseName]
CREATE USER [ReplaceWithNAVServerAccount] FOR LOGIN[ReplaceWithNAVServerAccount];

CREATE SCHEMA [$ndo$navlistener] AUTHORIZATION[ReplaceWithNAVServerAccount];

ALTER USER [ReplaceWithNAVServerAccount] WITH DEFAULT_SCHEMA = [$ndo$navlistener];
GRANT SELECT ON [Object Tracking] TO [ReplaceWithNAVServerAccount];

Thats it. The Object Change Listner is configured on the desired username for the database.

You might get some error while executing these queries but don't worry, it is because you have already created and synchronized the Windows user from the FinSQL Client.

Saurav Dhyani.

Error After Installation of Microsoft Dynamics Navision R2.

While trying to install the Navision 2009 R2, most of us get the below given error.

“Service 'Microsoft Dynamics NAV Server' (MicrosoftDynamicsNavServer) failed to start.  Verify that you have sufficient privileges to start system services.”

I tried to install it many times but faced same error again and again so I tried to look into windows Event Viewer to check the cause of problem, and I got the resolution at same point.

I copied the whole error description and I copied that.
The service MicrosoftDynamicsNavServer failed to start. This could be caused by a configuration error. Detailed error information:Microsoft.Dynamics.Nav.Types.NavConfigurationException: The configured time zone identifier "UTC" for the setting "WebServicesDefaultTimeZone" was not recognized. Please use the identifier (in quotes) following the display name of the time zone you wish to use among the following list of recognized time zones:

(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi: "Server Time Zone"
(GMT-12:00) International Date Line West: "Dateline Standard Time"
(GMT-11:00) Midway Island, Samoa: "Samoa Standard Time"
(GMT-10:00) Hawaii: "Hawaiian Standard Time"
(GMT-09:00) Alaska: "Alaskan Standard Time"
(GMT-08:00) Pacific Time (US & Canada); Tijuana: "Pacific Standard Time"
(GMT-07:00) Arizona: "US Mountain Standard Time"
(GMT-07:00) Chihuahua, La Paz, Mazatlan: "Mexico Standard Time 2"
(GMT-07:00) Mountain Time (US & Canada): "Mountain Standard Time"
(GMT-06:00) Central America: "Central America Standard Time"
(GMT-06:00) Central Time (US & Canada): "Central Standard Time"
(GMT-06:00) Guadalajara, Mexico City, Monterrey: "Mexico Standard Time"
(GMT-06:00) Saskatchewan: "Canada Central Standard Time"
(GMT-05:00) Bogota, Lima, Quito: "SA Pacific Standard Time"
(GMT-05:00) Eastern Time (US & Canada): "Eastern Standard Time"
(GMT-05:00) Indiana (East): "US Eastern Standard Time"
(GMT-04:00) Atlantic Time (Canada): "Atlantic Standard Time"
(GMT-04:00) Caracas, La Paz: "SA Western Standard Time"
(GMT-04:00) Santiago: "Pacific SA Standard Time"
(GMT-03:30) Newfoundland: "Newfoundland Standard Time"
(GMT-03:00) Brasilia: "E. South America Standard Time"
(GMT-03:00) Buenos Aires, Georgetown: "SA Eastern Standard Time"
(GMT-03:00) Greenland: "Greenland Standard Time"
(GMT-02:00) Mid-Atlantic: "Mid-Atlantic Standard Time"
(GMT-01:00) Azores: "Azores Standard Time"
(GMT-01:00) Cape Verde Is.: "Cape Verde Standard Time"
(GMT) Casablanca, Monrovia: "Greenwich Standard Time"
(GMT) Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London: "GMT Standard Time"
(GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna: "W. Europe Standard Time"
(GMT+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague: "Central Europe Standard Time"
(GMT+01:00) Brussels, Copenhagen, Madrid, Paris: "Romance Standard Time"
(GMT+01:00) Sarajevo, Skopje, Warsaw, Zagreb: "Central European Standard Time"
(GMT+01:00) West Central Africa: "W. Central Africa Standard Time"
(GMT+02:00) Athens, Beirut, Istanbul, Minsk: "GTB Standard Time"
(GMT+02:00) Bucharest: "E. Europe Standard Time"
(GMT+02:00) Cairo: "Egypt Standard Time"
(GMT+02:00) Harare, Pretoria: "South Africa Standard Time"
(GMT+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius: "FLE Standard Time"
(GMT+02:00) Jerusalem: "Israel Standard Time"
(GMT+03:00) Baghdad: "Arabic Standard Time"
(GMT+03:00) Kuwait, Riyadh: "Arab Standard Time"
(GMT+03:00) Moscow, St. Petersburg, Volgograd: "Russian Standard Time"
(GMT+03:00) Nairobi: "E. Africa Standard Time"
(GMT+03:30) Tehran: "Iran Standard Time"
(GMT+04:00) Abu Dhabi, Muscat: "Arabian Standard Time"
(GMT+04:00) Baku, Tbilisi, Yerevan: "Caucasus Standard Time"
(GMT+04:30) Kabul: "Afghanistan Standard Time"
(GMT+05:00) Ekaterinburg: "Ekaterinburg Standard Time"
(GMT+05:00) Islamabad, Karachi, Tashkent: "West Asia Standard Time"
(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi: "India Standard Time"
(GMT+05:45) Kathmandu: "Nepal Standard Time"
(GMT+06:00) Almaty, Novosibirsk: "N. Central Asia Standard Time"
(GMT+06:00) Astana, Dhaka: "Central Asia Standard Time"
(GMT+06:00) Sri Jayawardenepura: "Sri Lanka Standard Time"
(GMT+06:30) Rangoon: "Myanmar Standard Time"
(GMT+07:00) Bangkok, Hanoi, Jakarta: "SE Asia Standard Time"
(GMT+07:00) Krasnoyarsk: "North Asia Standard Time"
(GMT+08:00) Beijing, Chongqing, Hong Kong, Urumqi: "China Standard Time"
(GMT+08:00) Irkutsk, Ulaan Bataar: "North Asia East Standard Time"
(GMT+08:00) Kuala Lumpur, Singapore: "Singapore Standard Time"
(GMT+08:00) Perth: "W. Australia Standard Time"
(GMT+08:00) Taipei: "Taipei Standard Time"
(GMT+09:00) Osaka, Sapporo, Tokyo: "Tokyo Standard Time"
(GMT+09:00) Seoul: "Korea Standard Time"
(GMT+09:00) Yakutsk: "Yakutsk Standard Time"
(GMT+09:30) Adelaide: "Cen. Australia Standard Time"
(GMT+09:30) Darwin: "AUS Central Standard Time"
(GMT+10:00) Brisbane: "E. Australia Standard Time"
(GMT+10:00) Canberra, Melbourne, Sydney: "AUS Eastern Standard Time"
(GMT+10:00) Guam, Port Moresby: "West Pacific Standard Time"
(GMT+10:00) Hobart: "Tasmania Standard Time"
(GMT+10:00) Vladivostok: "Vladivostok Standard Time"
(GMT+11:00) Magadan, Solomon Is., New Caledonia: "Central Pacific Standard Time"
(GMT+12:00) Auckland, Wellington: "New Zealand Standard Time"
(GMT+12:00) Fiji, Kamchatka, Marshall Is.: "Fiji Standard Time"
(GMT+13:00) Nuku'alofa: "Tonga Standard Time"
   at Microsoft.Dynamics.Nav.Types.ServerUserSettings.ParseWebServicesDefaultTimeZone(String value)
   at Microsoft.Dynamics.Nav.Types.ServerUserSettings.LoadSettings()
   at Microsoft.Dynamics.Nav.Types.ServerUserSettings.get_Instance()
   at Microsoft.Dynamics.Nav.WindowsServices.NavServiceBase.OnStart(String[] args).

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

Then I found out that I need to change time zone in customsettings.config file in the service folder of Navision installation.
I replaced the UTC parameter of time zone to Server time zone (for India) and the service started successfully.

So if anyone is facing same problem can copy paste the time zone (according to their local time zone) from above list and replace same with UTC parameter in the custom setting.config file.
Saurav Dhyani

Microsoft Dynamics Navision Certification

Hi all,
I found most of the people asking questions about certifications that are provided by Microsoft for Dynamics Navision.

Here is a list of certifications provided by Microsoft.

Microsoft Certified Technology Specialist for Microsoft Dynamics NAV

Help boost your professional qualifications by earning a Microsoft Certified Technology Specialist (MCTS) for Microsoft Dynamics NAV certification. This certification helps verify your technical proficiency in one module of Microsoft Dynamics NAV, a comprehensive business management solution used worldwide by small and medium-sized organizations.


There are 15 Technology Specialist certifications for Microsoft Dynamics NAV. You must pass one exam to obtain each certification.

Exam number
Microsoft Dynamics NAV 2009 C/SIDE Introduction
Microsoft Dynamics NAV 5.0 C/SIDE Introduction
Microsoft Dynamics NAV 2009 C/SIDE Solution Development
Microsoft Dynamics NAV 5.0 C/SIDE Solution Development
Microsoft Dynamics NAV 2009 Core Setup and Finance
Microsoft Dynamics NAV 5.0 Financials
Microsoft Dynamics NAV 2009 Installation and Configuration
Microsoft Dynamics NAV 5.0 Installation and Configuration
Microsoft Dynamics NAV 2009 Manufacturing
Microsoft Dynamics NAV 5.0 Manufacturing
Microsoft Dynamics NAV 2009 Relationship Management
Microsoft Dynamics NAV 2009 Service Management
Microsoft Dynamics NAV 2009 Trade and Inventory
Microsoft Dynamics NAV 5.0 Trade and Inventory
Microsoft Dynamics NAV 2009 Warehouse Management

*Source Microsoft Site.

For study material Login to Partner Source or Customer source and download the PDF’s for the exam.

Saurav Dhyani
(Associate Software Developer)