UFN_BANKACCOUNT_PAYMENT_COMBINEACCOUNTCODE
Combine the account code with segments of an account
Return
Return Type |
---|
nvarchar(100) |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@GLACCOUNTID | uniqueidentifier | IN | |
@ACCOUNTCODE | nvarchar(30) | IN |
Definition
Copy
CREATE function dbo.UFN_BANKACCOUNT_PAYMENT_COMBINEACCOUNTCODE
(
@GLACCOUNTID uniqueidentifier,
@ACCOUNTCODE nvarchar(30)
)
returns nvarchar(100)
with execute as caller
as begin
declare @ACCOUNT nvarchar(100) = ''
if @GLACCOUNTID is not null
select @ACCOUNT = @ACCOUNT + CASE WHEN VALUE.PDACCOUNTSTRUCTUREID = '90C72BDA-7994-401B-8A9F-7B36FA65D9FC'
THEN @ACCOUNTCODE
ELSE VALUE.SHORTDESCRIPTION END + SUBSTRING(STRUCT.SEPARATOR, 0, 2)
from dbo.PDACCOUNTSEGMENT SEG
inner join dbo.PDACCOUNTSTRUCTURE STRUCT on SEG.PDACCOUNTSTRUCTUREID = STRUCT.ID
inner join dbo.PDACCOUNTSEGMENTVALUE VALUE on SEG.PDACCOUNTSEGMENTVALUEID = VALUE.ID
where SEG.GLACCOUNTID = @GLACCOUNTID
order by STRUCT.SEQUENCE asc;
else
select @ACCOUNT = @ACCOUNT + ISNULL(CASE WHEN VALUE.PDACCOUNTSTRUCTUREID = '90C72BDA-7994-401B-8A9F-7B36FA65D9FC'
THEN NULL
ELSE VALUE.SHORTDESCRIPTION END, @ACCOUNTCODE) + SUBSTRING(STRUCT.SEPARATOR, 0, 2)
from dbo.PDACCOUNTSTRUCTURE STRUCT
left outer join dbo.PDACCOUNTSEGMENTMAPPING MAP on STRUCT.ID = MAP.PDACCOUNTSTRUCTUREID and MAP.ISDEFAULT = 1
left outer join dbo.PDACCOUNTSEGMENTVALUE VALUE on MAP.PDACCOUNTSEGMENTVALUEID = VALUE.ID
order by STRUCT.SEQUENCE asc;
set @ACCOUNT = SUBSTRING(@ACCOUNT, 0, LEN(@ACCOUNT));
return @ACCOUNT;
end