|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre éprouvé
![]() Inscription : février 2004 Messages : 450 ![]() |
Je migre des forms de la 4.5 vers la 10g et dans certaines, j'ai un trigger When-New-Form-Instance au niveau bloc qui s'exécute au démarrage après celui du niveau Form.
Avec la version 10g de Forms, ce trigger n'est plus exécute au runtime. Quelle stratégie pourrais-je adopter pour restituer cette fonctionnalité dans mes forms ? Entre nous, je trouve cette restriction pas très maline de la part d'Oracle ! Merci pour vos réponses . |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Chef de projet en SSII Inscription : janvier 2004 Messages : 2 866 ![]() |
Dans le trigger WHEN-NEW-FORM-INSTANCE, tu peux toujours testé le bloc sur lequel tu est avec :system.cursor_block.
Entre nous je trouve bizarre un when-new-form-instance au niveau bloc
__________________
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
|
|
|
#3 |
|
Membre éprouvé
![]() Inscription : février 2004 Messages : 450 ![]() |
Et un when-new-item-instance niveau form te semble comment ?
. |
|
|
00
|
|
|
#4 | |
|
Expert Confirmé
![]() Chef de projet en SSII Inscription : janvier 2004 Messages : 2 866 ![]() |
Citation:
__________________
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 éprouvé
![]() Inscription : février 2004 Messages : 450 ![]() |
Là c'est en quelque sorte la même chose :
Mon trigger WNFI de niveau form est subclassé ce qui m'évite d'avoir à écrire le même code dans toute mes forms. Et pour compléter mes initialisations à l'appel d'une form, j'ai un trigger WNFI de niveau bloc sur le premier bloc navigable. Mais bon, ça ne règle pas mon problème ! Comment pourrais-je contourner cette contrainte de la 10g ? Citation:
Merci de ton aide . |
|
|
|
00
|
|
|
#6 | ||
![]() ![]() ![]() Inscription : mai 2003 Messages : 6 530 ![]() |
Utilisez un trigger When-New-Block-Instance en conjonction avec une variable globale qui indique si le code a déjà été exécuté.
Code :
__________________
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 |
|
Membre éprouvé
![]() Inscription : février 2004 Messages : 450 ![]() |
Merci SheikYerbouti pour ta solution qui est au demeurant susceptible de faire le boulot. Cependant, j'ai choisi de faire autrement :
Finalement je préfère créer une procédure dans chacune de mes forms et l'appeler à partir du trigger When-New-Form-Instance de niveau form. La contrainte est que cette procédure doit être insérée dans toutes les forms utilisant un trigger When-New-Form-Instance subclassé. Par contre, cette solution a l'avantage de la clarté lorsque l'on veut retrouver la logique du traitement au moment de l'initialisation des forms. Dans le cas de l'utilisation d'un trigger When-New-Block-Instance en conjonction avec une variable globale sur le premier bloc navigeable, il faut parcourir le code PLSQL du trigger pour savoir s'il contient des instructions d'initialisation. En espérant que cela puisse servir la communauté . |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com