|
Change your program to use SQLSTT. SQLCODE can sometimes be non-zero on successful SQL statements. Something like this (note this is for a multiple record fetch): d Success c '00000' d EmptySet c '02000' 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; Rick -----Original Message----- From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx]On Behalf Of Yivi Sent: Friday, November 11, 2005 5:03 AM To: RPG programming on the AS400 / iSeries Subject: sql weirdness... I have the following thing: [...] /END-FREE * Declaración Cursor SQL ++++++++++++++++++++++++++++++ C/EXEC SQL DECLARE ALFOF2 CURSOR FOR C+ SELECT * FROM IVAN/ALFOFGAN2 C+ WHERE AMBITO = 'C' AND C+ SITUACION = 'E' AND C+ RESP <> 'B' C/END-EXEC * Apertura Cursor SQL ++++++++++++++++++++++++++++++ C/EXEC SQL C+ OPEN ALFOF2 C/END-EXEC * Ejecución Cursor SQL +++++++++++++++++++++++++++++ C/EXEC SQL C+ FETCH ALFOF2 C+ INTO :ALF2 C/END-EXEC /FREE dow SQLCODE = 0; // do stuff. print some lines /END-FREE C/EXEC SQL C+ FETCH ALFOF2 C+ INTO :ALF2 C/END-EXEC /FREE endDo; [...] The weird thing is that SQLCODE is set at 100, and the loop is not even starting. But, if I execute the SQL outside of the program I get about thirty rows, so I expect SQLCODE should be 0 at that point. Anyone has any clue about what am I doing wrong here? Lack of sleep and Friday anxiety aren't helping much my detective skills... Regards.... I.- -- This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/rpg400-l or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/rpg400-l. 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.