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.
If there are no errors, the page displays the status Healthy.
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.
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.
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.
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.
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.
You can create an exception for a specific report or you can add the exception for all reports.
If applicable, you can select the table and field for which you want to ignore the errors.
Finally, you must provide a reason for ignoring the error message.
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