PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Désactiver un trigger serveur temporairement sur une connexion HF/CS le temps d'un traitement
Désactiver un trigger serveur temporairement sur une connexion HF/CS le temps d'un traitement
Débuté par Damien, 23 aoû. 2019 15:23 - Aucune réponse
Membre enregistré
4 messages
Popularité : +1 (1 vote)
Posté le 23 août 2019 - 15:23
Bonjour à tous,

Peut-on désactiver temporairement le déclenchement des triggers serveurs sur une opération de boucle sur un fichier (raz d’une rubrique par exemple) et garder les triggers actifs pour les autres clients connectés à la base. Sans court-circuiter le travail des autres connexions.
La fonction HDésactiveTriggerServeur()
<<Désactive un trigger Serveur HFSQL Client/Serveur sur un serveur. Ce trigger est désactivé pour tous les clients de ce serveur.>> mais je ne veux pas pour tous les clients justement.

Exemple 1
/////////////////////////////////////////////////////
StopTriggers()
POUR TOUT Client

HModifie(Client)
FIN
RepriseTriggers()
/////////////////////////////////////////////////////



Exemple 2
/////////////////////////////////////////////////////
POUR TOUT Client

AnnuleTriggerPourLActionSuivante()
HModifie(Client) // doit être fonctionnelle
FIN
/////////////////////////////////////////////////////


Dans notre projet nous utilisons 1 trigger ‘Avant’ et 1 trigger ‘Après’ sur les actions HAjout, HModifie
- Le trigger Avant modifie la rubrique ‘date’ du fichier en cours et met à jour la date.
- Le trigger Après enregistre le nom et l’id du fichier en cours dans un fichier log.
Lors d’une boucle sur la totalité d’un fichier, exemple remise à zéro d’une rubrique nous ne voudrions pas loguer (trigger Après) ces informations.

H.AFaire // Annule bien le trigger mais aussi le HModifie !!!
HModifie()

Connaissez-vous une solution ?
Merci :D