Thursday, February 18, 2021

How to Fix [LineStart()] Issue after C/AL Object Text Export?

Hi Readers,

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.


If there are no issues why should we worry about it?

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.

Regards,
Saurav Dhyani

www.sauravdhyani.com

2 comments:

  1. This is due to opening a DB with the generatesymbolreference=yes. Just remove it export again.

    ReplyDelete
    Replies
    1. Yes, but we need to keep that on, for customer who are in mixed mode.

      Delete

Popular Posts