Back to OIM Explorer

dbo.QER_PSQRiskIndexGetUpdate

Stored ProcedureSQL_STORED_PROCEDURESandbox DB

Stored Procedure.

Source: sandbox-db sys.sql_modules

Source size: 9.587 characters

Interpretation

  • Database routine. Review parameters, called procedures, DBQueue inserts, and QBM_PJobCreate helper calls before assuming side effects.

Relations

  • No extracted relations.

Typed Edges

  • references source dbo.QBM_FGICodeName source text reference

Complete Source

SQL324 lines
1CREATE PROCEDURE QER_PSQRiskIndexGetUpdate(2  @uid_dialogcolumn varchar(38),3  @SQLProcedure nvarchar(max) OUTPUT4)5AS6BEGIN7  DECLARE @targettable nvarchar(32)8  DECLARE @TargetColumn nvarchar(32)9  DECLARE @UID_TargetTable varchar(38)10  DECLARE @IsValidClause BIT = 011  SELECT12    TOP 1 @targettable = t.TableName,13    @TargetColumn = c.ColumnName,14    @UID_TargetTable = c.UID_DialogTable15  FROM dbo.DialogColumn c16    WITH(readpast)17  JOIN dbo.DialogTable t18    WITH(readpast)19    ON c.UID_DialogTable = t.UID_DialogTable20  WHERE21    c.UID_DialogColumn = @UID_DialogColumn22  DECLARE @IsToReduce BIT23  DECLARE @ColumnReduceBase nvarchar(32)24  SELECT @isToReduce = 025  SELECT @ColumnReduceBase = N ''26  IF @TargetColumn = 'RiskIndexReduced'27  BEGIN28    SELECT @isToReduce = 129    SELECT TOP 1 @ColumnReduceBase = columnname30    FROM dbo.DialogColumn c31    WHERE32      columnname IN('RiskIndex',33    'RiskIndexCalculated') AND c.UID_DialogTable = @UID_TargetTable34  END35  DECLARE @erg nvarchar(max)36  DECLARE @body1 nvarchar(max)37  DECLARE @body2 nvarchar(max)38  DECLARE @HilfsViewName Nvarchar(64) =39  LEFT(CONCAT('TST_FTemporaryElement', reverse(dbo.QBM_FGICodeName('V', NEWID()))),40  30)41  IF @isToReduce = 142  BEGIN43    SELECT44      @body1 =N '45insert into #DeltaQERRiskIndex (XObjectKey, NewValue)46      select z.XObjectKey, 4748--update %TargetTable%49--	set %TargetColumn% = case 50--							when '51      + @ColumnReduceBase + ' - y.SourceValue < 0.0 then 0.052--							when ' + @ColumnReduceBase + ' - y.SourceValue > 1.0 then 1.053--							else '54      + @ColumnReduceBase + ' - y.SourceValue 55--						 end5657						case 58							when ' + @ColumnReduceBase + ' - y.SourceValue < 0.0 then 0.059							when '60      + @ColumnReduceBase + ' - y.SourceValue > 1.0 then 1.061							else ' + @ColumnReduceBase + ' - y.SourceValue 62						 end as Newvalue63	from %TargetTable% z with (readpast) /* hier bei 438165 Zugriff auf Elemente aus QBMDBQueueCurrent */ 64		join 65	(66	select x.ObjectKeyTarget , MAX(x.SourceValue) as SourceValue67						 '68  END69  ELSE70  BEGIN71    SELECT72      @body1 =N '73insert into #DeltaQERRiskIndex (XObjectKey, NewValue)74      select z.XObjectKey, y.SourceValue7576--update %TargetTable%77--	set %TargetColumn% = y.SourceValue78	from %TargetTable% z with (readpast) /* hier bei 438165 Zugriff auf Elemente aus QBMDBQueueCurrent */ 79		join 80	(81	select x.ObjectKeyTarget , case 82							   when sum(x.SourceValue) < 0.0 then 0.083							   when sum(x.SourceValue) > 1.0 then 1.084							   else sum(x.SourceValue)85						   end as SourceValue 86	'87  END88  SELECT89    @body1 = @body1 + N '90	 from (91			-- common fallback clause92			select XObjectKey as ObjectKeyTarget, 0.0 as SourceValue93				from %TargetTable%  with (readpast) /* hier bei 438165 Zugriff auf Elemente aus QBMDBQueueCurrent */ 94			-- / common fallback clause95'96  IF @isToReduce = 197  BEGIN98    SELECT99      @body2 =N '100			) as x101		group by x.ObjectKeyTarget102	) as y on z.XObjectKey = y.ObjectKeyTarget103  where %TargetColumn% <> case 104							when '105      + @ColumnReduceBase + ' - y.SourceValue < 0.0 then 0.0106							when ' + @ColumnReduceBase + ' - y.SourceValue > 1.0 then 1.0107							else ' + @ColumnReduceBase108      + ' - y.SourceValue 109						 end110		'111  END112  ELSE113  BEGIN114    SELECT115      @body2 =N '116			) as x117		group by x.ObjectKeyTarget118	) as y on z.XObjectKey = y.ObjectKeyTarget119  where z.%TargetColumn% <> y.SourceValue120		'121  END122  DECLARE @KernelPattern nvarchar(max)123  SELECT124    @KernelPattern = N '125 			union all 126 		/*127		%DisplayValue% 		128		*/129		  select v.ObjectKeyTarget, %TypeOfCalculation%(v.SourceValue) * (%Gewicht%) / (%GewichtSumme%) as SourceValue130		   from (131--				  select '''' as ObjectKeyTarget, 0.0 as SourceValue	132--					union all '133    + N '134					-- CustomerQuery135#Selection#136					 from (					137							%Kundenselect%138							) as w139					-- / CustomerQuery140				) as v 141			group by v.ObjectKeyTarget142'143  DECLARE @SelectMitConvert nvarchar(max) = '					select convert(varchar(138), ObjectKeyTarget) as ObjectKeyTarget144						, convert(float, SourceValue) as SourceValue'145  DECLARE @SelectOhneConvert nvarchar(max) = '					select ObjectKeyTarget as ObjectKeyTarget, SourceValue as SourceValue'146  DECLARE @SQLViewTest nvarchar(max)147  DECLARE @KernelPattern2 nvarchar(max)148  DECLARE @Kernel nvarchar(max)149  SELECT @Kernel = N ''150  DECLARE @SubKernel nvarchar(max) = N ''151  DECLARE @UID_QERRiskIndex varchar(38)152  DECLARE @Weight float153  DECLARE @QueryString nvarchar(max)154  DECLARE @TypeOfCalculation nvarchar(3)155  DECLARE @DisplayValue nvarchar(256)156  DECLARE @Ersatz TABLE(UID_QERRiskIndex varchar(38) collate database_default,157  Weight float,158  QueryString nvarchar(max) collate database_default,159  TypeOfCalculation nvarchar(3) collate database_default,160  DisplayValue nvarchar(256) collate database_default)161  DECLARE @SummeGewicht float162  SELECT @SummeGewicht = 0.0163  INSERT INTO @Ersatz(UID_QERRiskIndex,164  Weight,165  QueryString,166  TypeOfCalculation,167  DisplayValue)168  SELECT169    ri.UID_QERRiskIndex,170    ri.Weight,171    replace(ri.QueryString,172    nchar(13) + nchar(10),173    nchar(13) + nchar(10) +nchar(9) + nchar(9) + nchar(9) + nchar(9) + nchar(9) + nchar(9) + nchar(9)),174    ri.TypeOfCalculation,175    isnull(ri.Displayvalue,176    'Display ')177  FROM dbo.QERRiskIndex ri178  WHERE179    ri.uid_DialogColumn = @uid_DialogColumn AND ri.IsInActive = 0 AND(isnull(ri.Weight, 0.0) > 0.0 OR @isToReduce = 1)180  ORDER BY uid_DialogColumn181  SELECT @UID_QERRiskIndex = '#'182  WHILE @UID_QERRiskIndex > ' '183  BEGIN184    SELECT @UID_QERRiskIndex = NULL185    SELECT186      TOP 1 @UID_QERRiskIndex = e.UID_QERRiskIndex,187      @Weight = e.Weight,188      @QueryString = e.QueryString,189      @TypeOfCalculation = e.TypeOfCalculation,190      @DisplayValue = e.DisplayValue191    FROM @Ersatz e192    IF @UID_QERRiskIndex IS NULL193    BEGIN194      CONTINUE195    END196    SELECT197      @SQLViewTest = CONCAT('create or alter view ',198      @HilfsViewName,199      '200as ',201      @QueryString)202    EXEC sp_executesql @SQLViewTest203    IF EXISTS(204      SELECT TOP 1 1205      FROM INFORMATION_SCHEMA.COLUMNS c206      WHERE207        c.TABLE_NAME = @HilfsViewName AND c.COLUMN_NAME = 'ObjectKeyTarget' AND c.DATA_TYPE = 'varchar' AND c.CHARACTER_MAXIMUM_LENGTH <= 138) AND208    EXISTS(209    SELECT TOP 1 1210    FROM INFORMATION_SCHEMA.COLUMNS c211    WHERE212      c.TABLE_NAME = @HilfsViewName AND c.COLUMN_NAME = 'SourceValue' AND c.DATA_TYPE IN('float', 'real',213    'numeric', 'int'))214    BEGIN215      SELECT216        @KernelPattern2 = REPLACE(@KernelPattern,217        '#Selection#',218        @SelectOhneConvert)219    END220    ELSE221    BEGIN222      SELECT223        @KernelPattern2 = REPLACE(@KernelPattern,224        '#Selection#',225        @SelectMitConvert)226    END227    SELECT228      @SQLViewTest = CONCAT('drop view if exists ',229      @HilfsViewName)230    EXEC sp_executesql @SQLViewTest231    IF @TypeOfCalculation IN('MX1')232    BEGIN233      SELECT @IsValidClause = 1234      SELECT235        @SubKernel = @SubKernel + replace(replace(replace(replace(replace(replace(@KernelPattern2, N '%Gewicht%',236        STR(@weight, 12, 10)), N '%TypeOfCalculation%', 'MAX'), N '%Kundenselect%', @QueryString), N '%DisplayValue%',237        @DisplayValue + N ', Calculated as MAX_special'), N '%GewichtSumme%', N '1.0'),238        nchar(13) +nchar(10),239        nchar(13) +nchar(10) +nchar(9) +nchar(9) +nchar(9))240    END241    IF @TypeOfCalculation IN('AV1')242    BEGIN243      SELECT @IsValidClause = 1244      SELECT245        @SubKernel = @SubKernel + replace(replace(replace(replace(replace(replace(@KernelPattern2, N '%Gewicht%',246        STR(@weight, 12, 10)), N '%TypeOfCalculation%', 'AVG'), N '%Kundenselect%', @QueryString), N '%DisplayValue%',247        @DisplayValue + N ', Calculated as AVG_special'), N '%GewichtSumme%', N '1.0'),248        nchar(13) +nchar(10),249        nchar(13) +nchar(10) +nchar(9) +nchar(9) +nchar(9))250    END251    IF @TypeOfCalculation IN('MAX',252    'AVG')253    BEGIN254      SELECT @IsValidClause = 1255      SELECT @SummeGewicht = @SummeGewicht + @Weight256      SELECT257        @Kernel = @Kernel + replace(replace(replace(replace(@KernelPattern2, N '%Gewicht%', STR(@weight,258        12, 10)), N '%TypeOfCalculation%', @TypeOfCalculation), N '%Kundenselect%', @QueryString),259        N '%DisplayValue%',260        @DisplayValue+ N ', Calculated as ' + @TypeOfCalculation)261    END262    IF @TypeOfCalculation IN('INC',263    'DEC')264    BEGIN265      SELECT @IsValidClause = 1266      SELECT267        @Kernel = @Kernel + replace(replace(replace(replace(replace(@KernelPattern2, N '%GewichtSumme%',268        N '1.0'), N '%TypeOfCalculation%(v.SourceValue)', STR(@weight, 12, 10)), N '%Kundenselect%', @QueryString),269        N '%Gewicht%', CASE @TypeOfCalculation270        WHEN 'INC' THEN271        N '1.0'272      ELSE N '-1.0'273      END),274      N '%DisplayValue%',275      @DisplayValue+ N ', Calculated as ' + @TypeOfCalculation)276    END277    IF @TypeOfCalculation IN('RED')278    BEGIN279      SELECT @IsValidClause = 1280      SELECT281        @Kernel = @Kernel + replace(replace(replace(replace(replace(@KernelPattern2, N '%GewichtSumme%',282        N '1.0'), N '%TypeOfCalculation%', N 'SUM'), N '%Kundenselect%', @QueryString), N '%Gewicht%', N '1.0'),283        N '%DisplayValue%',284        @DisplayValue+ N ', Calculated as ' + @TypeOfCalculation)285    END286    DELETE @Ersatz287    WHERE288      UID_QERRiskIndex = @UID_QERRiskIndex289  END290  IF @SubKernel > ' '291  BEGIN292    SELECT293      @Kernel = @Kernel + N '294 			union all 295 		--------------------------------------------------------------296		-- Special Maximum of parts 		297 		--------------------------------------------------------------298		  select w.ObjectKeyTarget, MAX(w.SourceValue) as SourceValue299		   from (300				  select '''' as ObjectKeyTarget, 0.0 as SourceValue	301'302      + @subKernel + N '303				) as w 304			group by w.ObjectKeyTarget305 		--------------------------------------------------------------306		-- / Special Maximum of parts 		307 		--------------------------------------------------------------308'309  END310  IF @SummeGewicht = 0.0311  BEGIN312    SELECT @SummeGewicht = 1.0313  END314  SELECT315    @erg = replace(replace(@body1, N '%TargetTable%', @targettable),316    N '%TargetColumn%',317    @TargetColumn) + replace(@Kernel,318    N '%GewichtSumme%',319    STR(@SummeGewicht, 12, 10)) + replace(replace(@body2, N '%TargetTable%', @targettable),320    N '%TargetColumn%',321    @TargetColumn)322  SELECT @SQLProcedure = @erg323  RETURN324END
Open raw exported source
SQL ยท Raw141 lines
1   create   procedure QER_PSQRiskIndexGetUpdate( @uid_dialogcolumn varchar(38) , @SQLProcedure nvarchar(max) output ) as begin  declare @targettable2 nvarchar(32) declare @TargetColumn nvarchar(32) declare @UID_TargetTable varchar(38)  declare @IsValidClause bit = 0 select top 1 @targettable = t.TableName3 , @TargetColumn = c.ColumnName , @UID_TargetTable = c.UID_DialogTable from dbo.DialogColumn c with (readpast) join dbo.DialogTable t with (readpast) on4 c.UID_DialogTable = t.UID_DialogTable where c.UID_DialogColumn = @UID_DialogColumn declare @IsToReduce bit declare @ColumnReduceBase nvarchar(32) select5 @isToReduce = 0 select @ColumnReduceBase = N'' if @TargetColumn = 'RiskIndexReduced' begin select @isToReduce = 1 select top 1 @ColumnReduceBase = columnname6 from dbo.DialogColumn c where columnname in ('RiskIndex', 'RiskIndexCalculated') and c.UID_DialogTable = @UID_TargetTable end declare @erg nvarchar(max7) declare @body1 nvarchar(max) declare @body2 nvarchar(max) declare @HilfsViewName Nvarchar(64) =  left(concat('TST_FTemporaryElement', reverse(dbo.QBM_FGICodeName8('V', NEWID()) )), 30) if @isToReduce = 1 begin  select @body1 =N'9insert into #DeltaQERRiskIndex (XObjectKey, NewValue)10      select z.XObjectKey, 1112--update %TargetTable%13--	set %TargetColumn% = case 14--							when '15 + @ColumnReduceBase + ' - y.SourceValue < 0.0 then 0.016--							when ' + @ColumnReduceBase + ' - y.SourceValue > 1.0 then 1.017--							else ' + @ColumnReduceBase18 + ' - y.SourceValue 19--						 end2021						case 22							when ' + @ColumnReduceBase + ' - y.SourceValue < 0.0 then 0.023							when ' + @ColumnReduceBase24 + ' - y.SourceValue > 1.0 then 1.025							else ' + @ColumnReduceBase + ' - y.SourceValue 26						 end as Newvalue27	from %TargetTable% z with (readpast) /* hier bei 438165 Zugriff auf Elemente aus QBMDBQueueCurrent */ 28		join 29	(30	select x.ObjectKeyTarget , MAX(x.SourceValue) as SourceValue31						 '32 end else begin  select @body1 =N'33insert into #DeltaQERRiskIndex (XObjectKey, NewValue)34      select z.XObjectKey, y.SourceValue3536--update %TargetTable%37--	set %TargetColumn% = y.SourceValue38	from %TargetTable% z with (readpast) /* hier bei 438165 Zugriff auf Elemente aus QBMDBQueueCurrent */ 39		join 40	(41	select x.ObjectKeyTarget , case 42							   when sum(x.SourceValue) < 0.0 then 0.043							   when sum(x.SourceValue) > 1.0 then 1.044							   else sum(x.SourceValue)45						   end as SourceValue 46	'47 end select @body1 = @body1 + N'48	 from (49			-- common fallback clause50			select XObjectKey as ObjectKeyTarget, 0.0 as SourceValue51				from %TargetTable%  with (readpast) /* hier bei 438165 Zugriff auf Elemente aus QBMDBQueueCurrent */ 52			-- / common fallback clause53'54  if @isToReduce = 1 begin  select @body2 =N'55			) as x56		group by x.ObjectKeyTarget57	) as y on z.XObjectKey = y.ObjectKeyTarget58  where %TargetColumn% <> case 59							when '60 + @ColumnReduceBase + ' - y.SourceValue < 0.0 then 0.061							when ' + @ColumnReduceBase + ' - y.SourceValue > 1.0 then 1.062							else ' + @ColumnReduceBase63 + ' - y.SourceValue 64						 end65		' end else begin  select @body2 =N'66			) as x67		group by x.ObjectKeyTarget68	) as y on z.XObjectKey = y.ObjectKeyTarget69  where z.%TargetColumn% <> y.SourceValue70		'71 end declare @KernelPattern nvarchar(max) select @KernelPattern = N'72 			union all 73 		/*74		%DisplayValue% 		75		*/76		  select v.ObjectKeyTarget, %TypeOfCalculation%(v.SourceValue) * (%Gewicht%) / (%GewichtSumme%) as SourceValue77		   from (78--				  select '''' as ObjectKeyTarget, 0.0 as SourceValue	79--					union all '80  + N'81					-- CustomerQuery82#Selection#83					 from (					84							%Kundenselect%85							) as w86					-- / CustomerQuery87				) as v 88			group by v.ObjectKeyTarget89'90 declare @SelectMitConvert nvarchar(max) = '					select convert(varchar(138), ObjectKeyTarget) as ObjectKeyTarget91						, convert(float, SourceValue) as SourceValue'92 declare @SelectOhneConvert nvarchar(max) = '					select ObjectKeyTarget as ObjectKeyTarget, SourceValue as SourceValue' declare @SQLViewTest nvarchar(max93) declare @KernelPattern2 nvarchar(max)  declare @Kernel nvarchar(max) select @Kernel = N'' declare @SubKernel nvarchar(max) = N'' declare @UID_QERRiskIndex94 varchar(38) declare @Weight float declare @QueryString nvarchar(max) declare @TypeOfCalculation nvarchar(3) declare @DisplayValue nvarchar(256) declare95 @Ersatz table ( UID_QERRiskIndex varchar(38) collate database_default , Weight float , QueryString nvarchar(max) collate database_default , TypeOfCalculation96 nvarchar(3) collate database_default , DisplayValue nvarchar(256) collate database_default ) declare @SummeGewicht float select @SummeGewicht = 0.0  insert97 into @Ersatz( UID_QERRiskIndex , Weight , QueryString , TypeOfCalculation , DisplayValue ) select ri.UID_QERRiskIndex , ri.Weight  , replace(ri.QueryString98, nchar(13) + nchar(10), nchar(13) + nchar(10) +nchar(9) + nchar(9) + nchar(9) + nchar(9) + nchar(9) + nchar(9) + nchar(9)) , ri.TypeOfCalculation , isnull99(ri.Displayvalue, 'Display ' ) from dbo.QERRiskIndex ri where ri.uid_DialogColumn = @uid_DialogColumn and ri.IsInActive = 0 and ( isnull(ri.Weight, 0.0100) > 0.0 or @isToReduce = 1 ) order by uid_DialogColumn select @UID_QERRiskIndex = '#' while @UID_QERRiskIndex > ' ' BEGIN select @UID_QERRiskIndex = null101 select top 1 @UID_QERRiskIndex = e.UID_QERRiskIndex , @Weight = e.Weight , @QueryString = e.QueryString , @TypeOfCalculation = e.TypeOfCalculation , @DisplayValue102 = e.DisplayValue from @Ersatz e if @UID_QERRiskIndex is null begin continue end   select @SQLViewTest = concat('create or alter view ', @HilfsViewName103, '104as ' , @QueryString) exec sp_executesql @SQLViewTest if exists (select top 1 1 from INFORMATION_SCHEMA.COLUMNS c where c.TABLE_NAME = @HilfsViewName105 and c.COLUMN_NAME = 'ObjectKeyTarget' and c.DATA_TYPE = 'varchar' and c.CHARACTER_MAXIMUM_LENGTH <= 138 ) and exists (select top 1 1 from INFORMATION_SCHEMA.COLUMNS106 c where c.TABLE_NAME = @HilfsViewName and c.COLUMN_NAME = 'SourceValue' and c.DATA_TYPE in ( 'float', 'real', 'numeric', 'int') ) begin  select @KernelPattern2107 = REPLACE(@KernelPattern, '#Selection#', @SelectOhneConvert) end else begin select @KernelPattern2 = REPLACE(@KernelPattern, '#Selection#', @SelectMitConvert108) end  select @SQLViewTest = concat('drop view if exists ', @HilfsViewName) exec sp_executesql @SQLViewTest  if @TypeOfCalculation in ('MX1')  begin select109 @IsValidClause = 1 select @SubKernel = @SubKernel + replace(replace(replace(replace(replace(replace(@KernelPattern2, N'%Gewicht%', STR(@weight, 12,10)110), N'%TypeOfCalculation%', 'MAX'), N'%Kundenselect%', @QueryString), N'%DisplayValue%', @DisplayValue + N', Calculated as MAX_special') , N'%GewichtSumme%'111, N'1.0'), nchar(13)+nchar(10), nchar(13)+nchar(10)+nchar(9)+nchar(9)+nchar(9)) end if @TypeOfCalculation in ('AV1')  begin select @IsValidClause = 1 select112 @SubKernel = @SubKernel + replace(replace(replace(replace(replace(replace(@KernelPattern2, N'%Gewicht%', STR(@weight, 12,10)), N'%TypeOfCalculation%',113 'AVG'), N'%Kundenselect%', @QueryString), N'%DisplayValue%', @DisplayValue + N', Calculated as AVG_special') , N'%GewichtSumme%', N'1.0'), nchar(13)+nchar114(10), nchar(13)+nchar(10)+nchar(9)+nchar(9)+nchar(9)) end if @TypeOfCalculation in ('MAX', 'AVG') begin select @IsValidClause = 1 select @SummeGewicht 115= @SummeGewicht + @Weight select @Kernel = @Kernel + replace(replace(replace(replace(@KernelPattern2, N'%Gewicht%', STR(@weight, 12,10)), N'%TypeOfCalculation%'116, @TypeOfCalculation), N'%Kundenselect%', @QueryString), N'%DisplayValue%', @DisplayValue+ N', Calculated as ' + @TypeOfCalculation) end if @TypeOfCalculation117 in ('INC', 'DEC') begin select @IsValidClause = 1 select @Kernel = @Kernel + replace(replace(replace(replace(replace(@KernelPattern2, N'%GewichtSumme%'118, N'1.0'), N'%TypeOfCalculation%(v.SourceValue)', STR(@weight, 12,10)), N'%Kundenselect%', @QueryString), N'%Gewicht%', case @TypeOfCalculation when 'INC'119 then N'1.0' else N'-1.0' end ), N'%DisplayValue%', @DisplayValue+ N', Calculated as ' + @TypeOfCalculation) end if @TypeOfCalculation in ('RED') begin120 select @IsValidClause = 1 select @Kernel = @Kernel + replace(replace(replace(replace(replace(@KernelPattern2, N'%GewichtSumme%', N'1.0'), N'%TypeOfCalculation%'121, N'SUM'), N'%Kundenselect%', @QueryString), N'%Gewicht%', N'1.0'), N'%DisplayValue%', @DisplayValue+ N', Calculated as ' + @TypeOfCalculation) end delete122  @Ersatz where UID_QERRiskIndex = @UID_QERRiskIndex END if @SubKernel > ' ' begin select @Kernel = @Kernel + N'123 			union all 124 		--------------------------------------------------------------125		-- Special Maximum of parts 		126 		--------------------------------------------------------------127		  select w.ObjectKeyTarget, MAX(w.SourceValue) as SourceValue128		   from (129				  select '''' as ObjectKeyTarget, 0.0 as SourceValue	130'131  + @subKernel + N'132				) as w 133			group by w.ObjectKeyTarget134 		--------------------------------------------------------------135		-- / Special Maximum of parts 		136 		--------------------------------------------------------------137'138 end if @SummeGewicht = 0.0 begin select @SummeGewicht = 1.0 end  select @erg = replace(replace(@body1, N'%TargetTable%', @targettable), N'%TargetColumn%'139, @TargetColumn) + replace(@Kernel, N'%GewichtSumme%' , STR(@SummeGewicht, 12, 10)) + replace(replace(@body2, N'%TargetTable%', @targettable), N'%TargetColumn%'140, @TargetColumn)  select @SQLProcedure = @erg return end 141