“Nonsense” error message “parameter mismatch for procedure”

Answer

The solution is to handle the return value.
See the sample code below..

// this one does not work:
// execute procedure update_petrochemical_feedstocks (1800024, 2001);

// this one does work:
declare variable v_sd integer;
declare variable v_fp integer;
declare variable v_ar integer;
begin
select * from update_petrochemical_feedstocks(1800024, 2001)into: v_sd, : v_fp, : v_ar;
end