Wem letztlich die Performance egal ist...
Wenn RPGLE das doch schon hergibt, warum dann auf SQL ausweichen;-)?
Und wenn schon dann richtig:

Exec SQL Set :OutputField = LPAD(Trim(:OrigField), 15, '0');
Denn RTrim lässt ggf. vorhandene führende Leerzeichen stehen.