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



Elvis,

Yes, I'm positive about the UDF.
I even changed the name and added it again.

I don't have iNav's debugger (at least one that works). My navigator never
worked. I complained and was told to wait for the new System i.

Thanks for your help,

Criag

-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx
[mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Elvis Budimlic
Sent: Monday, October 22, 2007 1:55 PM
To: 'Midrange Systems Technical Discussion'
Subject: RE: First SQL UDF

Is it possible you have multiple CharOrder UDFs defined and wrong one is
being invoked?
Run following query to verify if this is the case:

SELECT * FROM SYSFUNCS
WHERE ROUTINE_NAME = 'CHARORDER'

Also, you can recreate the UDF with SET OPTION DBGVIEW=*SOURCE and debug it
using iNav's graphical system debugger to verify if your UDF is being hit
and if so, why it returns NULL.

Elvis

2007 System i Fall Technical Conference | Orlando | November 4-7
Celebrating 10-Years of SQL Performance Excellence on IBM i5/OS and OS/400

-----Original Message-----
Subject: First SQL UDF

I am trying to write my first SQL UDF converting a numeric value that is 8.0
to an alpha value that is 7 long right justified with no leading zeros.



The code currently used to tie files together in RPG is:

EvalR Work7 = %EditC(AiOrder:'Z')



In SQL I am using:

Substr(Space(7), 1, 7 - Length(Trim(Char(AiOrder)))) Concat

Char(AiOrder)



I tried creating a UDF to accomplish the above to shorten internal SQL Code.

Obviously I am doing something wrong. The Function does get created but
when I try to run, all I get is null values.





Create function CharOrder

(numb DEC)

Returns char

language SQL

returns null on null input

begin

declare numb dec(8);

declare alpha char(7);

set alpha =

Substr(Space(7), 1, 7 - Length(Trim(Char(numb)))) Concat

Char(numb);

Return alpha;

End





TIA,



Craig



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

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.