If an SQL commit or rollback is performed, all SQL Cursors get closed, as
long as they are not defined WITH HOLD.
If you execute rollback or commit with HOLD (Exec SQL Rollback Hold;), all
cursors stay open independent if they are defined WITH HOLD or Not.
A RPG Commit/Rollback or a CL commit/rollback works like an SQL
commit/rollback with hold, i.d. SQL cursors get not closed.

Exec SQL Rollback Hold;

Exec SQL Declare xxxx Cursor WITH HOLD For
Select .....

Mit freundlichen Grüßen / Best regards

Birgitta Hauser

"Shoot for the moon, even if you miss, you'll land among the stars." (Les
"If you think education is expensive, try ignorance." (Derek Bok)
"What is worse than training your staff and loosing them? Not training them
and keeping them!"

-----Ursprüngliche Nachricht-----
Von: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] Im
Auftrag von Sandro.Burger@xxxxxxxxx
Gesendet: Wednesday, 27. August 2008 14:53
An: rpg400-l@xxxxxxxxxxxx
Betreff: SQLRPGLE cursor not opened (closed by ROLLBACK)

I have the following situation:

Program A (SQLRPGLE) is calling program B which does an RUNSQLSTM which
ends in error and than gets a ROLLBACK.
This rollback closes all SQL cursors also in program A.

Is it possible to keep the cursors in program A open ?

This without changing program B because this is an third party program.

This thread ...


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

This mailing list archive is Copyright 1997-2020 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].