ALTER PROCEDURE dbo.CustomBDC
(@SiteCode nvarchar(255),
@OfficeType nvarchar(255),
@Region nvarchar(255),
@ServerModel nvarchar(50),
@Domain nvarchar(255),
@MachineName nvarchar(7),
@InsBegDt smalldatetime(4),
@InsEndDt smalldatetime(4),
@ShipBegDt smalldatetime(4),
@ShipEndDt smalldatetime(4))
AS
SET NOCOUNT ON
SELECT dbo.TokenRing_BDCs.Site_Code,
dbo.TokenRing_BDCs.Office_type,
dbo.TokenRing_BDCs.Address,
dbo.TokenRing_BDCs.City,
dbo.TokenRing_BDCs.State,
dbo.TokenRing_BDCs.Zip,
dbo.TokenRing_BDCs.Pri_Contact,
dbo.TokenRing_BDCs.Pri_Phone,
dbo.TokenRing_BDCs.Sec_Contact,
dbo.TokenRing_BDCs.Sec_Phone,
dbo.TokenRing_BDCs.Site_Name,
dbo.TokenRing_BDCs.Server_Model,
dbo.TokenRing_BDCs.Est_ShipDate,
dbo.TokenRing_BDCs.Installation_Date,
dbo.TokenRing_BDCs.Domain,
dbo.TokenRing_BDCs.MachineName,
dbo.Site.sRegion
FROM dbo.Site LEFT OUTER JOIN
dbo.TokenRing_BDCs ON dbo.Site.sSiteCode = dbo.TokenRing_BDCs.Site_Code
WHERE(dbo.TokenRing_BDCs.Office_type = COALESCE (@OfficeType, dbo.TokenRing_BDCs.Office_type)) AND (dbo.Site.sRegion = COALESCE (@Region, dbo.Site.sRegion)) AND(dbo.TokenRing_BDCs.Server_Model = COALESCE (@ServerModel, dbo.TokenRing_BDCs.Server_Model)) AND (dbo.TokenRing_BDCs.Domain = COALESCE (@Domain, dbo.TokenRing_BDCs.Domain)) AND(dbo.TokenRing_BDCs.MachineName = COALESCE (@MachineName, dbo.TokenRing_BDCs.MachineName)) AND
(dbo.TokenRing_BDCs.Installation_Date BETWEEN COALESCE (@InsBegDt, dbo.TokenRing_BDCs.Installation_Date) AND COALESCE (@InsEndDt,dbo.TokenRing_BDCs.Installation_Date)) AND (dbo.TokenRing_BDCs.Est_ShipDate BETWEEN COALESCE (@ShipBegDt,dbo.TokenRing_BDCs.Est_ShipDate) AND COALESCE (@ShipEndDt, dbo.TokenRing_BDCs.Est_ShipDate)) AND
(dbo.TokenRing_BDCs.Site_Code = COALESCE (@SiteCode, dbo.TokenRing_BDCs.Site_Code))