Back to OIM Explorer

dbo.QBM_FSQTriggerWatchXIsInEffect

Scalar FunctionSQL_SCALAR_FUNCTIONSandbox DB

Scalar Function. References QBM_PJobCreate*; References QBM_PJobCreate_HOFireEvent*

Source: sandbox-db sys.sql_modules

Source size: 2.982 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_PJobCreate source text reference
  • references source dbo.QBM_PJobCreate_HOFireEvent source text reference
  • references source dbo.QBM_PJobCreate_HOFireEvent_L source text reference

Complete Source

SQL112 lines
1CREATE FUNCTION dbo.QBM_FSQTriggerWatchXIsInEffect(2  @TableName varchar(30)3) RETURNS nvarchar(max4)5AS6BEGIN7  DECLARE @erg nvarchar(max) = ''8  SELECT9    @erg = STRING_AGG(convert(nvarchar(max), CONCAT(N '10			declare @EntriesToFire_Assign', x.Zeile,11    ' QBM_YParameterList12			insert into @EntriesToFire_Assign', x.Zeile, '(Parameter1)13				select x.XObjectKey14				from deleted d join ',15    @TableName, ' x on d.XObjectKey = x.XObjectKey16				where x.XOrigin > 017					and d.XIsInEffect = 018					and x.XIsInEffect = 119					 ' + CASE20    WHEN @TableName = x.TableNameWork THEN21    '-- kein XObjectkey-Vergleich nötig'22  ELSE 'and x.XObjectKey like ''<Key><T>' + x.TableNameWork + '</T>%'''23  END + '24			if @@rowcount > 025			 begin26				exec QBM_PJobCreate_HOFireEvent_L ''', x.TableNameWork, ''', @EntriesToFire_Assign',27  x.Zeile, '28						, @EventName = ''Assign''29						, @GenProcID = @GenProcID30						, @isToFreezeOnError = 131						, @WhereClauseAdditional = '' XIsInEffect = 1 '' 32						, @AdditionalObjectKeysAffected = @AdditionalEntries33			 end			3435			declare @EntriesToFire_Remove'36  , x.Zeile, ' QBM_YParameterList37			insert into @EntriesToFire_Remove', x.Zeile, '(Parameter1)38				select x.XObjectKey39				from deleted d join '40  , @TableName, ' x on d.XObjectKey = x.XObjectKey41				where x.XOrigin > 042					and d.XIsInEffect = 143					and x.XIsInEffect = 044					 ' + CASE45  WHEN @TableName = x.TableNameWork THEN46  '-- kein XObjectkey-Vergleich nötig'47  ELSE 'and x.XObjectKey like ''<Key><T>' + x.TableNameWork + '</T>%'''48  END + '4950			if @@rowcount > 051			 begin52				exec QBM_PJobCreate_HOFireEvent_L ''', x.TableNameWork, ''', @EntriesToFire_Remove',53  x.Zeile, '54						, @EventName = ''Remove''55						, @GenProcID = @GenProcID56						, @isToFreezeOnError = 157						, @WhereClauseAdditional = '' XIsInEffect = 0 '' 58						, @AdditionalObjectKeysAffected = @AdditionalEntries59			 end60			'61  )),62  N '')63  FROM(64  SELECT65    y.TableNameWork,66    trim(str(ROW_NUMBER() over(67  ORDER BY y.tablenameWork))) AS Zeile68  FROM(69  SELECT t.TableName AS TableNameWork70  FROM dbo.DialogTable t71    WITH(readpast)72  WHERE73    t.TableName = @TableName AND t.TableType = 'T' AND t.IsDeactivatedByPreProcessor = 0 AND t.isAssignmentWithEvent = 174  UNION75  SELECT v.TableName76  FROM dbo.DialogTable v77    WITH(readpast)78  WHERE79    v.UID_DialogTableBase IN(80  SELECT b.UID_DialogTable81  FROM dbo.DialogTable b82    WITH(readpast)83  WHERE84    b.TableName = @TableName AND b.TableType = 'B') AND v.IsDeactivatedByPreProcessor = 0 AND v.isAssignmentWithEvent = 1) AS y) AS x85  IF @erg > ' '86  BEGIN87    SELECT88      @erg = CONCAT('89---------------------------------------90-- Fire Events for XIsInEffect91---------------------------------------92	if update(XIsInEffect)93	 begin94'95      ,96      @erg,97      '98	 end -- if update(XIsInEffect)99100---------------------------------------101-- / Fire Events for XIsInEffect102---------------------------------------103'104      )105  END106  ELSE107  BEGIN108    SELECT @erg = ''109  END110  endLabel:111  RETURN(@erg)112END
Open raw exported source
SQL · Raw66 lines
1   create   function dbo.QBM_FSQTriggerWatchXIsInEffect(@TableName varchar(30) ) returns nvarchar(max)    as begin declare @erg nvarchar(max) = 2'' select @erg = STRING_AGG(convert(nvarchar(max), concat(N'3			declare @EntriesToFire_Assign', x.Zeile , ' QBM_YParameterList4			insert into @EntriesToFire_Assign'5, x.Zeile , '(Parameter1)6				select x.XObjectKey7				from deleted d join ' , @TableName , ' x on d.XObjectKey = x.XObjectKey8				where x.XOrigin > 09					and d.XIsInEffect = 010					and x.XIsInEffect = 111					 '12 + case when @TableName = x.TableNameWork then '-- kein XObjectkey-Vergleich nötig' else 'and x.XObjectKey like ''<Key><T>' + x.TableNameWork + '</T>%'''13 end + '14			if @@rowcount > 015			 begin16				exec QBM_PJobCreate_HOFireEvent_L ''' , x.TableNameWork , ''', @EntriesToFire_Assign', x.Zeile , '17						, @EventName = ''Assign''18						, @GenProcID = @GenProcID19						, @isToFreezeOnError = 120						, @WhereClauseAdditional = '' XIsInEffect = 1 '' 21						, @AdditionalObjectKeysAffected = @AdditionalEntries22			 end			2324			declare @EntriesToFire_Remove'25, x.Zeile , ' QBM_YParameterList26			insert into @EntriesToFire_Remove', x.Zeile , '(Parameter1)27				select x.XObjectKey28				from deleted d join ' , 29@TableName , ' x on d.XObjectKey = x.XObjectKey30				where x.XOrigin > 031					and d.XIsInEffect = 132					and x.XIsInEffect = 033					 ' + case when @TableName34 = x.TableNameWork then '-- kein XObjectkey-Vergleich nötig' else 'and x.XObjectKey like ''<Key><T>' + x.TableNameWork + '</T>%''' end + '3536			if @@rowcount > 037			 begin38				exec QBM_PJobCreate_HOFireEvent_L '''39 , x.TableNameWork , ''', @EntriesToFire_Remove', x.Zeile , '40						, @EventName = ''Remove''41						, @GenProcID = @GenProcID42						, @isToFreezeOnError = 143						, @WhereClauseAdditional = '' XIsInEffect = 0 '' 44						, @AdditionalObjectKeysAffected = @AdditionalEntries45			 end46			'47 )  )  , N'' )  from ( select y.TableNameWork, trim(str(ROW_NUMBER() over(order by y.tablenameWork))) as Zeile from ( select t.TableName as TableNameWork48 from dbo.DialogTable t with (readpast) where t.TableName = @TableName and t.TableType = 'T'  and t.IsDeactivatedByPreProcessor = 0 and t.isAssignmentWithEvent49 = 1 union select v.TableName from dbo.DialogTable v with (readpast) where v.UID_DialogTableBase in ( Select b.UID_DialogTable from dbo.DialogTable b with50 (readpast) where b.TableName = @TableName and b.TableType = 'B' )  and v.IsDeactivatedByPreProcessor = 0 and v.isAssignmentWithEvent = 1 ) as y ) as x51 if @erg > ' ' begin select @erg = concat( '52---------------------------------------53-- Fire Events for XIsInEffect54---------------------------------------55	if update(XIsInEffect)56	 begin57'58 , @erg , '59	 end -- if update(XIsInEffect)6061---------------------------------------62-- / Fire Events for XIsInEffect63---------------------------------------64'65 ) end else begin select @erg = '' end endLabel: return(@erg) end 66