|
Brian,
Here's part of a shell we use here for our SQL programs. The SQLER5 field is
the one that lets you know when you reach EOF.
// Retrieve first set of records
csr1Fetch() ;
Select;
// Fetch returned an empty set
When SQLStt = EmptySet;
// Fetch returned a good record set
When SQLStt = Success;
// Fetch records until end of file
DoW SQLStt = Success;
// Read through returned records
For RowCnt = 1 to SQLER3 by 1;
// ---------------------------------------
// Insert record processing logic here
// ---------------------------------------
// Move to next record
RtnDtaSet@ = RtnDtaSet@ + %Size(RtnDtaSet);
EndFor; // RowCnt = 1 to SQLER3 by 1
// If end of table reached exit loop
If SQLER5 = 100;
Leave;
EndIf;
// Reset to beginning of data structure
RtnDtaSet@ = Mem@;
// Retrieve next set of records
csr1Fetch();
EndDo; // SQLStt = Success
EndSl;
// Close cursor
csr1Close() ;
Rick
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx]On Behalf Of Brian Piotrowski
Sent: Thursday, September 15, 2005 7:11 AM
To: RPG programming on the AS400 / iSeries
Subject: Filling a Subfile with an SQL statement / Writing a CSV
Hi All,
When I use an SQL statement to obtain information to a database, do I
need to create a cursor in order to write the data to a subfile? Is
there a way to do something like a DoW not %eof(SQL returned records)?
The other question I have regards writing a CSV file. Right now, we
have a null device where all of our "scratch" data is written (PRT01).
One of the users on our system needs to have the results of a query
written to a file that will be exported to an Excel spreadsheet. I was
planning on simply writing the file to our scratch drive and have them
grab the print file using Navigator. Does anyone know if there is a
better way to do this?
Thanks!
Brian.
-=-=-=-=-=-=-=-=-=-=-=-=-=-
Brian Piotrowski
Specialist - I.T.
Simcoe Parts Service, Inc.
Ph: 705-435-7814 x343
Fx: 705-435-6746
bpiotrowski@xxxxxxxxxxxxxxx
-=-=-=-=-=-=-=-=-=-=-=-=-=-
Privileged and Confidential. This e-mail, and any attachments there to, is
intended only for use by the addressee(s) named herein and may contain
privileged or confidential information. If you have received this e-mail in
error, please notify me immediately by a return e-mail and delete this e-mail.
You are hereby notified that any dissemination, distribution or copying of this
e-mail and/or any attachments thereto, is strictly prohibited.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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.