Der OLEDB-Treiber erkennt durch "{}" einen Programmcall und führt deshalb keinen SQL-CALL durch.
Dies gibt es nur beim IBM-Treiber.
Lass einfach die Klammern weg, dann erfolgt der Call auch im ODBC-Job und nicht im Service-Job.
Wenn du "?" verwenden willst, musst du leider auch CREATE PROCEDURE/FUNCTION durchführen.
An Stelle der "?" übergibst du genau die Parameter in der gewünschten Ausprägung, also für 12 Zeichen Alpha genau 12 Zeichen in Hochkomma, für dec(11, 2) genau "123456789.12" als Zahl, usw.
Alternativ geht natürlich auch ein "CALL MYLIB.MYPGM (cast('xxxx' as char(10)), cast(), ...)".