j'ai un probleme au niveau d'affichage de message erreur, voila le pb:
j'ai une procedure qui affiche un msg d'erreur personalisé ,voila le Code:
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; |
et une procedure pour charger les poplist voila le code:Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| PROCEDURE creer_list(
LIST_ITEM IN VARCHAR2,
COL_1 IN VARCHAR2,
COL_2 IN VARCHAR2,
TAB_NAME IN VARCHAR2) IS
rg_id recordgroup;
err number;
BEGIN
rg_id := Find_Group( 'GR_NAME' );
IF NOT Id_Null(rg_id) THEN
Delete_Group( rg_id );
END IF;
rg_id := create_group_from_query('GR_NAME',
'select '||COL_1||',to_char('||COL_2||') from '||TAB_NAME,FORM_SCOPE,20);
message(DBMS_ERROR_TEXT);
err := populate_group(rg_id);
populate_list(LIST_ITEM,rg_id);
END; |
message(DBMS_ERROR_TEXT): Ce message affiche:
ORA-24334 no descriptor for this position
Puis je fais appel à la procedure IA_Erreur_Application il se produira un message oracle 'when butten pressed :trigger raised unhandled exceptionora-20000' au lieu du msg personalisé et ca se fais quand la fonction creer_list est utilisé
Je utilise Oracle 9i, Developer6i et windows XP,
Merci
Partager