Man sollte doch sehr genau darauf achten, was man hier schreibt.

Natürlich kann man SQL auch dynamisch zusammenbauen und per Prepare/Execute zur Ausführung bringen.
Solange man das Statment auch nur 1 Mal benötigt und kein "Select" ist, mag dies ein guter Weg sein.
Um aber performant zu sein, die Statments (man kann ja durchaus mehrere in einem Programm haben) ggf. mehrfach mit unterschiedlichen Feldinhalten verwenden möchte, wird es schon ungleich schwieriger.

Jedesmal den String zusammenschustern, bei Feldwerten auf numerisch und Zeichen achten usw., usw.
Um dies korrekt durchzuführen sollte man mit SQLDA's arbeiten, sonst macht man sich doch ziehmlich viel Arbeit.
Was machst du, wenn ein Hochkomma in einem Zeichenfeld vorkommt ?
Du brauchst dann eine Schleife und das Zeichen zu verdoppeln, da der Prepare sonst fehlschlägt (Syntaxfehler).
Numerische Werte müssen editiert werden. Ja sicher geht das mit %EDIT, aber beim Dezimalkomma hörts schon auf. Der wird nämlich zur Compile-Zeit festgelegt.
Schieb dann das Programm mal auf eine Maschine, die mit Dezimalpunkt arbeitet und schon wundert man sich, dass das Programm nicht läuft.

Und was machst du z.B. beim SELECT ?
Der Fetch funktioniert dann nur mit "FETCH ... USING DESCRIPTOR ...".

Solange die Felder schon zur Compile-Zeit bekannt sind, nur die Lib noch variabel ist, sollte man mit fertigen SQL-Befehlen arbeiten und ggf. mit OVRDBF die Lib wechseln, auch das Arbeiten mit Teildateien ist dann möglich, versuch das mal mit nur Prepare ohne für jede Teildatei einen Alias zu erstellen.