UFN_OPPORTUNITYAMOUNTBRACKETSGROUP_GETBYSITE
UFN_OPPORTUNITYAMOUNTBRACKETSGROUP_GETBYSITE
Return
Return Type |
---|
uniqueidentifier |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@USERSITEID | uniqueidentifier | IN |
Definition
Copy
create function dbo.UFN_OPPORTUNITYAMOUNTBRACKETSGROUP_GETBYSITE
(
@USERSITEID uniqueidentifier = null
)
returns uniqueidentifier
with execute as caller
as begin
declare @GROUPID uniqueidentifier;
declare @HIERARCHYID hierarchyid;
declare @LEVEL int;
if @USERSITEID is null
begin
select @GROUPID = ID from dbo.OPPORTUNITYAMOUNTBRACKETGROUP
where OPPORTUNITYAMOUNTBRACKETGROUP.ID not in (select distinct OPPORTUNITYAMOUNTBRACKETGROUPID from dbo.OPPORTUNITYAMOUNTBRACKETSITES)
end
else
select
@GROUPID = O.OPPORTUNITYAMOUNTBRACKETGROUPID,
@HIERARCHYID = S.HIERARCHYPATH.GetAncestor(1),
@LEVEL = S.HIERARCHYPATH.GetLevel()
from dbo.SITE S
left join dbo.OPPORTUNITYAMOUNTBRACKETSITES O on S.ID = O.SITEID
where S.ID = @USERSITEID
if @GROUPID is not null
return @GROUPID
else
if @LEVEL > 1
begin
select @USERSITEID = ID from dbo.SITE where HIERARCHYPATH = @HIERARCHYID
set @GROUPID = dbo.UFN_OPPORTUNITYAMOUNTBRACKETSGROUP_GETBYSITE(@USERSITEID)
end
else
begin
select @GROUPID = ID from dbo.OPPORTUNITYAMOUNTBRACKETGROUP
where OPPORTUNITYAMOUNTBRACKETGROUP.ID not in (select distinct OPPORTUNITYAMOUNTBRACKETGROUPID from dbo.OPPORTUNITYAMOUNTBRACKETSITES)
end
return @GROUPID
end