× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



That's good... I was going to suggest something else. But you got it
working...

I was thinking that this file should have a parent file...  Something to
link the parent to the child.

read parent
Dow not end of parent

   read child belonging to parent.
   Dow not end of child
     ... do your work
        read next child belonging to parent
   enddo
   read next parent
enddo.

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/13/2006 10:58          RE: Is SQL cursor open at the job   
             AM                        level? (***Resolved)                
                                                                           
                                                                           
             Please respond to                                             
              RPG programming                                              
              on the AS400 /                                               
                  iSeries                                                  
             <rpg400-l@midrang                                             
                  e.com>                                                   
                                                                           
                                                                           




Thanks for everybody's help and suggestion.  I got it working without
using recursive call.


-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Lim Hock-Chai
Sent: Wednesday, April 12, 2006 2:22 PM
To: RPG programming on the AS400 / iSeries
Subject: RE: Is SQL cursor open at the job level?

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 thread ...

Replies:

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

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.