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;