Hi,
I have a a txt file that I wish to bring into some customized tables into Navision.
Is there a way to read through the file line by line and then populate the appropriate tables? As the file is formatted into sections, which need modification before importation into Navision.
Eg.
** Transaction ID 16367864 Date - 2006-12-01 01:40:00
** Base[9835]:Region 15 [Processing Department] Financial
- USER1 placed in section 1 with $50.00
- USER2 placed in section 2 with $150.00
- USER3 placed in section 3 with $135.00 [Initiated]
USER1 pays small fee - $5.00
USER2 pays big fee - $10.00
USER3 - no fee
End of transaction 16367864
** Transaction ID 16367852 Date - 2006-12-01 01:32:12
** Base[9835]:Region 15 [Processing Department] Financial
...and continues with a similar format.
With the example above, it would be transferred into 3 Navision tables.
I'm hoping that I will be able to use a Dataport. Is this possible?
Any ideas would be greatly appreciated.
Thanks in Advance.
0
Answers
It seems that your problem would be much simpler if you had an xml file (or if you could create an xml file from your txt) for the kind of information that you want to insert.
In that case I believe that the dataport would be much more easier to create...
Something like:
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
Sometimes it seems so simple.
Just an additional note for users that may go this route.
When pushing the txtOneLine into a table that has a different datatype, use EVALUATE.
An example can be found at:
http://www.mibuso.com/forum/viewtopic.p ... xt+integer
Thanks to all.
filRead.WRITEMODE(FALSE);
filRead.TEXTMODE(TRUE);
filRead.OPEN('C:\test.txt'); \\ File Location
intLen := filRead.LEN;
WHILE filRead.POS < intLen DO BEGIN
filRead.READ(txtOneLine);
FieldExist := STRPOS(txtOneLine,'Invoice'); \\ String to search
IF (FieldExist > 0) THEN
InvoiceTxt := COPYSTR(txtOneLine,FieldExist+10,9);
END;
filRead.CLOSE
It's been a while since I opened and read a text file in C/Side - long enough that I can't remember exactly what to do.
So, off into ADG and C/Side Developers Help.
@#$%^&*+_)*&^%$#$%^&*)_!!!
Everything is there EXCEPT how to specify the file name. I keep going back to the page on File.OPEN thinking it's just GOT TO BE THERE ... but this is the syntax they show:
[Ok := ] File.OPEN
:-k
Thank <whomever> for Mibuso though - in about 90 seconds I find this thread and see:
filRead.OPEN('C:\test.txt'); \\ File Location
Well DUH - There's a secret parameter to the open command! \:D/
Sometimes ....