If you pass a literal 'xxxxx' it is interpreted as VARCHAR Data Type, but
your function expects a CHAR Data Type.
Try to cast your parameter as CHAR and then retest your function.
BTW if you define your parameters as CHAR and pass VARCHAR it works
correctly.
Mit freundlichen Grüßen / Best regards
Birgitta Hauser
"Shoot for the moon, even if you miss, you'll land among the stars." (Les
Brown)
"If you think education is expensive, try ignorance." (Derek Bok)
"What is worse than training your staff and losing them? Not training them
and keeping them!"
?Train people well enough so they can leave, treat them well enough so they
don't want to.? (Richard Branson)
-----Original Message-----
From: MIDRANGE-L <midrange-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of Alan
Shore via MIDRANGE-L
Sent: Mittwoch, 9. Dezember 2020 13:37
To: midrange-l@xxxxxxxxxxxxxxxxxx
Cc: Alan Shore <ashore@xxxxxxxx>
Subject: Problem with an SQL UDF created from a procedure within a service
program
Before I forget, we are on V7r3
I have a procedure (NEXTNUMBER) within a service program (VALUES) This is
working in a number of programs I even created a test program that uses this
procedure, just so that I could STRDBG and look at the logic flow It works
It accepts 2 parameters, the second one being optional First parameter is a
char(50) parameter Second parameter is a logical parameter
Below is how I created the SQL function
When I run the function in STRSQL
select NBTYGPL.NEXTNUMBER('ALAN SHORE TEST') from SYSIBM.SYSDUMMY1
Using STRDBG in another session (after using STRSRVJOB), I can see that the
first parameter is garbage Anyone any idea what I did wrong?
As always - all answers gratefully accepted
Here is how I created the SQL function
CREATE FUNCTION NBTYGPL.NEXTNUMBER (
INORD CHAR(50) )
RETURNS NUMERIC(12, 0)
LANGUAGE RPGLE
SPECIFIC NBTYGPL.NEXTNUMBER
NOT DETERMINISTIC
NO SQL
CALLED ON NULL INPUT
DISALLOW PARALLEL
EXTERNAL NAME 'NBTYGPL/VALUE(NEXTNUMBER)'
PARAMETER STYLE GENERAL
Alan Shore
E-mail : ASHORE@xxxxxxxx<mailto:ASHORE@xxxxxxxx>
Phone [O] : (631) 200-5019
Phone [C] : (631) 880-8640
'If you're going through hell, keep going.'
Winston Churchill
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit:
https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at
https://archive.midrange.com/midrange-l.
Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related
questions.
Help support midrange.com by shopping at amazon.com with our affiliate link:
https://amazon.midrange.com
As an Amazon Associate we earn from qualifying purchases.