USP_DATAFORMTEMPLATE_ADD_SALESORDERITEMSPONSORSHIP

The save procedure used by the add dataform template "Sales Order Item Sponsorship 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.
@SPONSORSHIPPROGRAMID uniqueidentifier IN Program
@SPONSORSHIPOPPORTUNITYID uniqueidentifier IN Opportunity
@STARTDATE date IN Start date
@SCHEDULESTARTDATE date IN Schedule start date
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@GIFTRECIPIENTID uniqueidentifier IN Gift recipient
@SPONSORSHIPLOCATIONID uniqueidentifier IN Location
@GENDERCODE tinyint IN Gender
@SPONSORSHIPOPPORTUNITYAGERANGEID uniqueidentifier IN Age range
@ISHIVPOSITIVECODE int IN HIV positive
@HASCONDITIONCODE int IN Disability/Illness
@ISORPHANEDCODE int IN Orphaned
@SPROPPPROJECTCATEGORYCODEID uniqueidentifier IN Category
@ISSOLESPONSORSHIP bit IN Sole sponsorship
@EXPIRATIONDATE date IN Expiration date
@EXPIRATIONREASONID uniqueidentifier IN Expiration reason
@AMOUNT money IN Amount
@FREQUENCYCODE tinyint IN Frequency
@ORDERPAYMENTAMOUNT money IN Order payment amount
@ASSEMBLYNAME nvarchar(255) IN Item assembly name
@SYSTEMTYPENAME nvarchar(255) IN Item system type name
@CATEGORYNAME nvarchar(255) IN Category name
@CALLBACKURL nvarchar(255) IN Call back url
@OPTIONS xml IN Item options
@DATA xml IN Item transaction data
@ATTRIBUTES xml IN Item attributes
@GROUPID uniqueidentifier IN Group Id
@ACKNOWLEDGEMENTHTML nvarchar(max) IN Acknowledgement html
@MASKIMAGEID int IN Mask Image Id
@PDACCOUNTSYSTEMID uniqueidentifier IN
@CURRENCYISO nvarchar(3) IN
@APPEALID uniqueidentifier IN

Definition

