I have heard about this issue from a long time but never faced this issue personally.
Yesterday While reviewing an Upgrade Merge during comparison, I faced this issue during comparison.
In this article, We will understand why & when this is a problem and I will share my View to fix this issue.
#MSDYNNAV
Which version of Dynamics NAV / Business Central (C/AL) it applies to?
- This problem started with Dynamics NAV 2018 (If I am not wrong).
- You can see [LineStart()] in the exported Text file.
- These Lines don't cause issue during importing / exporting objects to and from Dynamics NAV.
This becomes an issue during two operations -
- During Comparing objects via a Text Comparison tool, it becomes hard to compare objects.
- During C/AL To AL Conversion process these Lines get converted to AL files which need to removed Manually.
How To Solve this Issue?
PowerShell comes to Rescue.
In this scenario, My way to do it is with PowerShell.
Steps to Fix this issue.
- Open PowerShell, and Change Directory to that folder (as shown below).
- Cd "D:\Virtual Machine\Shared\Today"
- PowerShell comes with a cmdlet which can read file. The command is Get-Content.
- Get-Content '.\Export.txt'
- The Cool PowerShell comes with a Pipe command where you can redirect output to another command.
- In this scenario, We will use regex to find that pattern using Where-Object and -notmatch to not find.
- The output of this command will be removed [LineStart()] Lines.
- Get-Content '.\Export.txt' | Where-Object {$_ -notmatch '\[LineStart\('}
- Again using Pipe Symbol we can redirect it a file as shown below. This will create new file.
- Get-Content '.\Export.txt' | Where-Object {$_ -notmatch '\[LineStart\('} | Out-File '.\Export_out.txt'
- If you compare input and output files you will see that those lines are removed.
As its a PowerShell cmdlet you can run it either C/AL Text files or Converted AL Files where this issue exist.
Hope you find the article useful. Let me know your views as comment to this article.
This is due to opening a DB with the generatesymbolreference=yes. Just remove it export again.
ReplyDeleteYes, but we need to keep that on, for customer who are in mixed mode.
DeleteThanks Mark,
ReplyDeleteThat make sense. Can you please provide a scenario where I would like to Import this file again?
I faced the issue while comparing files so I don't think I will require to re-import the file in database. With Linestart removed I used it for comparing (manual / PowerShell) for merging changes in New Version.
I will be interested to understand in which scenario you would like to import this file back in database.