ForNAV Health Checks

We have often spoken about how ForNAV makes report editing easier: power users and functional consultants can easily edit reports with ForNAV.

However, what happens when things go wrong? In Business Central, you can make many functional settings based on reports, you can change report selections, add report layouts, and with ForNAV you can even add DataItems and related records to your reports. But what if a table becomes obsolete? What if a report’s dataset changes? These things can cause all sorts of issues that you might not be aware of until it’s too late. This is why ForNAV now automatically tests the health of your reports and settings.

You can run ForNAV health tests from two places: the report card and the ForNAV Setup page.

When you open the ForNAV Setup page, all the tests will run automatically, in a background task. While the tests run, you can keep on working.

A screenshot of a computer

Description automatically generated

If there are no errors, the page displays the status Healthy.

A screenshot of a computer

Description automatically generated

If errors are found, the page displays the status Error, plus some text in the Status Text field. You can click the text to get a list of all errors.

A screen shot of a computer

Description automatically generated

The ForNAV Health List page displays a list of all the issues ForNAV has found. The Error Information factbox displays detailed information about the test.

A blurry image of a table

Description automatically generated

When you open the ForNAV Health card, you will find detailed information about what has caused the issue and hints about how to fix the issue.

A screenshot of a computer

Description automatically generated

When you open the report card, the only test that will run automatically is the Check DataItems test. We have set this up like this because the report card is used heavily in report design, and we don’t want to affect Business Central performance.

Setup tests

Some of the tests are created for setup tables. These are general tests that run for all the ForNAV reports.

Check broken language

Tests the ForNAV Language setup tables for obsolete or removed reports, tables, and fields. It also tests if reports used in the ForNAV Language table are ForNAV reports.

Check orphaned layouts

Tests if there are report layouts for reports that have been uninstalled. This issue might be caused by removed extensions or reports obsoleted by newer versions.

Check orphaned report selections

Tests the report selections for missing reports. This issue might be caused by removed extensions or reports obsoleted by newer versions.

Report tests

Some tests check the reports themselves, for example, the report’s AL or Code object, or the layouts. Both the built-in and the customized layouts are tested.

Check dataset changed

Tests if the report dataset has been changed. This issue might be caused by creating a new report with the same number as a deleted report.

If you find this error message, you must run a complete health check from the ForNAV report page. If there are no underlying issues, the error message will clear.

Check Broken Report Selection

Every report usage has its own source table requirement. This test checks if you have selected a report that is built for the purpose for which you use it.

Check report DataItems

Tests the report DataItems for missing or obsolete DataItems. This issue might be caused by tables obsoleted by newer versions.

Check is ForNAV layout

Tests if the report layout is a ForNAV layout. This issue might be caused by layouts that are not created with the ForNAV Designer.

Check layout dataset match

Tests if the DataItem in the report layout matches the DataItem in the report. This issue might be caused by a layout that was created for another report.

Check layout DataItems

Tests the customized report layout dataset for obsolete or removed tables.

Check layout DataItem fields

Tests the customized report layout dataset for obsolete or removed fields.

Check Layout DataItem calculated fields

Tests the report custom layouts for missing calculated fields in DataItems. This issue might be caused by removed extensions or fields obsoleted by newer versions.

Check DataItem children

Tests the report DataItem children; tests for integer DataItem filtering issues and missing or obsolete DataItem links.

Check DataItem get calls

Tests for missing or obsolete JavaScript record links.

Check layout JavaScript records

Tests the customized report layout JavaScript records for obsolete or removed tables.

Check layout JavaScript fields

Tests the customized report layout JavaScript records for obsolete or removed fields.

Check layout JavaScript record calculated fields

Tests the report custom layouts for missing calculated fields in JavaScript records. This issue might be caused by removed extensions or fields obsoleted by newer versions.

Exceptions

In some cases, you might not want the ForNAV health test to find an error. For example, there could be an obsoleted field or table that you know about where you want to suppress the error message.

You can add an exception in two places: from the ForNAV Health Exceptions page or from the health test result page. In the latter case, the ForNAV Health Exception Wizard is prefilled with the error information.

A screenshot of a computer

Description automatically generated

A screenshot of a computer

Description automatically generated

You can only create exceptions for a few test results. Some tests indicate problems that cannot be ignored, such as a missing table or field.

A screenshot of a computer

Description automatically generated

You can create an exception for a specific report or you can add the exception for all reports.

A screenshot of a report

Description automatically generated

If applicable, you can select the table and field for which you want to ignore the errors.

A screenshot of a computer

Description automatically generated

Finally, you must provide a reason for ignoring the error message.

A screenshot of a computer

Description automatically generated

If you have added an exception, you can enable or disable it on the ForNAV Health Exceptions page.

—–

See also our Coffee Break video:

Automatically check the health of your Business Central reports Link to recording