Dies funktioniert leider nicht, wenn der Select keine Daten findet;-).
Da die Felder selber kein NULL erlauben, ist das Coalesce hier sinnlos.

Wenn schon, dann muss man den Coalesce außerhalb machen, allerdings erlaubt ein scalarer Subselect nur 1 Ergebnisfeld, die Abfrage müsste also 2 Mal gemacht werden.

exec sql values(coalesce((select f1 ....), Default), coalesce((select f2 ....), Default)) into ...

Man könnte es auch als Left join machen:

with EinSatz as (
values (1)
)
select coalesce(f1, default), coalesce(f2, default) from EinSatz
left join (
select max(f1) f1, sum(f2) f2 from MyTable
where ...
) x on 1=1

Vielleicht hat Birgitta da noch mehr Ideen;-).

Klar kann ich vor dem SQL einen CLear machen. Allerdings läuft auf den SQL-Variablen ebenso ein Clear so dass der 1. Clear (Micro-Optimierung) unnötig ist.
Die NULL-Indikatoren werden doch nur benötigt um nicht haufenweise Joblogs zu produzieren die die Maschine vollmüllen (auch ohne Debugmodus!).

Bei obigem SQL sollte ein SQLCODE 100 eigentlich vollkommen ausreichen;-).