Showing posts with label Technical. Show all posts
Showing posts with label Technical. Show all posts

Saturday, 1 March 2008

The country code in the license file does not correspond to the country code (XX) in the stx file

Kine has a very good explanation on this problem.
http://dynamicsuser.net/blogs/kine/archive/2007/11/03/Country-code-in-ENU-fin.stx-file-is-not-W1-anymore.aspx

Anyway, I cannot solve the problem with Kine's suggestion but after understand the concept from Kine's article, I manage to solve it by replacing the Client Folder in the program directory with the Client folder in the Navision Installation CD.

Saturday, 19 January 2008

Access data in other company

Navision allows you to programatically access data in other companies by using
<record>.CHANGECOMPANY to explicitly define which other company to accesss.

Wednesday, 12 December 2007

How to find out which user is locking a table ?

When you want to make a changes or post something and the following messeage come out:

"table is Locked by another user"

This means that another user is also modifying data in the same table. Navision has locked the table for the user to modify so that no other users can modify the same data at the same time. Any other user who want to modify the same data must wait until the user who locked the table to finish his/her changes first. Once the user has finish modifying the data, Navision will release the table lock for other users to use.

Navision allow you to check which user is locking other users.
1) Go to File-->Database-->Information.
2) Select the Sessions tab.
3) Drill down to the current sessions.
4) Check on the Blocking user id column to find out who is locking other people.

Monday, 10 December 2007

Table limit

Table in Navision can support up to:
1) 8KB of data per row- this is due to SQL Server table limit to 8KB of data per row.
2) 500 fields
3) 40 keys.

How to empty a datetime field ?

You have 2 methods to empty value in a datetime field.

First method is:
DateTimeField = 0DT;

Second method is
CLEAR (DateTimeField);

A common mistake make when trying to clear value in datetime field is to assign empty string to the datetime field.
DateTimeField = '';
This code will not work and you will get an error message.

Sunday, 9 December 2007

Increase field number by 10 instead of 1

I am currently reading a Navision Programming book written by David Studebaker and found a good suggestion in field numbering that I want to note it down.

By default, Navision will increase the field number by 1. David suggested to increase the field number by 10 instead of 1 when you create a table from scratch. This is will give you flexibility to insert new field between 2 fields in the future.

Friday, 5 October 2007

MBS Navision with MS SQL Option and Vista RC1

When you try to install Navision 4.0 SP2 on Windows Vista, you will get MDAC version error. Kine has a solution to this problem.

MBS Navision with MS SQL Option and Vista™ RC1

Wednesday, 29 August 2007

Dataport not able to import data into table.

You have created a simple dataport and very confident that the dataport can import data into your table without any problem. Then, you try to run the dataport (Ctrl + R) and import a file into your table. The import process completed successfully. Then you go to your table to check the imported data but the luck is not with you. The data not found in your table.
First thing you need to check is the AutoSave and Auto Update properties of your property. Set it to Yes if it is in No status.

Still cannot. Make sure you have saved and compiled your dataport and run it from the Object designer. Very often, you are very confident that your dataport will work perfectly because it is just a simple dataport. So, you just design and run the dataport without saving it so that you can save one object license. Your dataport will not save data in your table if you just run it in design mode without saving it first.

Thursday, 23 August 2007

How to create a text file and write text into the file from Navision ?

// File1 is File object
// OutStreamObj is OutStream object

File1.CREATE( 'C:\Output.txt');
File1.CREATEOUTSTREAM(OutStreamObj);

OutStreamObj.WRITETEXT ('First line of text that you want to write to text file');
OutStreamObj.WRITETEXT ('This is not the second line of text to be outputed but to concatenate with the first line');

OutStreamObj.WRITETEXT(); // This command is to move to next line
OutStreamObj.WRITETEXT('Second line will start here') ;

File1.Close; // To end the writing and write out to the file.

Wednesday, 18 July 2007

How to run a object automatically when open a company

