USP_GLFISCALYEAR_CREATEENTRY

The save procedure used by the add dataform template "Fiscal Year Add Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@YEARID nvarchar(12) IN Fiscal year
@DESCRIPTION nvarchar(60) IN Description
@FISCALPERIODSINYEAR tinyint IN Number of periods
@FISCALYEARPERIODS xml IN Periods

Definition

Copy


CREATE procedure dbo.USP_GLFISCALYEAR_CREATEENTRY
(
    @ID uniqueidentifier = null output,
    @CHANGEAGENTID uniqueidentifier = null,
    @YEARID nvarchar(12) = '',
    @DESCRIPTION nvarchar(60) = '',
    @FISCALPERIODSINYEAR tinyint = 12,
    @FISCALYEARPERIODS xml = null

    as

    set nocount on;

    if @ID is null
        set @ID = newid();

    declare @CURRENTDATE datetime;
    declare @SEQUENCE int;

    if @CHANGEAGENTID is null  
        exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

    set @CURRENTDATE = getdate();

    select @SEQUENCE = max(YEARSEQUENCE) + 1 from dbo.GLFISCALYEAR 
    if @SEQUENCE is null
        Set @SEQUENCE = 1

    begin try

    insert into dbo.GLFISCALYEAR 
        (ID, YEARID, DESCRIPTION, FISCALPERIODSINYEAR, YEARSEQUENCE, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED) 
    values (@ID, @YEARID, @DESCRIPTION, @FISCALPERIODSINYEAR, @SEQUENCE, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);

    if @FISCALYEARPERIODS is not null
        exec dbo.USP_GLFISCALYEAR_PERIODS_ADDFROMXML @ID, @FISCALYEARPERIODS, @CHANGEAGENTID, @CURRENTDATE

  if not exists (select CLOSED from dbo.UFN_GLFISCALYEAR_PERIODS_FROMITEMLISTXML(@FISCALYEARPERIODS) where CLOSED = 0)
    update dbo.GLFISCALYEAR set STATUSCODE = 2 where ID = @ID

    end try

    begin catch
        exec dbo.USP_RAISE_ERROR;
        return 1;
    end catch

    return 0;