Wie immer gibts da viele Lösungen.
Am besten wäre denn doch eine kleine (externe) SQL-Funktion, z.B. in RPGLE die das Ganze einfach als %editc intern auflöst.
Mittels Überladungen (verschiedene Eingabeparameter) kann man mehrere Varianten erstellen und man braucht sich um diese ganzen Längen und Concat's nicht zu kümmern.