USP_DATAFORMTEMPLATE_VIEW_EVENTJOBOCCURRENCEPAGEDATA
The load procedure used by the view dataform template "Event Job Occurrence View 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. |
@STARTDATE | datetime | INOUT | Dates |
@ENDDATE | datetime | INOUT | ENDDATE |
@STARTMONTHDAY | UDT_MONTHDAY | INOUT | Dates |
@ENDMONTHDAY | UDT_MONTHDAY | INOUT | ENDMONTHDAY |
@TYPECODE | tinyint | INOUT | Typecode |
@TYPE | nvarchar(25) | INOUT | Type |
@DAYOFWEEK | nvarchar(15) | INOUT | Day of week |
@VOLUNTEERSNEEDED | int | INOUT | Needed |
@COMMENTS | nvarchar(max) | INOUT | Comments |
@LOCATION | nvarchar(250) | INOUT | Location |
@DEPARTMENT | nvarchar(250) | INOUT | Department |
@SITE | nvarchar(1024) | INOUT | Site |
@SCHEDULESUMMARY | nvarchar(1024) | INOUT | Schedule |
@SCHEDULESUMMARYCOLLECTION | xml | INOUT | Schedule |
@MORETHANFIVE | bit | INOUT | More than five |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_EVENTJOBOCCURRENCEPAGEDATA
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@STARTDATE datetime = null output,
@ENDDATE datetime = null output,
@STARTMONTHDAY dbo.UDT_MONTHDAY = null output,
@ENDMONTHDAY dbo.UDT_MONTHDAY = null output,
@TYPECODE tinyint = null output,
@TYPE nvarchar(25) = null output,
@DAYOFWEEK nvarchar(15) = null output,
@VOLUNTEERSNEEDED int = null output,
@COMMENTS nvarchar(max) = null output,
@LOCATION nvarchar(250) = null output,
@DEPARTMENT nvarchar(250) = null output,
@SITE nvarchar(1024) = null output,
@SCHEDULESUMMARY nvarchar(1024) = null output,
@SCHEDULESUMMARYCOLLECTION xml = null output,
@MORETHANFIVE bit = null output
)
as
set nocount on;
set @DATALOADED = 0;
select @DATALOADED = 1,
@STARTDATE = coalesce([JOBOCCURRENCE].[STARTDATE], [JOBOCCURRENCE].[RECURRENCESTARTDATE]),
@ENDDATE = coalesce([JOBOCCURRENCE].[ENDDATE], [JOBOCCURRENCE].[RECURRENCEENDDATE]),
@STARTMONTHDAY = JOBOCCURRENCE.STARTMONTHDAY,
@ENDMONTHDAY = JOBOCCURRENCE.ENDMONTHDAY,
@TYPECODE = JOBOCCURRENCE.TYPECODE,
@TYPE = JOBOCCURRENCE.TYPE,
@DAYOFWEEK = JOBOCCURRENCE.DAYOFWEEK,
@VOLUNTEERSNEEDED = JOBOCCURRENCE.VOLUNTEERSNEEDED,
@COMMENTS = JOBOCCURRENCE.COMMENTS ,
@LOCATION = LOCATION.DESCRIPTION,
@DEPARTMENT = DEPARTMENT.DESCRIPTION,
@SITE = COALESCE((select [NAME] from dbo.SITE where ID=JOBOCCURRENCE.SITEID), '')
from dbo.JOBOCCURRENCE
left outer join dbo.VOLUNTEERLOCATIONCODE LOCATION
on JOBOCCURRENCE.LOCATIONCODEID = LOCATION.ID
left outer join dbo.DEPARTMENTCODE DEPARTMENT
on JOBOCCURRENCE.DEPARTMENTCODEID = DEPARTMENT.ID
where JOBOCCURRENCE.ID = @ID;
-- build schedule summary
set @MORETHANFIVE = 0
declare @t table (
ASSIGNMENTDATE datetime,
OPENINGS int
);
set nocount off;
insert into @t
select top 6
SCHEDULE.ASSIGNMENTDATE,
SCHEDULE.OPENINGS
from dbo.UFN_JOBOCCURRENCE_SCHEDULE(dbo.UFN_DATE_GETEARLIESTTIME(getdate()), dateadd(yy, 6, getdate()), @ID, null) SCHEDULE;
if @@ROWCOUNT = 6
begin
set @MORETHANFIVE = 1;
delete from @t
where ASSIGNMENTDATE = (select max(ASSIGNMENTDATE) from @t);
end
select
@SCHEDULESUMMARY = replace(dbo.UDA_BUILDLIST(convert(nvarchar(10), ASSIGNMENTDATE, 101 ) + ' Needed: ' + cast(OPENINGS as nvarchar)), '; ', char(10))
from @t;
set @SCHEDULESUMMARYCOLLECTION = (select top 6 ASSIGNMENTDATE, OPENINGS
FROM @t
for xml raw('ITEM'),type,elements,root('SCHEDULESUMMARYCOLLECTION'),BINARY BASE64)
if @MORETHANFIVE = 1
set @SCHEDULESUMMARY = @SCHEDULESUMMARY + char(10) + '...'
return 0;