IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sp_DASGet]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[sp_DASGet] 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_DASGet]') AND type in (N'P', N'PC')) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[sp_DASGet] AS' END GO ALTER PROCEDURE [dbo].[sp_DASGet] @SerialNumber nvarchar(50) = null ,@position varchar(10) = null AS BEGIN SET NOCOUNT ON; SELECT [DASId] ,[SerialNumber] ,[Type] ,[MaxModules] ,[MaxMemory] ,[MaxSampleRate] ,[MinSampleRate] ,[FirmwareVersion] ,[CalDate] ,[ProtocolVersion] ,[LastModified] ,[LastModifiedBy] ,[Version] ,[LocalOnly] ,[LastUsed] ,[LastUsedBy] ,[Connection] ,[Channels] ,[Position] ,[ChannelTypes] ,[Reprogramable] ,[Reconfigurable] ,[IsModule] ,isnull([PositionOnDistributor], 0) as [PositionOnDistributor] ,isnull([PositionOnChain], 0) as [PositionOnChain] ,isnull([Port],0) as [Port] ,isnull([ParentDAS], space(0)) as [ParentDAS] FROM [dbo].[DAS] where (@SerialNumber is null or DASId = dbo.foo_IdGetDAS(@SerialNumber)) and Position = case when @position is null then space(0) else @position end END GO