USP_DATAFORMTEMPLATE_EDITLOAD_STAFF_RESOURCE

The load procedure used by the edit dataform template "Staff Resource 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.
@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(50) INOUT Name
@DESCRIPTION nvarchar(255) INOUT Description
@QUANTITY int INOUT Quantity available
@CAPACITYPERRESOURCE int INOUT Capacity per resource
@SCREENPLANID uniqueidentifier INOUT Screening plan
@PRICINGSTRUCTURECODE tinyint INOUT Pricing structure
@PRICE money INOUT Cost per resource

Definition

Copy

                CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_STAFF_RESOURCE
                (
                    @ID uniqueidentifier,
                    @DATALOADED bit = 0 output,
                    @TSLONG bigint = 0 output,
                    @NAME nvarchar(50) = null output,
                    @DESCRIPTION nvarchar(255) = null output,
                    @QUANTITY int = null output,
                    @CAPACITYPERRESOURCE int = null output,
                    @SCREENPLANID uniqueidentifier = null output,
                    @PRICINGSTRUCTURECODE tinyint = null output,
                    @PRICE money = 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 = VOLUNTEERTYPE.TSLONG,
                        @NAME = VOLUNTEERTYPE.NAME, 
                        @DESCRIPTION = VOLUNTEERTYPE.DESCRIPTION, 
                        @QUANTITY = VOLUNTEERTYPE.QUANTITY, 
                        @CAPACITYPERRESOURCE = VOLUNTEERTYPE.CAPACITYPERRESOURCE,
                        @SCREENPLANID = VOLUNTEERTYPE.SCREENPLANID,
                        @PRICINGSTRUCTURECODE = COALESCE(VOLUNTEERTYPEPRICING.PRICINGSTRUCTURECODE, 0),
                        @PRICE = COALESCE(VOLUNTEERTYPEPRICING.PRICE,0)
                    from dbo.VOLUNTEERTYPE
                        left join dbo.VOLUNTEERTYPEPRICING on VOLUNTEERTYPE.ID = VOLUNTEERTYPEPRICING.ID
                    where VOLUNTEERTYPE.ID = @ID

                    return 0;