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



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

Follow-Ups:

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.