Back to OIM Explorer

dbo.QBM_FSQTriggerWatchXOrigin

Scalar FunctionSQL_SCALAR_FUNCTIONSandbox DB

Scalar Function. References QBM_PJobCreate*; References QBM_PJobCreate_HOFireEvent*

Source: sandbox-db sys.sql_modules

Source size: 9.634 characters

Interpretation

  • Database function. Usually supports views, validation, or calculated predicates; look at referenced-by entries for callers.
  • Object-layer bridge detected through QBM_PJobCreate helper usage.

Relations

  • References QBM_PJobCreate*
  • References QBM_PJobCreate_HOFireEvent*

Typed Edges

  • references source dbo.QBM_FCVBinaryToString source text reference
  • references source dbo.QBM_FGIBitPatternXMarkedForDel source text reference
  • references source dbo.QBM_FGIBitPatternXOrigin source text reference
  • references source dbo.QBM_FGIColumnExists source text reference
  • references source dbo.QBM_FGIColumnExistsInSchema source text reference
  • references source dbo.QBM_PJobCreate source text reference
  • references source dbo.QBM_PJobCreate_HODelete source text reference
  • references source dbo.QBM_PJobCreate_HODelete_L source text reference
  • references source dbo.QBM_PJobCreate_HOFireEvent source text reference
  • references source dbo.QBM_PJobCreate_HOFireEvent_L source text reference
  • references source dbo.QBM_PJobCreate_SQLDel source text reference
  • references source dbo.QBM_PJobCreate_SQLDel_L source text reference

Complete Source

