a lo que veo eso lo haces para evitar la division entre 0,
porque no intentas esto
Código SQL:
Ver originalSELECT
isnull( (DG.PrecioImporte * (DG.CEPrograma_Ene / DG.TotDiasDEvengar)),0) AS imp_enero
.
.
.
.
FROM tabla WHERE DG.TotDiasDEvengar>0
asi te evitas todos los case que estas usando :)