Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Outils > Forms
Forms Forum d'entraide sur Oracle Forms
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/08/2005, 10h08   #1
Membre du Club
 
Inscription : mars 2005
Messages : 119
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 119
Points : 41
Points : 41
Par défaut [Forms6i] FRM-40737 et Create_timer

Bonjour,

Voila j'ai un petit soucis : au moment ou je veux valider le contenu de ma forme je fais qq validations/verifications sur ce qui a été fait par l'utilisateur avant de lancer le mecanisme d'insertion et de commit. La procedure de validation est appelée dans PRE-COMMIT.
Cette forme etant composée de plusieurs blocs je passe de l'un a l'autre lors de ma validation grace a GO_BLOCK()
Lors de l'execution, j'obtiens un FRM-40737 sur le 1er de ces GO_BLOCK : il est en effet interdit d'utiliser une fonction restreinte dans un trigger pre- ou post-
Pour contourner le pb j'ai suivi les conseils de metalink : remplacer mon code de verification dans le trigger PRE-COMMIT par des create_timer et reporter mes verifications dans le trigger WHEN-TIMER-EXPIRED (là les GO_BLOCK sont autorises).

Le probleme, c'est que contrairement à ce que je lis dans la litterature Oracle, le trigger WHEN-TIMER-EXPIRED n'est pas appele tout de suite apres la commande create_timer. Il est est meme appele suffisemment tard pour qu'il soit appele apres que le mecanisme d'insertion ait eu lieu. J'insere donc sans verifier mes données...
Qqun a déjà rencontré ce probleme ?

PS : voici la syntaxe que j'utilise pour la commande create_timer

Code :
V_TIMER_ID := CREATE_TIMER('id_valid', 1,no_repeat);
Je crée donc un délai de 1ms et qui n'est pas répété.
lafouine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2005, 10h25   #2
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
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 866
Points : 3 448
Points : 3 448
Pourquoi ne pas mettre tes contrôles dans le KEY-COMMIT (où les go_block sont autorisés) juste avant de faire commit_form ? Cela me semble moins usine à gaz que le système des timer
__________________
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.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2005, 10h46   #3
Membre du Club
 
Inscription : mars 2005
Messages : 119
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 119
Points : 41
Points : 41
Tout simplement parce que je suis un p'tit débutant et que ma connaissance de l'enchainement des triggers n'est pas parfaite !
Merci en tout cas, ca solutionne mon pb !
lafouine est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h45.


 
 
 
 
Partenaires

Hébergement Web