﻿ALTER PROCEDURE [dbo].[sp_DASInsert]
			 @SerialNumber			nvarchar(50) = null
			,@Type					int
			,@MaxModules			int
			,@MaxMemory				bigint
			,@MaxSampleRate			decimal(18,0)
			,@MinSampleRate			decimal(18,0)
			,@FirmwareVersion		nvarchar(50)
			,@CalDate				datetime
			,@ProtocolVersion		int
			,@LastModified			datetime
			,@LastModifiedBy		nvarchar(50)
			,@Version				int
			,@LocalOnly				bit
			,@LastUsed				datetime
			,@LastUsedBy			nvarchar(50)
			,@Connection			nvarchar(50)
			,@Channels				int
			,@Position				nvarchar(50)
			,@ChannelTypes			nvarchar(255)
			,@Reprogramable			bit
			,@Reconfigurable		bit
			,@IsModule				bit
			,@PositionOnDistributor	smallint
			,@PositionOnChain		smallint	
			,@Port					smallint	
			,@ParentDAS				nvarchar(50)
			,@FirstUseDate          datetime null
			,@TestId                int null
			,@GroupId               int null
			,@StandIn               bit null
			,@new_id				int				OUTPUT
			,@errorNumber			int				output
			,@errorMessage			nvarchar(250)	output 

AS
BEGIN
	set @errorNumber = 0 
	set @errorMessage = space(0)

	SET NOCOUNT ON;
	if(@SerialNumber is null)
	begin 
		RAISERROR(15600,-1,-1, 'sp_DASInsert') /* Error 1560 - An invalid parameter or option was specified for procedure*/
	end
	else
	begin
		INSERT INTO [dbo].[DAS]
				([SerialNumber]
				,[Type]
				,[MaxModules]
				,[MaxMemory]
				,[MaxSampleRate]
				,[MinSampleRate]
				,[FirmwareVersion]
				,[CalDate]
				,[ProtocolVersion]
				,[LastModified]
				,[LastModifiedBy]
				,[Version]
				,[LocalOnly]
				,[LastUsed]
				,[LastUsedBy]
				,[Connection]
				,[Channels]
				,[Position]
				,[ChannelTypes]
				,[Reprogramable]
				,[Reconfigurable]
				,[IsModule]
				,[PositionOnDistributor]
				,[PositionOnChain]
				,[Port]
				,[ParentDAS]
				,[FirstUseDate])
		 VALUES
			   ( @SerialNumber
				,@Type				
				,@MaxModules		
				,@MaxMemory			
				,@MaxSampleRate		
				,@MinSampleRate		
				,@FirmwareVersion	
				,@CalDate			
				,@ProtocolVersion	
				,@LastModified		
				,@LastModifiedBy	
				,@Version			
				,@LocalOnly			
				,@LastUsed			
				,@LastUsedBy		
				,@Connection		
				,@Channels			
				,@Position			
				,@ChannelTypes		
				,@Reprogramable		
				,@Reconfigurable	
				,@IsModule
				,@PositionOnDistributor	
				,@PositionOnChain		
				,@Port					
				,@ParentDAS
				,@FirstUseDate)

		set @new_id = scope_identity();
	end
END
