UFN_PDACCOUNTSYSTEM_GETDEFAULTSYSTEMIDSFORUSER
Returns default accounting system ID for user.
Return
Return Type |
---|
uniqueidentifier |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CURRENTAPPUSERID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_PDACCOUNTSYSTEM_GETDEFAULTSYSTEMIDSFORUSER
(
@CURRENTAPPUSERID uniqueidentifier
)
returns uniqueidentifier
with execute as caller
as begin
declare @RESULT as uniqueidentifier = null
if exists(select PDACCOUNTSYSTEMID from APPUSERACCOUNTSYSTEM T1 inner join UFN_PDACCOUNTSYSTEM_GETSYSTEMIDSFORUSER(@CURRENTAPPUSERID) T2 on T1.PDACCOUNTSYSTEMID = T2.ID where T1.APPUSERID = @CURRENTAPPUSERID)
select @RESULT = PDACCOUNTSYSTEMID from APPUSERACCOUNTSYSTEM where APPUSERID = @CURRENTAPPUSERID
else
select top 1 @RESULT = ID from
(
select
T1.ID as ID,T1.DATEADDED
from dbo.PDACCOUNTSYSTEM as T1
inner join dbo.PDACCOUNTSYSTEMSITE as T2 on T1.ID = T2.PDACCOUNTSYSTEMID
inner join dbo.UFN_SITESFORUSER(@CURRENTAPPUSERID) as T3 ON T3.SITEID=T2.SITEID
where T1.ISBASICGL = 1
union
select
ID as ID,DATEADDED
from dbo.PDACCOUNTSYSTEM
where ISBASICGL = 1 and ISDEFAULT = 1 and (select count(*) from dbo.UFN_SITESFORUSER(@CURRENTAPPUSERID)) = 0
union
select
ID as ID,DATEADDED
from dbo.PDACCOUNTSYSTEM
where ISBASICGL = 1 and dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1
union
select
ID as ID,DATEADDED
from dbo.PDACCOUNTSYSTEM
where ((select count(id) from SYSTEMROLEAPPUSER where SECURITYMODECODE = 0 and APPUSERID = @CURRENTAPPUSERID) > 0)
) AccountSystemTable order by DATEADDED
return @RESULT
end