DECLARE @MarkMainTraceComplete BIT DECLARE @IsVisible BIT - Das Ziel besteht im Ermitteln der übergeordneten Aktivität der ...

'

              DECLARE @MarkMainTraceComplete BIT
              DECLARE @IsVisible BIT
                  
              -- Das Ziel besteht im Ermitteln der übergeordneten Aktivität der Aktivität, die aktualisiert werden soll.
              -- Diese Informationen werden in der Fortsetzungstabelle gespeichert. Da Entscheidungen
              -- basierend auf diesem Wert getroffen werden, muss verhindert werden, dass Benutzer diesen Wert nach dem Lesevorgang aktualisieren.
              -- Wird nichts gefunden, muss verhindert werden, dass sie einen Wert einfügen. Zum Verhindern einer Einfügung
              -- kann eine Anwendungssperre für die 'ActivityID' verwendet werden. Das Protokoll erfordert, dass vor dem Hinzufügen des Fortsetzungsvorgangs
              -- eine exklusive Anwendungssperre für die ID erfolgt. Damit eine Änderung verhindert wird, werden
              -- wiederholte Lesesperren verwendet. Der Wert kann sich ändern, wenn das aktuelle übergeordnete Element nicht das 
              -- Stammelement ist. Wenn diese Fortsetzung eingerichtet wird, würde daher ein Verweis auf dieses neue übergeordnete Element erfolgen.
            
              -- Wenn es sich bei der aktuellen Ablaufverfolgung um eine Fortsetzung handelt, ist 'RowID' seine übergeordnete Aktivitäts-ID.
              -- Andernfalls ist 'RowID' die aktuelle Aktivitäts- ID (Hauptablaufverfolgung oder neue Ablaufverfolgung)
              DECLARE @RowID NVARCHAR(128)

              DECLARE @@ret INT
              DECLARE @@parentTemp NVARCHAR(128)
              SET @@parentTemp = @ActivityID
              WHILE (@@parentTemp IS NOT NULL)
              BEGIN
                  SET @RowID = @@parentTemp

                  EXEC @@ret = sp_getapplock @@parentTemp, 'Freigegeben', 'Transaktion', 100
                  IF (@@ret < 0)  -- Sperre nicht erteilt
                  BEGIN
                    RAISERROR('Sperre nicht erteilt', 16, 1)
                    RETURN
                  END

                  SET @@parentTemp = NULL
                  SELECT @@parentTemp = ParentActivityID 
                  FROM
English
English (United States)
Deutsch (Deutschland)
German (Germany)
Español (España)
Spanish (Spain)
Français (France)
French (France)
日本語
Japanese
한국어
Korean