Copy

                CREATE procedure [dbo].[USP_DATAFORMTEMPLATE_ADD_SALESORDERITEMSPONSORSHIP]
                (
                    @ID uniqueidentifier = null output,
                    @SALESORDERID uniqueidentifier,
                    @SPONSORSHIPPROGRAMID uniqueidentifier,
                    @SPONSORSHIPOPPORTUNITYID uniqueidentifier,
                    @STARTDATE date,
                    @SCHEDULESTARTDATE date,
                    @CHANGEAGENTID uniqueidentifier = null,
                    @GIFTRECIPIENTID uniqueidentifier = null,
                    @SPONSORSHIPLOCATIONID uniqueidentifier = null,
                    @GENDERCODE tinyint = 0,
                    @SPONSORSHIPOPPORTUNITYAGERANGEID uniqueidentifier = null,
                    @ISHIVPOSITIVECODE int = 0,
                    @HASCONDITIONCODE int = 0,
                    @ISORPHANEDCODE int = 0,
                    @SPROPPPROJECTCATEGORYCODEID uniqueidentifier = null,
                    @ISSOLESPONSORSHIP bit = 0,
                    @EXPIRATIONDATE date = null,
                    @EXPIRATIONREASONID uniqueidentifier = null,
                    @AMOUNT money = 0,
                    @FREQUENCYCODE tinyint = 3,
                    @ORDERPAYMENTAMOUNT money = 0,
                    @ASSEMBLYNAME nvarchar(255) = null,
                    @SYSTEMTYPENAME nvarchar(255) = null,
                    @CATEGORYNAME nvarchar(255) =null,
                    @CALLBACKURL nvarchar(255) = null,
                    @OPTIONS xml = null,
                    @DATA xml = null,
                    @ATTRIBUTES xml = null,
                    @GROUPID uniqueidentifier = null,
                    @ACKNOWLEDGEMENTHTML nvarchar(max) = null,
                    @MASKIMAGEID int = 0,
                    @PDACCOUNTSYSTEMID uniqueidentifier = null,
                    @CURRENCYISO nvarchar(3) = null,
                    @APPEALID uniqueidentifier = 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
                    -- reserve opportunity

          begin try
            exec dbo.USP_SPONSORSHIPOPPORTUNITY_LOCK @SPONSORSHIPOPPORTUNITYID, 2 
          end try
          begin catch
              raiserror('BBERR_OPPORTUNITYNOTAVAILABLE', 13, 1);
                          return 1
          end catch

                    declare @ORDERITEMDESCRIPTION nvarchar(100);
                    set @ORDERITEMDESCRIPTION = dbo.UFN_SPONSORSHIPOPPORTUNITY_GETNAME_FORWEB(@SPONSORSHIPOPPORTUNITYID)

                    insert into dbo.SALESORDERITEM (
                        ID,
                        SALESORDERID,
                        TYPECODE,
                        DESCRIPTION,
                        QUANTITY,
                        PRICE,
                        ASSEMBLYNAME,
                        SYSTEMTYPENAME,
                        CATEGORYNAME,
                        CALLBACKURL,
                        DATA,
                        OPTIONS,
                        ATTRIBUTES,    
                        ACKNOWLEDGEMENT,
                        ADDEDBYID, 
                        CHANGEDBYID, 
                        DATEADDED, 
                        DATECHANGED
                    ) values (
                        @ID,
                        @SALESORDERID,
                        12,
                        @ORDERITEMDESCRIPTION,
                        1,
                        @ORDERPAYMENTAMOUNT,
                        @ASSEMBLYNAME,
                        @SYSTEMTYPENAME,
                        @CATEGORYNAME,
                        @CALLBACKURL,
                        @DATA,
            @OPTIONS,
                        @ATTRIBUTES,
                        @ACKNOWLEDGEMENTHTML,
                        @CHANGEAGENTID
                        @CHANGEAGENTID
                        @CURRENTDATE
                        @CURRENTDATE
                    );

                    insert into dbo.SALESORDERITEMSPONSORSHIP (
                        ID,
                        SPONSORSHIPPROGRAMID,
                        SPONSORSHIPOPPORTUNITYID,
                        STARTDATE,
                        GIFTRECIPIENTID,
                        SPONSORSHIPLOCATIONID,
                        GENDERCODE,
                        SPONSORSHIPOPPORTUNITYAGERANGEID,
                        ISHIVPOSITIVECODE,
                        HASCONDITIONCODE,
                        ISORPHANEDCODE,
                        SPROPPPROJECTCATEGORYCODEID,
                        ISSOLESPONSORSHIP,
                        EXPIRATIONDATE,
                        EXPIRATIONREASONID,
                        ADDEDBYID, 
                        CHANGEDBYID, 
                        DATEADDED, 
                        DATECHANGED,
                        MASKIMAGEID,
                        PDACCOUNTSYSTEMID,
                        CURRENCYISO,
                        APPEALID
                    ) values (
                        @ID,
                        @SPONSORSHIPPROGRAMID,
                        @SPONSORSHIPOPPORTUNITYID,
                        @STARTDATE,
                        @GIFTRECIPIENTID,
                        @SPONSORSHIPLOCATIONID,
                        @GENDERCODE,
                        @SPONSORSHIPOPPORTUNITYAGERANGEID,
                        @ISHIVPOSITIVECODE,
                        @HASCONDITIONCODE,
                        @ISORPHANEDCODE,
                        @SPROPPPROJECTCATEGORYCODEID,
                        @ISSOLESPONSORSHIP,
                        @EXPIRATIONDATE,
                        @EXPIRATIONREASONID,
                        @CHANGEAGENTID
                        @CHANGEAGENTID
                        @CURRENTDATE
                        @CURRENTDATE,
                        @MASKIMAGEID,
                        @PDACCOUNTSYSTEMID,
                        @CURRENCYISO,
                        @APPEALID
                    );

                    insert into dbo.SALESORDERITEMREVENUESCHEDULE (
                        ID,
                        AMOUNT,
                        FREQUENCYCODE,
                        SCHEDULESTARTDATE,
                        ADDEDBYID, 
                        CHANGEDBYID, 
                        DATEADDED, 
                        DATECHANGED
                    ) values (
                        @ID,
                        @AMOUNT,
                        @FREQUENCYCODE,
                        @SCHEDULESTARTDATE,
                        @CHANGEAGENTID
                        @CHANGEAGENTID
                        @CURRENTDATE
                        @CURRENTDATE
                    );

          if @GROUPID is not null
          begin
             insert into [dbo].[SALESORDERITEMGROUP]
             ([ID]
             ,[GROUPID]
             ,[ADDEDBYID]
             ,[CHANGEDBYID]
             ,[DATEADDED]
             ,[DATECHANGED])
            values
             (@ID
             ,@GROUPID
             ,@CHANGEAGENTID
             ,@CHANGEAGENTID
             ,@CURRENTDATE
             ,@CURRENTDATE)
           end

                end try
                begin catch
                    exec dbo.USP_RAISE_ERROR
                    return 1
                end catch

                return 0