USP_DATAFORMTEMPLATE_ADD_SALESORDERITEMRE7EVENTREGISTRATION

The save procedure used by the add dataform template "Order RE7 Event Registration Add Data Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@SALESORDERID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@AMOUNT money IN Amount
@QUANTITY decimal(18, 0) IN Quantity
@DESCRIPTION nvarchar(255) IN Description
@DATA xml IN Data
@OPTIONS xml IN Options
@CALLBACKURL nvarchar(255) IN Callback URL
@SYSTEMTYPENAME nvarchar(255) IN System Type Name
@ASSEMBLYNAME nvarchar(255) IN Assembly Name
@ATTRIBUTES xml IN Attributes
@CATEGORYNAME nvarchar(255) IN Category Name
@GROUPID uniqueidentifier IN Event ID
@EVENTID uniqueidentifier IN Event ID
@ACKNOWLEDGEMENT nvarchar(max) IN Acknowledgement
@PRICINGSTRUCTURECODE tinyint IN Pricing Structure Code
@FLATRATEPRICE money IN Flat Rate Price

Definition

Copy

                CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_SALESORDERITEMRE7EVENTREGISTRATION
                (
                @ID uniqueidentifier = null output,
                    @SALESORDERID uniqueidentifier,
                    @CHANGEAGENTID uniqueidentifier = null,
                    @AMOUNT money,
                    @QUANTITY decimal = 1,
                    @DESCRIPTION nvarchar(255) = null,
                    @DATA xml = null,
                    @OPTIONS xml = null,
                    @CALLBACKURL nvarchar(255) = null,
                    @SYSTEMTYPENAME nvarchar(255) = null,
                    @ASSEMBLYNAME nvarchar(255) = null,
                    @ATTRIBUTES xml = null,
                    @CATEGORYNAME nvarchar(255) = null,
                    @GROUPID uniqueidentifier = null,
                    @EVENTID uniqueidentifier = null,
                    @ACKNOWLEDGEMENT nvarchar(max) = null,
          @PRICINGSTRUCTURECODE tinyint = null,
          @FLATRATEPRICE money = null
                )
                as

                set nocount on;

                if @ID is null
                    set @ID = newid()

                if @CHANGEAGENTID is null  
                    exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output

                declare @CURRENTDATE datetime
                set @CURRENTDATE = getdate()

                begin try
                    -- handle inserting the data
                    if (select STATUSCODE from dbo.SALESORDER where ID = @SALESORDERID) <> 0
                        raiserror('ERR_ORDERNOTPENDING', 13, 1);

                    if @EVENTID is not null and (@DESCRIPTION is null or LEN(@DESCRIPTION) = 0)
                            set @DESCRIPTION = dbo.UFN_EVENT_GETNAME(@EVENTID)

                    insert into dbo.SALESORDERITEM
                        (
                            ID, 
                            SALESORDERID, 
                            TYPECODE, 
                            DESCRIPTION, 
                            QUANTITY, 
                            PRICE, 
                            ADDEDBYID, 
                            CHANGEDBYID, 
                            DATEADDED, 
                            DATECHANGED,
                            DATA,
                            OPTIONS,
                            CALLBACKURL,
                            SYSTEMTYPENAME,
                            ASSEMBLYNAME,
                            ATTRIBUTES,
                            CATEGORYNAME,
                            ACKNOWLEDGEMENT,
              PRICINGSTRUCTURECODE,
              FLATRATEPRICE
                        )
                        values
                        (
                            @ID
                            @SALESORDERID
                            6
                            @DESCRIPTION
                            @QUANTITY
                            @AMOUNT,
                            @CHANGEAGENTID
                            @CHANGEAGENTID
                            @CURRENTDATE
                            @CURRENTDATE,
                            @DATA,
                            @OPTIONS,
                            @CALLBACKURL,
                            @SYSTEMTYPENAME,
                            @ASSEMBLYNAME,
                            @ATTRIBUTES,
                            @CATEGORYNAME,
                            @ACKNOWLEDGEMENT,
              @PRICINGSTRUCTURECODE,
              @FLATRATEPRICE
                        )

                    insert into dbo.SALESORDERITEMGROUP
                        (
                            ID,
                            GROUPID,
                            ADDEDBYID, 
                            CHANGEDBYID, 
                            DATEADDED, 
                            DATECHANGED
                        )
                        values
                        (
                            @ID,
                            @GROUPID,
                            @CHANGEAGENTID
                            @CHANGEAGENTID
                            @CURRENTDATE
                            @CURRENTDATE
                        )


                end try

                begin catch
                    exec dbo.USP_RAISE_ERROR
                    return 1
                end catch

                return 0