USP_DATAFORMTEMPLATE_VIEW_DISCOUNT

The load procedure used by the view dataform template "Discount 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.
@NAME nvarchar(100) INOUT Name
@DESCRIPTION nvarchar(255) INOUT Description
@DISCOUNTTYPE nvarchar(50) INOUT Discount type
@DISCOUNTTYPECODE tinyint INOUT Discount type
@APPLIESTO nvarchar(50) INOUT Applies to
@APPLICATIONTYPECODE tinyint INOUT Selected for use label
@APPLIESTOCODE tinyint INOUT Applies to
@APPLICATIONTYPE nvarchar(50) INOUT Selected for use
@CALCULATIONTYPE nvarchar(50) INOUT Calculation type
@AMOUNT decimal(18, 2) INOUT Value
@LIMITDISCOUNTSPERORDER bit INOUT Discount may be applied
@NUMBEROFDISCOUNTSPERORDER int INOUT times
@ISACTIVE bit INOUT Status
@CALCULATIONTYPECODE tinyint INOUT Calculation type code
@APPLIESTOTICKETS bit INOUT Tickets
@APPLIESTOMERCHANDISE bit INOUT Merchandise
@DISCOUNTGROUPDETAILAPPLICATIONCODE tinyint INOUT DISCOUNTGROUPDETAILAPPLICATIONCODE
@QUALIFYINGITEMTYPECODE tinyint INOUT QUALIFYINGITEMTYPECODE
@DISCOUNTITEMTYPECODE tinyint INOUT DISCOUNTITEMTYPECODE
@QUALIFYINGGROUPDETAILAPPLICATIONCODE tinyint INOUT QUALIFYINGGROUPDETAILAPPLICATIONCODE

Definition

Copy


                CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_DISCOUNT
                (
                    @ID uniqueidentifier,
                    @DATALOADED bit = 0 output,
                    @NAME nvarchar(100) = null output,
                    @DESCRIPTION nvarchar(255) = null output,
                    @DISCOUNTTYPE nvarchar(50) = null output,
                    @DISCOUNTTYPECODE tinyint=null output,
                    @APPLIESTO nvarchar(50) = null output,
                    @APPLICATIONTYPECODE tinyint=null output,
                    @APPLIESTOCODE tinyint=null output,
                    @APPLICATIONTYPE nvarchar(50) = null output,
                    @CALCULATIONTYPE nvarchar(50) = null output,
                    @AMOUNT decimal(18 ,2) = null output,
                    @LIMITDISCOUNTSPERORDER bit = null output,
                    @NUMBEROFDISCOUNTSPERORDER int = null output,
                    @ISACTIVE bit = null output,
                    @CALCULATIONTYPECODE tinyint = null output,
                    @APPLIESTOTICKETS bit = null output,
                    @APPLIESTOMERCHANDISE bit = null output,
                    @DISCOUNTGROUPDETAILAPPLICATIONCODE tinyint = null output,
                    @QUALIFYINGITEMTYPECODE tinyint = null output,
                    @DISCOUNTITEMTYPECODE tinyint = null output,
                    @QUALIFYINGGROUPDETAILAPPLICATIONCODE tinyint = null output
                )
                as
                    set nocount on;

                    set @DATALOADED = 0;

                    select
                        @DATALOADED = 1,
                        @NAME = NAME,
                        @DESCRIPTION = [DESCRIPTION],
                        @DISCOUNTTYPE = DISCOUNTTYPE,
                        @DISCOUNTTYPECODE = DISCOUNTTYPECODE,
                        @APPLIESTO = APPLIESTO,
                        @APPLIESTOCODE = APPLIESTOCODE,
                        @APPLICATIONTYPECODE = APPLICATIONTYPECODE,
                        @APPLICATIONTYPE = APPLICATIONTYPE,
                        @CALCULATIONTYPE = CALCULATIONTYPE,
                        @AMOUNT = (case
                                        when [APPLIESTOCODE] = 0 and [DISCOUNTTYPECODE] = 0 then
                                            case [CALCULATIONTYPECODE]
                                                when 0 then
                                                    [AMOUNT]
                                                else
                                                    [PERCENT]
                                            end
                                        else
                                            0
                                    end),
                        @LIMITDISCOUNTSPERORDER = LIMITDISCOUNTSPERORDER,
                        @NUMBEROFDISCOUNTSPERORDER = NUMBEROFDISCOUNTSPERORDER,
                        @ISACTIVE = ISACTIVE,
                        @CALCULATIONTYPECODE = [CALCULATIONTYPECODE],
                        @APPLIESTOMERCHANDISE = APPLIESTOMERCHANDISE,
                        @APPLIESTOTICKETS = APPLIESTOTICKETS,
                        @QUALIFYINGITEMTYPECODE = QUALIFYINGITEMTYPECODE,
                        @DISCOUNTITEMTYPECODE = DISCOUNTITEMTYPECODE
                    from
                        dbo.DISCOUNT
                    where
                        ID = @ID;

                    select top 1 @DISCOUNTGROUPDETAILAPPLICATIONCODE = DISCOUNTGROUPDETAIL.DISCOUNTGROUPDETAILAPPLICATIONCODE
                    from dbo.DISCOUNTGROUPDETAIL
                    inner join dbo.DISCOUNTGROUP
                        on DISCOUNTGROUP.ID = DISCOUNTGROUPDETAIL.DISCOUNTGROUPID
                    where DISCOUNTGROUPDETAIL.DISCOUNTEDITEM = 1
                        and DISCOUNTGROUPDETAIL.DISCOUNTGROUPDETAILAPPLICATIONCODE <> 3
                        and DISCOUNTGROUP.DISCOUNTID = @ID

                    select top 1 @QUALIFYINGGROUPDETAILAPPLICATIONCODE = DISCOUNTGROUPDETAIL.DISCOUNTGROUPDETAILAPPLICATIONCODE
                    from dbo.DISCOUNTGROUPDETAIL
                    inner join dbo.DISCOUNTGROUP
                        on DISCOUNTGROUP.ID = DISCOUNTGROUPDETAIL.DISCOUNTGROUPID
                    where DISCOUNTGROUPDETAIL.DISCOUNTEDITEM = 0
                        and DISCOUNTGROUPDETAIL.DISCOUNTGROUPDETAILAPPLICATIONCODE <> 3
                        and DISCOUNTGROUP.DISCOUNTID = @ID                        

                    return 0;