|
Dave, You hit the literal case I was referring to, try: SELECT TDATE, RTVDOW(TDATE, char(' ')) FROM MTHACY I would actually create two functions, one accepting (date, char(1)) and one (date, varchar(1)) David Morris >>> dleland@Harter.com 05/31/00 11:46AM >>> I've got a service program w/ 9 modules. The parameters in the module I'm trying to link up as an SQL FUNCTION are defined as: D RTVDOW PR 3A D D VALUE D 1A I created the function with the following: CREATE FUNCTION rtvdow (date, char(1)) returns char(3) external name 'UTILITIES/DATES(RTVDOW)' language RPGLE no sql parameter style general When I try to run it with the following SQL statement, I get the SQL0204 message: SELECT TDATE, RTVDOW(TDATE, ' ') FROM MTHACY (TDATE is a *DATE data type.) What gives? Dave -----Original Message----- From: David Morris [mailto:dmorris@plumcreek.com] Sent: Wednesday, May 31, 2000 11:10 AM To: MIDRANGE-L@midrange.com Subject: RE: Create an SQL function Dave, Yes, I have created quite a few. The most common reason for what you are describing is overloading. How did you define your parameters and how are they being passed? The count and type of parameters are used when locating the function. You have to match the type exactly, e.g. varchar, char, date, int, etc. The system defaults are varchar, and int if you pass a literal. You can look at the file sysfuncs to see what functions are available. You can also set your function path using the set path command, but the default is *LIBL so you should be OK. Also remember that they run in their own thread, so any thread restrictions and tuning apply. David Morris >>> dleland@Harter.com 05/31/00 07:02AM >>> No, I'm not talking about stored procedures. I'm talking about functions which are created with "CREATE FUNCTION". Has anyone out there created one? Dave -----Original Message----- From: eric.delong@pmsi-services.com [mailto:eric.delong@pmsi-services.com] Sent: Tuesday, May 30, 2000 5:16 PM To: MIDRANGE-L@midrange.com Subject: Re: Create an SQL function Dave, Are you talking about stored procedures? Look like you need to register the procedure. Here's a procedure I just created this morning: CREATE PROCEDURE SCANMEMO(IN CASENUMBER CHAR(9), INOUT RC CHAR(1)) LANGUAGE RPGLE MODIFIES SQL DATA EXTERNAL NAME SRCS01/IDR197B GENERAL There's a brief (but useful) sample in the "Sorcerer's Guide" redbook. I believe there are also samples in the ODBC programmers guide. hth eric.delong@pmsi-services.com ______________________________ Reply Separator _________________________________ Subject: Create an SQL function Author: <MIDRANGE-L@midrange.com> at INET_WACO Date: 5/30/00 3:20 PM I am attempting to create an SQL function. I can create the function but whenever I try to use it, I get the error "SQL0204 - RTVDOW in *LIBL type *N not found.". I tried creating the function in QGPL and ensured that QGPL was in my library list, but still get the same error. The SQL manuals do not have any examples on creating functions using RPGLE (which is what I'm using). Any ideas? Thanks, Dave +--- | This is the Midrange System Mailing List! | To submit a new message, send your mail to MIDRANGE-L@midrange.com. | To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com. | To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +--- +--- | This is the Midrange System Mailing List! | To submit a new message, send your mail to MIDRANGE-L@midrange.com. | To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com. | To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +---
As an Amazon Associate we earn from qualifying purchases.
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.