Not really, that page describes the job queue setup. This how-to describes in detail how to setup any NAS, but it does not go into detail on how to setup some predefined functionality of Navision.
Regards,Alain Krikilion No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
I am trying to install NAS and do not understand the part on adding trigger ID 99 into codeunit 1. What does ID 99 refers to? I had read on C/SIDE Help but does not provide a clue on this.
Every function in a codeunit has a property called ID. This is a number which is automatically incremented when you create new functions. For the NAS function this ID needs to be 99. You can modify this ID using the property window.
No support using PM or e-mail - Please use this forum. BC TechDays 2024: 13 & 14 June 2024, Antwerp (Belgium)
Sometimes I also have that problem.
If after some retries to start the service, I still have the error, I de-install it.
And I retry to launch the installation script again BUT WITHOUT THE ",INSTALLASSERVICE"-parameters. This just launches the NAS with current user. If it still gives errors, probably there is some problem with permissions for current user (or the NAS user in case of a service) in Navision.
If it works, I install the NAS again as service and set up again the correct permissions.
Sometimes I have to read this 2 or 3 times.
Regards,Alain Krikilion No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
Thanks for your help but I found out, that I've got some other problems too:
- within the nasstart.cmd I have to enter the "server name" and the "database name" ... but I've got no idea, which server name and which database name to enter??
do I have to enter the name of the ms dynamics nav database server (shown in the windows services) or the name of the real sql server (both are running on the same machine and this is also the machine, where I want to install nas)
i checkedmy event viewer and the NAS and the NASDB service gave me the some warning messages.
well the NASDB service gives me an TCP/IP error because the host is not answering. but how could that be? because i entered "localhost" in the setup-file and I also checked the hosts file, there is a localhost 127.0.0.1 entry
i was woundering what the startup parameter should look like.
Navision says it musst start with NEP-
Should my service startup parameter now look like "NEP-NAV" or only "NAV"?
And should my Navision startup parameter now look like "NEP-NAV" or only "NAV"?
I hope you get the point, what I am trying to say.
Did you try with the real name of your machine?
I have to admit I never tried with localhost.
tried both possiblities ... and both are not working because of
The TCP/IP connection's 'host' is not answering (TCP/IP error ECONNREFUSED).
You can see how to make changes to your 'hosts' and 'services' files in the documentation.
I made changes to the hosts and services files but without any success
at this point I've got another question ... concerning the EP setup in NAV.
in the application server setup I have to configure the front end processing (the 2 queues). the first one ".\private$\nep_request_queue" seems quite logical to me, but due the fact that I am using sharepoint on another machine (called: moss2) I have to change the reply queue, don't I? Tried it with: "MOSS2\\private$\nep_reply_queue" ... will this work? if not how should this line look like?
at this point I've got another question ... concerning the EP setup in NAV.
in the application server setup I have to configure the front end processing (the 2 queues). the first one ".\private$\nep_request_queue" seems quite logical to me, but due the fact that I am using sharepoint on another machine (called: moss2) I have to change the reply queue, don't I? Tried it with: "MOSS2\\private$\nep_reply_queue" ... will this work? if not how should this line look like?
thanks in advance
I can't help you with this. I never used NEP. And this topic is about how to install a NAS in general.
For more info, try searching the Navision e-Commerce-forum.
Regards,Alain Krikilion No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
I have a question concerning the single instance codeunit property.
Is this still advised when I have about 40 concurrent users who all connect to the nas?
Will one user who executes a heavy process not put the others out of work due to the single instance property who is enabled?
Is it correct that one user at a time will be served that way?
Or am i missing out at something?
Each NAV client (or NAS) has it's own version of the singleinstance codeunit.
I try to explain better:
If you have 10 forms open in your client and each of them uses codeunit X and that codeunit is NOT singleinstance, your client will have 10 DIFFERENT instances of that codeunit. The different instances are completely indipendent (like having each form using it's own codeunit).
If form A changes a value in the codeunit, form B will NOT see that change.
Now if that codeunit is singleinstance, your 10 forms will use the SAME instance of that codeunit.
If form A changes a value in the codeunit, form B will see that change.
If you have different NAV clients/NAS, the singleinstance codeunit is local. If user A is changing a value in the singleinstance codeunit, user B will NOT see that change.
Is this still advised when I have about 40 concurrent users who all connect to the nas?
I suppose you mean 40 users using the EP portal?
Using or not using singleinstance : for one user blocking the others because of a heavy process will not change. This because NAV is not multitasking. If the NAS (or a client) is executing something, it will never start other processing.
An example: if the NAS has 2 functions to do:
Function 1 is triggered (with the timer) each 10 seconds and takes 1 second to process.
Function 2 is triggered (with the timer) each hour and takes 2 minutes to process.
Once function 2 is running for 2 minutes, function 1 will NOT be triggered for those 2 minutes. Once function 2 finishes, function 1 can be triggered again.
In short : if you use 1 NAS, ONLY 1 USER WILL BE SERVED AT A TIME! And there is no way you can change this.
If you want the possibility to serve multiple users, you need multiple NAS. (Of course if they block the same tables/records on running, you are again at 1 user will be served at a time. Even if you have a NAS for each user.)
I hope this replies your question.
Regards,Alain Krikilion No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
Now if that codeunit is singleinstance, your 10 forms will use the SAME instance of that codeunit.
If form A changes a value in the codeunit, form B will see that change.
If you have different NAV clients/NAS, the singleinstance codeunit is local. If user A is changing a value in the singleinstance codeunit, user B will NOT see that change.
Ok that's more like it
But what do you mean by "the single instance codeunit is local"?
I have one NAS that serves multiple users.
Using or not using singleinstance : for one user blocking the others because of a heavy process will not change. This because NAV is not multitasking. If the NAS (or a client) is executing something, it will never start other processing.
Ok but as I understand from the How-to, defining you codeunit as single instance enables the codeunit to restart it self.
When this is not the case when he's not single-instance.
In short : if you use 1 NAS, ONLY 1 USER WILL BE SERVED AT A TIME! And there is no way you can change this.
If you want the possibility to serve multiple users, you need multiple NAS. (Of course if they block the same tables/records on running, you are again at 1 user will be served at a time. Even if you have a NAS for each user.)
Using or not using singleinstance : for one user blocking the others because of a heavy process will not change. This because NAV is not multitasking. If the NAS (or a client) is executing something, it will never start other processing.
Ok but as I understand from the How-to, defining you codeunit as single instance enables the codeunit to restart it self.
When this is not the case when he's not single-instance.
A normal codeunit is removed from memory when the OnRun-trigger is finished and it cannot be reactivated anymore (except by another CODEUNIT.RUN).
The singleinstance means that after the OnRun-trigger has is finished, the codeunit remains in memory and is activated by external factors like an event from a DLL.
Regards,Alain Krikilion No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
Hi Kriki
I've using your manual to install NAS but for Navision version 4. I hope it's the same but I have a problem with step 7. I'm trying to install NAS on local computer but with connection on Navision server and SQL database over network. My machine and servers are in domain and I have all privileges on them. When I run nasstart.cmd file I get a error "15:25:09: You must specify which SQL Server and database you want to connect to when you start up the Navision Application Server."
Do you have any idea why I can not connect to the server?
Did you specify both servername=xxxxx and database=yyyyyy as the nassql.exe parameters?
Yes I did. I solved the problem, probably was mistake in multiline code witch I was trying to execute. Now I have to implement codeunit 1 because I now get an error about "THEPARAMETER" implementation.
Question: It's not possible to start NAS services in first place and then implement parameter in codeunit 1?
Question: It's not possible to start NAS services in first place and then implement parameter in codeunit 1?
It is better to implement the parameter in C1 first. Or at least put a MESSAGE for the parameter. This message you will then find in the eventlog (if all works of course). This way it is easier to test.
Another extra for testing : don put the "INSTALLASSERVICE" on the line. This way the NAS is run from DOS and it is easier to change parameters if there is something wrong. Remember though, that the current Windows login will be used to connect to the DB.
Regards,Alain Krikilion No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
Question: It's not possible to start NAS services in first place and then implement parameter in codeunit 1?
It is better to implement the parameter in C1 first. Or at least put a MESSAGE for the parameter. This message you will then find in the eventlog (if all works of course). This way it is easier to test.
Another extra for testing : don put the "INSTALLASSERVICE" on the line. This way the NAS is run from DOS and it is easier to change parameters if there is something wrong. Remember though, that the current Windows login will be used to connect to the DB.
Hi,
I have to use navision version 4 and CU 1 in it looks like
CGStarted := FALSE;
ParamStr := NASID;
REPEAT
SepPosition := STRPOS(ParamStr,',');
IF SepPosition > 0 THEN
Parameter := COPYSTR(ParamStr,1,SepPosition - 1)
ELSE
Parameter := COPYSTR(ParamStr,1);
IF Parameter = 'CG' THEN BEGIN
BizTalkNASStartup.RUN;
CGStarted := TRUE;
END;
ParamStr := COPYSTR(ParamStr,SepPosition + 1);
UNTIL SepPosition = 0;
IF NOT CGStarted THEN BEGIN
NASMgt.SetNASID(NASID);
WORKDATE := 0D;
IF NASSetup.GET(NASID) THEN BEGIN
IF NASMgt.GetSendMail THEN BEGIN
MailHandler.RUN;
MailHandler.StartCountDown(2000);
END;
IF NASMgt.GetPerformSynch THEN
MsgDispatcher.RUN;
IF NASMgt.GetPerformRequests THEN
RequestHandler.RUN;
END ELSE
ERROR(
Text018,
NASSetup.TABLECAPTION,
NASID);
END;
Here is the code a little bit different then Navision version 5 and later. Where should I put my part of code to receive the xml file stream?
Comments
http://blogs.msdn.com/microsoft_dynamic ... v-5-0.aspx
AP Commerce, Inc. = where I work
Getting Started with Dynamics NAV 2013 Application Development = my book
Implementing Microsoft Dynamics NAV - 3rd Edition = my 2nd book
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
I am trying to install NAS and do not understand the part on adding trigger ID 99 into codeunit 1. What does ID 99 refers to? I had read on C/SIDE Help but does not provide a clue on this.
Could anyone please help to enlighten?
Thnaks.
Regards,
Wilson
I get the following error message:
"Could not start the Microsoft Dynamics NAV application Server NAV service on Local Computer.
Error 1: Incorrect function."
If the reason has something to do with the codeunit1 could you please describe me in detail how to fix it.
PS: I used the .fob file from the tutorial
Thanks for any suggestions in advance!
Best regards
Katja
If after some retries to start the service, I still have the error, I de-install it.
And I retry to launch the installation script again BUT WITHOUT THE ",INSTALLASSERVICE"-parameters. This just launches the NAS with current user. If it still gives errors, probably there is some problem with permissions for current user (or the NAS user in case of a service) in Navision.
If it works, I install the NAS again as service and set up again the correct permissions.
Sometimes I have to read this 2 or 3 times.
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
- within the nasstart.cmd I have to enter the "server name" and the "database name" ... but I've got no idea, which server name and which database name to enter??
do I have to enter the name of the ms dynamics nav database server (shown in the windows services) or the name of the real sql server (both are running on the same machine and this is also the machine, where I want to install nas)
thank you for your help
So, if you have a db on AnSqlServer called MycompanyDb where the SQL is running as the default instance (the commonest situation) then
servername = AnSqlServer
Database name = myCompanyDb
If you have installed SQL on a separate instance called SQL2005 then you will have something like this:
servername = AnSqlServer\SQL2005
Database name = myCompanyDb
Ian
the navision db? database.fdb? do I have to enter the absolute path or the relative path?
if the sql server is on the same machine, servername=localhost is correct too, isn't it?
thanks for your help
fixed that problem ...
but what to do under point 10 in the howto ?!?!
WHERE do I have to enter this code?
](*,)
Search for the text "IF CGNASStartedinLoop = FALSE THEN" and you will find it.
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
but what is ment by:
CODEUNIT::”Some CodeUnit”
in the example code?
I guess the 'THEPARAMETER' refers to the parameter I have chose for installing my NAS service. But what does the "Some CodeUnit" mean?
It means you have to run your singleinstance codeunit there. This initializes the codeunit and it remains active from then on.
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
got an example what to enter there?
And there is also a fob in which there is a small example.
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
i checkedmy event viewer and the NAS and the NASDB service gave me the some warning messages.
well the NASDB service gives me an TCP/IP error because the host is not answering. but how could that be? because i entered "localhost" in the setup-file and I also checked the hosts file, there is a localhost 127.0.0.1 entry
I have to admit I never tried with localhost.
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
at this point I've got another question ...
i was woundering what the startup parameter should look like.
Navision says it musst start with NEP-
Should my service startup parameter now look like "NEP-NAV" or only "NAV"?
And should my Navision startup parameter now look like "NEP-NAV" or only "NAV"?
I hope you get the point, what I am trying to say.
If you want to use the Employee portal, it should start with 'NEP-'.
If you have your own functionality, you can call it how you want.
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
tried both possiblities ... and both are not working because of
I made changes to the hosts and services files but without any success
at this point I've got another question ... concerning the EP setup in NAV.
in the application server setup I have to configure the front end processing (the 2 queues). the first one ".\private$\nep_request_queue" seems quite logical to me, but due the fact that I am using sharepoint on another machine (called: moss2) I have to change the reply queue, don't I? Tried it with: "MOSS2\\private$\nep_reply_queue" ... will this work? if not how should this line look like?
thanks in advance
I can't help you with this. I never used NEP. And this topic is about how to install a NAS in general.
For more info, try searching the Navision e-Commerce-forum.
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
I have a question concerning the single instance codeunit property.
Is this still advised when I have about 40 concurrent users who all connect to the nas?
Will one user who executes a heavy process not put the others out of work due to the single instance property who is enabled?
Is it correct that one user at a time will be served that way?
Or am i missing out at something?
I try to explain better:
If you have 10 forms open in your client and each of them uses codeunit X and that codeunit is NOT singleinstance, your client will have 10 DIFFERENT instances of that codeunit. The different instances are completely indipendent (like having each form using it's own codeunit).
If form A changes a value in the codeunit, form B will NOT see that change.
Now if that codeunit is singleinstance, your 10 forms will use the SAME instance of that codeunit.
If form A changes a value in the codeunit, form B will see that change.
If you have different NAV clients/NAS, the singleinstance codeunit is local. If user A is changing a value in the singleinstance codeunit, user B will NOT see that change.
I suppose you mean 40 users using the EP portal?
Using or not using singleinstance : for one user blocking the others because of a heavy process will not change. This because NAV is not multitasking. If the NAS (or a client) is executing something, it will never start other processing.
An example: if the NAS has 2 functions to do:
Function 1 is triggered (with the timer) each 10 seconds and takes 1 second to process.
Function 2 is triggered (with the timer) each hour and takes 2 minutes to process.
Once function 2 is running for 2 minutes, function 1 will NOT be triggered for those 2 minutes. Once function 2 finishes, function 1 can be triggered again.
In short : if you use 1 NAS, ONLY 1 USER WILL BE SERVED AT A TIME! And there is no way you can change this.
If you want the possibility to serve multiple users, you need multiple NAS. (Of course if they block the same tables/records on running, you are again at 1 user will be served at a time. Even if you have a NAS for each user.)
I hope this replies your question.
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
Ok that's more like it
But what do you mean by "the single instance codeunit is local"?
I have one NAS that serves multiple users.
Nope users using handheld terminals...
Maybe 40 is slightly exagerated... but I want to be sure of the impact on performance.
Ok but as I understand from the How-to, defining you codeunit as single instance enables the codeunit to restart it self.
When this is not the case when he's not single-instance.
This is clear now
Thank you for the response.
The singleinstance means that after the OnRun-trigger has is finished, the codeunit remains in memory and is activated by external factors like an event from a DLL.
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
I've using your manual to install NAS but for Navision version 4. I hope it's the same but I have a problem with step 7. I'm trying to install NAS on local computer but with connection on Navision server and SQL database over network. My machine and servers are in domain and I have all privileges on them. When I run nasstart.cmd file I get a error "15:25:09: You must specify which SQL Server and database you want to connect to when you start up the Navision Application Server."
Do you have any idea why I can not connect to the server?
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
Question: It's not possible to start NAS services in first place and then implement parameter in codeunit 1?
Another extra for testing : don put the "INSTALLASSERVICE" on the line. This way the NAS is run from DOS and it is easier to change parameters if there is something wrong. Remember though, that the current Windows login will be used to connect to the DB.
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
Hi,
I have to use navision version 4 and CU 1 in it looks like
Here is the code a little bit different then Navision version 5 and later. Where should I put my part of code to receive the xml file stream?