USP_GLFISCALYEAR_EDITLOAD

The load procedure used by the edit dataform template "Fiscal Year Edit Form"

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter used to load the fields defined on the form.
@DATALOADED bit INOUT Output parameter indicating whether or not data was actually loaded.
@YEARID nvarchar(12) INOUT Fiscal year
@DESCRIPTION nvarchar(60) INOUT Description
@FISCALPERIODSINYEAR tinyint INOUT Number of periods
@STATUSCODE tinyint INOUT Status
@FISCALYEARPERIODS xml INOUT Periods
@NEXTFISCALYEARID nvarchar(12) INOUT Year ID
@FIRSTENDDATE datetime INOUT First end date
@FIRSTSTARTDATE datetime INOUT First start date
@TSLONG bigint INOUT Output parameter indicating the TSLONG value of the record being edited. This is used to manage multi-user concurrency issues when multiple users access the same record.

Definition

Copy


CREATE procedure dbo.USP_GLFISCALYEAR_EDITLOAD
(
    @ID uniqueidentifier,
    @DATALOADED bit = 0 output,
    @YEARID nvarchar(12) = null output,
    @DESCRIPTION nvarchar(60) = null output,
    @FISCALPERIODSINYEAR tinyint = null output,
    @STATUSCODE tinyint = null output,
    @FISCALYEARPERIODS xml = null output,
    @NEXTFISCALYEARID nvarchar(12) = null output,
    @FIRSTENDDATE datetime = null output,
    @FIRSTSTARTDATE datetime = null output,
    @TSLONG bigint = 0 output
)
as
    set nocount on;
    set @DATALOADED = 0;

    select
        @DATALOADED = 1,
        @YEARID=GLFISCALYEAR.YEARID, 
        @DESCRIPTION = GLFISCALYEAR.DESCRIPTION,
        @FISCALPERIODSINYEAR=GLFISCALYEAR.FISCALPERIODSINYEAR ,
        @STATUSCODE = GLFISCALYEAR.STATUSCODE, 
        @FISCALYEARPERIODS = dbo.UFN_GLFISCALYEAR_PERIODS_TOITEMLISTXML(GLFISCALYEAR.ID),
        @NEXTFISCALYEARID = ISNULL(FY2.YEARID, ''),
        @FIRSTENDDATE = (SELECT TOP 1 ENDDATE FROM dbo.GLFISCALPERIOD WHERE GLFISCALYEARID = FY2.ID ORDER BY ENDDATE ASC),
        @TSLONG = GLFISCALYEAR.TSLONG,
        @FIRSTSTARTDATE = case when not GLFISCALYEAR.PREVIOUSYEARID is null then 
                            (SELECT STARTDATE FROM dbo.GLFISCALPERIOD WHERE GLFISCALYEARID = GLFISCALYEAR.ID AND SEQUENCE = 1)
                          else
                            Null
                          end
    from dbo.GLFISCALYEAR
        left outer join dbo.GLFISCALYEAR FY2 ON FY2.PREVIOUSYEARID = GLFISCALYEAR.ID
    where
        GLFISCALYEAR.ID = @ID
    return 0;