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
| create or replace procedure IA_Erreur_Application
(v_nls_lang in ia_msg_erreur.nls_lang%TYPE,
v_code_erreur in ia_msg_erreur.code_erreur%TYPE DEFAULT -20000,
v_type_erreur ia_msg_erreur.type_erreur%TYPE DEFAULT NULL,
v_Text_Erreur ia_msg_erreur.texte_erreur%TYPE DEFAULT NULL) is
v_message_erreur ia_msg_erreur.texte_erreur%type;
-- retourne un message d'erreur à partir de la table des messages
begin
-- si le texte du message est indiqué alors on l'affiche tel quel
IF v_Text_Erreur IS NOT NULL THEN
raise_application_error(v_code_erreur, v_Text_Erreur);
-- sinon on cherche le texte de l'erreur dans la table msg_erreur
else
select m.texte_erreur
into v_message_erreur
from ia_msg_erreur m
where m.nls_lang = v_nls_lang
and m.code_erreur = -20000--v_code_erreur
and m.type_erreur = v_type_erreur;
raise_application_error(-20000,/*v_code_erreur,*/ v_message_erreur);
end if;
-- si le message n'est pas dans la table msg_erreur
exception when no_data_found THEN
if v_nls_lang = 'ARABIC' then
raise_application_error(v_code_erreur,'äÕ ÇáÎØÃ ÛíÑ ãæÌæÏ');
else
raise_application_error(v_code_erreur, 'Message d''erreur non trouvé');
end if;
end IA_Erreur_Application; |
Partager