× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



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 thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.