|
More specifically, it sounds like the program is being recompiled while it is being used. The program that was called is moved to QRPLOBJ and renamed to Q1A9B26BEB when the compiler generated the new program object that replaced it. ProgA calls ProgB. While ProgB still in use, ProgB gets recompiled, and original ProgB object gets moved to QRPLOBJ and renamed. Users should normally never miss a beat, because the system automatically adjusts the program stack to look at the QRPLOBJ object instead of the new ProgB. Now look in the program stack. You'll see ProgA, then Q1A9B26BEB (or whatever it gets renamed to). The question is, when does ProgA start using the new ProgB? It may depend on activation groups and other things. Certainly, if ProgB is an RPG program and it doesn't Usually, just exiting ProgA and restarting it solves your problem. If not, another option besides signing off may be to do a RCLRSC and/or RCLACTGRP (check multiple parm options). Curious, though, you don't really have a message file by the same name as the program, do you? You must be thinking of the program message queue, and you're using message subfiles in your interactive application? It's been awhile since I've had to think about this, since I use the *PROC from the SDS instead of a hard-coded program name. Beats having to remember to change it every time I clone a program. Still not sure why you're getting the error if you're using it the way I do. Perhaps the name of the program message queue doesn't change when the program object is renamed during a compile? hth, db > -----Original Message----- > From: rpg400-l-bounces@xxxxxxxxxxxx > [mailto:rpg400-l-bounces@xxxxxxxxxxxx]On Behalf Of > MWalter@xxxxxxxxxxxxxxx > Sent: Friday, September 17, 2004 11:30 AM > To: RPG programming on the AS400 / iSeries > Subject: Re: System variable for program name invalid > > > > Sounds like something from QRPLOBJ. I'd sign off your session and back on > to see if it changes. > > Thanks, > > Mark > > Mark D. Walter > Senior Programmer/Analyst > CCX, Inc. > mwalter@xxxxxxxxxx > http://www.ccxinc.com > > > > Hello, > > I have a problem, i have two RPG/400 programs. > > One program , lets call it ProgA calls the other program ProgB. > No problems at all. > > Ok, now the following. The programmers who coded before me decided to use > the system data structure Progname (pos. 1-10) for the Message files. So, > whenever a call to sndpgmmsg is done, the message-file variable = W#PGMN > (either filled with ProgA or ProgB). > > Still no problems, everything works ok. But now whenever i recompile ProgB > (even if i dont adjust anything!) it happens that the programname variable > is filled with something like 'Q1A9B26BEB.' So whenever i fire-up > the ProgB > (thru ProgA) an error appears cause it cannot find the messagefile > "Q1A9B26BEB." > > When i cancel all the error-messages and restart the ProgA and then go to > ProgB the error will not appear anymore.... until i recompile progB. > > Weird? > > Hopefully someone can help me out, > > regards > > FrankvanLeeuwen
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.