As long as the cursor is not closed (neither implicitly nor explicitly) and
not repositioned, with the next call and the next fetch, the next record is
read.
A cursor can be closed by either executing an SQL CLOSE but it is also
closed it the module is compiled with option CLOSQLCSR=*ENDMOD and the
module is left. There also other szenarios that close a cursor, for example
by performing a commit or rollback (if the cursor is not defined with WITH
HOLD) or when using System Naming with unqualified access to the database
objects and the library list is modified.
In either way I'd prefere a call back processing in your szenario and
perform a different procedure (whose procedure pointer is passed to the
callback procedure as parameter).
Within the callback procedure the cursor is opened, all rows are read and
for each row the procedure passed as procedure pointer is executed.
Mit freundlichen Grüßen / Best regards
Birgitta Hauser
"Shoot for the moon, even if you miss, you'll land among the stars." (Les
Brown)
"If you think education is expensive, try ignorance." (Derek Bok)
"What is worse than training your staff and losing them? Not training them
and keeping them!"
-----Ursprüngliche Nachricht-----
Von: RPG400-L [mailto:rpg400-l-bounces@xxxxxxxxxxxx] Im Auftrag von Robert
J. Mullis
Gesendet: Friday, 24.7 2015 17:52
An: 'RPG programming on the IBM i (AS/400 and iSeries)'
Betreff: Calling a Procedure
I want to create a module that has one exported procedure in it. When this
procedure is initially called, I want to open an embedded SQL cursor and
read the first record. On subsequent calls to this procedure, I want to do
some processing on the record previously read and then read the next record.
I want to repeat this until I hit EOF on the SQL cursor. Is it possible to
retain the previous values read from the SQL cursor and have the cursor read
the next record when the procedure is called subsequent times?
Thanks in advance,
Robert
--
This is the RPG programming on the IBM i (AS/400 and 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.