|
I read it somewhere. I'll have to find it again. But it was something
like that to allow recursive calls.
Michael Schutte
Work 614-492-7419
email michael_schutte@xxxxxxxxxxxx
"Wilt, Charles"
<CWilt@xxxxxxxxxx
om> To
Sent by: "RPG programming on the AS400 /
rpg400-l-bounces@ iSeries" <rpg400-l@xxxxxxxxxxxx>
midrange.com cc
Subject
04/12/2006 04:18 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 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.
>
>
--
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-2025 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.