Also:
Ein CALL mit dem ODBC-Treiber ist nur auf Prozeduren möglich !
Der generierte CALL "{{CALL /qsys.lib/...." funktioniert so wie das Toolkit ihn erstellt, allerdings nur mit dem IBMDA400, da dann der SQL-Weg umgangen wird.

Wenn du also sowohl SQL als auch Programm-Calls verwenden willst, kannst du
a) 2 Verbindungen nutzen: 1 ODBC für SQL und die 2. IBMDA400 für CALL PGM
b) für jedes Programm eine Prozedur erstellen

Für die Prozedurerstellung kannst du das Beispiel oben nehmen, für den Ausgabeparameter ist dann OUT anzugeben.

Was den letzten Parameter des Execute's angeht, so sollte dieser angewendet werden wenn kein RecordSet zurückgegeben wird, was ja bei fast allen SQL-Befehlen ausser Select der Fall ist.
Der Grund ist, dass Execute sonst ein leeres Recordset-Object erstellt das anschließend sowieso wieder verworfen wird.