[Forms] Problème de curseur
Bnjour tout le monde.
Alors voilà j'ai un petit problème avec un procédure, un Bug que je n'arrivep as à expliquer.
J'ai un curseur
Code:
1 2 3 4 5 6 7 8 9
|
cursor cur_verif_cpt_sain is
select sum(solde_comptable) solde_comptable, code_devise
from tmpcompte
where cdos = :PARAMETER.P_CDOS
and numero_client = tmpcli.numero_client
and code_produit != (select col4 from cxparametre where cdos = :PARAMETER.P_CDOS and code_param = 'CPTREC')
and numero_compte_genera not in (select numero_compte_genera from cxcompte_general where cdos = :PARAMETER.P_CDOS and nature in ('G','P'))
group by code_devise; |
Bref, un petit curseur sympa quoi.
Pour le parcourir je fais la boucle suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
open cur_verif_cpt_sain;
fetch cur_verif_cpt_sain into sum_wsolde_comptes,w_code_devise_cpt;
while cur_verif_cpt_sain%found loop
wsolde_comptes := wsolde_comptes + une fonction(sum_wsolde_comptes);
fetch cur_verif_cpt_sain into sum_wsolde_comptes,w_code_devise_cpt;
end loop;
close cur_verif_cpt_sain; |
J'ai bien sûr vérifié qu'il y avait des enregistrements ramenés par mon curseur en faisant un select count(distinct code_devise) avant (j'ai un enregistrement). Et le programme passe pourtant sur le open, le fetch et le résultat de ce dernier donne bien sûr les valeurs null dans les deux variables de destination.
J'ai essayé aussi avec la syntaxe
Code:
1 2 3
|
for mavariable in moncuseur loop
end loop; |
Toujours le même problème.
Est-ce que quelqu'un pourrait m'expliquer ce qu'il se passe ?