Re: SQL UDF to call RPG without service program

Reeve <[email protected]> Mon, 2 Mar 2026 11:42:42 -0800
Newsgroups gmane.comp.lang.as400.rpg
Message-ID <CA+Cerfcdvk6hkJ7ypXhT2MJ7sXBuLdc0GQFQerd0JsC_WT9GNg@mail.gmail.com>
External name is FUNC00001A: shouldn't you be calling that object?

On Mon, Mar 2, 2026 at 11:20 AM Eric Wesson <[email protected]> wrote:

> I am trying to create an SQL function that effectively calls an RPG
> program and returns the result. I've read you can do it by creating a
> service program and calling it but I'm trying to do it without the service
> program.
>
> I have successfully created an sql stored procedure that calls the RPG
> program and I've created a function that calls the stored procedure.
>
> When i try to use the function, I get an error saying "FUN0001 not found".
> I can successfully call the function directly using "CALL
> APPSTRPROC.FUNC0001(12345, 0)".
> I've beat my head against the wall on this one. Any ideas?
>
>
> Code that creates procedure and function
> // Stored procedure to call rpg
>          Exec sql
>            Create or replace Procedure Appstrproc.FUNC0001(
>                                          in SystemSku dec(15),
>                                          out Retail dec(9,2))
>            Language RPGLE
>            Called on null input
>            Not deterministic
>            No external action
>            Reads sql data
>            External name FUNC00001A
>            Parameter style general;
>
>          // Function to call stored procedure
>          Exec Sql
>            Create or Replace Function
> Appstrproc.f_SkuGetCurrentRetail(SystemSku dec(15))
>            Returns Decimal(9,2)
>            Language SQL
>            Return Appstrproc.FUNC0001(SystemSku, 0);
>
> Thanks,
> Eric
> --
> This is the RPG programming on IBM i (RPG400-L) mailing list
> To post a message email: [email protected]
> To subscribe, unsubscribe, or change list options,
> visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
> or email: [email protected]
> Before posting, please take a moment to review the archives
> at https://archive.midrange.com/rpg400-l.
>
> Please contact [email protected] for any subscription related
> questions.
>
>
-- 
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: [email protected]
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: [email protected]
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact [email protected] for any subscription related questions.