Bonjour,
J'utilise une collection dans une boucle pour compter le nombre de valeurs d'un champ du bloc.
Mais à la sortie quand j'utilise la méthode count pour afficher le nombre total d'éléments de la collection, il m'affiche un nombre erroné.
:NUMATTEPAPIER est le champ d'une ligne du bloc où je stocke les valeurs.
Voici mon code :
Quand je ne remplis que trois lignes, il m'affiche :
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
34
35
36
37 declare TYPE TYP_TAB_A IS TABLE OF attestation_risque.NUMEPAPI %TYPE ; tab2 TYP_TAB_A ; msg varchar2(50) :=''; i number(1):=1; BEGIN tab2:= TYP_TAB_A(); first_record; LOOP IF :NUMATTEPAPIER is not null THEN tab2.EXTEND(i); tab2(i):= :NUMATTEPAPIER ; END IF; IF (:System.Last_Record = 'TRUE') THEN EXIT; ELSE Next_Record; i:=i+1; END IF; END LOOP; FOR i IN tab2.FIRST .. tab2.LAST loop IF tab2.EXISTS(i) then msg:=msg || (tab2(i)); end if; end loop; message ('Nombre d'éléments :' || tab2.count);
Nombre d'éléments : 6
D'où est le problème selon vous ?
Merci pour de l'aide.
Partager