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 23/07/2007, 12h10   #1
Candidat au titre de Membre du Club
 
Inscription : avril 2006
Messages : 55
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 55
Points : 10
Points : 10
Par défaut difference entre pre-block et when-new-block-instance.

bonjour. Je suis encore debutant en oracle forms et je veux savoir la difference entre pre-block et when-new-block-instance. jai lu le tutorials de sheikyerbouti jai pas trouve la difference.
Merci d'avance
jamjam19 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/07/2007, 12h31   #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
PRE-BLOCK s'exécute systèmatiquement quand tu fais un go_block ou que l'utilisateur se place sur un bloc

Le WHEN-NEW-BLOCK-INSTANCE ne se déclenche que si tu restes sur le block

Exemple, soit le code suivant :
Code :
1
2
3
4
go_block ('bloc1');
execute_query;
go_bloc ('bloc2');
execute_query;
Dans ce cas, le trigger PRE-BLOCK se déclenchera pour chacun des blocs alors que le WHEN-NEW-BLOCK-INSTANCE ne se déclenchera que pour le second
__________________
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 23/07/2007, 12h44   #3
Candidat au titre de Membre du Club
 
Inscription : avril 2006
Messages : 55
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 55
Points : 10
Points : 10
Merci plaineR
jamjam19 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2007, 10h31   #4
Membre à l'essai
 
Inscription : novembre 2006
Messages : 37
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 37
Points : 23
Points : 23
Bonjour,

Je me pose la même question que jamjam19 et malgré l'explication de plaineR, ça reste flou... Quelqu'un aurait-il une autre formulation à proposer ? (Je comprends vite, mais il faut m'expliquer longtemps )

Merci !
shalala est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2007, 10h59   #5
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
when_new_block_instance ne se déclenche que lorsque tu actives le block : curseur dans un item ou alimentation du block
l'ordre des triggers est le suivant :
PRE_BLOCK
PRE_FORM
POST_BLOCK
POST_FORM
WHEN_NEW_BLOCK_INSTANCE

Sinon, pour ce genre de question, il ne faut pas hésiter à utiliser l'aide de Forms qui est plutôt bien documentée
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2007, 11h03   #6
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 533
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 533
Points : 6 469
Points : 6 469
C'est vrai qu'on peut se poser la question !

Citation:
Pre-Block Trigger
Description
Fires during the Enter the Block process, during navigation from one block to another.

When-New-Block-Instance Trigger
Description
Fires when the input focus moves to an item in a different block. Specifically,
it fires after navigation to an item,
when Forms Developer is ready to accept input in a block that is different than the block that previously had the input focus.
In a multiple-form application, this trigger does not fire when focus changes from one form to another.
__________________
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
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2007, 11h05   #7
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 533
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 533
Points : 6 469
Points : 6 469
En gros la différence réside dans le fait que PRE-BLOCK se déclenche avant l'arrivée dans le bloc alors que When-New-Block-Instance se déclenche dans le bloc.
__________________
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
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2007, 11h26   #8
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
finalement, il se déclenche quand when_new_item_instance se déclenche
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2007, 11h35   #9
Membre à l'essai
 
Inscription : novembre 2006
Messages : 37
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 37
Points : 23
Points : 23
L'aide de Forms ne m'avait pas vraiment avancée, et je n'étais pas sûre de bien comprendre les explications du guide Forms de SheikYerbouti sur ce point, notamment la phrase qui dit que le trigger WHEN-NEW-BLOCK-INSTANCE se déclenche toujours après le déclencheur PRE-BLOCK : déclenchement systématique dès lors que PRE-BLOCK a été déclenché, ou phrase indiquant simplement que lorsque les deux triggers se déclenchent, l'ordre est PRE-BLOCK en premier, et WHEN-NEW-BLOCK-INSTANCE en deuxième ?

C'est subtil tout de même... Je sens qu'à chaque fois que j'aurais à choisir entre l'un ou l'autre, je vais me questionner longtemps !

Merci en tout cas pour ces explications, c'est déjà plus clair.
shalala est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2007, 12h10   #10
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 533
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 533
Points : 6 469
Points : 6 469
La différence se fait aussi en cas d'erreur. erreur sur PRE-BLOCK, le focus reste sur l'élement du bloc précédent.
erreur sur WNBI, le focus reste dans le nouveau bloc.
__________________
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
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2007, 13h03   #11
Membre à l'essai
 
Inscription : novembre 2006
Messages : 37
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 37
Points : 23
Points : 23
Ah oui, effectivement, je n'avais pas pensé à ça !
shalala est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2007, 13h41   #12
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
WNVI se déclenche tout simplement quand le focus arrive dans le bloc alors que PRE_BLOCK se déclenche sur un go_block par exemple
orafrance 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 23h07.


 
 
 
 
Partenaires

Hébergement Web