|
I don't know if this matters, but you don't need to use an SQL cursor for this. Try: 0046.00 C/EXEC SQL 0047.00 C+ SELCT COUNT(*) 0048.00 C+ INTO :TCOUNT FROM 0049.00 C+ INVMARGIN WHERE 0050.00 C+ ILNINVDATE >= :SDATE AND 0051.00 C+ ILNINVDATE <= :EDATE 0052.00 C/END-EXEC No fetch required. Ben Pforsich Programmer Analyst Bob Evans Farms, Inc. I/S Department Columbus, Ohio Ben_Pforsich@xxxxxxxxxxxx "Douglas W. Palme" <dpalme@xxxxxxxxx To om> "RPG Group" <rpg400-l@xxxxxxxxxxxx> Sent by: cc rpg400-l-bounces@ midrange.com Subject sql saga continues 07/14/2005 10:04 AM Please respond to RPG programming on the AS400 / iSeries <rpg400-l@midrang e.com> I spent the better portion of the night last night continuing to work with the embedded sql code.....of course its a learning curve and at times frustrating as hell but I am learning it slowly.... I have however run into a situation that after 4 hours I have not been able to figure out. I have created a very simple sqlrpgle program that for right now is just to get the count of the records and write it to a variable. Sounds simple enough, however when running it in bebug mode it seems to execute but when I F11 the variable to see its value, its all zeroes. Here is the pertinent code: 0029.03 *********************************************************** 0039.01 * STANDALONE VARIABLES 0041.00 *********************************************************** 0041.03 DSDATE S D DATFMT(*USA) 0041.04 DEDATE S D DATFMT(*USA) 0041.05 DTCOUNT S 6S 0 0041.06 *********************************************************** 0042.00 * MAINLINE 0043.00 *********************************************************** 0043.01 C *USA MOVE '06/01/2005' SDATE 0043.02 C *USA MOVE '06/30/2005' EDATE 0043.03 C EXSR COUNTING 0043.29 C EVAL *INLR = *ON 0043.30 C RETURN 0043.31 *********************************************************** 0044.00 * GET RECORD COUNT AND WRITE TOTAL TO TCOUNT VARIABLE 0045.00 C COUNTING BEGSR 0046.00 C/EXEC SQL 0047.00 C+ DECLARE COUNTCURSOR CURSOR 0048.00 C+ FOR SELECT COUNT(*) FROM 0049.00 C+ INVMARGIN WHERE 0050.00 C+ ILNINVDATE >= :SDATE AND 0051.00 C+ ILNINVDATE <= :EDATE 0052.00 C/END-EXEC 0053.00 C/EXEC SQL 0054.00 C+ FETCH COUNTCURSOR 0055.00 C+ INTO :TCOUNT 0056.00 C/END-EXEC 0057.00 C ENDSR 0058.00 ************************ I did not see any problem with the cursor or the fetch statement, and since the variable tcount is declared it should work....I also noticed when I F11 on the :tcount it says that it cannot find the variable...which I thought was strange but maybe its my brain having one of its moments. Any helpful suggestions would be appreciated. -- 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.
As an Amazon Associate we earn from qualifying purchases.
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.