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


  • Subject: RE: Create an SQL function
  • From: "Leland, David" <dleland@xxxxxxxxxx>
  • Date: Wed, 31 May 2000 12:46:39 -0500

Title: RE: Create an SQL function

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