|
Mike,
Both SQL procedures and user defined functions exist as an object.
In the case of procedures, the object is a ILE C *PGM object.
For User defined functions, the object is an ILE C *SRVPGM object.
Here are a couple of examples from my system:
Object Type Attribute Text
TESTSP *PGM CLE SQL PROCEDURE TESTSP
HISTO00001 *SRVPGM CLE SQL FUNCTION HISTORICALCOST
Take a look at the EXTERNAL_NAME column of SYSPROCS & SYSROUTINES. Procedures
show up in both views. User defined functions are only in SYSROUTINES. Here's
then results of a query, where SPECIFIC_SCHEMA = 'CWLIBR', of SYSROUTINES on my
system:
SPECIFIC_NAME EXTERNAL_NAME ROUTINE_NAME
ROUTINE_TYPE
--------------------- ------------------ --------------------
------------
CVTCHARMDYTODATE CWLIBR/CVTCH00001 CVTTODATE
FUNCTION
CVTNUMISOTODATE CWLIBR/CVTNU00001 CVTTODATE
FUNCTION
HISTORICALCOST CWLIBR/HISTO00001 HISTORICALCOST
FUNCTION
PARTSGOINGOUTOFSTOCK CWLIBR/PARTS00001 PARTSGOINGOUTOFSTOCK FUNCTION
TESTSP CWLIBR/TESTSP TESTSP
PROCEDURE
As far as finding the procedure to be invoked. Depends on rather *SYS or *SQL
naming is in effect. Basically, when *SYS naming is in effect, the library
list is used. When *SQL naming is in effect, the library list in not used.
However, there is at v5r1 and higher an SQL Path used to find Stored Procedures
and UDFs. Here's a IBM document the covers this stuff:
http://www-912.ibm.com/s_dir/slkbase.NSF/0/2554db904e5a601b862565c2007cc4b8?OpenDocument
or http://tinyurl.com/cx2oz
HTH,
Charles Wilt
iSeries Systems Administrator / Developer
Mitsubishi Electric Automotive America
ph: 513-573-4343
fax: 513-398-1121
> -----Original Message-----
> From: midrange-l-bounces@xxxxxxxxxxxx
> [mailto:midrange-l-bounces@xxxxxxxxxxxx]On Behalf Of Mike
> Pantzopoulos -
> (H/O)
> Sent: Wednesday, June 01, 2005 8:48 PM
> To: midrange-l@xxxxxxxxxxxx
> Subject: SQL Proceure Questions
>
>
> I'm having a couple of conceptual problems with SQL Procedures. Some
> insight into the following would be greatly appreciated:
>
> * There doesn't seem to be an actual procedure 'object' in the
> AS400 sense of the word.
> * I presume that it exists purely as an SQ" construct. Just like
> an SQL trigger or a table.
> * The SQL catalog tables, SYSPROCS & SYSROUTINES seem to contain
> the procedure definition.
> * The manual seems to imply there's a C version somewhere, but I'm
> unsure of where or what the object type might be.
> * SQL seems to use current library reference to determine where to
> put the procedure reference.
> * If the current library isn't set, then QGPL is the default.
> * I'm uncertain what happens when the procedure needs to be
> invoked. I'm using a trigger as the interface (because I'm trying to
> trap an obscure bug). Does it use the library list to find
> the procedure
> or does it use the current library reference?
> Thanks in advance.
>
> Mike Pantzopoulos
>
> EIG-Ansvar Limited
> Tel : 61 (3) 9614 3535
> Fax: 61 (3) 9614 2740
>
>
>
> **************************************************************
> *******************************************
> This email and any files transmitted with it are confidential
> and intended solely for the use of the individual or entity
> to whom they are addressed. If you are not the intended
> recipient, any use, disclosure or copying of this message is
> unauthorised. If you have received this message in error,
> please reply using the sender's email address.
>
> This footnote confirms that this email message has been
> scanned for computer viruses. EIG-Ansvar Limited does not
> accept liability for any loss or damage, whether caused by
> our own negligence or not, that results from a computer virus
> or defect in the transmission of this email or any attached file.
> EIG-Ansvar Limited - Australia (A.B.N. 21 007 216 506)
> Email : insure@xxxxxxxxxxxxxxxx
>
> Eig-Ansvar Limited - New Zealand
> Email : insure@xxxxxxxxxxxxxxxx
>
> **************************************************************
> *******************************************
>
> --
> This is the Midrange Systems Technical Discussion
> (MIDRANGE-L) mailing list
> To post a message email: MIDRANGE-L@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/midrange-l
> or email: MIDRANGE-L-request@xxxxxxxxxxxx
> Before posting, please take a moment to review the archives
> at http://archive.midrange.com/midrange-l.
>
>
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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.