SQL365 lines
1CREATE FUNCTION dbo.QBM_FSQTriggerWatchXOrigin(2  @TableName varchar(30)3) RETURNS nvarchar(max4)5AS6BEGIN7  DECLARE @IsAssgnmentWithEvent BIT8  DECLARE @erg nvarchar(max) = ''9  DECLARE @pre nvarchar(max) = ''10  DECLARE @IsCreatePendingChange int11  DECLARE @TablenameWork varchar(30)12  DECLARE @ElementBuffer QBM_YCursorBuffer13  DECLARE @ElementCount int14  DECLARE @ElementIndex int15  DECLARE @zeile varchar(16)16  DECLARE @PatternDelay0 varchar(64) = dbo.QBM_FCVBinaryToString(dbo.QBM_FGIBitPatternXMarkedForDel('|Delay|',17  0),18  0)19  DECLARE @PatternDelay1 varchar(64) = dbo.QBM_FCVBinaryToString(dbo.QBM_FGIBitPatternXMarkedForDel('|Delay|',20  1),21  0)22  DECLARE @StringPatternOutStanding varchar(16) = dbo.QBM_FCVBinaryToString(dbo.QBM_FGIBitPatternXMarkedForDel('|OutStanding|',23  0),24  0)25  DECLARE @StringPatternDirect varchar(16) = dbo.QBM_FCVBinaryToString(dbo.QBM_FGIBitPatternXOrigin('|Direct|',26  0),27  0)28  DECLARE @isMNTable BIT,29  @IsMAllTable BIT30  SELECT31    TOP 1 @isMNTable = tx.isMNTable,32    @IsMAllTable = tx.IsMAllTable33  FROM DialogTable tx34    WITH(readpast)35  WHERE36    tx.TableName = @TableName37  IF @isMNTable = 138  BEGIN39    SELECT40      TOP 1 @pre = @pre + '41			delete /* 34049 */ @AdditionalEntries42			insert into @AdditionalEntries(Parameter1, Parameter2)43			 select p.XObjectKey, d.XObjectKey 44				from deleted d join '45      + @TableName + ' x on d.XObjectKey = x.XObjectKey46								join ' + r.ParentTable + ' p on p.' + r.ParentColumn + ' = x.' + r.ChildColumn + '47							where x.XOrigin = 048							 and d.XOrigin > 04950		'51    FROM QBM_VQBMRelation r52    WHERE53      r.ChildTable = @TableName AND r.IsMNRelation = 154    ORDER BY UID_QBMRelation ASC55    SELECT56      TOP 1 @pre = @pre + ' 57			  union 58			  select p.XObjectKey, d.XObjectKey 59				from deleted d join ' + @TableName + ' x on d.XObjectKey = x.XObjectKey60								join '61      + r.ParentTable + ' p on p.' + r.ParentColumn + ' = x.' + r.ChildColumn + '62							where x.XOrigin = 063							 and d.XOrigin > 06465		'66    FROM QBM_VQBMRelation r67    WHERE68      r.ChildTable = @TableName AND r.IsMNRelation = 169    ORDER BY UID_QBMRelation DESC70  END71  IF @IsMAllTable = 172  BEGIN73    SELECT74      TOP 1 @pre = @pre + '75			delete /* 34049 */ @AdditionalEntries76			insert into @AdditionalEntries(Parameter1, Parameter2)77			 select p.XObjectKey, d.XObjectKey78				from deleted d join '79      + @TableName + ' x on d.XObjectKey = x.XObjectKey80								join ' + r.ParentTable + ' p on p.' + r.ParentColumn + ' = x.' + r.ChildColumn + '81							where x.XOrigin = 082							 and d.XOrigin > 08384		'85    FROM QBM_VQBMRelation r86    JOIN DialogColumn c87      WITH(readpast)88      ON r.UID_ParentColumn = c.UID_DialogColumn AND c.SchemaDataLen = 3889    WHERE90      r.ChildTable = @TableName91    ORDER BY UID_QBMRelation ASC92    SELECT93      TOP 1 @pre = @pre + ' 94			  union 95			  select x.' + c.ColumnName + ', d.XObjectKey96				from deleted d join ' + @TableName + ' x on d.XObjectKey = x.XObjectKey97							where x.XOrigin = 098							 and d.XOrigin > 099100		'101    FROM DialogTable t102      WITH(readpast)103    JOIN DialogColumn c104      WITH(readpast)105      ON t.UID_DialogTable = c.UID_DialogTable106    WHERE107      c.IsDynamicFK = 1 AND t.TableName = @TableName108  END109  INSERT INTO @ElementBuffer(Ident1,110  Bit1,111  Int1)112  SELECT113    t.TableName,114    t.isAssignmentWithEvent,115    sign(t.PendingChangeBehavior & 0x01)116  FROM DialogTable t117    WITH(readpast)118  WHERE119    t.TableName = @TableName AND t.TableType = 'T' AND t.IsDeactivatedByPreProcessor = 0120  UNION121  SELECT122    v.TableName,123    v.isAssignmentWithEvent,124    sign(v.PendingChangeBehavior & 0x01)125  FROM DialogTable v126    WITH(readpast)127  WHERE128    v.UID_DialogTableBase IN(129  SELECT b.UID_DialogTable130  FROM DialogTable b131    WITH(readpast)132  WHERE133    b.TableName = @TableName AND b.TableType = 'B') AND v.IsDeactivatedByPreProcessor = 0134  ORDER BY 1135  SELECT @ElementCount = @@ROWCOUNT136  SELECT @ElementIndex = 1137  WHILE @ElementIndex <= @ElementCount138  BEGIN139    SELECT140      TOP 1 @TablenameWork = bu.Ident1,141      @IsAssgnmentWithEvent = bu.Bit1,142      @IsCreatePendingChange = bu.Int1,143      @zeile = TRIM(str(@ElementIndex))144    FROM @ElementBuffer bu145    WHERE146      bu.ElementIndex = @ElementIndex147    IF @IsAssgnmentWithEvent = 1148    BEGIN149      SELECT150        @erg = @erg + N '151			-- Table: ' + @TablenameWork + '   ( events = ' + str(@IsAssgnmentWithEvent) + ')152			declare @EntriesToFire_XOriginWEvent'153        + @zeile + ' QBM_YParameterList154			insert into @EntriesToFire_XOriginWEvent' + @zeile + '(Parameter1)155				select x.XObjectKey156				from deleted d join '157        + @TableName + ' x on d.XObjectKey = x.XObjectKey158				where x.XOrigin = 0159				 and d.XOrigin  > 0 160				 ' + CASE @IsCreatePendingChange161        WHEN 1 THEN162        ''163      ELSE '--'164      END + 'and d.XOrigin & ' + @StringPatternDirect + ' = 0 165				 ' + CASE166      WHEN @TableName = @TablenameWork THEN167      '-- kein XObjectkey-Vergleich nötig'168      ELSE 'and x.XObjectKey like ''<Key><T>' + @TablenameWork + '</T>%'''169      END + '170				 and d.XMarkedForDeletion & ' + @StringPatternOutStanding + ' = 0 171	'172      IF @IsCreatePendingChange = 1173      BEGIN174        SELECT175          @erg = @erg + '176			if @@rowcount > 0177			 begin178				exec QBM_PJobCreate_HOFireEvent_L ''' + @TablenameWork + ''', @EntriesToFire_XOriginWEvent'179          + @zeile + '180						, @EventName = ''Remove''181						, @GenProcID = @GenProcID182						, @AdditionalObjectKeysAffected = @AdditionalEntries183						, @ConnectionVariables = ''XORIGINEMPTY''184						, @isToFreezeOnError = 1 185						, @WhereClauseAdditional = '' XOrigin = 0 '' 186			 end187			'188      END189      ELSE190      BEGIN191        SELECT192          @erg = CONCAT(@erg,193          '194			if @@rowcount > 0195			 begin196				-- 27517197				if exists (select top 1 1198							from ',199          @Tablename,200          ' m join @EntriesToFire_XOriginWEvent',201          @zeile,202          ' e on m.XObjectKey = e.Parameter1203							where m.XMarkedForDeletion & ',204          @PatternDelay0,205          ' > 0206						)207				 begin208					update ',209          @Tablename,210          '211						set XMarkedForDeletion = XMarkedForDeletion &  ',212          @PatternDelay1,213          '214						',215        CASE dbo.QBM_FGIColumnExistsInSchema(@TableName, 'XDateUpdated')216          WHEN 1 THEN217        ', XDateUpdated = @Xdate, XUserUpdated = @XUser '218        ELSE ''219        END,220        '221							from ',222        @Tablename,223        ' m join @EntriesToFire_XOriginWEvent',224        @zeile,225        ' e on m.XObjectKey = e.Parameter1226							where m.XMarkedForDeletion & ',227        @PatternDelay0,228        ' > 0229				 end230231				 -- für alle das event, manchmal wird es ins leere gehen232				exec QBM_PJobCreate_HODelete_L ''',233        @TablenameWork,234        ''', @EntriesToFire_XOriginWEvent',235        @zeile,236        '237						, @GenProcID = @GenProcID238						, @AdditionalObjectKeysAffected = @AdditionalEntries239						, @ConnectionVariables = ''XORIGINEMPTY''240						, @isToFreezeOnError = 1 241						, @WhereClauseAdditional = '' XOrigin = 0  '' 242243				-- aus @EntriesToFire_XOriginWEvent'244        ,245        @zeile,246        ' alle die löschen, die über die View erreichbar sind, für den Rest hartes SQLDelete247				delete /* 34049 */ @EntriesToFire_XOriginWEvent',248        @zeile,249        '250					from @EntriesToFire_XOriginWEvent',251        @zeile,252        ' e join ',253        @TablenameWork,254        ' v on e.Parameter1 = v.XObjectKey255				exec QBM_PJobCreate_SQLDel_L ''',256        @Tablename,257        ''', @EntriesToFire_XOriginWEvent',258        @zeile,259        '260						, @GenProcID = @GenProcID261						, @AdditionalObjectKeysAffected = @AdditionalEntries262						, @isToFreezeOnError = 1263						, @WhereClauseAdditional = '' XOrigin = 0 '' 264265			 end266			'267        )268      END269      SELECT270        @erg = @erg + N '271			--delete /* 34049 */ @EntriesToFire272			declare @EntriesToFire_Out' + @zeile + ' QBM_YParameterList273			insert into @EntriesToFire_Out'274        + @zeile + '(Parameter1)275				select x.XObjectKey276				from deleted d join ' + @TableName + ' x on d.XObjectKey = x.XObjectKey277				where x.XOrigin = 0278				 and d.XOrigin > 0279				 '280        + CASE281        WHEN @TableName = @TablenameWork THEN282        '-- kein XObjectkey-Vergleich nötig'283      ELSE 'and x.XObjectKey like ''<Key><T>' + @TablenameWork + '</T>%'''284      END + '285				 and d.XMarkedForDeletion & ' + @StringPatternOutStanding + ' > 0 286		'287      SELECT288        @erg = @erg + '289			if @@rowcount > 0290			 begin291				exec QBM_PJobCreate_SQLDel_L ''' + @Tablename + ''', @EntriesToFire_Out' + @zeile +292        '293						, @GenProcID = @GenProcID294						, @AdditionalObjectKeysAffected = @AdditionalEntries295						, @isToFreezeOnError = 1 296						, @WhereClauseAdditional = '' XOrigin = 0 '' 297			 end298			'299    END300    ELSE301    BEGIN302      SELECT303        @erg = @erg + N '304			-- Table: ' + @TablenameWork + '   ( events = ' + str(@IsAssgnmentWithEvent) + ')305			declare @EntriesToFire_OutO'306        + @zeile + ' QBM_YParameterList307			insert into @EntriesToFire_OutO' + @zeile + '(Parameter1)308				select x.XObjectKey309				from deleted d join '310        + @TableName + ' x on d.XObjectKey = x.XObjectKey311				where x.XOrigin = 0312				 and d.XOrigin  > 0 313				 ' + CASE314        WHEN @TableName = @TablenameWork THEN315        '-- kein XObjectkey-Vergleich nötig'316      ELSE 'and x.XObjectKey like ''<Key><T>' + @TablenameWork + '</T>%'''317      END + '318	'319      SELECT320        @erg = @erg + '321			if @@rowcount > 0322			 begin323				exec QBM_PJobCreate_SQLDel_L ''' + @TableName + ''', @EntriesToFire_OutO' + @zeile +324        '325						, @GenProcID = @GenProcID326						, @AdditionalObjectKeysAffected = @AdditionalEntries327						, @isToFreezeOnError = 1 328						, @WhereClauseAdditional = '' XOrigin = 0 '' 329			 end330			'331    END332    SELECT @ElementIndex += 1333  END334  IF @erg > ' '335  BEGIN336    SELECT337      @erg = '338---------------------------------------339-- Handle Delete via XOrigin 340---------------------------------------341	if update(XOrigin)342	 begin343		if exists (select top 1 1344					from deleted d join '345      + @TableName + ' x on d.XObjectKey = x.XObjectKey346					where x.XOrigin = 0347					 and d.XOrigin > 0348				 )349		 begin350' + CASE351      WHEN @pre > ' ' THEN352      @pre353    ELSE ''354    END + @erg + '355		 end -- exists356	 end -- if update(XOrigin)357358---------------------------------------359-- / Handle Delete via XOrigin 360---------------------------------------361'362  END363  endLabel:364  RETURN(@erg)365END
Open raw exported source
SQL · Raw198 lines
1   create   function dbo.QBM_FSQTriggerWatchXOrigin(@TableName varchar(30) ) returns nvarchar(max) as begin declare @IsAssgnmentWithEvent bit declare2 @erg nvarchar(max) = '' declare @pre nvarchar(max) = '' declare @IsCreatePendingChange int declare @TablenameWork varchar(30) declare @ElementBuffer QBM_YCursorBuffer3 declare @ElementCount int declare @ElementIndex int declare @zeile varchar(16)  declare @PatternDelay0 varchar(64) = dbo.QBM_FCVBinaryToString(dbo.QBM_FGIBitPatternXMarkedForDel4('|Delay|', 0) ,0) declare @PatternDelay1 varchar(64) = dbo.QBM_FCVBinaryToString(dbo.QBM_FGIBitPatternXMarkedForDel('|Delay|', 1) ,0) declare @StringPatternOutStanding5 varchar(16) = dbo.QBM_FCVBinaryToString(dbo.QBM_FGIBitPatternXMarkedForDel('|OutStanding|',0), 0) declare @StringPatternDirect varchar(16) = dbo.QBM_FCVBinaryToString6(dbo.QBM_FGIBitPatternXOrigin('|Direct|',0), 0) declare @isMNTable bit , @IsMAllTable bit select top 1 @isMNTable = tx.isMNTable , @IsMAllTable = tx.IsMAllTable7 from DialogTable tx with (readpast) where tx.TableName = @TableName if @isMNTable = 1 begin  select top 1 @pre = @pre + '8			delete /* 34049 */ @AdditionalEntries9			insert into @AdditionalEntries(Parameter1, Parameter2)10			 select p.XObjectKey, d.XObjectKey 11				from deleted d join '12 + @TableName + ' x on d.XObjectKey = x.XObjectKey13								join ' + r.ParentTable + ' p on p.' + r.ParentColumn + ' = x.' + r.ChildColumn + '14							where x.XOrigin = 015							 and d.XOrigin > 01617		'18 from QBM_VQBMRelation r where r.ChildTable = @TableName and r.IsMNRelation = 1 order by UID_QBMRelation asc  select top 1 @pre = @pre + ' 19			  union 20			  select p.XObjectKey, d.XObjectKey 21				from deleted d join '22 + @TableName + ' x on d.XObjectKey = x.XObjectKey23								join ' + r.ParentTable + ' p on p.' + r.ParentColumn + ' = x.' + r.ChildColumn + '24							where x.XOrigin = 025							 and d.XOrigin > 02627		'28 from QBM_VQBMRelation r where r.ChildTable = @TableName and r.IsMNRelation = 1 order by UID_QBMRelation desc end if @IsMAllTable = 1 begin select top 291 @pre = @pre + '30			delete /* 34049 */ @AdditionalEntries31			insert into @AdditionalEntries(Parameter1, Parameter2)32			 select p.XObjectKey, d.XObjectKey33				from deleted d join '34 + @TableName + ' x on d.XObjectKey = x.XObjectKey35								join ' + r.ParentTable + ' p on p.' + r.ParentColumn + ' = x.' + r.ChildColumn + '36							where x.XOrigin = 037							 and d.XOrigin > 03839		'40 from QBM_VQBMRelation r join DialogColumn c with (readpast) on r.UID_ParentColumn = c.UID_DialogColumn and c.SchemaDataLen = 38 where r.ChildTable = @TableName41 order by UID_QBMRelation asc  select top 1 @pre = @pre + ' 42			  union 43			  select x.' + c.ColumnName + ', d.XObjectKey44				from deleted d join ' 45+ @TableName + ' x on d.XObjectKey = x.XObjectKey46							where x.XOrigin = 047							 and d.XOrigin > 04849		' from DialogTable t with (readpast) join50 DialogColumn c with (readpast) on t.UID_DialogTable = c.UID_DialogTable where c.IsDynamicFK = 1 and t.TableName = @TableName end   insert into @ElementBuffer51 (Ident1  , Bit1  , Int1  ) select t.TableName , t.isAssignmentWithEvent , sign(t.PendingChangeBehavior & 0x01)  from DialogTable t with (readpast) where52 t.TableName = @TableName and t.TableType = 'T'  and t.IsDeactivatedByPreProcessor = 0 union select v.TableName , v.isAssignmentWithEvent , sign(v.PendingChangeBehavior53 & 0x01) from DialogTable v with (readpast) where v.UID_DialogTableBase in ( Select b.UID_DialogTable from DialogTable b with (readpast) where b.TableName54 = @TableName and b.TableType = 'B' )  and v.IsDeactivatedByPreProcessor = 0 order by 1 select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while55 @ElementIndex <= @ElementCount begin select top 1 @TablenameWork = bu.Ident1  , @IsAssgnmentWithEvent = bu.Bit1  , @IsCreatePendingChange = bu.Int1  ,56 @zeile = TRIM(str(@ElementIndex)) from @ElementBuffer bu where bu.ElementIndex = @ElementIndex if @IsAssgnmentWithEvent = 1  begin  select @erg = @erg57 + N'58			-- Table: ' + @TablenameWork + '   ( events = ' + str(@IsAssgnmentWithEvent) + ')59			declare @EntriesToFire_XOriginWEvent' + @zeile + ' QBM_YParameterList60			insert into @EntriesToFire_XOriginWEvent'61 + @zeile + '(Parameter1)62				select x.XObjectKey63				from deleted d join ' + @TableName + ' x on d.XObjectKey = x.XObjectKey64				where x.XOrigin = 065				 and d.XOrigin  > 0 66				 '67 + case @IsCreatePendingChange when 1 then '' else '--' end + 'and d.XOrigin & ' + @StringPatternDirect + ' = 0 68				 ' + case when @TableName = @TablenameWork69 then '-- kein XObjectkey-Vergleich nötig' else 'and x.XObjectKey like ''<Key><T>' + @TablenameWork + '</T>%''' end + '70				 and d.XMarkedForDeletion & '71 + @StringPatternOutStanding + ' = 0 72	' if @IsCreatePendingChange = 1 begin  select @erg = @erg + '73			if @@rowcount > 074			 begin75				exec QBM_PJobCreate_HOFireEvent_L '''76 + @TablenameWork + ''', @EntriesToFire_XOriginWEvent' + @zeile + '77						, @EventName = ''Remove''78						, @GenProcID = @GenProcID79						, @AdditionalObjectKeysAffected = @AdditionalEntries80						, @ConnectionVariables = ''XORIGINEMPTY''81						, @isToFreezeOnError = 1 82						, @WhereClauseAdditional = '' XOrigin = 0 '' 83			 end84			'85 end else  begin   select @erg = concat(@erg , '86			if @@rowcount > 087			 begin88				-- 2751789				if exists (select top 1 190							from ' , @Tablename91 , ' m join @EntriesToFire_XOriginWEvent' , @zeile , ' e on m.XObjectKey = e.Parameter192							where m.XMarkedForDeletion & ' , @PatternDelay0 , ' > 093						)94				 begin95					update '96 , @Tablename , '97						set XMarkedForDeletion = XMarkedForDeletion &  ' , @PatternDelay1 , '98						' , case dbo.QBM_FGIColumnExistsInSchema(@TableName99, 'XDateUpdated') when 1 then ', XDateUpdated = @Xdate, XUserUpdated = @XUser ' else '' end , '100							from ' , @Tablename , ' m join @EntriesToFire_XOriginWEvent'101 , @zeile , ' e on m.XObjectKey = e.Parameter1102							where m.XMarkedForDeletion & ' , @PatternDelay0 , ' > 0103				 end104105				 -- für alle das event, manchmal wird es ins leere gehen106				exec QBM_PJobCreate_HODelete_L '''107 , @TablenameWork , ''', @EntriesToFire_XOriginWEvent' , @zeile , '108						, @GenProcID = @GenProcID109						, @AdditionalObjectKeysAffected = @AdditionalEntries110						, @ConnectionVariables = ''XORIGINEMPTY''111						, @isToFreezeOnError = 1 112						, @WhereClauseAdditional = '' XOrigin = 0  '' 113114				-- aus @EntriesToFire_XOriginWEvent'115 , @zeile , ' alle die löschen, die über die View erreichbar sind, für den Rest hartes SQLDelete116				delete /* 34049 */ @EntriesToFire_XOriginWEvent' 117, @zeile , '118					from @EntriesToFire_XOriginWEvent' , @zeile , ' e join ' , @TablenameWork , ' v on e.Parameter1 = v.XObjectKey119				exec QBM_PJobCreate_SQLDel_L '''120 , @Tablename , ''', @EntriesToFire_XOriginWEvent' , @zeile , '121						, @GenProcID = @GenProcID122						, @AdditionalObjectKeysAffected = @AdditionalEntries123						, @isToFreezeOnError = 1124						, @WhereClauseAdditional = '' XOrigin = 0 '' 125126			 end127			'128 )  end    select @erg = @erg + N'129			--delete /* 34049 */ @EntriesToFire130			declare @EntriesToFire_Out' + @zeile + ' QBM_YParameterList131			insert into @EntriesToFire_Out'132 + @zeile + '(Parameter1)133				select x.XObjectKey134				from deleted d join ' + @TableName + ' x on d.XObjectKey = x.XObjectKey135				where x.XOrigin = 0136				 and d.XOrigin > 0137				 '138 + case when @TableName = @TablenameWork then '-- kein XObjectkey-Vergleich nötig' else 'and x.XObjectKey like ''<Key><T>' + @TablenameWork + '</T>%'''139 end + '140				 and d.XMarkedForDeletion & ' + @StringPatternOutStanding + ' > 0 141		'  select @erg = @erg + '142			if @@rowcount > 0143			 begin144				exec QBM_PJobCreate_SQLDel_L '''145 + @Tablename + ''', @EntriesToFire_Out' + @zeile + '146						, @GenProcID = @GenProcID147						, @AdditionalObjectKeysAffected = @AdditionalEntries148						, @isToFreezeOnError = 1 149						, @WhereClauseAdditional = '' XOrigin = 0 '' 150			 end151			'152 end  else begin select @erg = @erg + N'153			-- Table: ' + @TablenameWork + '   ( events = ' + str(@IsAssgnmentWithEvent) + ')154			declare @EntriesToFire_OutO'155 + @zeile + ' QBM_YParameterList156			insert into @EntriesToFire_OutO' + @zeile + '(Parameter1)157				select x.XObjectKey158				from deleted d join ' + @TableName159 + ' x on d.XObjectKey = x.XObjectKey160				where x.XOrigin = 0161				 and d.XOrigin  > 0 162				 ' + case when @TableName = @TablenameWork then '-- kein XObjectkey-Vergleich nötig'163 else 'and x.XObjectKey like ''<Key><T>' + @TablenameWork + '</T>%''' end + '164	'  select @erg = @erg + '165			if @@rowcount > 0166			 begin167				exec QBM_PJobCreate_SQLDel_L '''168 + @TableName + ''', @EntriesToFire_OutO' + @zeile + '169						, @GenProcID = @GenProcID170						, @AdditionalObjectKeysAffected = @AdditionalEntries171						, @isToFreezeOnError = 1 172						, @WhereClauseAdditional = '' XOrigin = 0 '' 173			 end174			'175 end  select @ElementIndex += 1 end  if @erg > ' ' begin select @erg = '176---------------------------------------177-- Handle Delete via XOrigin 178---------------------------------------179	if update(XOrigin)180	 begin181		if exists (select top 1 1182					from deleted d join '183 + @TableName + ' x on d.XObjectKey = x.XObjectKey184					where x.XOrigin = 0185					 and d.XOrigin > 0186				 )187		 begin188' + case when @pre > ' ' then 189@pre else '' end + @erg + '190		 end -- exists191	 end -- if update(XOrigin)192193---------------------------------------194-- / Handle Delete via XOrigin 195---------------------------------------196'197 end  endLabel: return(@erg) end 198