The new version of the ForNAV Converter now supports conversion of any C/SIDE object to an AL extension, and you can even keep your reports in RDLC format if you are not ready to migrate to ForNAV reports yet. This means that the ForNAV Converter offers you the added value of being a free, single-step tool to move from C/SIDE to Visual Studio Code development.
Normally, Microsoft prescribes that an application needs to be upgraded to Business Central before the conversion can be done. However, the downside of this is that everything needs to be compiled on Business Central before the conversion to AL. Because the C/SIDE compiler only reports one error at a time; it can be very hard to predict when an upgrade will be completed.
With the ForNAV Converter, this issue has been simplified into a one-step process where the cleanup is done in Visual Studio Code after the conversion. Working with Visual Studio Code is a huge benefit compared to C/SIDE because you get much better tools to do cross-object fixing of code, and a lot of bugs in the original code are highlighted. This is especially common in CalcFormulas where the expression is only validated in C/SIDE if it is changed and in normal installations there will be a lot of CalcFormulas with references to fields that do not exist anymore.
As well as helping you get to a known state faster, the ForNAV Converter also has a lot of advantages compared to using ConvertToNewSyntax or txt2al:
- One-stop conversion of txt to AL from Microsoft Dynamics NAV to Business Central. (We support all NAV versions, however, variable names that are not double-quoted and overlaps with reserved names, plus some legacy properties that are not supported in 2018, will make the conversion fail.)
- Built-in creation of table and page extensions derived from a txt baseline application.
- The txt does not have to be imported and compiled on Business Central before the conversion. This means that cleanup can be done in Visual Studio Code in a more efficient way than doing it in C/SIDE.
- Creation of meaningful names for UI elements that do not have a name property.
- Dotnet references that also exist in the base app are included – but commented out.
- Keys on table extensions are commented out because they are not supported in Business Central.
- UsageCategorys are defined based on Menusuites.
- The Application Area is set to basic if not defined on a UI element.
- Codeunit delta files are converted to an .al skeleton.
- Codeunit 1 events are mapped automatically.
You do not need a ForNAV license to convert from txt to AL with the ForNAV Converter; it is free to use.
Use the ForNAV Converter to convert from txt to AL
To convert from txt to AL, producing the AL source code, translation files, and layouts based on a txt input file:
- In the Tabledefinition file name, web service or app file field, enter the path to the Visual Studio Code app files with the *.app file filter.
- In the Input file field, enter the path to the input txt file or use wildcards to select more txt files.
- In the Output file field, enter the path to the output AL file (if you have selected the Split output to one file per object check box on the Advanced tab, only the folder name is used.)
- In the NAV Compatibility field, click Business Central Cloud (AL-extension).
-
To convert your reports to ForNAV, select the Convert RDLC reports to ForNAV reports check box. Leave this check box blank if you want to keep the reports as RDLC.
Processing-only reports are not converted to ForNAV reports.
On the Advanced tab, there are additional options:
- To generate a file per object, select the Split output to one file per object check box. This is recommended to get a better overview in the source code when working in Visual Studio Code.
- In the Application baseline objects field, you can enter a txt baseline app. This results in the creation of delta files for pages and tables.
- Select the Use alternative naming of control check box to create more readable names for UI elements, where a name has not been defined. This is recommended because standard Microsoft naming is based on Source expression and CaptionML, which can be incomprehensive to use as names.
Any questions or feedback? Simply write an email to support@fornav.com
Hello,
In our solution we added some option fields to, for example, the sales line. How does the NAV converter converts these added option fields?
What’s the download link to download the tool?
Regards,
René
Pingback: Announcing ForNAV 4.0 - ForNAV
Hi René
You can download the tool from fornav.com/download, once it is install you start it from the windows start menu by typing “convert”
It will convert anything you have added to the standard codebase
Have fun!
Regards
Michael
Hey,
Conversion tool seems to be working, thanks a lot!
Could you describe what the “Add to Object Id” field is for? I filled in 10000 expecting it to add 10000 to the new Objects and Fields Id’s but it doesn’t seem to do anything.
Would also be great if you could add a Prefix or Suffix to the advanced options so that the conversion automatically adds it to the Object Names and Fields from a Table Extension.
Thanks!
Regards,
Bart Permentier
Hi Bart
Great catch – the add to object id currently only works for ForNAV reports
We will make it work for all object
+ we will add an option to add the old object number in parenteties after the object name on demand
+ add support for BC spring release
+ support for editing xlf files in excel
If you send your email to support@fornav.com we will send you an update to try out when it is ready
Regards
Michael
The AL Converter is a great tool and it helps us to convert customer specific customizations already. What we like especially is the ability to build from normal .txt exports.
Even MS depreciated already converting CaptionML properties 1:1 and creating xlf files instead, for on prem customer customizations we still hesitate to use .xlf for captions and still stick with the CaptionML property. Therefore, a switch in the converter that keeps the CaptionML property in the .al code would add great value for us.
Hi Bruno
We are using the BC txt2al.exe to do part of the conversions and since MS has removed the option to keep CaptionML when converting it always outputs xlf + MS does not support converting ML’s to xlf files which means that you will have a problem when ML’s are depreciated.
We will look at removing the ML captions before the conversion and put them back in after txt2al has been run + add conversion of ML’s to xlf for al files. We are also looking at adding translation of ML’s / xlf files based on BC terminology
Regards
Michael
it looks like the ObjectIdDelta doesn’t work in Conversion tool version: 4.0.0.1596.
All table and page extentions are always in the 70000000 range
log output:
# INITIALIZE
Log started 03/01/2019 11:17:20
Program version: 4.0.0.1596
Table definitions: C:\Stack\Stack_AL\TST_BC_W1\.alpackages\*.app
Input file: C:\Merge\forNAV\TST_CAL_to_AL\CALsource\Modified.TXT
Output file: C:\Merge\forNAV\TST_CAL_to_AL\Result\*.AL
Target DLL Version: 4.0.0.1596
NAV Compatibility: BCOnPrem
Convert RDLC Reports: No
ObjectIdDelta: 50000
Split output: No
RequestPageOptionCaptionML: ENU=Options;CSY=Možnosti;DAN=Indstillinger;DEU=Optionen;FIN=Vaihtoehdot;ISL=Valkostir;ITS=Opzioni;NOR=Alternativer;NLB=Opties;NLD=Opties;PLK=Opcje;SVE=Alternativ
ReplaceFileName:
UseRequestPage: No
CONVERT
Loading text file C:\Merge\forNAV\IUOM_CAL_to_AL\CALsource\Modified.TXT
Hi Pieter
Thanks for trying out the tool!
It is fixed in this version + support for Bc Spring release https://www.fornav.com/products/rep/build/?ver=4.0.0.1606&d=Li80XzBfMF8xNjA2XzI3YTJmMjRiYjU1NGFkNDhhNTk4MGU0NWE5YzhhMDJhL1JlcG9ydHNGb3JOQVZfNF8wXzBfMTYwNi5leGU=
There is a couple of bugs in the txt2al pageextension conversion which Microsoft is working on
It also contains a cmdlet to import xlf file translations into excel and export them back (documentation will follow)
Regards
Michael
Hallo Michael,
the problem still exists in Program version: 4.0.0.1606
Hi Pieter
Sorry I didn’t understand your question at first
Table and page extentions are always in the 70000000 range because the NAV delta tool always place them there. I will discuss with Mark where or if we can move them
Regards
Michael
Hi ForNav-Team,
the tool works very good and reduces necessary steps to a Minimum! Great.
In the converter error log we get a huge amount of messages like this:
———————-
Page Item Translations (35)
Error loading application object from file: C:\_MI13-Txt2Al\MI13_20190306_Filter_MI_VG_txtExport.txt Message: StartIndex darf nicht kleiner als Null sein.
Parametername: startIndex
———————–
In this Page we just added another factbox, nothing else.
Another error is
————————–
Page Customer Ledger Entries (25)
Error extracting application object from file: C:\_MI13-Txt2Al\MI13_20190306_Filter_MI_VG_txtExport.txt Message: Error converting file: Die Länge darf nicht kleiner als 0 (null) sein.
Parametername: length
—————————
Here we assume the global standard var “StyleText” could be the Problem because this var is text without a length.
Could you give a hint why this error occurs?
Both problems don’t occure using the “Standard txt2Al” way! Here the pages are converted without problems.
Best Regards
Andre
Hi Andre
Text without lengths should not be an problem
If you send the txt file to support@fornav.com we will look at the issue
Regards
Michael
Hi Michael, which txt file do you mean? The Error Log or the CSide-Text Export?
Hi Andre
We need the C/SIDE text export of the object that fails
Regards
Michael
HI,
I have a problem with converting my reports to AL.
I have downloaded the symbols in VSCode but when I use the symbols I get the following error:
Could not open file …\Microsoft_Application_13.0.26413.0.app containing the symbol definitions.
Is there a limitation on file size? the app file is 8 588kb
Thanks in advance
Hi Rocco
There is no size limit to the app files – can you please check that the file is in the right place?
You can also use wildcards *.app to load the application app file together with dependency app files
Regards
Michael
Hi Michael,
What I want to do is, I have all my tables in the BC C/AL version.
So I made a new VSCode project and downloaded the symbols from the server and the Application & System app files are generated. So I want to use these app files as base to convert my reports but that does not work.
I get the error:
Could not open file …\Microsoft_Application_13.0.26413.0.app containing the symbol definitions.
I checked and the files are on the right place.
I there something else I can do?
Kind regards,
Rocco
Hi Michael
I am getting the same error as Rocco. (Microsoft_Application_13.0.27183.0.app): “Could not open file ..\Microsoft_Application_13.0.27183.0.app containing the symbol definitions”
ForNAV version 4.1.0.1696
Tried the wildcard, almost same error. Instead of the actual filename it can’t read, it says “*.app”.
I can use the “Microsoft_System” app file, but of course the result is that all tables are unknown 🙂
I downloaded the latest version 4.1.0.1667 and I fail to see the “Convert” button. If I download the 4.0.0.1606 the button is there. Can you guys check that issue please? Thanks!
Trying to use version 4.1.0.1696 and I am getting lots of errors such as:
Error loading application object from file: Message: Input string was not in a correct format.
This happens for NAV Compatability BC Cloud and BC OnPrem
Hi Lee
Can you please send the txt objects you are trying to convert to support@fornav.com
Regards
Michael
Pingback: Herramientas en migración de NAV a BC On-Prem #Upgrade #MsDynNAV #MSDyn365BC – Gerardo Rentería Blog
Comments are closed.
News / Knowledge Base
News / Knowledge Base
Upcoming Events
End User License Agreement
Endnutzerlizenzvereinbarung
Contact
Privacy Overview
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.