dbo.QBM_FSQTriggerWatchXOrigin
Scalar FunctionSQL_SCALAR_FUNCTIONSandbox DB
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
References
- dbo.QBM_FCVBinaryToString
- dbo.QBM_FGIBitPatternXMarkedForDel
- dbo.QBM_FGIBitPatternXOrigin
- dbo.QBM_FGIColumnExists
- dbo.QBM_FGIColumnExistsInSchema
- dbo.QBM_PJobCreate
- dbo.QBM_PJobCreate_HODelete
- dbo.QBM_PJobCreate_HODelete_L
- dbo.QBM_PJobCreate_HOFireEvent
- dbo.QBM_PJobCreate_HOFireEvent_L
- dbo.QBM_PJobCreate_SQLDel
- dbo.QBM_PJobCreate_SQLDel_L
Referenced By
Complete Source
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
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