I agree with using system naming instead of sql naming in the connection.

Three additional recommendations:

- Use a view instead of a table function, especially if you notice the
performance of the table function is mediocre at best. Table functions are
difficult to optimize, especially if you start joining their results to
other tables.
- If you stick with the table function, add "set option dftrdbcol =
*none" to the table function source code, and compile it from an SQL
session where system naming is in effect. This will allow the function to
properly use a library list when the function is accessed from an SQL
session running under system naming.
- If you're not already doing so, add SPECIFIC NAME xxxxxxxxxx to the
function source code, where xxxxxxxxxx is your specifically chosen 10
character max specific name for the function.

Mike



date: Thu, 25 Jan 2018 11:10:01 -0500
from: dlclark@xxxxxxxxxxxxxxxx
subject: Re: creating table function - UDTF and then calling

"MIDRANGE-L" <midrange-l-bounces@xxxxxxxxxxxx> wrote on 01/25/2018
09:43:07 AM:
when calling , get 4 message in log

SQL0204 LOCATIONS_BY_FUND_MEMBER in QSYS type *lib not found
Diagnostic

CPF503E user defined function error on member
QSQPTABL Notify

CPF503E user defined function error on member
QSQPTABL Senders Copy

SQL0204 LOCATIONS_BY_FUND_MEMBER in QSYS type *lib not found
Diagnostic


even though it says it's not found, it found it and returned an empty
table
(with column headings)

Is there an issue with SQL only table function?
Is this a 10 character limit on function name?
Something else?


Even though you are qualifying the function name, since it is
being called from off-platform so you need to make sure the caller is
using "naming=system" in the connection string for the session. The
default is "naming=sql" and that causes the default schema to be equal to
the user name also specified in the credentials for the connection string.
Using "naming=system" will allow the session to have access to the full
library list associated.


Sincerely,

Dave Clark
--
int.ext: 91078
direct: (937) 531-6378
home: (937) 751-3300

Winsupply Group Services
3110 Kettering Boulevard
Dayton, Ohio 45439 USA
(937) 294-5331


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.