UFN_REVENUE_GETNEXTTRANSACTIONDATE_BYINSTALLMENTS
Return
Return Type |
---|
datetime |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@INSTALLMENTS | smallint | IN | |
@FREQUENCY | int | IN | |
@NEXTSCHEDULEDDATE | datetime | IN |
Definition
Copy
create function dbo.UFN_REVENUE_GETNEXTTRANSACTIONDATE_BYINSTALLMENTS
(
@INSTALLMENTS SMALLINT,
@FREQUENCY INT,
@NEXTSCHEDULEDDATE datetime
)
returns datetime
begin
declare @RETVAL datetime = @NEXTSCHEDULEDDATE;
if @FREQUENCY = 0 --ANNUALLY
set @RETVAL = dateadd(yyyy, @INSTALLMENTS, @RETVAL)
if @FREQUENCY = 1 --SEMI-ANNUALLY
set @RETVAL = dateadd(m, 6 * @INSTALLMENTS, @RETVAL)
if @FREQUENCY = 2 --QUARTYERLY
set @RETVAL = dateadd(q, @INSTALLMENTS, @RETVAL)
if @FREQUENCY = 3 --MONTHLY
set @RETVAL = dateadd(m, @INSTALLMENTS, @RETVAL)
if @FREQUENCY = 6 --BIMONTHLY
set @RETVAL = dateadd(m, 2 * @INSTALLMENTS, @RETVAL)
if @FREQUENCY = 7 --SEMI-MONTHLY
set @RETVAL = dateadd(d, 15 * @INSTALLMENTS, @RETVAL)
if @FREQUENCY = 8 --BIWEEKLY
set @RETVAL = dateadd(d, 14 * @INSTALLMENTS, @RETVAL)
if @FREQUENCY = 9 --WEEKLY
set @RETVAL = dateadd(d, 7 * @INSTALLMENTS, @RETVAL)
return @RETVAL;
end