UFN_REVENUEINFORMATION_GETSPLITS
Returns the splits for a given revenue record based on the source.
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@REVENUEID | uniqueidentifier | IN | |
@INFORMATIONSOURCECODE | tinyint | IN | |
@CURRENTAPPUSERID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_REVENUEINFORMATION_GETSPLITS
(
@REVENUEID uniqueidentifier,
@INFORMATIONSOURCECODE tinyint, -- 0 is the revenue table, 1 is the batch revenue table
@CURRENTAPPUSERID uniqueidentifier = null
)
returns @REVENUESPLIT table
(
ID uniqueidentifier,
REVENUEID uniqueidentifier
)
as begin
if @INFORMATIONSOURCECODE = 0
insert into @REVENUESPLIT
(
ID,
REVENUEID
)
select REVENUESPLIT.ID,
@REVENUEID
from dbo.REVENUESPLIT
where REVENUESPLIT.REVENUEID = @REVENUEID;
else if @INFORMATIONSOURCECODE = 1
begin
if ((select TYPECODE from dbo.BATCHREVENUE where ID = @REVENUEID) = 1)
begin
insert into @REVENUESPLIT
(
ID,
REVENUEID
)
select APPLICATIONS.ID,
@REVENUEID
from dbo.UFN_REVENUEBATCH_GETSPLITS(@REVENUEID) as APPLICATIONS
where (not APPLICATIONS.ID in (select ID from @REVENUESPLIT));
end
else
begin
insert into @REVENUESPLIT
(
ID,
REVENUEID
)
(select ADDITIONALAPPLICATIONS.ID,
@REVENUEID
from dbo.UFN_REVENUEBATCH_GETADDITIONALAPPLICATIONS(@REVENUEID) as ADDITIONALAPPLICATIONS
union
select APPLICATIONSWITHCHILDREN.ID,
@REVENUEID
from UFN_REVENUEBATCH_GETAPPLICATIONSWITHCHILDREN(@REVENUEID) as APPLICATIONSWITHCHILDREN
where (APPLICATIONSWITHCHILDREN.APPLIED != 0));
-- single payment application, get split from revenuesplit table
insert into @REVENUESPLIT
(
ID,
REVENUEID
)
select REVENUESPLIT.ID,
@REVENUEID
from dbo.REVENUESPLIT
where REVENUESPLIT.REVENUEID = (select SINGLEAPPLICATIONID from dbo.UFN_REVENUEBATCH_GETSINGLEAPPLICATIONINFO(@REVENUEID));
end
end
return;
end