Bonjour,
je dois utiliser une collection pour stocker les valeurs d'un champ dans un bloc multiligne.
voici le code que j'utilise.

attestation_risque. NUMEPAPI est le champ de la base de données qui correspond au champ du bloc NUMATTEPAPIER dont je dois stocker les valeurs.


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
33
declare
  TYPE  TYP_TAB_A IS TABLE OF attestation_risque. NUMEPAPI%TYPE ;
   tab2 TYP_TAB_A ;
i number(1);
msg varchar2(200):=' ';
 
begin
first_record;
	i:=1;
	loop
	IF :NUMATTEPAPIER IS NOT NULL  THEN
            tab2:= TYP_TAB_A();
            tab2.EXTEND(i);
    	  tab2(i):= :NUMATTEPAPIER  ;
    	    i:=i+1;
 
END IF;
 
	IF (:System.Last_Record = 'TRUE') THEN
 
               EXIT;
  ELSE
               Next_Record;
  END IF;
 
end loop;
first_record;
 
FOR i IN 1 .. tab2.count Loop
 
    msg := msg || tab2(i);
 
end;
mais à l'execution il me signale l'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
ORA-06533:Subscript beyond count.
Quel est le problème ?
une aide SVP