Skip to main content

What do you do when your NAV 2017 Job is not triggering through Job Queue Entries

Introduction:
Working with failed Scheduled Jobs can be a tiresome process. This is exactly the case where one of my client has an Invoicing & Payment Jobs which run once a day and Job Queue Entries fail to trigger these Jobs. No Errors in the Logs, No Execution Entry, Simply No Way of Figuring it out as to why Job didn't trigger.
Contacting Microsoft Support, they are asking to simply Upgrade the Application to latest version.
Which is not a preferred option as the database size is around 200GB.
Let's see how to resolve this in a smarter way.

Pre-requisites:
Microsoft Windows Task Scheduler
Microsoft Windows Powershell
Microsoft Dynamics NAV(Administration Module for PowerShell & Development Environment)

Books & References:
https://docs.microsoft.com/en-us/powershell/module/microsoft.dynamics.nav.management/?view=businesscentral-ps

Demonstration:
1. Building Objects to Run through a Codeunit:
As you know that Job Queue Entries support Reports and Codeunits and NAV Administration Module only supports Codeunit. So, inorder to make it work, create a Codeunit to execute all the Reports and Codeunits.

2. Creation of PowerShell Script:
This PowerShell Script execute with the help of NAV Administration to Run the Codeunit. Prior to running the Script you need to set the Execution Policy.

Syntax:
Invoke-NAVCodeunit <Codeunit No.> - ServerIntance <ServerInstanceName> -CompanyName  <Company Name> -Force



3. Setting Up Task Scheduler Triggers:
By Setting up the Triggers, you can decide recurrence to execute the Codeunit. It can be Hours, Daily, Weekly, Monthly, One-Time or Infinite. You can also set the time for precise execution.


4. Setting Up Task Scheduler Commands:
Whenever we execute the PowerShell Script through CMD, we run the commands as follows.
Command: PowerShell.exe <PS Script File Path>
Here, we pass the PowerShell.exe into the script and PS Script File Path as Parameter.


Conclusion:
Thus, using NAV Administration Module, PowerShell and Task Scheduler I was about to replicate Job Queue Entries functionality.
Although, this works perfectly for NAV and Business Central - On Premise, it work for Business Central on SaaS. In my upcoming blog I'll also show we can acheive this.

Hope you guys find this blog useful 😇


Comments

Popular posts from this blog

TIP: Working with changing Field DataTypes and Deleting fields in Business Central

Introduction:
Imagine a scenario where as per the requirements provided by your clients, you have set up the Database structure in NAV/Business Central.
Then comes a requirement in Phase 2 which completely redefines the database structure which was provided by you and you need to delete a few fields in a table and move it to another table.

Pre-requisites:
Microsoft Dynamics NAV
Microsoft Dynamics Business Central

Books & References:
https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/properties/devenv-obsoletestate-property

Solution:
1. In Microsoft Dynamics NAV, there was a flexibility to delete fields, tables, and keys and using  Force-Sync, you can directly delete the field, table, and keys from SQL Database.


2. Whereas in Microsoft Dynamics Business Central, you cannot delete the fields, keys, and tables.
In order to deploy this deleted change, you need to mention this field, table, and keys with Obsolete State Removed.


After you mention the field as…

How to actually use Profile Objects in Business Central

To 'Whomsoever This May Concern',
When I was working on a Production Deployment for one of my clients, I noticed that I could not create a Profile in Business Central Production Tenant. I was able to create new Profile in Sandbox.


Then I tried using configuration Package and modify the contents of 2000000178 Profile Table and as always configuration package blocked it.



There was no way of dealing with this other thancontacting Microsoft Support and this is the answer I get from a Support Engineer

I was on the verge to give my clients a link pointing to a specific page i.e https://businesscentral.dynamics.com/?page=50150

After being a little creative, I figured out that developing profile objects might help.

And this resolved this issue for me.




How to Run Reports when report processing takes long to cause Session Time-out.

Introduction:
I've observed that when NAV is used for a very long time, the report which needs heavy processing takes long enough to cause Session Time-out. So, fetching reports becomes tedious by manually querying the table.

Pre-requisites:
Microsoft Dynamics NAV
Microsoft Dynamics Business Central

Solution:
The solution is simple, export the Report as an Excel or PDF depending on the data and send Email to the User as an attachment after the processing is complete.

Code:
1. Create the Report in Excel Using Excel Buffer.


2. Export the Excel Buffer contents to an XLSX file.


3. Email the Exported Files to appropriate User. In this case, I have hard coded the user email to my email.


Output:


Conclusion:
Thus adding a piece of code to send email to the User, can save a lot of hassle. In Business Central, however, it is not possible to modify an existing report. So, you need to export the existing report and merge it in AL using Text-To-Al.