Hallo,
da ich noch kein Feld gefunden habe, was darauf hindeutet, dass bereits für jedes Objekt der Ersteller hinterlegt wird, würde ich das gerne selbst eintragen.
Ich habe ein Custom Objekt und würde gerne das Feld Ersteller automatisch mit dem aktuellen Benutzer befüllen.
Gibt es hier schon Erfahrungen zu? Falls es etwas ähnliches nicht schon gibt wäre ein Feld für den Erstellungs-Zeitpunkt auch nicht schlecht. Danke schonmal.
Ersteller und ErstellungsZeitpunkt von Custom Objects
Ersteller und ErstellungsZeitpunkt von Custom Objects
Tria-media - IT Solutions
Re: Ersteller und ErstellungsZeitpunkt von Custom Objects
Ich konnte mir mitlerweile selbst helfen und habe es über eine Erweiterung der Common-Classbase und einen weiteren Trigger gelöst. Dadurch habe ich den Ersteller und den Zeitpunkt für jedes Objekt.
Tria-media - IT Solutions
Re: Ersteller und ErstellungsZeitpunkt von Custom Objects
Hallo Sven,
es wäre unheimlich toll, wenn du dein Wissen mit uns teilen würdest und uns deinen Trigger posten könntest.
Uns fehlt diese Information nämlich auch relativ häufig.
mfg,
es wäre unheimlich toll, wenn du dein Wissen mit uns teilen würdest und uns deinen Trigger posten könntest.
Uns fehlt diese Information nämlich auch relativ häufig.
mfg,
Christian Kadach
Freiwilliger Mitarbeiter - Fachhochschule Dortmund
Freiwilliger Mitarbeiter - Fachhochschule Dortmund
Re: Ersteller und ErstellungsZeitpunkt von Custom Objects
Hallo Christian,
ich habe die SPSCommonClassBase um die Attribute UdCreateDate (DateTime) und UdCreator (GUID) erweitert und folgenden Trigger auf die SPSCommonClassBase gelegt, welchen ich mir von den anderen Triggern abgeleitet habe:
ich habe die SPSCommonClassBase um die Attribute UdCreateDate (DateTime) und UdCreator (GUID) erweitert und folgenden Trigger auf die SPSCommonClassBase gelegt, welchen ich mir von den anderen Triggern abgeleitet habe:
Code: Select all
CREATE TRIGGER [dbo].[UD_Insert]
ON [dbo].[SPSCommonClassBase]
AFTER INSERT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for trigger here
DECLARE @context_bin VARBINARY(128)
DECLARE @TransactionID uniqueidentifier
DECLARE @UserID uniqueidentifier
DECLARE @ObjectID uniqueidentifier
SELECT @context_bin=context_info FROM master.dbo.sysprocesses WHERE spid=@@SPID
IF (@context_bin <> 0x0)
BEGIN
SET @TransactionID = CONVERT(UNIQUEIDENTIFIER,SUBSTRING(CAST(@context_bin AS VARCHAR(127)), 1, 36))
SET @UserID = CONVERT(UNIQUEIDENTIFIER,SUBSTRING(CAST(@context_bin AS VARCHAR(127)), 37, 36))
END
ELSE
BEGIN
SET @TransactionID=newid()
END
IF @TransactionID = '00000000-0000-0000-0000-000000000000'
SELECT @TransactionID = newid()
SELECT @ObjectID = ID FROM INSERTED
IF (@UserID IN (SELECT ID FROM SPSUserClassBase))
UPDATE SPSCommonClassBase SET UdCreateDate = GETUTCDATE(), UdCreator = @UserID WHERE ID = @ObjectID
ELSE
UPDATE SPSCommonClassBase SET UdCreateDate = GETUTCDATE() WHERE ID = @ObjectID
END
Tria-media - IT Solutions
Who is online
Users browsing this forum: No registered users and 0 guests