UFN_SITESFORUSER

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@CURRENTAPPUSERID uniqueidentifier IN

Definition

Copy

create function BBDW.[UFN_SITESFORUSER]
(  
@CURRENTAPPUSERID uniqueidentifier  
)  
returns @T table ([SITEID] uniqueidentifier primary key)  
as  
begin   
/*Return all sites if the application user is a system administrator or is assigned to a role with access to all sites*/  
if exists (select 1 from BBDW.[DIM_APPUSER] where [APPUSERSYSTEMID] = @CURRENTAPPUSERID and [APPUSERISSYSADMIN] = 1)
or exists(SELECT [SYSTEMROLEAPPUSERFACTID] from BBDW.[FACT_SYSTEMROLEAPPUSER] where [APPUSERSYSTEMID] = @CURRENTAPPUSERID and [SITESECURITYMODE] = 0) begin  
 insert into @T(SITEID)   
  select [SITESYSTEMID] as [SITEID] from BBDW.[DIM_SITE];        

 return       
end      

insert into @T(SITEID)  
 select distinct   
  sp.[SITESYSTEMID] as [SITEID]
 from   
  BBDW.[FACT_SITEPERMISSION] sp
  inner join BBDW.[DIM_APPUSER] a on sp.[APPUSERDIMID] = a.[APPUSERDIMID]
 where   
  a.[APPUSERSYSTEMID] = @CURRENTAPPUSERID;       
return   

end;