Hi!
After reading the IBM documentation, I learnt that if I initialize the
fields containing the file name and the member name within the *ENTRY PLIST
in the *INZSR subroutine, I can use it with my primary file without changing
a single line of code of my main procedure.
Now my program works fine. I don't do any OVRDBF in my CLP, I provide the
file name and the member name as parameters of my *ENTRY PLIST. No need to
convert my CLP to CLLE. I just need to use DFTACTGRP(*NO) ACTGRP(*NEW) in
the header specification of my program.
I want to thank everyone who tried to help me solving this problem. Your
help is always appreciated.
Charles
"Jeff Young" <cooljeff913@xxxxxxxxx> a écrit
dans le message de news: 998496.77547.qm@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Charles,
The problem is that your CLP is running in the DEFAULT activation group,
while your program is in its own activation group. When the CLP ends, the
override ends also.
If all you want to do is override the file name, I would suggest that use
the EXTFILE or EXTMBR keywords on the "F" spec along with USROPN. Then just
put your Library/File in the EXTFILE field or Member Name in the EXTMBR
field and open the file.
If you need other attributes, I would suggest you use QCMDEXC or the system
function to issue the override from you program.
Jeff Young
Sr. Programmer Analyst
IBM -e(logo) server Certified Systems Exper - iSeries Technical Solutions
V5R2
IBM Certified Specialist- e(logo) server i5Series Technical Solutions
Designer V5R3
IBM Certified Specialist- e(logo)server i5Series Technical Solutions
Implementer V5R3
----- Original Message ----
From: Charles St-Laurent
<dringpiece@xxxxxxxxxxx>
To: rpg400-l@xxxxxxxxxxxx
Sent: Wednesday, June 13, 2007 3:00:54 PM
Subject: Re: Recursive calls don't work
Hi!
After verification, it seems that my call is done but nothing is updated in
my file after each second level execution. The only program that updates
successfully my file is my first level program...
Charles
"Charles St-Laurent" <dringpiece@xxxxxxxxxxx> a
écrit dans le message de news: f4pdp1$g8r$1@xxxxxxxxxxxxxxxx
Hi!
I try to develop a program that call itself recursively. I compiled it
with DFTACTGRP(*NO) ACTGRP(*NEW). When I call my program recursively, I
call the CLP that does the OVRDBF. Then, in my CLP, I call my RPG/ILE
program back with my new OVRDBF.
When I debug my RPG/ILE, nothing seems to happen at this line:
C CALL 'LSTWRDP' PLIST1
I believe that my call is not performed. Or, if it is performed, no update
is made to my file by my second level call.
LSTWRDP calls LSTWRDR that calls LSTWRDP with different parameters to do
new OVRDBF...
Am I missing something?
Charles
--
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.