UFN_PDACCOUNTSYSTEM_GETSYSTEMIDSFORUSERONFEATURE
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CURRENTAPPUSERID | uniqueidentifier | IN | |
@SECURITYFEATUREID | uniqueidentifier | IN | |
@SECURITYFEATURETYPE | int | IN |
Definition
Copy
create function dbo.UFN_PDACCOUNTSYSTEM_GETSYSTEMIDSFORUSERONFEATURE(
@CURRENTAPPUSERID uniqueidentifier,
@SECURITYFEATUREID uniqueidentifier,
@SECURITYFEATURETYPE int
)
returns table
as return
select ID from
(
select
T1.ID as ID
from dbo.PDACCOUNTSYSTEM as T1
inner join dbo.PDACCOUNTSYSTEMSITE as T2 on T1.ID = T2.PDACCOUNTSYSTEMID
inner join dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) as T3 ON T3.SITEID=T2.SITEID
where T1.ISBASICGL = 1
union
select
ID as ID
from dbo.PDACCOUNTSYSTEM
where ISBASICGL = 1 and ISDEFAULT = 1 and (select count(*) from dbo.UFN_SITESFORUSER(@CURRENTAPPUSERID)) = 0
union
select
ID as ID
from dbo.PDACCOUNTSYSTEM
where ISBASICGL = 1 and dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1
union
select
T1.ID as ID
from dbo.PDACCOUNTSYSTEM as T1
left join dbo.PDACCOUNTSYSTEMSITE as T2 on T1.ID = T2.PDACCOUNTSYSTEMID
where ((select count(id)
from SYSTEMROLEAPPUSER
join dbo.V_SECURITY_SYSTEMROLEASSIGNMENT_USER_DATALIST as PERMISSIONS
on PERMISSIONS.SYSTEMROLEID = SYSTEMROLEAPPUSER.SYSTEMROLEID and PERMISSIONS.APPUSERID = SYSTEMROLEAPPUSER.APPUSERID
where (SYSTEMROLEAPPUSER.SECURITYMODECODE = 0 or (SYSTEMROLEAPPUSER.SECURITYMODECODE = 1 and T2.SITEID is null))
and SYSTEMROLEAPPUSER.APPUSERID = @CURRENTAPPUSERID
and PERMISSIONS.DATALISTCATALOGID = @SECURITYFEATUREID) > 0)
union
select
ID as ID
from dbo.PDACCOUNTSYSTEM
where ISBASICGL = 0 and dbo.UFN_INSTALLEDPRODUCTS_PRODUCTIS('F5138EB6-6666-497A-8FB2-BAE24389AAE4') = 1
) AccountSystemTable