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



Not sure I understand your question. My example is merely to show the
danger of using *prv. In this example, I just try to demonstrate that
if developer forgot to recompile an existing program that was compiled
before the *current was added, this program will not get signature
violation. At run time it will actually execute IFS_Proc3 even though
the statement is coded to execute IFS_Proc2. This is where I don't
think *prv should be used (Again personal preference only). It does not
give you any protection and actually given developer some false sense of
security.





-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Murphy, Mark
Sent: Thursday, February 14, 2008 1:13 PM
To: RPG programming on the AS400 / iSeries
Subject: RE: Processes after CRTSRVPGM

Explain to me why I would expect any program to be able to call a
procedure that I have removed from the service program. If you use a
tool incorrectly you are bound to have trouble.

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Lim Hock-Chai
Sent: Thursday, February 14, 2008 10:51 AM
To: RPG programming on the AS400 / iSeries
Subject: RE: Processes after CRTSRVPGM

If you binding language looks like below, guess what will happen if you
forgot/miss recompile an existing program that is still using one of the
*prv signature? This existing program will not get signature violation.
It just going to execute the wrong procedure when executing IFS_Proc2.

STRPGMEXP PGMLVL(*CURRENT)
EXPORT SYMBOL(IFS_Proc1)
EXPORT SYMBOL(IFS_Proc3)
ENDPGMEXP

STRPGMEXP PGMLVL(*PRV)
EXPORT SYMBOL(IFS_Proc1)
EXPORT SYMBOL(IFS_Proc2)
EXPORT SYMBOL(IFS_Proc3)
ENDPGMEXP

STRPGMEXP PGMLVL(*PRV)
EXPORT SYMBOL(IFS_Proc1)
EXPORT SYMBOL(IFS_Proc2)
ENDPGMEXP


STRPGMEXP PGMLVL(*PRV)
EXPORT SYMBOL(IFS_Proc1)
ENDPGMEXP




-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Buck
Sent: Thursday, February 14, 2008 9:43 AM
To: rpg400-l@xxxxxxxxxxxx
Subject: Re: Processes after CRTSRVPGM

Lim Hock-Chai wrote:

My personal preference is never use *prv. IMHO, it is quite
dangerous.

Can you write a little more on why you feel *PRV is dangerous? I've
used this exclusively since V3 and haven't encountered any problems...
I'm hoping I haven't missed something!
--buck
--
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.

This thread ...

Follow-Ups:
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.