Traçabilité

Ce forum est consacré aux logiciels Sage Gestion Commerciale lignes 30 et 100, et Sage Saisie de Caisse décentralisée

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" ***

Traçabilité

Messagede loubna » Lun 23 Jan 2012 12:08

Bonjour Ă  tous,
j'ai trouvé ce script utilisé pour savoir les suppressions et les modifications faite sur la base ainsi que les utilisateurs qui font ces actions, mais je n'arrive pas à l'exploiter, merci de m'aider si quelqu'un à une idée, merci d'avance.
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
loubna
Super Contributeur
Super Contributeur
 
Messages: 166
Inscription: Jeu 24 Fév 2011 19:23

Re: Traçabilité

Messagede IMPERIAL » Lun 23 Jan 2012 15:35

Bonjour,

Tu as créé ta table f_doclignhist_tmp ???

Cdlt
IMPERIAL
Consultant Senior
Il n'y a pas de secret pour réussir; c'est le fruit de l'apprentissage du travail acharné et des leçons tirées de l'échec.

Colin Luther Powell
Avatar de l’utilisateur
IMPERIAL
Super Contributeur
Super Contributeur
 
Messages: 1185
Inscription: Jeu 6 AoĂ» 2009 12:39
Localisation: LEVALLOIS PERRET

Re: Traçabilité

Messagede loubna » Lun 30 Jan 2012 11:35

Bonjour,
d'abord merci pour votre réponse,
Oui j'ai crée la table f_doclignhist_tmp
après j'ai exécuté le script pour créer le déclencheur Trace_User au niveau de la table dbo.F_DOCLIGNE
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


après j'ai essayé d'exécuter le script :
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
mais il déclenche le message suivant:
Nom d'objet 'DELETED' non valide.

loubna
Super Contributeur
Super Contributeur
 
Messages: 166
Inscription: Jeu 24 Fév 2011 19:23


Retourner vers Sage Gestion Commerciale

Qui est en ligne

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