UFN_CHARGE_GETDEFAULTDUEDATE
Returns the charge default due date
Return
Return Type |
---|
date |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CHARGEDATE | date | IN |
Definition
Copy
CREATE function dbo.UFN_CHARGE_GETDEFAULTDUEDATE
(
@CHARGEDATE date
)
returns date
with execute as caller
as begin
declare @DUEDATE date
declare @DEFAULTDUEDATE bit
declare @DEFAULTTYPECODE tinyint
declare @NUMBEROFDAYS int
declare @SPECIFIEDDAY int
declare @SPECIFIEDMONTHCODE tinyint
if not @CHARGEDATE is null
begin
select @DEFAULTDUEDATE=DEFAULTDUEDATE, @DEFAULTTYPECODE=DEFAULTTYPECODE, @NUMBEROFDAYS=NUMBEROFDAYS, @SPECIFIEDDAY=SPECIFIEDDAY, @SPECIFIEDMONTHCODE=SPECIFIEDMONTHCODE from dbo.CHARGEDEFAULTS
if @DEFAULTDUEDATE=1
begin
if @DEFAULTTYPECODE=0
begin
Set @DUEDATE=DATEADD("day", @NUMBEROFDAYS, @CHARGEDATE)
end
if @DEFAULTTYPECODE=1
begin
if @SPECIFIEDDAY=29
begin
set @DUEDATE=DATEADD("month", 1, @CHARGEDATE)
if @SPECIFIEDMONTHCODE<>0
set @DUEDATE=DATEADD("month", 1, @DUEDATE)
set @DUEDATE=DATEADD("day", - DAY(@CHARGEDATE), @DUEDATE)
end
else
begin
set @DUEDATE=DATEADD("day", @SPECIFIEDDAY - DAY(@CHARGEDATE), @CHARGEDATE)
if @SPECIFIEDMONTHCODE<>0
set @DUEDATE=DATEADD("month", 1, @DUEDATE)
end
end
if @DEFAULTTYPECODE=2
begin
Set @DUEDATE=DATEADD("month", 1, @CHARGEDATE)
end
end
end
return @DUEDATE
end