Du solltest das auf jeden Fall mit einer Kombination aus SQL-Prozedur und (wenn SQL da nicht ausreicht) mit einem zusätzliche ILERPG als Programm, oder besser Service-Modul erstellen.
Beispiele dazu findest du im SQL-Programmierhandbuch auch für ILERPG.

Nur durch SQL-Prozeduren hast du überhaupt Returnparameter, so dass dann ein SQL per

call MyProcedure(InputP1, InputP2, OutputP1, OutputP2)

möglich wird.
Im Select lassen sich allerdings nur Funktionen mit genau einem Returnwert erstellen.
Benötigts du mehr, ist dann eine Table-Function erforderlich, die du dann per Select einbinden kannst.
Allerdings sollten hier dann keine Where-Klauseln Verwendung finden.
Vorteil:
Es können Parameter übergeben werden und ILERPG kann ein Resultset aus einer DS mit DIM(n) Elementen zurückgeben. Die Anzahl wird im SQL-Return festgelegt.