J'ai l'erreur suivante quand j'execute ma procedure:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
ORA-01001: invalid cursor
ORA-06512: at "LOG_ERROR", line 7
ORA-06512: at "RD", line 36
ORA-01001: invalid cursor
ORA-06512: at line 2
Voici ma procédure:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
  procedure send_exp is
   CURSOR cur IS
  select * from A_STREAM where stream_type='exp' and result=0 FOR UPDATE;
 
   return_txt varchar2(32767);
   return_code integer;
   ligne varchar2(32767);
   EMAIL varchar2(255);
 
  begin
 
  EMAIL:=tools.env('EMAIL');
 
  for c in cur
  loop
      LIGNE:='<table>';
      LIGNE:= LIGNE||'<tr><td > Commande <b>'||c.KEY1||' </b></td><td></td><td></td><td></td><td></td><td></td></tr>';
    for c2 in (select fd._NUMBER, fd.QUANTITY, fd.CODE, fd.PRODUCT, fd.COLOR, fd.SIZE, fd.DATE from D_FORWARD f, D_FORWARD_DETAIL fd  
	           where f.FORWARDING_NUMBER=c.KEY1 and  f.FORWARDING_NUMBER=fd.FORWARDING_NUMBER)
	loop
       LIGNE:= LIGNE||'<tr><td></td><td> Colis n° '||c2.NACKLACE_NUMBER||'</td><td> Quantité : '||c2.ORDERED_QUANTITY||'</td><td> produit : '||c2.PRODUCT_ID||'</td><td> Couleur  : '||c2.COLOR||'</td><td> Taille : '||c2.SIZE||'</td><td> Date envoi : '||c2.DATE||'</td></tr>';
	   UPDATE A_STREAM SET result=1 WHERE CURRENT OF cur;
	end loop;	 
  end loop;
  LIGNE:=LIGNE||'</table>';
    Stream.post(return_txt
		,return_code
					,'MAIL=exp&EMAIL='||EMAIL||'&LNG=fr&_VAR1='||LIGNE
	,'http://mail.php');
	LOG_ERROR ('exp', 'fr', 'OK' , ' ' , return_code , return_txt, 'ERR');
    end;
je ne vois vraiment pas d'ou cela peut venir...