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