USP_DATAFORMTEMPLATE_EDITLOAD_CYCLE
The load procedure used by the edit dataform template "Cycle Edit Data 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. |
@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. |
@NAME | nvarchar(100) | INOUT | Name |
@DESCRIPTION | nvarchar(255) | INOUT | Description |
@CYCLEDAYS | xml | INOUT | Cycle day |
@INUSE | bit | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_CYCLE(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@TSLONG bigint = 0 output,
@NAME nvarchar(100) = null output,
@DESCRIPTION nvarchar(255) = null output,
@CYCLEDAYS xml = null output,
@INUSE bit = null output
)
as
set nocount on;
-- be sure to set these, in case the select returns no rows
set @DATALOADED = 0
set @TSLONG = 0
-- populate the output parameters, which correspond to fields on the form. Note that
-- we set @DATALOADED = 1 to indicate that the load was successful. Otherwise, the system
-- will display a "no data loaded" message. Also note that we fetch the TSLONG so that concurrency
-- can be considered.
select
@DATALOADED = 1,
@TSLONG = CYCLE.TSLONG,
@NAME = CYCLE.NAME,
@DESCRIPTION = CYCLE.DESCRIPTION,
@CYCLEDAYS = dbo.UFN_CYCLEDAY_GETCYCLEDAY_TOITEMLISTXML(@ID),
@INUSE = case when exists (
select 1
from dbo.TIMETABLE
inner join dbo.SESSION on TIMETABLE.ID = SESSION.TIMETABLEID
where TIMETABLE.CYCLEID = @ID)
then 1 else 0 end
from dbo.CYCLE
where CYCLE.ID = @ID
return 0;