IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Forms Oracle Discussion :

[FORMS 6] ON-ERROR et Exceptions personnalisées


Sujet :

Forms Oracle

  1. #1
    Yoh
    Yoh est déconnecté
    Membre du Club
    Inscrit en
    Juillet 2002
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 57
    Points : 46
    Points
    46
    Par défaut [FORMS 6] ON-ERROR et Exceptions personnalisées
    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.

  2. #2
    Membre chevronné Avatar de Garuda
    Homme Profil pro
    Chef de projet / Urbaniste SI
    Inscrit en
    Juin 2007
    Messages
    1 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet / Urbaniste SI
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 285
    Points : 2 071
    Points
    2 071
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    DECLARE 
      msgnum NUMBER       := MESSAGE_CODE; 
      msgtxt VARCHAR2(128) := MESSAGE_TEXT; 
      msgtyp VARCHAR2(16)  := MESSAGE_TYPE; 
    BEGIN 
     -- on trappe le message 'NO CHANGES TO APPLY'
      IF msgnum = 40405 or msgnum = 40401 THEN 
        null;
      ELSE 
        Message(msgtyp||'-'||TO_CHAR(msgnum)||': '||msgtxt); 
      END IF; 
    END;

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/08/2008, 16h06
  2. [Form.Close] System Stack Overflow Exception
    Par Ticoche dans le forum Windows Forms
    Réponses: 6
    Dernier message: 03/01/2008, 18h13
  3. Réponses: 8
    Dernier message: 07/08/2007, 17h21
  4. Error 80020009. Exception occurred
    Par twizell dans le forum ASP
    Réponses: 5
    Dernier message: 14/04/2005, 20h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo