Das Problem bei RPG ist, dass du auf dem Zielsystem per SQL ein SQLPKG-Objekt erstellen musst.
Dies erfolgt mittels CRTSQLPKG mit der Angabe des Zielsystems und deines RPG-Programmes.
Allerdings wird das Paket auf dem Zielsystem dann mit *PUBLIC *EXCLUDE erstellt.

Ein SQLPKG enthält ebenso eine Signatur. D.h., sobald du dein Programm änderst und SQL-Befehle hinzufügst/entfernst/änderst muss das SQLPKG neu erstellt werden.

DDMF's sind aber quasi sowieso der falsche Weg, da du dann für jeden Zugriff eine DDMF benötigst.
Du kannst aber aus dem Programm via Connect zu dem Zielsystem Verbindung aufnehmen um dann per SQL direkt mit dem Ziel zu arbeiten.
Mittels "exec sql set connection ..." kannst du zwischen Lokal und Remote fliegend wechseln.