|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2002 Messages : 56 ![]() |
Bonjour,
Dans un écran forms (version 6), je cherche à déclarer, pour tout l'écran, une exception qui sera levée dans une certaine situation. Lorsque cette exception est levée, je veux que le déclencheur ON-ERROR (général à l'écran) la catche et adopte un comportement particulier, juste pour cette exception. Le problème est que le ON-ERROR ne fait pas la différence, il ne capte que l'erreur "FRM-40734 : Erreur interne PL/SQL". Avez-vous une solution ? Y'a-t-il un moyen de déclarer des erreurs de type "FRM-xxxxx" comme on peut déclarer des exceptions ? Merci d'avance pour vos réponses. |
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Philippe CHIRCOPChef de projet Inscription : juin 2007 Messages : 1 109 ![]() |
L'erreur que tu as est due au fait que tu ne propage l'erreur dans ton trigger "ON ERROR".
Voici ce que j'utilise dans toutes mes "forms" (TRIGGER ON ERROR) [code] DECLARE errnum NUMBER := ERROR_CODE; errtxt VARCHAR2(128) := ERROR_TEXT; errtyp VARCHAR2(16) := ERROR_TYPE; BEGIN break; -- on trappe le message 'NO CHANGES TO APPLY' IF errnum = 40405 THEN null; ELSIF errnum = 40600 THEN pkgpluton.Msgalert('MSG00016','','E',FALSE,'','Enregistrement déja saisi !'); RAISE Form_Trigger_Failure; ELSE Message(errtyp||'-'||TO_CHAR(errnum)||': '||errtxt); RAISE Form_Trigger_Failure; END IF; END; /CODE] NB : Je fais le même genre de trigger pour les messages (ON MESSAGE) Code :
__________________
Garuda गरूड Brahmâ la Guerre et Vishnu la Paix Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010 |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com