UFN_DATE_THISFISCALYEAR_FIRSTDAY

Return

Return Type
datetime

Parameters

Parameter Parameter Type Mode Description
@TODAY datetime IN
@USELATESTTIME bit IN

Definition

Copy


CREATE function dbo.UFN_DATE_THISFISCALYEAR_FIRSTDAY
(
  @TODAY datetime,
  @USELATESTTIME bit
)
returns datetime
with execute as caller
as
begin
  declare @DATE datetime;

  --Check table exists since this FN is platform and that BasicGL is installed

  if object_id(N'dbo.GLFISCALPERIOD', N'U') is not null and dbo.UFN_INSTALLEDPRODUCTS_PRODUCTIS('0e85c527-e6e9-4c5f-a8e8-105fd0e18fe7') = 1
  begin
    declare @TODAYDATE date = cast(@TODAY as date);

    select
      @DATE = min(STARTDATE)
    from
      dbo.GLFISCALPERIOD
    where
      GLFISCALYEARID in (select GLFISCALYEARID from dbo.GLFISCALPERIOD where @TODAYDATE between STARTDATE and ENDDATE);

    if @USELATESTTIME = 1
      set @DATE = dbo.UFN_DATE_GETLATESTTIME(@DATE);

  end
  else
  begin
    select
      @DATE = dateadd(month, (FISCALYEARFINALMONTH + 12 - month(@TODAY)) % 12 - 11, dbo.UFN_DATE_THISMONTH_FIRSTDAY(@TODAY, @USELATESTTIME))
    from
      dbo.INSTALLATIONINFO
    where
      ID = 1;

  end

  return @DATE;
end