Skip to main content

How Job Queue works till Navision 2009 R2?

Hi all,

Let's discuss Job Queue in Navision.

If you filter Navision database(till NAV 2009 R2) with @*Job Queue* you will find -
  • 5 Tables.
  • 6 Forms & Pages.
  • 2 Codeunits.
as shown below.



Now lets try to explorer these objects.

Table 1- Job Queue Setup.
Setup Table - used to set JOB Queue to Start / Stop.

Table 2 - Job Queue Process.
Keep Entries of Job Queue Session in the database (Based on No of services).

Table 3 - Job Queue Entry
Keep Entries of Job Queue we created for automatic execution.

Table 4 & 5 - Job Queue Response & Job Queue Log Entry.
Keeps results of Executed Jobs - success/failure/reason of failure.

All Forms/Pages are related to above tables for data entry/setup.

Codeunit 1 - Job Queue Dispatcher.

This Codeunit is used to automate the task and it will run all the jobs defined in Job Queue Entries table.

* This is the Codeunit that get executed when you specify "JOBQUEUE" as parameter during setup of NAS.

Codeunit 2 - Job Queue Start Codeunit.

If you open and drill down the Codeunit you will find that this Codeunit is used just to check the user rights before execution of a job.

If checks the user rights in Member Of (Database Login) & Windows Access Control (Windows Login).

One more thing -
If you check the onRUN Trigger of Codeunit "Job Queue Start Codeunit" you will find a code which says-

If object type is Report then execute it, but for Codeunit you need to specify the record variable.



While configuring NAS we had specified parameter as JOBQUEUE, which is used to automate the execution of process.

Let's see how NAS execute theses Jobs-

Design Codeunit 1 and navigate to function NASHandler.
This is the function that is called by the NAS Service created.

If you Drill down the function you will find out that this execute some objects based on the parameter passed.

IF Parameter contain 'CG' - Execute "BizTalk NAS Startup"
IF Parameter Contain 'ADCS' - Execute "ADCS NAS Startup"
IF Parameter Is 'NEP' -Execute "Employee Portal"
IF Parameter is 'MOB' - Execute Mobile Dispatcher.
IF Parameter is 'OSYNCH','JOBQUEUE' - Execute "Job Queue Dispatcher".



So now we know we had specified JOBQUEUE as parameter in NAS so it will execute the Job Queue Dispatcher which will then execute all the jobs in Job Queue Entries.

In Next post we will see -
 a) How to create a job.
 b) How to schedule it.
 c) A Test job.

Just think of its uses.
"A Job like Adjust Cost - Item Entries which take time can be automated via NAS to run monthly on weekends.

Regards,
Saurav Dhyani

Comments

Popular posts from this blog

VIEW SERVER STATE permission on SQL Server?

Hi all, Sometime While trying to Login into a database we face an error message as shown below. --------------------------- Microsoft Dynamics NAV Classic --------------------------- You cannot start Microsoft Dynamics NAV Classic because you do not have the VIEW SERVER STATE permission on SQL Server. Contact your system administrator. --------------------------- OK    ---------------------------

BC 21 and Higher - PowerShell Cmdlet (Replacement of Business Central Administration).

Hi Readers, As discussed in last article about deprecating of Business Central Administration, there are few common actions that we use in administration till Business Central 20. For our on-prem customers, we will still require doing activities. As Microsoft suggest we need to start using PowerShell cmdlet.    Let's see how to do those via PowerShell, or Administration Shell. I will be keep adding commands as you comment to this article.

Send Mail with Attachment From Navision.

Hi all, We have seen how to save a report into PDF and how to send mail to a customer. Let's link these two post in one i.e. Mailing statement to a customer into PDF Format. This article is part of the Series. Please Refer  Table of Content here . If you have the old objects set let me brief you what I will be changing -