× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Scott,
Thank you for the great information.
I read your article, and within a short time had adapted your demo program to my needs.
Once again you have saved me from much unnecessary work and from having to reinvent the wheel.


 
Jeff Young
Sr. Programmer Analyst
IBM -e(logo) server Certified Systems Exper - iSeries Technical Solutions V5R2 
IBM  Certified Specialist- e(logo) server i5Series Technical Solutions Designer V5R3
IBM  Certified Specialist- e(logo)server i5Series Technical Solutions Implementer V5R3
  
 





----- Original Message ----
From: Scott Klement <rpg400-l@xxxxxxxxxxxxxxxx>
To: RPG programming on the AS400 / iSeries <rpg400-l@xxxxxxxxxxxx>
Sent: Tuesday, October 14, 2008 3:36:27 PM
Subject: Re: Read CSV file from IFS

If you like, I wrote an article that demonstrates reading a
pipe-delimited IFS file.  You can read it here (requires a ProVIP
membership to System iNetwork)
http://systeminetwork.com/article/easy-and-efficient-way-read-text-files-ifs

However, even if you don't have a ProVIP membership, you should (I
think?) be able to grab the sample code from the following link:
http://www.pentontech.com/IBMContent/Documents/article/53867_157_PipeDelim.zip

Pipe-delimited files are very similar to CSV, except that they use a
pipe instead of a comma to delimit the fields.  So changing it to use a
comma instead of a pipe should be pretty trivial.

However, sometimes folks use quotes in a CSV file in order to make it
possible to insert commas in the middle of data.  For example:

98730,"IT","Klement, Scott C"

in this example, the 3rd field contains my name, and is one field
containing last, first and initial.  If you just scanned for a comma,
it'd try to read "Klement as a separate field from  Scott C" which would
be wrong...

one of the reasons people use pipe or tab delimiters instead of commas
is to prevent issues like that -- with pipe or tab, you can usually just
search for the straight delimiters.  With comma, you usually have to
take quotes into account, because commas are too commonly used as part
of field values.

So you might have to add extra code to deal properly with quotes.
Personally, I'm more inclined to change the app to stop using using CSV
-- which is a horrible format -- and use pipe or tab instead.  But if
you really need CSV, you can write code to handle it properly if you
have to :)


Jeff Young wrote:
I have a text file in CSV format that I would need to load to a System i file.
Although I can use iSeries Access file transfer, I would prefer to do this in a program as I do not want all fields.
Some of the fields in the CSV file are NULL, so unless I change my file, I can not use theCPYFRMIMPF command.
I am comfortable using the System API's to create files on the IFS, but have not had to read them.
What things do I need to be aware of when reading a CSV file?
How do I tell when a field ends?
How do I tell when a record ends?
How do I test the data in the PC field for NULL?

As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.