Bonjour.
Je développe sous forms 9i un écran dans lequel l'utilisateur peut modifier des items qui peuvent aussi être chargés (via le code) par d'autres items.
Pour un quelconque item, je voudrais pouvoir détecter - i.e. positionner un booléen TRA_UPDATED_USER := 'TRUE' - quand l'utilisateur a modifié une valeur et SEULEMENT quand c'est l'utilisateur qui a effectué cette modification.
Autrement dit, quand c'est le programme qui a déterminé cette valeur alors la valeur du booléen doit être 'FALSE'.
Actuellement, je procède de cette manière :
1/ je créée un trigger WHEN-NEW-ITEM-INSTANCE sur cet item :
2/ je créée un trigger WHEN-VALIDE-ITEM sur cet item :
Code : Sélectionner tout - Visualiser dans une fenêtre à part :GLOBAL.GC_old_value := :B1.TRA_IC;
Je fais donc appel à vos services afin d'avoir votre avis sur ma manière de procéder.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 DEFAULT_VALUE('NULL','GLOBAL.GC_old_value'); IF :GLOBAL.GC_old_value <> 'NULL' THEN :B1.TRA_UPDATED_USER := 'O'; END IF; ERASE('GLOBAL.GC_old_value');
Le fait d'utiliser une SEULE variable globale et un SEUL item (i.e. le booléen) pour détecter que l'utilisateur a modifié une valeur m'expose t'il à des effets de bord ou autres ?
Merci d'avance de vos réponses.
PS : je procède de cette manière pour factoriser mon code étant donné le nombre d'items que je dois "surveiller"
Partager