|
Let's see, if I understand you you're doing this: 1) Calling a "CLP" (can I assume that's OPM CL? not ILE CL?) 2) It calls an RPG IV program which is compiled with "*CALLER". 3) The RPG IV program calls a service program that's compiled with ACTGRP(DAVE) 4) After the service program exits, it returns to the RPG IV program. 5) Now the RPG IV program ends. Does it do so with LR on or off? You don't say. It returns to the CLP. 6) The CLP does a RCLACTGRP ACTGRP(DAVE), which unloads the service program from memory. 7) Your CLP calls the RPG IV program again, and it can't find the service program. My first guess would be that the RPG IV program is ending with the LR indicator turned off -- in other words, it remains in memory. Since it only resolves to the service program when it first loads, reclaiming the DAVE activation group messed up it's availity to find the service program. If that's NOT the case, then perhaps it only resolves to the service program once per activation group? I don't know. This seems like an awkward use of activation groups at best. Wouldn't it make more sense for the RPG program and the service program to be in the same activation group? or to have the CL program be ACTGRP(*NEW) and the RPG and service programs both be *CALLER? Or -- providing that you need the resources of the service program kept seperate from that of the program -- why the heck are you reclaiming the service program? Just leave it there. On Tue, 1 May 2001 dmosley@dancik.com wrote: > OK, here's the situation, and hopefully, someone can brief me on why this > is happening... > > I have a *SRVPGM with an assigned activation group, we'll save ACTGRP > ('DAVE').. > > Now, I have a normal RPGLE program, with an activation group of *CALLER, > that calls the *SRVPGM. > > And a CLP that calls the RPGLE, has a RCLACTGRP DAVE, and the end of it. > > OK, here's what's happening. > - - My first time calling the CLP --> RPGLE, is successful. No problem. > - - My second time calling it, I logs my off the system, with a MCH3402, > message. > > Message ID . . . . . . . . . : MCH3402 > Message file . . . . . . . . : QCPFMSG > Library . . . . . . . . . : QSYS > Message . . . . : Tried to refer to all or part of an object that no > longer > exists. > Cause . . . . . : The most common cause is that a stored address to an > object is no longer correct because that object was deleted or part of > the > object was deleted. > > In my joblog, there is NO indication of the object. > > Can anyone give me a little indication of what is going on here... We can > work around this by having the RPGLE program compiled with ACTGRP('DAVE'). > But, I'd like to know why this would be happening in the first place... > > thanks > > David L. Mosley, Jr. > Systems Analyst > 2000 CentreGreen Way > Suite 250 > Cary, NC 27513 > +--- | This is the RPG/400 Mailing List! | To submit a new message, send your mail to RPG400-L@midrange.com. | To subscribe to this list send email to RPG400-L-SUB@midrange.com. | To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +---
As an Amazon Associate we earn from qualifying purchases.
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.