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/
Hello,
ReplyDeleteYour solution concerning dataports works fine. It helped me a great deal.
Regards,
Guy Helsen
Hello Guy Helsen,
DeleteThanks for comment.
Regards,
Saurav Dhyani