Back to OIM Explorer

dbo.QBM_FSQBufferConfigSaveOrigin

Scalar FunctionSQL_SCALAR_FUNCTIONSandbox DB

Scalar Function.

Source: sandbox-db sys.sql_modules

Source size: 4.965 characters

Interpretation

  • Database function. Usually supports views, validation, or calculated predicates; look at referenced-by entries for callers.

Relations

  • No extracted relations.

Typed Edges

  • references source dbo.QBM_FCVGUIDToModuleOwner source text reference
  • references source dbo.QBM_FCVStringToIndent source text reference
  • references source dbo.QBM_FGISessionContext source text reference
  • references source dbo.QBM_FSQCVBufferToColumn source text reference
  • references source dbo.QBM_FSQCVColumnToBuffer source text reference
  • references source dbo.QBM_FSQFunctionCallModuleOwner source text reference
  • references source dbo.QBM_FSQIsNullClauseCmp source text reference
  • references source dbo.QBM_FSQTableJoin source text reference

Complete Source

SQL145 lines
1CREATE FUNCTION dbo.QBM_FSQBufferConfigSaveOrigin(2  @TableName varchar(30)3) RETURNS nvarchar(max4)5AS6BEGIN7  DECLARE @erg nvarchar(max) = N ''8  DECLARE @Header nvarchar(max) = CONCAT('9-----------------------------------------------------------------------10-- save to QBMBufferConfig11-----------------------------------------------------------------------12  if exists (select top 1 113				from deleted d14				where '15  ,16  dbo.QBM_FSQFunctionCallModuleOwner(@TableName, 'd'),17  ' <> ''CCC''18			)19		and dbo.QBM_FGISessionContext (''HotfixMode'') = ''''20	begin21')22  DECLARE @Footer nvarchar(max) = CONCAT('23    end -- exists ...  ',24  dbo.QBM_FSQFunctionCallModuleOwner(@TableName, 'd'),25  '26-----------------------------------------------------------------------27-- / save to QBMBufferConfig28-----------------------------------------------------------------------29'30  )31  IF EXISTS(32    SELECT TOP 1 133    FROM DialogDatabase db34    WITH(readpast)35  WHERE36    isnull(db.ModuleOwner, '') <> 'CCC' AND db.IsMainDatabase = 1)37  BEGIN38    GOTO endLabel39  END40  SELECT41    @erg = STRING_AGG(convert(nvarchar(max), '42if update(' + x.ColumnName + ')43 begin44	-- something to insert45	if exists (select top 1 146				from deleted d left outer join QBMBufferConfig cf on d.XObjectKey = cf.ObjectKeyOfRow47																and cf.TableName = '''48    + @TableName + '''49																and cf.ColumnName = ''' + x.ColumnName + '''50				where cf.ObjectKeyOfRow is null51				 and ' + dbo.QBM_FSQFunctionCallModuleOwner52    (@TableName, 'd') + ' <> ''CCC''53			)54	 begin55		insert into QBMBufferConfig(UID_QBMBufferConfig, TableName, ColumnName, ObjectKeyOfRow,56									 XDateInserted, XDateUpdated, XUserInserted, XUserUpdated,57									 ContentShort, HasContentFull, ContentFull58									)59			select newid(), '''60    + @TableName + ''', ''' + x.ColumnName + ''', d.XObjectKey,61						getutcdate() , getutcdate(), @ActionUser, @ActionUser,62' + dbo.QBM_FCVStringToIndent63    (dbo.QBM_FSQCVColumnToBuffer(@TableName, x.ColumnName, 'd'), 17) + '64			from deleted d join ' + @TableName + ' x on ' + dbo.QBM_FSQTableJoin(@TableName65    , 'd', 'x') + '66			where ' + dbo.QBM_FSQIsNullClauseCmp(@TableName, x.ColumnName, 'd') + ' <> ' + dbo.QBM_FSQIsNullClauseCmp(@TableName,67    x.ColumnName, 'x') + '68			and ' + dbo.QBM_FSQFunctionCallModuleOwner(@TableName, 'd') + ' <> ''CCC''69			and Not exists (select top 1 1 70							 from QBMBufferConfig cf 71							 where cf.TableName = '''72    + @TableName + '''73							  and cf.ColumnName = ''' + x.ColumnName + ''' 74							  and cf.ObjectKeyOfRow = d.XObjectKey75							 )76	 end --exists something to insert7778	-- something to delete79	if exists (select top 1 180				from deleted d join QBMBufferConfig cf on d.XObjectKey = cf.ObjectKeyOfRow81																and cf.TableName = '''82    + @TableName + '''83																and cf.ColumnName = ''' + x.ColumnName + '''84				where ' + dbo.QBM_FSQFunctionCallModuleOwner(@TableName,85    'd') + ' <> ''CCC''86			)87	 begin88	 89	 		delete QBMBufferConfig90			from deleted d  join ' + @TableName + ' x on ' + dbo.QBM_FSQTableJoin(@TableName91    , 'd', 'x') + '92						join QBMBufferConfig cf on cf.TableName = ''' + @TableName + '''93												and cf.ColumnName = ''' + x.ColumnName + '''94												and cf.ObjectKeyOfRow = x.XObjectKey95			where '96    + dbo.QBM_FSQIsNullClauseCmp(@TableName, x.ColumnName, 'd') + ' <> ' + dbo.QBM_FSQIsNullClauseCmp(@TableName,97    x.ColumnName, 'x') + '98				and ' + dbo.QBM_FSQFunctionCallModuleOwner(@TableName, 'd') + ' <> ''CCC''99				and ' + dbo.QBM_FSQIsNullClauseCmp(@TableName100    , x.ColumnName, 'x') + ' = ' + dbo.QBM_FSQCVBufferToColumn(@TableName, x.ColumnName, 'cf', 1) + '101102	 end --exists something to delete103104 end -- if update('105    + x.ColumnName + ')106'),107    N '') within108    GROUP(109  ORDER BY x.columnname)110  FROM(111  SELECT c.ColumnName112  FROM DialogColumn c113    WITH(readpast)114  JOIN DialogTable t115    WITH(readpast)116    ON c.UID_DialogTable = t.UID_DialogTable117  WHERE118    t.TableName = @TableName AND t.TableType IN('B', 'T') AND c.IsCustomConfigurable = 1 AND c.UID_DialogColumn NOT IN('QBM-AED774C5BFDF49A1B553D8E25A8124AF'119  , 'QBM-A947BB77A37B41FFA1E3E8706345EF98', 'QBM-1FCCC6E144B441CD9CA78A91EC520306', 'QBM-03D9D91469004B5FB5589C929EBF58DC',120  'QBM-EC951E8CE23A4EC78BB15B131F499E01') AND dbo.QBM_FCVGUIDToModuleOwner(c.UID_DialogColumn) <> 'CCC'121  UNION122  SELECT cb.ColumnName123  FROM DialogColumn cv124    WITH(readpast)125  JOIN DialogTable v126    WITH(readpast)127    ON cv.UID_DialogTable = v.UID_DialogTable128  JOIN DialogTable b129    WITH(readpast)130    ON v.UID_DialogTableBase = b.UID_DialogTable131  JOIN DialogColumn cb132    WITH(readpast)133    ON b.UID_DialogTable = cb.UID_DialogTable AND cv.UID_BaseColumn = cb.UID_DialogColumn134  WHERE135    b.TableName = @TableName AND b.TableType IN('B') AND v.TableType IN('V') AND cv.IsCustomConfigurable = 1) AS x136  IF @erg > ' '137  BEGIN138    SELECT139      @erg = CONCAT(@Header,140      dbo.QBM_FCVStringToIndent(@erg, 2),141      @Footer)142  END143  endLabel:144  RETURN(@erg)145END
Open raw exported source
SQL ยท Raw94 lines
1    create   function dbo.QBM_FSQBufferConfigSaveOrigin (@TableName varchar(30)) returns nvarchar(max) as begin declare @erg nvarchar(max) = N''2 declare @Header nvarchar(max) = concat('3-----------------------------------------------------------------------4-- save to QBMBufferConfig5-----------------------------------------------------------------------6  if exists (select top 1 17				from deleted d8				where '9 , dbo.QBM_FSQFunctionCallModuleOwner (@TableName, 'd') ,' <> ''CCC''10			)11		and dbo.QBM_FGISessionContext (''HotfixMode'') = ''''12	begin13' ) declare14 @Footer nvarchar(max) = concat('15    end -- exists ...  ' , dbo.QBM_FSQFunctionCallModuleOwner (@TableName, 'd') ,'16-----------------------------------------------------------------------17-- / save to QBMBufferConfig18-----------------------------------------------------------------------19'20 ) if exists (select top 1 1 from DialogDatabase db with (readpast) where isnull(db.ModuleOwner, '') <> 'CCC' and db.IsMainDatabase = 1 ) begin goto endLabel21 end select @erg = STRING_AGG( convert(nvarchar(max), '22if update(' + x.ColumnName + ')23 begin24	-- something to insert25	if exists (select top 1 126				from deleted d left outer join QBMBufferConfig cf on d.XObjectKey = cf.ObjectKeyOfRow27																and cf.TableName = '''28 + @TableName + '''29																and cf.ColumnName = ''' + x.ColumnName + '''30				where cf.ObjectKeyOfRow is null31				 and ' + dbo.QBM_FSQFunctionCallModuleOwner32 (@TableName, 'd') +' <> ''CCC''33			)34	 begin35		insert into QBMBufferConfig(UID_QBMBufferConfig, TableName, ColumnName, ObjectKeyOfRow,36									 XDateInserted, XDateUpdated, XUserInserted, XUserUpdated,37									 ContentShort, HasContentFull, ContentFull38									)39			select newid(), '''40 + @TableName + ''', ''' + x.ColumnName + ''', d.XObjectKey,41						getutcdate() , getutcdate(), @ActionUser, @ActionUser,42' + dbo.QBM_FCVStringToIndent43( dbo.QBM_FSQCVColumnToBuffer(@TableName , x.ColumnName, 'd'), 17) + '44			from deleted d join ' + @TableName + ' x on ' + dbo.QBM_FSQTableJoin(@TableName45 , 'd', 'x') + '46			where ' + dbo.QBM_FSQIsNullClauseCmp(@TableName , x.ColumnName, 'd') + ' <> ' + dbo.QBM_FSQIsNullClauseCmp(@TableName , x.ColumnName47, 'x') + '48			and ' + dbo.QBM_FSQFunctionCallModuleOwner (@TableName, 'd') +' <> ''CCC''49			and Not exists (select top 1 1 50							 from QBMBufferConfig cf 51							 where cf.TableName = '''52 + @TableName + '''53							  and cf.ColumnName = ''' + x.ColumnName + ''' 54							  and cf.ObjectKeyOfRow = d.XObjectKey55							 )56	 end --exists something to insert5758	-- something to delete59	if exists (select top 1 160				from deleted d join QBMBufferConfig cf on d.XObjectKey = cf.ObjectKeyOfRow61																and cf.TableName = '''62 + @TableName + '''63																and cf.ColumnName = ''' + x.ColumnName + '''64				where ' + dbo.QBM_FSQFunctionCallModuleOwner (@TableName, 'd') +65' <> ''CCC''66			)67	 begin68	 69	 		delete QBMBufferConfig70			from deleted d  join ' + @TableName + ' x on ' + dbo.QBM_FSQTableJoin(@TableName , 'd',71 'x') + '72						join QBMBufferConfig cf on cf.TableName = ''' + @TableName + '''73												and cf.ColumnName = ''' + x.ColumnName + '''74												and cf.ObjectKeyOfRow = x.XObjectKey75			where '76 + dbo.QBM_FSQIsNullClauseCmp(@TableName , x.ColumnName, 'd') + ' <> ' + dbo.QBM_FSQIsNullClauseCmp(@TableName , x.ColumnName, 'x') + '77				and ' + dbo.QBM_FSQFunctionCallModuleOwner78 (@TableName, 'd') +' <> ''CCC''79				and ' + dbo.QBM_FSQIsNullClauseCmp(@TableName , x.ColumnName, 'x') + ' = ' + dbo.QBM_FSQCVBufferToColumn (@TableName80 , x.ColumnName , 'cf' , 1 ) + '8182	 end --exists something to delete8384 end -- if update(' + x.ColumnName + ')85' )  , N'' )  within group(order by 86x.columnname) from ( select c.ColumnName from DialogColumn c with (readpast) join DialogTable t with (readpast) on c.UID_DialogTable = t.UID_DialogTable87 where t.TableName = @TableName and t.TableType in ('B', 'T') and c.IsCustomConfigurable = 1   and c.UID_DialogColumn not in ( 'QBM-AED774C5BFDF49A1B553D8E25A8124AF'88  , 'QBM-A947BB77A37B41FFA1E3E8706345EF98'  , 'QBM-1FCCC6E144B441CD9CA78A91EC520306'  , 'QBM-03D9D91469004B5FB5589C929EBF58DC'  , 'QBM-EC951E8CE23A4EC78BB15B131F499E01'89  )    and dbo.QBM_FCVGUIDToModuleOwner(c.UID_DialogColumn) <> 'CCC'     union select cb.ColumnName from DialogColumn cv with (readpast) join DialogTable90 v with (readpast) on cv.UID_DialogTable = v.UID_DialogTable join DialogTable b with (readpast) on v.UID_DialogTableBase = b.UID_DialogTable join DialogColumn91 cb with (readpast) on b.UID_DialogTable = cb.UID_DialogTable and cv.UID_BaseColumn = cb.UID_DialogColumn where b.TableName = @TableName and b.TableType92 in ('B') and v.TableType in ('V') and cv.IsCustomConfigurable = 1 ) as x if @erg > ' ' begin select @erg = concat(@Header , dbo.QBM_FCVStringToIndent(93 @erg , 2) , @Footer ) end endLabel: return(@erg) end 94