GO
/****** Object: UserDefinedFunction [dbo].[GetBudgetRoot] Script Date: 10/03/2012 09:39:07 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Gautam>
-- Create date: <Create Date, ,>
-- Description: <Description, To Get the Root ID for Budget Components ,>
--takes Component ID (BudgetHeadID Having ParenID not null) and Returns The Root with parenID Null
-- =============================================
Create FUNCTION [dbo].[GetBudgetRoot](@CompID int)
RETURNS int
AS
BEGIN
-- Declare the return variable here
Declare @RootID int;
-- Add the T-SQL statements to compute the return value here
---Scalar-valued functions may be invoked where scalar expressions are used,
---including computed columns and CHECK constraint definitions. When invoking scalar-valued functions,
-- at minimum use the two-part name of the function.
if ((select ParenID from tbl_BudgetHeadMaster where BudgetHeadMasterID =@CompID )is not null)
begin
set @RootID= (select ParenID from tbl_BudgetHeadMaster where BudgetHeadMasterID =@CompID and ParenID is not null)
set @RootID = dbo.GetBudgetRoot(@RootID)
end
else
begin
set @RootID= @CompID
end
RETURN @RootID;
END
---To Call
Declare @ID int
set @ID= dbo.GetBudgetRoot(119)
select @ID
/****** Object: UserDefinedFunction [dbo].[GetBudgetRoot] Script Date: 10/03/2012 09:39:07 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Gautam>
-- Create date: <Create Date, ,>
-- Description: <Description, To Get the Root ID for Budget Components ,>
--takes Component ID (BudgetHeadID Having ParenID not null) and Returns The Root with parenID Null
-- =============================================
Create FUNCTION [dbo].[GetBudgetRoot](@CompID int)
RETURNS int
AS
BEGIN
-- Declare the return variable here
Declare @RootID int;
-- Add the T-SQL statements to compute the return value here
---Scalar-valued functions may be invoked where scalar expressions are used,
---including computed columns and CHECK constraint definitions. When invoking scalar-valued functions,
-- at minimum use the two-part name of the function.
if ((select ParenID from tbl_BudgetHeadMaster where BudgetHeadMasterID =@CompID )is not null)
begin
set @RootID= (select ParenID from tbl_BudgetHeadMaster where BudgetHeadMasterID =@CompID and ParenID is not null)
set @RootID = dbo.GetBudgetRoot(@RootID)
end
else
begin
set @RootID= @CompID
end
RETURN @RootID;
END
---To Call
Declare @ID int
set @ID= dbo.GetBudgetRoot(119)
select @ID