Bonjour, j'ai une application forms9i, comment je peux déclencher la validation du block en cours seulement.
N.B: commit_form() (valide tout le formulaire)
Bonjour, j'ai une application forms9i, comment je peux déclencher la validation du block en cours seulement.
N.B: commit_form() (valide tout le formulaire)
Vous ne pouvez pas. A moins de placer des triggers ON-INSERT, ON-UPDATE, ON-DELETE avec juste l'instruction NULL; dans les autres block.
En fait, j'ai pu le faire avec clear_block(do_validate) mais moi
je veux valider le blok en cour sans l'effacer.
dans ce cas, il faut refaire un execute_query dans ce bloc juste après.
ça va être lourd !?
Pourquoi ne voulez-vous enregistrer qu'un seul bloc ?
parceque c'est dérangement pour l'utilisateur quand il enregistre un block le système revient en lui donnant une erreur sur un autre block
Cela me parait normal.
En fait vous voulez autoriser votre utilisateur à enregistrer une partie des infos, mais pas l'autre qui cause une erreur ?
Cela, par contre, ne me parait pas très satisfaisant...
non, il peutlaissé un block en instance et aller travailler sur une autre opération(Block) en attendant par exemple l'arrivée d'un aquittement pour que le block précedent soit enregistrer
tu voie?
Non, désolé, je ne vois pas vraiment (fonctionnellement parlant)
Si les contrôles suffisant étaient faits sur chaque block, il n'y aurait pas d'erreur à l'enregistrement.
e me suis peut être mal exprimé bon:
j'ai lors de la validation d'un block un contrôle sur l'existence d'un fichier quittement de l'opération, ce fichier il est générer à partir d'une application distante sous foxpro, si jamais l'utilisateur essai de valider l'opération avant la réception de l'aquittement le système génrère un message informant de user que l'aquittement n'est pas encore reçu alors pourkoi pénaliser le user en le laissant attendre l'aquittement, il vaut mieux en profiter pour passer d'autres opérations dans d'autres block.
j'espère que c'est claire mnt![]()
Ok, donc votre solution Clear_block('do_commit') + execute_query sur ce bloc devrait aller et n'a rien de lourd (sauf si votre block ramène des milliers de lignes)
Ce que vous pouvez faire également c'est de gérer vous-même les insert, update et delete dans votre bloc en attente de validation dans des triggers de niveau block : ON-INSERT, ON-UPDATE et ON-DELETE.
dans chacun de ces triggers, vous pouvez procéder ou non à la mise à jour. et de ce fait revenir au bon vieux commit_form
oui mrci c'est une bonne idée
Partager