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



If the program has already been bound, the association to the
*PGM/*SRVPGM is set.  If they are compiled but not bound, you can add
your *SRVPGM to your BNDDIR or specify it directly in the CRTPGM or
CRTBNDxxx command.  The object will be bound to the first routine that
it finds that meets it's IMPORT/EXPORT needs.  To avoid DUPPROC and
other errors, I'd recommend naming your new routine something similar
yet distinct and have your programs call that.  The other option is to
change you programs to retry the open if you get the 'unavailable'
error.  (You'd need a limiting counter to avoid an endless loop
scenario, like a DO x TIMES and a LEAVE if the open works or you get
some other error.)

I've not tried to have two different routines named the same thing with
one that calls the other.  I'm not sure if it even can be done.  The
binder may satisfy the import/export requirements of the intermediate
routine with itself instead of the desired second routine.  I guess it
depends on how smart the binder is now-a-days.
 

-----Original Message-----
date: Fri, 2 Apr 2004 09:14:13 +0200
from: Anton Gombk?t? <gombkoetoe@xxxxxxxxxx>
subject: Quick question about replacing a function in serviceprogram

Hi folks,

we do have the following prototyping for our major service program, the
following is the first function:

DIFSOpen          pr            10i 0 extproc('open')
Descriptor
D                                 *   value
Filename       
D                               10i 0 value
Access Mode    
D                               10i 0 value options(*nopass)
Mode           
D                               10i 0 value options(*nopass)
CodePage

we do face the problem that we casually receive returncode 3029=resource
busy when we try to create a file in the IFS.

The solution seems to be to wait a bit and try again.

So we need to capsule the 'open' which is from QC2LE binder directory.

Is it possible to replace the above "IfsOpen" by an - from parameter's
point of view - identical function in our service program? And deliver
only the service program to production?

Or has the compiler already set the track to the real open and i do not
have any chance to re-route that; and we do have to deliver all programs
using IfsOpen?

Thanks in advance!




As an Amazon Associate we earn from qualifying purchases.

This thread ...


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.