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

BC 21 and Higher - PowerShell Cmdlet (Replacement of Business Central Administration).

Hi Readers, As discussed in last article about deprecating of Business Central Administration, there are few common actions that we use in administration till Business Central 20. For our on-prem customers, we will still require doing activities. As Microsoft suggest we need to start using PowerShell cmdlet.    Let's see how to do those via PowerShell, or Administration Shell. I will be keep adding commands as you comment to this article.

Send Mail with Attachment From Navision.

Hi all, We have seen how to save a report into PDF and how to send mail to a customer. Let's link these two post in one i.e. Mailing statement to a customer into PDF Format. This article is part of the Series. Please Refer  Table of Content here . If you have the old objects set let me brief you what I will be changing - 

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.