Skip to main content

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

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
  2. Thanks Mark,
    That 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.

    ReplyDelete

Post a Comment

Popular posts from this blog

Microsoft Dynamics NAV 2016 - How to Configure Phone Client.

Hi All, In this article we will discuss how we can connect Microsoft Dynamics NAV 2016 with New Client Launched i.e. Phone Client. This Article Contain Steps for a Android Phone as I have Only Android Phone. I am doing it having all tiers on my windows 8 machine, steps remain same for multiple servers but issues might be different. What we Need (Other what we discuss in this article) -  The Service Tier should be on Public IP . Some of the Data-card does not Provide you Public IP. check it for sure.

How to Set Up NavUserPassword Authentication in Business Central.

Hi Readers, In this article we will discuss steps to Setup NAVUserPassword in Business Central on-prem. NavUserPassword is an authentication method that's handled by Business Central Server, but isn't based on Windows users or Active Directory. Each user is set up with a username and password that's configured inside Business Central only. The user is prompted for username/password credentials when they start the client. #msdyn365bc, #credentialtype

MSDYN365BC - Data Upgrade To Microsoft Dynamics 365 Business Central on premises.

Hi Readers, We have already talked about the number of steps for upgrading to Business Central on Premises from different NAV versions. After that article, I received multiple requests for an article which list down steps for Data Migration. In this article, we will discuss steps of data migration to MSDYN365BC (on-Prem) from NAV 2017. For this article, I am considering a Cronus Demo Database without any customization. For an actual upgrade project, we will have to complete object merge using compare and Merge process. After the Merge Process, the next step is data migration. Let's discuss those steps. Direct Upgrade to Microsoft Dynamics 365 Business Central (on-Prem) is from following versions - 1. NAV 2015. 2. NAV 2016. 3. NAV 2017. 4. NAV 2018.