USP_GLFISCALYEAR_DELETE

Executes the "Fiscal Year: Delete" record operation.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN Input parameter indicating the ID of the record being deleted.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the delete.

Definition

Copy


CREATE procedure USP_GLFISCALYEAR_DELETE
(
    @ID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier = null
)
as
    set nocount on;

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

    -- Validate no activity exists before deleting --

    if exists(
        Select * from GLTRANSACTION 
        where POSTDATE >= (select MIN(Startdate) from GLFISCALPERIOD where GLFISCALYEARID = @ID)
        and POSTDATE <= (select MAX(EndDate) from GLFISCALPERIOD where GLFISCALYEARID = @ID) )
        RAISERROR('TRANEXISTS', 16, 10)

    if exists(select 1 from dbo.GLFISCALYEAR where PREVIOUSYEARID is null and ID = @ID)
    begin
        update dbo.GLFISCALYEAR set PREVIOUSYEARID = null where PREVIOUSYEARID = @ID;

        update dbo.GLFISCALYEAR set YEARSEQUENCE = (YEARSEQUENCE - 1);
    end

    exec dbo.USP_GLFISCALYEAR_DELETEBYID_WITHCHANGEAGENTID @ID, @CHANGEAGENTID;
    return 0;