USP_FENXT_IMPORTFISCALYEARS

Parameters

Parameter Parameter Type Mode Description
@CHANGEAGENTID uniqueidentifier IN
@PDACCOUNTSYSTEMID uniqueidentifier IN

Definition

Copy


       create procedure dbo.USP_FENXT_IMPORTFISCALYEARS
        (
          @CHANGEAGENTID uniqueidentifier = null,
          @PDACCOUNTSYSTEMID uniqueidentifier)
       as
       begin

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

         declare @CURRENTDATE datetime;
         set @CURRENTDATE = getdate();

         declare @errMsg as nvarchar(2000);

         begin transaction FISCALYEARIMPORT
           save transaction FISCALYEARIMPORT
           begin try

             insert into dbo.GLFISCALYEAR 
               (ID, YEARID, DESCRIPTION, FISCALPERIODSINYEAR, YEARSEQUENCE, STATUSCODE, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED) 
               (select 
                 newID(),
                 FENXTFISCALYEARSTAGING.YEARID,
                 FENXTFISCALYEARSTAGING.DESCRIPTION,
                 FENXTFISCALYEARSTAGING.NUMBEROFFISCALPERIODS,
                 FENXTFISCALYEARSTAGING.YEARSEQUENCE,
                 case FENXTFISCALYEARSTAGING.STATUS when 'Purged' then 4 when 'Closed' then 3 else 1 end,
                 @CHANGEAGENTID,
                 @CHANGEAGENTID,
                 @CURRENTDATE,
                 @CURRENTDATE
               from dbo.FENXTFISCALYEARSTAGING)

             insert into dbo.FENXTFISCALYEAR
               (ID,
                GLFISCALYEARID,
                FENXTFISCALYEARID,
                ADDEDBYID,
                CHANGEDBYID,
                DATEADDED,
                DATECHANGED)
               (select 
                 newId(),
                 GLFISCALYEAR.ID,
                 FENXTFISCALYEARSTAGING.FENXTFISCALYEARID,
                 @CHANGEAGENTID,
                 @CHANGEAGENTID,
                 @CURRENTDATE,
                 @CURRENTDATE
               from dbo.GLFISCALYEAR
                 inner join FENXTFISCALYEARSTAGING on GLFISCALYEAR.YEARID=FENXTFISCALYEARSTAGING.YEARID)

              exec dbo.USP_FENXT_ADDFENXTFISCALPERIODS @CHANGEAGENTID, 0

              update dbo.FENXTINTEGRATION 
              set 
                SYNCFISCALYEAR = 1,
                CHANGEDBYID = @CHANGEAGENTID,
                DATECHANGED = @CURRENTDATE
              where PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID;

            end try
            begin catch 

              set @errMsg =ERROR_MESSAGE()
              rollback transaction FISCALYEARIMPORT
              exec dbo.USP_RAISE_ERROR

            end catch;

          commit transaction FISCALYEARIMPORT

        end