USP_DATAFORMTEMPLATE_EDITLOAD_PATTERNBLOCK
The load procedure used by the edit dataform template "Pattern Block 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 | Block |
@PATTERNID | uniqueidentifier | INOUT | |
@TIMETABLEID | uniqueidentifier | INOUT | |
@USEPERIODS | bit | INOUT | USEPERIODS |
@MEETINGS | xml | INOUT | Meetings |
@COLORSTYLE | int | INOUT | Color |
@INUSE | bit | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_PATTERNBLOCK(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@TSLONG bigint = 0 output,
@NAME nvarchar(100) = null output,
@PATTERNID uniqueidentifier = null output,
@TIMETABLEID uniqueidentifier = null output,
@USEPERIODS bit = null output,
@MEETINGS xml = null output,
@COLORSTYLE int = 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
set @USEPERIODS = 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 = PATTERNBLOCK.TSLONG,
@NAME = PATTERNBLOCK.NAME,
@PATTERNID = PATTERNBLOCK.PATTERNID,
@TIMETABLEID = PATTERN.TIMETABLEID,
@USEPERIODS = case when TIMETABLE.SCHEDULETIMECODE = 0 then 1 else 0 end,
@MEETINGS = dbo.UFN_PATTERNBLOCK_GETPATTERNBLOCKMEETINGS_TOITEMLISTXML(@ID),
@COLORSTYLE = PATTERNBLOCK.COLORSTYLECODE,
@INUSE = case when exists(select 1 from dbo.CLASSMEETINGGROUP where PATTERNBLOCKID = @ID) then 1 else 0 end
from dbo.PATTERNBLOCK
inner join PATTERN on PATTERN.ID = PATTERNBLOCK.PATTERNID
inner join TIMETABLE on PATTERN.TIMETABLEID = TIMETABLE.ID
where PATTERNBLOCK.ID = @ID
return 0;