Du beschreibst ein bisschen viel drum rum ohne konkret anzugeben was du genau machst.
Ein CPYTOIMPF kann gar keine PF, die mit CRTPF ohne Quelle ond somit mit CCSID *HEX erstellt wurde, da CPYTOIMPF immer eine CCSID der Quelle benötigt.
Also muss da noch ein Zwischenschritt (CPYF ggf. in eine SRC-PF) stattfinden.
Normalerweise sind die Calls nicht so sehr das Problem, wenn sie denn innerhalb einer ACTGRP aufgerufen werden.
Dein Modul kann ja nicht separat aufgerufen werden muss also in ein Programm eingebunden sein (CRTPGM oder CRTSVRPGM).
Service-PGM'e laufen immer in der selben ACTGRP wie der Aufrufer.
Wo bleibt die Zeit?
Kann es auch sein, dass du die Felder für die Übergabe per "CONST" übergibst?

Poste doch mal den vollständigen originalen SQL und wie die Aufbereitung der Felder ist.