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



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