Skip to main content

Data port with Headers


Hi all,

Most of time customer requires data from Navision, but they also request to have headers in the output.

We create a dataport but the problem occurs while having headers for the values.

Let’s see how we can do this-

Create a new dataport for Customer Table which will export Customer No., Name, City and Contact.
Once you are done with creation of dataport and adding dataport fields, go to OnPreDataItem().












Where (comma) is the default field separator, change it if you are changing the default field separator.

Now run the dataport and see the output.










Now Customer have modified the list and want to import the data back to Navision.

With current dataport , if we try to import it will generate an error because it will read the headers also as a record.So we require to modify some code so that the header part can be skipped while importing.

Changes in the code












What I have changed is –
While importing the data into Navision, it will read the first record in the Temp Variable which is of type text.










And you will see it get imported without any error.

Code 
OnPreDataItem()
IF NOT CurrDataport.IMPORT THEN BEGIN
  CurrFile.TEXTMODE(TRUE);
  CurrFile.WRITE('Customer No.' + FORMAT(',') + 'Customer Name' + FORMAT(',') + 
  'Customer City' + FORMAT(',') + 'Customer Contact');
 CurrFile.TEXTMODE(FALSE);
END ELSE BEGIN
  CurrFile.TEXTMODE(TRUE);
  CurrFile.READ(Temp);
  CurrFile.TEXTMODE(FALSE);
END;

Where Temp – is a text type of variable and length should be equal to length of charcters in the header.

Thanks & Regards,
Saurav Dhyani
http://saurav-nav.blogspot.com/






Comments

  1. Hello,

    Your solution concerning dataports works fine. It helped me a great deal.

    Regards,
    Guy Helsen

    ReplyDelete
    Replies
    1. Hello Guy Helsen,

      Thanks for comment.

      Regards,
      Saurav Dhyani

      Delete

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.