To run an object automatically, you can place your code that execute the object at CompanyOpen procedure at Codeunit 1.

Tuesday, 12 June 2007

Limitation of Navision Database Server

Navision Database Server is limited to 128GB. Another limitation is Navision Database Server cannot support Record Level Security.

C/AL Programming Language

C/AL Language is a 4th GL

Navision Object Ranges

0-9999 - developed by Microsoft Navision
10000 - 49999 - developed by Microsoft Navision Territory REpresentatives
50000-99999 - Microsost Solution Center
1000000 - 98999999 - add on products

Tuesday, 13 February 2007

Navision 4 SP2 Windows authentication problem

After upgrade from 4.0 to 4.0 SP2 and syncronize your windows user Id, you are still not able to login to your database through windows login. You already grant all the necessary roles and permission to your users. You even grant them dbowner and super role, but still can't login. If you use database login, you can login successfully. If this happens to you, most probably is because you have not update the xp_ndo.dll file in you SQL Server Binn directory.

When you upgrade to 4.0 SP2, make sure that you update the xp_ndo.dll on all instance of your SQL Server. You can find the step-by-step instruction on how to update the file from the sql_esp folder in Navision 4.0 SP2 Disk 1 CD.

Friday, 9 February 2007

Navision Upgrade

I want to upgrade Navision 4.0 to Navision 4.0 SP2. I do not have any source of information for my upgrade except sourcing information from Internet forum. Below are the useful post / informations that I found regarding Navision upgrade:

Upgrade to Navision 3.7

Using 3.70 Server.exe on 3.10 data


Upgrade to Navision 4.0

Migrate of Navision 3.60 to the version 4
Navision 3.6--> Nav 4.0 Upgrade error

Upgrading Navision client 3.6 to 4.0 issues
V4 Client over 3.7 Database
Windows Permissions to Open Database
Restore Performance problem when upgrading from 3.60 to 4.00


Upgrade to Navision 4.0 SP1

Navision 4.0 to 4.0 SP1
Navision 4.0 Upgrade to SP1
Updating Navision 4.0 to 4.0 SP1
Upgrade from 4.0 to 4.0 SP1

Upgrade from Nav 4.0 to SP1 - when to convert database
SQL Errors upgrading from Nav370 to Nav4 SP1

Upgrade to Navision 4.0 SP2

Navision 4.00 SP2 released
Database Conversion from 3.60 to 4.0SP2 SQL Server option
MBS-Navision W1 4.0 SP2 Update
Upgread navision 4.0 SP1 to SP2
Upgrade Toolkit to upgrade 4.0 to SP2
nav 4.0 to nav 4.0 sp2 upgrade, adjust-cost error
Migrating From Navision SP1 to navision SP2
NAV 4.00 SP2 AND SQL2005?


Upgrade to Navision 4.0 SP3

Upgrade 3.7a - 4.0sp3 on SQL

Upgrading to 4.0 SP3
Technical upgrade to SP3
Upgrade from 3.70B to 4.00SP3

Upgrade from 4.00 to 4.00 SP3

Upgrade to SP3


Upgrade to Navision 5.0

Version 4 or version 5


Developer Toolkit

Why using Developper tool kit?
reliability of the Developer's Toolkit compare & merge
Dev toolkit problem with compare and merge



Others
Weaknesses of Navision

Saturday, 3 February 2007

How To determine what objects can be read with the current license file?

1) Create a Tabular Form with the Form Wizard.
2) Enter 2000000044 as the table name.
3) Complete the wizard and run the form.

Table 2000000044 is a virtual table used to stored license information. You cannot find this table in object designer but you can use it as data source in form.

Thursday, 1 February 2007

First Day of current month

Use the following formula to get the first day of a month

CM+1D-1M

Tuesday, 19 December 2006

CM will return the last day of a month.

CALCDATE ('CM', date) will return the last day of the month.

To get the first day of the month,
use CALCDATE ('CM-1M+1D', date);