Alleine das Problem der Threadness ist zu lösen. Da CPYxxxIMPF das nicht gewährleistet und eben hängenbleibt, sollte ich dieses nicht innerhalb einer Prozedur aufrufen.
Ich habe nicht gesagt, dass du den CPY-Aufruf in eine ILERPG-Prozedur verpacken sollst, die wiederum eine SQL-Prozedur ist.
Ich weiß ja nicht wie du deine SQL-Prozedur verwendest, aber an Stelle von SQL sollst du eben dein CLP direkt aufrufen.
Wenn nun die Parameter deines Aufrufes das Ergebnis eines Select's sind, schreibe ein ILERPG dass den Select mittels Fetch ausliest und dann den CPY respective das CLP direkt mit den Ergebnisvariablen aufruft.