|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : mars 2005 Messages : 119 ![]() |
Bonjour,
Est-il possible de modifier la valeur de FORM_STATUS ? Je travaille sur un bloc non basé et à partir des informations saisies dans mon bloc je fais une mise à jour des données dans le trigger KEY-COMMIT. Ainsi quand je clique sur l'icone sauvegarder, un UPDATE met a jour mes données en base en passant par le trigger KEY-COMMIT. Le probleme c'est que lorsque je ferme ma fenêtre avec la 'croix Windows', le processus de sauvegarde du KEY-COMMIT ne se déclenche pas, d'apres moi à cause de la valeur de FORM_STATUS. Qu'en est-il vraiment ? |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Inscription : mai 2003 Messages : 6 534 ![]() |
Vous ne pouvez influer sur cette variable qu'indirectement.
Le status de la forme dépend du statut des blocks qui dépend lui même du statut des enregistrements... vous pouvez, par contre, agir sur le statut d'un enregistrement avec: Code :
Set_Record_Property( ..., STATUS, 'new_status' ) ; new_status peut valoir: CHANGED_STATUS INSERT_STATUS NEW_STATUS QUERY_STATUS
__________________
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 |
|
|
00
|
|
|
#3 | |
|
Membre du Club
![]() Inscription : mars 2005 Messages : 119 ![]() |
Citation:
Bon, par contre ca décalle mon problème à un autre endroit, puisque je jouais déjà dans mon code avec les status des enregistrement. Or il apparait que le status de cet enregistrement n'est pas toujours modifié, je m'explique : Dans un premier temps mon record_status est à INSERT. Mon but étant de le faire passer au status CHANGED, je dois d'abord le faire passer par le status QUERY (cf la matrice de changement de status) via un Set_Record_Property pour pouvoir ensuite accéder au status CHANGED. Dans mon cas, le record passe bien du status INSERT à QUERY, mais pas de QUERY à CHANGED alors que mes deux Set_Record_Property se succedent... Et en plus aucune erreur n'est levée... Bizarre non ?? PS : encore plus bizarre, dans le debugger Forms, la variable system record_status ne change jamais de valeur et reste toujours à INSERT... Comme quoi effectivement y'a qq soucis avec le debugger Forms (voila qui fera plaisir à plaineR |
|
|
|
00
|
|
|
#4 | ||
|
Expert Confirmé
![]() Chef de projet en SSII Inscription : janvier 2004 Messages : 2 866 ![]() |
Citation:
Pourquoi veux-tu passer ton record_status à changed ? NB : si ton enregistrement un un statut "insert", ta forms a statut "changed" (normalement). Citation:
Par exemple si tu fais : il ne passera pas dans le trigger KEY-COMMIT. Je pense que c'est le même problème que tu as (à moins que tu aies mis un do_key dans le trigger de fermeture de ta fenêtre).
__________________
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. |
||
|
|
00
|
|
|
#5 | |||||
|
Membre du Club
![]() Inscription : mars 2005 Messages : 119 ![]() |
Citation:
Citation:
Citation:
Citation:
mais comment je fais pour que mon UPDATE se fasse quand on ferme la fenetre alors ?? |
|||||
|
|
00
|
|
|
#6 |
![]() ![]() ![]() Inscription : mai 2003 Messages : 6 534 ![]() |
Le trigger KEY-EXIT se déclenche quelle que soit la manière dont la fenêtre est fermée.
C'est dans ce trigger qu'il vous faut placer le code de contrôle souhaité.
__________________
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 |
|
|
00
|
|
|
#7 |
|
Expert Confirmé
![]() Chef de projet en SSII Inscription : janvier 2004 Messages : 2 866 ![]() |
Je crois que tu te compliques la vie :
1. Il me semble en effet que pour des blocs non basés les statuts ne sont pas gérés (il est donc normal que tu n'est pas le message "Do you want to save"), c'est à dire que même si ton enregistrement à le statut changed, le statut de ta form (voire de ton block ?) n'est pas modifié. 2. Ne serait-il pas aussi simple de passer par une procédure UPDATE_MODIF que tu appelerais dans ton KEY-COMMIT et dans le trigger qui se déclenche lorsque tu fermes la fenêtre, ou de mettre dans ce trigger do_key ('commit_form') ? 3. Comme je te l'ai dit dans mon précédent message, même si tu arrives à déclencher le message de demande d'enregistrement (ce qui me semble difficile puisque ton block n'est pas basé), il ne passera pas dans le trigger KEY-COMMIT (ton code serait plutôt à mettre dans le trigger PRE-COMMIT)
__________________
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. |
|
|
00
|
|
|
#8 | |
|
Membre du Club
![]() Inscription : mars 2005 Messages : 119 ![]() |
Citation:
1/ Je souhaite que l'UPDATE ne soit commité que si l'utilisateur l'a voulu (soit en appuyant sur l'icone enregistrer, soit en ayant repondu 'oui' a la question 'voulez vous sauvegarder vos modifications ?') Or je ne sais pas si je serais capable de tester la reponde de l'utilisateur à la question 'voulez vous sauvegarder vos modifications ?' dans le trigger KEY-EXIT... C'est possible de faire ca ? 2/ Pour le moment la question 'voulez vous sauvegarder vos modifications ?' n'apparait pas quand je ferme ma ferme ma fenetre (mon FORM_STATUS est à QUERY et ne veut pas passer à CHANGED). Comme je l'expliquais dans mon 2e message, le set_record_property ne parvient pas a faire passer le status de mon record à changed |
|
|
|
00
|
|
|
#9 | ||||
|
Membre du Club
![]() Inscription : mars 2005 Messages : 119 ![]() |
Citation:
Citation:
Citation:
Citation:
|
||||
|
|
00
|
|
|
#10 |
|
Expert Confirmé
![]() Chef de projet en SSII Inscription : janvier 2004 Messages : 2 866 ![]() |
Tu peux créer une alerte qui pose la question (en français
__________________
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. |
|
|
00
|
|
|
#11 | |
|
Membre du Club
![]() Inscription : mars 2005 Messages : 119 ![]() |
Citation:
finalement j'aurais du faire un bloc basé, la gestion aurait été plus propre ! |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com