|
I don't think that would work. RPG Programs aren't recursive, so Lim is calling a procedure. However, ACTGRP(*NEW) only has an effect during the activation of a program or service program. Once he's in the program/service program procedure a recursive call to the same procedure wouldn't start a new activation group. Charles Wilt -- iSeries Systems Administrator / Developer Mitsubishi Electric Automotive America ph: 513-573-4343 fax: 513-398-1121 > -----Original Message----- > From: rpg400-l-bounces@xxxxxxxxxxxx > [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of > Michael_Schutte@xxxxxxxxxxxx > Sent: Wednesday, April 12, 2006 3:39 PM > To: RPG programming on the AS400 / iSeries > Subject: RE: Is SQL cursor open at the job level? > > Again, > > the ActGrp(*NEW) HSPEC is needed in the calling program. > > Michael Schutte > Work 614-492-7419 > email michael_schutte@xxxxxxxxxxxx > > > > > "Lim Hock-Chai" > > <Lim.Hock-Chai@us > > amobility.com> > To > Sent by: "RPG programming on > the AS400 / > rpg400-l-bounces@ iSeries" > <rpg400-l@xxxxxxxxxxxx> > midrange.com > cc > > > > Subject > 04/12/2006 03:22 RE: Is SQL cursor open > at the job > PM level? > > > > > > Please respond to > > RPG programming > > on the AS400 / > > iSeries > > <rpg400-l@midrang > > e.com> > > > > > > > > > > I can't close the cursor, the parent thread still needs it. See below > for detail on what I'm doing: > > This is what I try to achieve: > Example: > 1) MYFILE has 2 fields: CHILD and PARENT. > 2) If the data looks like below > CHILD PARENT > AAA BBB > CCC AAA > DDD BBB > EEE JJJ > 3) This procedure basically need to return all family member > back to the > caller. If say the caller pass DDD, this procedure should return: > DDDBBBAAACCC > > Below is what I got (Not able to test it because when it > recursive calls > the getFamilyMember, it gets the cursor already open error and the > return result become incorrect: > > D getFamilyMember... > D pr 90 varying > D piMember 3 value > > D MYFILE E DS > D family s 90 varying > > > C eval family = getFamilyMember('DDD') > > C eval *inlr = *on > ************************************************************* > P getFamilyMember... > P B export > D pi 90 varying > D piMember 3 value > > D prList s 90 varying static > > C if piMember = *blank > C return prList > C endif > > C eval prList = prList+piMember+';' > > C/exec sql > C+ declare c1 scroll cursor for > C+ select * > C+ from MYFILE > C+ where PARENT = :piMember or > C+ CHILD = :piMember > C/end-exec > > C/exec sql > C+ open C1 > C/end-exec > > C dou sqlCod <> 0 > C/exec sql > C+ fetch next > C+ from C1 > C+ into :child,:parent > C/end-exec > C if sqlCod <> 0 > C leave > C endif > > C if %scan(child :prList) = 0 > C callp getfamilyMember(child) > C endif > > C if child <> parent and > C %scan(parent :prList) = 0 > C callp getfamilyMember(parent) > C endif > > C enddo > > C/exec sql > C+ close C1 > C/end-exec > > C return prList > > P getFamilyMember... > P E > > > > -----Original Message----- > From: rpg400-l-bounces@xxxxxxxxxxxx > [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Holden Tommy > Sent: Wednesday, April 12, 2006 1:50 PM > To: RPG programming on the AS400 / iSeries > Subject: RE: Is SQL cursor open at the job level? > > OR.... > > Compile to CLOSQLCSR(*ENDMOD) > > Or... > > c/exec sql > C+ SET OPTION CLOSQLCSR=*ENDMOD > c/end-exec > > > Thanks, > Tommy Holden > > > -----Original Message----- > From: rpg400-l-bounces@xxxxxxxxxxxx > [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of > Michael_Schutte@xxxxxxxxxxxx > Sent: Wednesday, April 12, 2006 1:44 PM > To: RPG programming on the AS400 / iSeries > Subject: Re: Is SQL cursor open at the job level? > > Is this a SQL Procedure or RPG Procedure using SQL? > > If RPG, add the HSPEC > > H ActGrp(*NEW)... I believe? > > Michael Schutte > Work 614-492-7419 > email michael_schutte@xxxxxxxxxxxx > > > > > "Lim Hock-Chai" > > <Lim.Hock-Chai@us > > amobility.com> > To > Sent by: "RPG programming on the AS400 / > > rpg400-l-bounces@ iSeries" > <rpg400-l@xxxxxxxxxxxx> > > midrange.com > cc > > > > Subject > 04/12/2006 02:40 Is SQL cursor open at the job > > PM level? > > > > > > Please respond to > > RPG programming > > on the AS400 / > > iSeries > > <rpg400-l@midrang > > e.com> > > > > > > > > > > I need to do recursive call on a procedure that declare and open sql > cursor. I'm getting a cursor already open error when recursively > calling the procedure. Is there a way a go around that? > > > -- > 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. > > > > -- > 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. > > > -- > 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. > > > -- > 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. > > > > -- > 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.