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



Thanks a lot for the clarification Barbara. 

I want to be clear about FREE - are you referring to /Free (Free Format
RPG)? If so, are you saying that if the call command is within the free
format syntax, it will behave as I expect (i.e. resolving the library
list each call?)

We're running V5R2 and I've been pushing free code at every opportunity.
Is this another reason to encourage it?

Thanks

Jim

 
 
Fast is fine, but accuracy is everything. 
Earp, Wyatt


-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx
[mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Barbara Morris
Sent: Tuesday, 21 November 2006 8:49
To: midrange-l@xxxxxxxxxxxx
Subject: Re: Job behaviour RPGLE vs CLLE


"Mark S. Waterbury" wrote:

This happens if you code in RPG/400 or RPGLE like this:

       CALL   'PGM001'
versus:
       MOVEL   'PGM001'   PGMNAM   10
       CALL      PGMNAM

This second case causes RPG to generate the full dynamic call that
"resolves" to the name on each call.  Note that there is more
"overhead"
for doing it this way.


Mark, the re-resolve is not necessarily done even when using a
variable.  RPG keeps track of the library and program name that each
call-variable had when the program was resolved.  To get a re-resolve,
you have to use that particular variable to call a different program,
and then you can re-resolve to your original program.

 C       MOVEL   'PGM001    ' PGMNAM   10
 C       CALL                 PGMNAM
 C**       MOVEL   'DUMMYRSLV ' PGMNAM
 C**       CALL                 PGMNAM
 C       MOVEL   'PGM001    ' PGMNAM
 C       CALL                 PGMNAM

Without the call to the different program (commented out here), whatever
PGM001 it found on the first call will continue to be used on the second
call, since the value of PGMNAM is the same as it was for the first
call.

It isn't sufficient to just change the variable and change it back.  You
have to actually make a call with the new value.

For RPG/400, the FREE opcode would cause the program to "forget" the
resolved program and re-resolve.  But ILE RPG doesn't support FREE, so
to get that particular feature of FREE, you have to use this call to
some other program (which should be a very fast-running do-nothing
program).
This message has been sent from Foodstuffs (Auckland) Limited ("Foodstuffs").

The information contained in this message and or attachments 
is intended only for the person or entity to which it is 
addressed and may contain confidential and/or privileged 
material. Any review, retransmission, dissemination or other 
use of, or taking of any action in reliance upon, this 
information by persons or entities other than the intended 
recipient is prohibited. If you received this in error, 
please contact the sender and delete the material from any 
system and destroy any copies.

The views and opinions expressed in this message may be those
of the individual and not necessarily those of Foodstuffs, 
and are not given or endorsed by it.

Please note that this communication does not designate an 
information system for the purposes of the Electronic 
Transactions Act 2002.


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

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.