USP_DATAFORMTEMPLATE_VIEW_SCHOOLDETAILS

The load procedure used by the view dataform template "School details view"

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.
@NAME nvarchar(100) INOUT Name
@SCHOOLGRADELEVELS nvarchar(max) INOUT Grade levels
@GENDER nvarchar(100) INOUT School gender
@COMMENT nvarchar(20) INOUT Grade comment entry
@WEBADDRESS UDT_WEBADDRESS INOUT Website
@SCHOOLID uniqueidentifier INOUT SCHOOLID

Definition

Copy


        CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_SCHOOLDETAILS
        (
            @ID uniqueidentifier,
            @DATALOADED bit = 0 output,
            @NAME nvarchar(100) = null output,
            @SCHOOLGRADELEVELS nvarchar(max) = null output,
            @GENDER nvarchar(100) = null output,
            @COMMENT nvarchar(20) = null output,
            @WEBADDRESS dbo.UDT_WEBADDRESS = null output,
            @SCHOOLID uniqueidentifier = null output
        )
        as
            set nocount on;

            -- be sure to set this, in case the select returns no rows

            set @DATALOADED = 0;

          set @SCHOOLID = @ID;

            -- 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.

            select @DATALOADED = 1,
                 @NAME = dbo.CONSTITUENT.KEYNAME,
                 @GENDER = dbo.SCHOOL.GENDER,
                @COMMENT = dbo.SCHOOL.COMMENT,
                 @WEBADDRESS = dbo.CONSTITUENT.WEBADDRESS,
                 @SCHOOLGRADELEVELS = (select stuff((select '; ' + GRADELEVEL.ABBREVIATION
                                       from dbo.SCHOOLGRADELEVEL 
                                            join GRADELEVEL on SCHOOLGRADELEVEL.GRADELEVELID = GRADELEVEL.ID
                                       where SCHOOLGRADELEVEL.SCHOOLID = @ID
                                       order by GRADELEVEL.SEQUENCE
                                       for xml path(''), type).value('.', 'nvarchar(max)'), 1, 2, ''))
            from dbo.SCHOOL
              inner join dbo.CONSTITUENT
                  on dbo.SCHOOL.ID = dbo.CONSTITUENT.ID
            where dbo.SCHOOL.ID = @ID

            return 0;