Moving your ForNAV reports from on premise (OnPrem) (C/Side or extensions) to cloud is a matter of conversion. On premise ForNAV reports use a dll to render; cloud ForNAV reports use a web service, therefore you must convert your reports. This conversion is a three-step process:
- Upgrade to the latest version of the ForNAV Designer and Converter.
- Configure the extension app for ForNAV cloud.
- Convert reports with the ForNAV Converter.
1. Upgrade to the latest version of ForNAV
The first step is to upgrade the ForNAV Designer and Converter. You can download the latest version of ForNAV from https://www.fornav.com/download/.
When you install a new version of ForNAV, you must never uninstall any previous versions because you might need the old version dll later.
In the Setup wizard, select the Development installation option:
2. Configure the extension app for ForNAV cloud
You must set up an extension for ForNAV cloud. You can either edit an existing On Premise extension or create a new one. For a ForNAV cloud extension, you must make sure your extension target is cloud and the ForNAV Core extension has been added to the dependencies. The dependency to the ForNAV Customizable Report Pack is optional. Before converting reports, you must make sure your extension has been compiled and an app file has been created.
Sample from an app.json file:
3. Convert reports with the ForNAV Converter
The final step is to convert the existing reports with the ForNAV Converter.
To use the ForNAV Converter for conversion to a cloud extension, you must configure the following settings:
- The connection string. This must point to the base folder of your compiled extension.
- Input file. The input file must be in your extension folder or one of its subfolders. The input files can be either txt exports of your C/Side ForNAV reports or On Premise report AL files. You can use a wildcard to specify your files, such as *.txt or *.al.
- Output file. This must point to your extension base directory, or one of its subfolders. You can use a wildcard to specify your file names, such as *.al.
- Target ForNAV Version. This is unused for conversion to cloud.
- NAV Compatibility. You must set this to Business Central Cloud.
- The Advanced tab. On the Advanced tab, you can specify further conversion parameters. These are explained in different KB Articles.
After you have finished configuring these settings, to convert your ForNAV reports, click Convert.
Please note!
All AL-code will convert and run when it is converted to Business Central Cloud.
However, because the ForNAV rendering engine runs as a service and not a dll, side-effects in section triggers and CurrReport.PageNo in AL-code is not supported and will give a warning when converted. These constructs can easily be reconstructed in JavaScript, which is run in the service, and the report will work as before.
The JavaScript functions – SetRange, SetFilter, and Get – only work under some conditions for universal code. To resolve this, the best thing to do is to replace the calls with property values on the JavaScript records.
If a report is converted from Classic, we cannot guarantee that the AL-code works without changes. If the report has AL-section triggers with logic having side-effects where the code sets values on global variables, which are used directly or indirectly in the dataset, these values might not be reflected in the dataset.
Pingback: Upgrade ForNAV OnPrem from DLL to Universal Code - ForNAV