TRIGGER HISTORIQUE DES MODIFICATIONS

Forum consacré aux développements d'applications interfacées avec les logiciels Sage

Modérateurs: Super Modérateur, Modérateurs

Règles du forum
Merci de prendre connaissance des règles d'utilisation du forum

Avant de poster un nouveau message, utilisez la fonction RECHERCHER. Indiquez la VERSION de votre logiciel et toutes informations utiles à la résolution de votre question. Ne rédigez pas vos messages en MAJUSCULES. Soyez courtois et pensez aux formules de POLITESSE d'usage. Les messages à vocation COMMERCIALE ou PUBLICITAIRE seront supprimés.

*** LORSQU'UN SUJET EST RESOLU, SON AUTEUR DOIT EDITER LE 1ER MESSAGE DU SUJET EN HAUT DE PAGE ET COCHER "SUJET RESOLU" ***

TRIGGER HISTORIQUE DES MODIFICATIONS

Messagede nizarbraham » Mer 7 DĂ©c 2011 12:54

bonjour,
J'essaie de créer un trigger qui récupère les lignes supprimées ou modifiées du Docligne et les stocker dans une table F_DoclignHist

Code: Tout sélectionner
CREATE TRIGGER Trace_User ON dbo.F_DOCLIGNE
for UPDATE,  DELETE as
DECLARE @User_op varchar(50)
DECLARE @op_type varchar(10)
DECLARE @Date_op smalldatetime
DECLARE @Date_saisieOld smalldatetime
DECLARE @inc int


SELECT @user_op = nt_username, @Date_op = getdate() FROM
master..sysprocesses WHERE spid=@@SPID

if EXISTS(SELECT * FROM DELETED)
  begin
    delete  from f_doclignhist_tmp
    if exists (select * from inserted)
     begin
      set @op_type='MODIF'
     
      INSERT into f_doclignhist_tmp   (op_type, date_op, user_op, DO_Piece, DO_Date, DL_ligne, AR_ref, DL_design, DL_Qte,DL_Remise01REM_Valeur,DL_PrixUnitaire,DL_No, utilisateur)
      Select  @op_type, @date_op, @user_op, d.DO_Piece, d.DO_Date, d.DL_ligne, d.Ar_Ref, d.DL_design, d.DL_Qte, d.DL_Remise01REM_Valeur, d.DL_PrixUnitaire, d.DL_No, d.utilisateur
      FROM DELETED d


     end
    else
  begin
  set @op_type='SUPPR'


  INSERT into f_doclignhist_tmp  (op_type, date_op, user_op, DO_Piece, DO_Date, DL_ligne, AR_ref, DL_design, DL_Qte,DL_Remise01REM_Valeur,DL_PrixUnitaire,DL_No, utilisateur)
  Select @op_type, @date_op, @user_op, d.DO_Piece, d.DO_Date, d.DL_ligne, d.Ar_Ref, d.DL_design, d.DL_Qte, d.DL_Remise01REM_Valeur, d.DL_PrixUnitaire, d.DL_No, d.utilisateur
  FROM deleted d

end
end
insert  into f_doclignhist  select * from f_doclignhist_tmp


Le Problème que ça marche bien pour la suppression. Cependant lors de la modification, le trigger ajoute deux lignes, respectivement celles avant et après la modification.
Pourtant, la table temporaire F_doclignhist_tmp contient toujours une et une seule ligne.

quelq'un peut m'aider?
nizarbraham
Posteur néophyte
Posteur néophyte
 
Messages: 9
Inscription: Mer 28 Oct 2009 19:50

Re: TRIGGER HISTORIQUE DES MODIFICATIONS

Messagede samytn » Jeu 15 DĂ©c 2011 10:51

Bonjours votre problème me fait avancer sur un point que j'arrive pas à résoudre ;
lors de la saisie d'un règlement je souhaite savoir l'utilisateur qui a effectuer le règlement , j'ai chercher une piste et je tombe sur cella . j'ai besoin d'une table qui m'indique qui insérer ou modifier un règlement .
svp est ce que vous pouvez m'aider .
samytn
Posteur néophyte
Posteur néophyte
 
Messages: 6
Inscription: Jeu 20 Oct 2011 17:22

Re: TRIGGER HISTORIQUE DES MODIFICATIONS

Messagede loubna » Mar 17 Jan 2012 11:50

Bonjour Mr nizarbraham,
Ilya longtemps que j'ai cherché comment savoir qui a supprimé ou modifié des données sur l gestion commerciale,
j'ai utilisé votre script mais j'ai besoin de votre aide,
f_doclignhist_tmp elle est oĂą cette table ?
comment afficher le résultat qu'on veut ????
Merci d'avance.
loubna
Super Contributeur
Super Contributeur
 
Messages: 166
Inscription: Jeu 24 Fév 2011 19:23

Re: TRIGGER HISTORIQUE DES MODIFICATIONS

Messagede nizarbraham » Jeu 1 Mar 2012 09:04

Bonjour Loubna,
La table f_doclignhist_tmp est une table utilisateur crée par moi-même,
Elle hérite la même structure que la table f_doclignhist.

Pour l'exploitation des résultats, c'est généralement sur Access où tu peu afficher par utilisateur, par pièce, par article, etc.


Mon problème initial reste statique et sans issue
nizarbraham
Posteur néophyte
Posteur néophyte
 
Messages: 9
Inscription: Mer 28 Oct 2009 19:50

Re: TRIGGER HISTORIQUE DES MODIFICATIONS

Messagede loubna » Jeu 1 Mar 2012 11:24

Bonjour,
Désolé mais j'ai rien comprit, la table f_doclignhist n'existe plus,
j'aimerai bien que vous m'expliquer les démarches pour faire une traçabilité sur les transactions faites par un utilisateur.
Merci beaucoup
loubna
Super Contributeur
Super Contributeur
 
Messages: 166
Inscription: Jeu 24 Fév 2011 19:23

Re: TRIGGER HISTORIQUE DES MODIFICATIONS

Messagede loubna » Jeu 15 Mar 2012 13:44

Bonjour,
pour le sujet de traçabilité, est ce qu'ilya de nouveau
Merci
loubna
Super Contributeur
Super Contributeur
 
Messages: 166
Inscription: Jeu 24 Fév 2011 19:23

Re: TRIGGER HISTORIQUE DES MODIFICATIONS

Messagede DaliPieo » Mer 4 Avr 2012 12:48

Bonjour Ă  tous,

Je suis aussi très intéresse par ce sujet et surtout pour placer "des mouchards" afin de pouvoir détecter les modifications ou suppression sur mes données Sage (facture, règlement, stock...)
Y a pas une nouvelle proposition de prototype pour ça?

Merci d'avance pour votre collaboration
DaliPieo
Super Contributeur
Super Contributeur
 
Messages: 112
Inscription: Mar 19 Fév 2008 16:45

Re: TRIGGER HISTORIQUE DES MODIFICATIONS

Messagede loubna » Mer 4 Avr 2012 14:06

Bonjour,
oui moi aussi j'aimerais bien avoir une autre solution, parceque je n'arrive pas à utiliser la solution déjà proposée !
loubna
Super Contributeur
Super Contributeur
 
Messages: 166
Inscription: Jeu 24 Fév 2011 19:23


Retourner vers Développements ODBC, Objets métiers, SQL

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités