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




On 24/06/2008, at 7:58 AM, CRPence wrote:

Please... do share :-) Last time I had checked, the SQL RENAME TABLE
still did not work from REXX, so I had to use RNMOBJ.

I haven't found that one. Didn't know about that so just tried it. Very weird: SQL system error. RNMOBJ is a work-around but won't help if you want to change the long SQL name.

In my case the defect is in the External Function interface. A straight-forward external function such as r = dummyFunc( x, y, z) works as documented. Rexx finds the function and invokes it and the result is returned. It also works when parameters are omitted such as: r = dummyFunc( , , z).

Now I also want to use an External Function Exit Program and this too works as documented except for the special case of omitted parameters. What SHOULD happen is that Rexx encounters an external function, passes control to the exit program which either handles the function or indicates that Rexx should deal with it (or spits an error). In this case the exit program indicates that Rexx should locate and invoke the external function. For r = dummyFunc( x, y, z) it all works as expected. However, when the function call contains omitted parameters Rexx does not call the exit program, nor does it call the external function. It simply issues Error 48: "Failure in system service" (CPD7CB0) which implies a problem with the exit program.

There is in fact no problem with the exit for a number of reasons:
1) I wrote it
2) Rexx doesn't even invoke the exit program when omitted parameters are present
3) Testing shows that any variation of omitted parameters (except the last) will cause Error 48
4) The exit program does nothing except set a return code indicating that Rexx should locate and invoke the external function
5) Removing the exit program and calling the function with omitted parameters works, adding the exit program causes Rexx to instantly fail on the function call yet Rexx should be behaving in the same way in either case

This took me quite a while to track down.


Word the /problem/ as a documentation issue for a link in the docs,
and report it via the electronic Reader Comment from InfoCenter. That
process requires that they reply to you [according to your wishes as I
recall] with regard to the required documentation correction. Worded
properly, I am sure they will forward it to the support team as a code
correction.

I have difficulty wording this problem as a "documentation" error because as far as I can tell the documentation is correct. The problem is that Rexx doesn't behave properly in certain specific circumstances. I guess it could be worded as an omission in the documentation i.e., Rexx documentation fails to state that calling an external function with omitted parameters when a External Function Exit Program is defined will fail with Error 48.

I'm sure anyone can see that adding such a statement to the Rexx documentation would not be the correct solution to the problem and I don't want to suggest a "fix it in the docs" solution.

Also, if you send me an email, I can forward the details to
[someone who I know that can forward it to] the proper contact.

I'll send you a save file with code to reproduce the problem and instructions on how to prove the defect. Do you want that sent to your yahoo address?

Regards,
Simon Coulter.
--------------------------------------------------------------------
FlyByNight Software OS/400, i5/OS Technical Specialists

http://www.flybynight.com.au/
Phone: +61 2 6657 8251 Mobile: +61 0411 091 400 /"\
Fax: +61 2 6657 8251 \ /
X
ASCII Ribbon campaign against HTML E-Mail / \
--------------------------------------------------------------------




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.