UFN_GLFISCALYEAR_VALIDYEARENDDATE

Validate that the years end date won't change the following years start to be later than the first periods end date.

Return

Return Type
bit

Parameters

Parameter Parameter Type Mode Description
@PERIODXML xml IN

Definition

Copy


CREATE function dbo.UFN_GLFISCALYEAR_VALIDYEARENDDATE(@PERIODXML xml)
returns bit as
begin
    declare @YEARID uniqueidentifier
    declare @ENDDATE date
    declare @RESULT bit
    set @RESULT = 0

    select @YEARID=GLFISCALYEARID, @ENDDATE=MAX(F1.ENDDATE) 
    from dbo.UFN_GLFISCALYEAR_PERIODS_FROMITEMLISTXML(@PERIODXML) as F1
    inner join GLFISCALPERIOD T1 On F1.ID = T1.ID
    group by GLFISCALYEARID

    if @YEARID is not null 
        select @RESULT = case when ENDDATE <= @ENDDATE then 1 else 0 end
        from GLFISCALPERIOD as t1
        inner join GLFISCALYEAR as t2 on t1.GLFISCALYEARID=t2.ID
        where t2.PREVIOUSYEARID=@YEARID and SEQUENCE=1 

    return @RESULT
end