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



Brian:
I'm still not sure what type of safeguard you gain from using *prv.

If your binding language was this:
STRPGMEXP PGMLVL(*CURRENT)
EXPORT SYMBOL(IFS_Proc1)
EXPORT SYMBOL(IFS_Proc2)
ENDPGMEXP

And you change it to this:
STRPGMEXP PGMLVL(*CURRENT)
EXPORT SYMBOL(IFS_Proc1)
EXPORT SYMBOL(IFS_Proc2)
EXPORT SYMBOL(IFS_Proc3)
ENDPGMEXP

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



Yes, the existing program will get signature error. But this signature
error is a false signature error. The existing program would have
executed without any problem. So, under this condition, you would have
to correct the *prv section of binding language and recreate the
service program or recompile the existing program for no real reason.




-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Brian Johnson
Sent: Wednesday, February 13, 2008 3:41 PM
To: RPG programming on the AS400 / iSeries
Subject: Re: Processes after CRTSRVPGM

On Feb 13, 2008 3:07 PM, Lim Hock-Chai <Lim.Hock-Chai@xxxxxxxxxxxxxxx>
wrote:

Yes. Sort of. However, if you exam it a bit more, it really makes no

different between the static signature method and the *prv/*current
signature method. Both methods require you to export new procedure to

the end of the service program. Otherwise, unpredictable result will
occur.

So, if you do below, existing program (Compiled before the *current
was
added) will not get signature violation but it will still execute the
wrong procedure. ==> *prv/*current method does not really buy you
anything (Actually it is more trouble than it worth).



Well, that's true. Not many techniques will buy you anything if you
don't use them correctly.

The only way around the rule to add new exports to the end of the list
is to rebind all client programs.

The value of a generated signature comes from the fact is generated from
the ordered list of exported names. If you make a mistake constructing
the *PRV signature you *will* find out quickly when you attempt to
active a user of the *PRV signature that has not been rebound. If you
specify the the signature, you loose this safeguard and you get to debug
strange and wonderful new bugs.



--
Brian Johnson
brian.johnson.mn@xxxxxxxxx
--
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 ...

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.