This isn't a question of morality. It isn't "right" or "wrong". It's just a question of how you want the code to behave.

If the module has a cycle-main procedure in it, then *INLR causes things to happen in the cycle, such as closing the files, clearing the variable values upon next call, etc. So whether you code it really depends on whether you want those things to happen.

If the module doesn't have a cycle main procedure (which is probably the most common) then *INLR doesn't do anything, so it really doesn't matter.


On 11/10/2017 2:29 PM, Robert Rogerson wrote:
Hi all,

Is there anything wrong with setting on *inlr in a module in a service program?  I never do this, I just code a return.  But I'm reviewing a colleagues code and I honestly don't know if it's wrong to set on *inlr, or if it doesn't make a difference.

The procedure in question has 3  files which are defined a static.  My understanding is that by coding static the file(s) are opened when the procedure is first called and remain open until explicitly closed or the activation group ends.  So by setting on *inlr in the procedure is this going to close the file(s) which would defeat the purpose of coding the files as static?

I'm not sure if it is a bad practice to set on *lnlr in a subprocedure or it doesn't really have any affect on performance.



This thread ...


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

This mailing list archive is Copyright 1997-2020 by 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].