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
Bref, un petit curseur sympa quoi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
Pour le parcourir je fais la boucle suivante :
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 essayé aussi avec la syntaxe
Toujours le même problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 for mavariable in moncuseur loop end loop;
Est-ce que quelqu'un pourrait m'expliquer ce qu'il se passe ?
Partager