IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sp_TemplateChannelsUpdateInsert]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[sp_TemplateChannelsUpdateInsert] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sp_TemplateChannelsUpdateInsert]') AND type in (N'P', N'PC')) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[sp_TemplateChannelsUpdateInsert] AS' END GO ALTER PROCEDURE [dbo].[sp_TemplateChannelsUpdateInsert] @TemplateId int = 0 ,@TemplateChannelId int = 0 ,@TestObjectNumber varchar(50) ,@NameOfTheChannel varchar(100) ,@LaboratoryChannelCode nvarchar(50) ,@CustomerChannelCode nvarchar(50) ,@Comments1 nvarchar(50) ,@Location nvarchar(50) ,@Dimension nvarchar(50) ,@Direction nvarchar(50) ,@ChannelFrequencyClass nvarchar(50) ,@Unit nvarchar(50) ,@ReferenceSystem nvarchar(50) ,@TransducerType nvarchar(50) ,@TransducerId nvarchar(50) ,@PreFilterType nvarchar(50) ,@CutOffFrequency nvarchar(50) ,@ChannelAmplitudeClass nvarchar(50) ,@ReferenceChannel nvarchar(50) ,@ReferenceChannelName nvarchar(50) ,@DataSource nvarchar(50) ,@DataStatus nvarchar(50) ,@SamplingInterval nvarchar(50) ,@BitResolution nvarchar(50) ,@TimeOfFirstSample nvarchar(50) ,@NumberOfSamples nvarchar(50) ,@OffsetPostTest nvarchar(50) ,@TransducerNaturalFrequency nvarchar(50) ,@TransducerDampingRatio nvarchar(50) ,@Comments nvarchar(50) ,@FirstGlobalMaximumValue nvarchar(50) ,@TimeOfMaximumValue nvarchar(50) ,@FirstGlobalMinimumValue nvarchar(50) ,@TimeOfMinimumValue nvarchar(50) ,@StartOffsetInterval nvarchar(50) ,@EndOffsetInterval nvarchar(50) ,@Required bit ,@LocalOnly bit ,@MMEChannelId bigint ,@MMEChannelType int ,@TemplateName nvarchar(255) ,@DisplayOrder int ,@new_id int output ,@errorNumber int output ,@errorMessage nvarchar(250) output AS BEGIN set @errorNumber = 0 set @errorMessage = space(0) if(@TemplateId =0) begin set @TemplateId = dbo.foo_IdGetTemplate(@TemplateName) end if(@TemplateChannelId !=0 and exists(select * from [dbo].[TemplateChannels] where TemplateId = @TemplateId and NameOfTheChannel = @NameOfTheChannel)) begin exec [dbo].[sp_TemplateChannelsUpdate] @TemplateId ,@TemplateChannelId ,@TestObjectNumber ,@NameOfTheChannel ,@LaboratoryChannelCode ,@CustomerChannelCode ,@Comments1 ,@Location ,@Dimension ,@Direction ,@ChannelFrequencyClass ,@Unit ,@ReferenceSystem ,@TransducerType ,@TransducerId ,@PreFilterType ,@CutOffFrequency ,@ChannelAmplitudeClass ,@ReferenceChannel ,@ReferenceChannelName ,@DataSource ,@DataStatus ,@SamplingInterval ,@BitResolution ,@TimeOfFirstSample ,@NumberOfSamples ,@OffsetPostTest ,@TransducerNaturalFrequency ,@TransducerDampingRatio ,@Comments ,@FirstGlobalMaximumValue ,@TimeOfMaximumValue ,@FirstGlobalMinimumValue ,@TimeOfMinimumValue ,@StartOffsetInterval ,@EndOffsetInterval ,@Required ,@LocalOnly ,@MMEChannelId ,@MMEChannelType ,@TemplateName ,@DisplayOrder ,@errorNumber output ,@errorMessage output end else begin exec [dbo].[sp_TemplateChannelsInsert] @TemplateId ,@TestObjectNumber ,@NameOfTheChannel ,@LaboratoryChannelCode ,@CustomerChannelCode ,@Comments1 ,@Location ,@Dimension ,@Direction ,@ChannelFrequencyClass ,@Unit ,@ReferenceSystem ,@TransducerType ,@TransducerId ,@PreFilterType ,@CutOffFrequency ,@ChannelAmplitudeClass ,@ReferenceChannel ,@ReferenceChannelName ,@DataSource ,@DataStatus ,@SamplingInterval ,@BitResolution ,@TimeOfFirstSample ,@NumberOfSamples ,@OffsetPostTest ,@TransducerNaturalFrequency ,@TransducerDampingRatio ,@Comments ,@FirstGlobalMaximumValue ,@TimeOfMaximumValue ,@FirstGlobalMinimumValue ,@TimeOfMinimumValue ,@StartOffsetInterval ,@EndOffsetInterval ,@Required ,@LocalOnly ,@MMEChannelId ,@MMEChannelType ,@TemplateName ,@DisplayOrder ,@new_id output ,@errorNumber output ,@errorMessage output end END GO