ici on fait ça dans nos scripts SQL Par exemple, ça marche tout seul, et c'est pas plus porc que le reste, m'enfin Oracle n'a qu'à faire des trucs propres, ça les changera pour une fois...
select round((sum((fac.prxvdu*fac.qtecde)/chg.pivchg)),2) as TOT_INV_LD,
'NNE' as ETB
from detchg chg, detfac fac
where chg.devpiv = 'USD' and chg.datval = to_char(sysdate, 'yyyy')||'0101'
and chg.coddev = fac.coddev
and ((fac.datval = to_char(SYSDATE-1, 'yyyymmdd') and to_char(SYSDATE-1, 'day') not in ('sunday ','saturday '))
or (fac.datval = to_char(SYSDATE-3, 'yyyymmdd') and to_char(SYSDATE-1, 'day') in ('sunday ','saturday ')))
and fac.prxvdu <> 0 and fac.etbcod = 'UK'
and fac.sigcli not in ('014135','018211','020979','020045','014140','017688','017875','500436','019590','019896','019897', '015371', '019965')