Ein cast auf Numeric(15) bingt leider den selben Fehler.
Der cast auf Integer funktioniert zwar, aber es ist natürlich nicht vorhersehbar ob der Bereich auch mal überschritten wird.
Übriegens muss man den Spaltennamen beim cast expliziet noch einmal dahinter schreiben.
Sonst werden diese Spalten im Report "cast", "cast2" usw. benannt.
Code:
select cast(b.id_re as integer) id_re, /* ... */