TomLiotta
15455 pts. | Nov 20 2009 11:50PM GMT
I hope you don’t run across any recursive program references — there’s no way out that I can see if you do.
Assuming that a PR for printPrograms() would reference it as a proc…
I’m not at all confident that this would work. I would probably try having printPrograms() referencing an EXTPGM() rather than an internal (recursive) proc. I’d have that program run in a *NEW activation group to see how much control I could have over the SQL definitions and their relationships to available boundaries. By forcing each level into a new AG, you might be able to have scoping control over everything. Maybe.
But you still need to ensure that there are no recursive program references in DAVE.
Tom
TomLiotta
15455 pts. | Nov 20 2009 11:58PM GMT
Hmmm… that bit about recursive program references assumes that pname comes out of ProgRec by way of “whfnam”…
Tom
Philpl1jb
25660 pts. | Nov 21 2009 11:38AM GMT
no..but if you pass one more variable .. level - add one to it each level down and subtract one whenever you complete a level
and have seperate code based on a select where Level structure with 10 seperate cursors CursorLevel1 .. say to CursorLevel10.
You would then support 10 levels of recursion.
Phil
Philpl1jb
25660 pts. | Nov 21 2009 11:40AM GMT
Continuing on .. seperate cursors for levels would be necessary because when you return to a higher level you expect to pick up by fetching the next row from that level’s cursor.
Dcantwell
310 pts. | Nov 23 2009 1:08PM GMT
Hmm…. Looks like this isn’t going to work the way I want it to.
It’s a little more elaborate than I’d like it to be. I wanted all the processing handled inside of the same program. I might just have to skip using SQLRPGLE and try something else.
Thanks for your help everyone!






