Da hilft dir dann tatsächlich nur das Arbeiten mit einer SQLDA, die du dynamisch mit %ALLOC anlegen und verwalten kannst.

Deinen Insert kannst du dann so codieren:

Insert into MyFile (F1, F2, ...) values(?, ?, ...)

den du mit Prepare vorbereitest.

Je "?" benötigst du einen SQLVAR-Eintrag innerhalb der SQLDA mit Feldtyp und Speicheradresse (Pointer).

Per "Execute MyStmt using : MySQLDA" kannst du dann den Insert sehr schnell durchführen.

Die Details zur SQLDA kannst du dem SQL-Programmierhandbuch entnehmen, ein Beispiel der Definition findest du in der Lib QSYSINC (falls installiert).