Bonjour, je suis sur une fonction en PL/SQL et j'ai un problème dans le cas d'une insertion dans une table.
Dans mon code j'ai ceci pour une insertion selon des conditions :

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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
IF(l_n_typetraitinit = 1) THEN
 
                      BEGIN
 
	                    INSERT 
	                    INTO     T_ENTETE_APPEL_OFFRE_EAO
	                       (Eao_idt_ent_appel_offre
	                       , Eaa_Cod_ent_activite_ach
	                       , Eao_Dat_deb_publication
	                       , Eao_Dat_fin_publication
	                       , Eao_Dat_deb_rcp_pf
	                       , Eao_Dat_fin_rcp_pf
	                       , Eao_Dat_generation_ao
	                       , Eao_Dat_validation_ao
	                       , Eao_Ind_etat
	                       , Lfa_Cod_lieu_achat
	                       , Eao_Dat_maj_auto_ao) 
	                    VALUES (l_n_next_entete
	                       , l_n_cod_ent_activite_ach
	                       , l_d_dat_debut_publication
	                       , l_d_dat_fin_publication
	                       , l_d_dat_deb_rcp_pf
	                       , l_d_dat_fin_rcp_pf
	                       , p_d_val_date
	                       , NULL
	                       , 1
	                       , l_v_cod_lieu_achat
	                       , p_d_val_date);
 
                     EXCEPTION
 
                     WHEN OTHERS THEN
                     l_n_flag_r4          := 0;
                     -- writes an error message 20005
                     l_v_result_log := PCK_REJETS_ANOMALIES.FCT_CREATE_REPORT(20005,1,NULL,NULL);
                     PCK_REJETS_ANOMALIES.PRC_CREATE_ITEM_REPORT(l_v_result_log,1,g_v_fct_initialisation_ao);
 
                     END;
 
                  ELSE
 
                     BEGIN
 
	                    INSERT 
	                    INTO     T_ENTETE_APPEL_OFFRE_EAO
	                       (Eao_idt_ent_appel_offre
	                       , Eaa_Cod_ent_activite_ach
	                       , Eao_Dat_deb_publication
	                       , Eao_Dat_fin_publication
	                       , Eao_Dat_deb_rcp_pf
                               , Eao_Dat_fin_rcp_pf
	                       , Eao_Dat_generation_ao
	                       , Eao_Dat_validation_ao
	                       , Eao_Ind_etat
	                       , Lfa_Cod_lieu_achat
	                       , Eao_Dat_maj_auto_ao) 
	                    VALUES (l_n_next_entete
	                       , l_n_cod_ent_activite_ach
	                       , l_d_dat_debut_publication
	                       , l_d_dat_fin_publication
	                       , l_d_dat_deb_rcp_pf
	                       , l_d_dat_fin_rcp_pf
	                       , p_d_val_date
	                       , NULL
	                       , 0
	                       , l_v_cod_lieu_achat
	                       , p_d_val_date);
                  EXCEPTION
 
                  WHEN OTHERS THEN
                     l_n_flag_r4          := 0;
                     -- writes an error message 20005
                     l_v_result_log := PCK_REJETS_ANOMALIES.FCT_CREATE_REPORT(20005,1,NULL,NULL);
                     PCK_REJETS_ANOMALIES.PRC_CREATE_ITEM_REPORT(l_v_result_log,1,g_v_fct_initialisation_ao);
 
                  END;
 
                  END IF;
Or rien n'est ajouté à ma table alors qu'en mettant des (RETURN('IciOuLa')) dans le code j'arrive à voir que ça passe juste après le BEGIN du ELSE mais pas juste après la requête d'insertion car ça me jette une EXCEPTION . . .

Vu ce que ça fait je suis sur que c'est vraiment une petite erreur de rien du tout mais elle me gâche ma journée . . .

Merci d'avance à tous !

P.S.: Je rajoute que lorsque je copie juste la requête INSERT et que je l'exécute avec les valeurs qu'elle prend et ben ça marche . . .