d MyStmt s 512
d MyErg s 30p 9

c/exec sql set options commit=*none
c/end-exec
c/exec sql
c+ declare cursor mycursor for statement mystmt
c/end-exec

c eval mystmt = 'select ' + Formel + ' from myfile'
c/exec sql
c+ prepare mystmt for :mystmt
c/end-exec
c if sqlcode <> *zero
c* Fehler in Formel
c endif
c/exec sql
c+ open mycursor
c/end-exec
c/exec sql
c+ fetch mycursor into :myerg
c/end-exec
c/exec sql
c+ close mycursor
c/end-exec

Die Syntax der SQL-Befehle habe ich jetzt leider nicht genau im Kopf.

Die Pseudo-Datei mit 1 Satz benötigst du nur, damit überhaupt 1 Satz und somit dein Ergebnis berechnet wird.