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 6i] Capter l'erreur sur Next_Record


Sujet :

Forms Oracle

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 53
    Points : 46
    Points
    46
    Par défaut [Forms 6i] Capter l'erreur sur Next_Record
    Bonjour,

    Je travaille sur Forms 6i et Oracle 8.1.5.
    Je rencontre un petit problème sous Forms.

    Cheminement amenant mon problème :

    1) Dans mon écran, mon curseur est placé dans un champ
    2) Je saisis une valeur et j'enregistre
    3) A l'appui du bouton "enregistrer", une Unité de Programme est exécutée pour vérifier la validité de tous les Record Détails. Ceci est effectué avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    First Record
    LOOP
       ......
       Next_Record;
    END LOOP;
    4) A l'exécution du Next_Record, le WHEN-VALIDATE-ITEM du champ est lui même exécuté, mais sort en erreur ! Du coup, le Next_Record ne s'exécute pas et la boucle LOOP ne se termine pas.

    J'ai rajouté le test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IF NOT Forms_Success THEN
    juste après, mais ça ne change rien, comme si il ne détectait pas que le Forms_Success n'avait pas fonctionné.

    Comment dois-je faire ?
    Y a-t-il un myen de détecter cette erreur ?

    Merci par avance !

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 32
    Points : 45
    Points
    45
    Par défaut
    Je rajouterais une exception au loop avec un RAISE FORM_TRIGGER_FAILURE; en cas de pb

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 53
    Points : 46
    Points
    46
    Par défaut
    Il y a déjà un RAISE FORM_TRIGGER_FAILURE dans le WHEN-VALIDATE-ERREUR.
    Du coup, je pensais pouvoir le capter avec IF NOT FORM_SUCCESS. Mais ce n'est pas le cas....
    Pour Reports, il ne semble pas y avoir de problème.

  4. #4
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Vous souhaitez donc que la boucle continue malgré l'erreur ?
    Rédacteur Oracle (Oracle ACE)
    Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
    Je ne réponds pas aux questions techniques par MP
    Blogs: Forms-PL/SQL-J2EE - Forms Java Beans

  5. #5
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 53
    Points : 46
    Points
    46
    Par défaut
    Non, je souhaite sortir de la boucle si le Next_Record entraîne une erreur.
    Parce que mon problème vient de là : comme le Next_Record ne s'exécute pas car le WHEN-VALIDATE-ITEM sort en erreur, je reste sur le même enregistrement et donc la boucle tourne... Indéfiniment !

  6. #6
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Je pencherais plutôt sur le fait que vous ne testez pas le dernier enregistrement.
    j'ajouterais donc:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Loop
       ...
       Exit when :system.last_record = 'TRUE' ;
       Next_record ;
    End loop ;
    Rédacteur Oracle (Oracle ACE)
    Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
    Je ne réponds pas aux questions techniques par MP
    Blogs: Forms-PL/SQL-J2EE - Forms Java Beans

  7. #7
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Essayez :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Loop
       ...
       Next_record ;
       if get_item_property (:system.cursor_item, item_is_valid) = 'FALSE' then
          exit;
       end if;
    End loop
    Nb : je ne suis pas sûr qu'il donne le focus à l'item en erreur dans ce cas vous devez mettre le nom de l'item en dur.
    Un problème sans solution est un problème mal posé

    Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.

  8. #8
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 53
    Points : 46
    Points
    46
    Par défaut
    @SheikYerbouti : Si, si, il y avait un test sur le dernier enregistrement

    @plaineR : j'ai testé et ça fonctionne à merveille ! Ouf, un problème de résolu.

    Merci à tous les deux pour votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Capter une erreur sur le CreateUserWizard
    Par zooffy dans le forum ASP.NET
    Réponses: 4
    Dernier message: 01/12/2009, 09h05
  2. erreur sur securité menu sous forms 10g
    Par ouatmad dans le forum Forms
    Réponses: 1
    Dernier message: 22/03/2008, 12h38
  3. Erreur sur suppression Record dans SS form
    Par Maxsen dans le forum VBA Access
    Réponses: 4
    Dernier message: 29/02/2008, 21h45
  4. Erreur sur un form
    Par redabadache3 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 23/12/2007, 15h12
  5. [D7] erreur sur Form.Free
    Par jlf dans le forum Delphi
    Réponses: 9
    Dernier message: 01/05/2007, 12h52

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