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