USP_DATAFORMTEMPLATE_ADD_CAMPAIGN

The save procedure used by the add dataform template "Campaign Add Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@NAME nvarchar(100) IN Name
@DESCRIPTION nvarchar(300) IN Description
@USERID nvarchar(100) IN Lookup ID
@CAMPAIGNTYPECODEID uniqueidentifier IN Type
@SITES xml IN Sites
@STARTDATE datetime IN Start date
@ENDDATE datetime IN End date
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_CAMPAIGN (
                        @ID uniqueidentifier = null output,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @NAME nvarchar(100) = null,
                        @DESCRIPTION nvarchar(300) = null,
                        @USERID nvarchar(100) = null,
                        @CAMPAIGNTYPECODEID uniqueidentifier = null,
                        @SITES xml = null,
                        @STARTDATE datetime = null,
                        @ENDDATE datetime = null,
                        @CURRENTAPPUSERID uniqueidentifier
                    ) as begin
                        set nocount on;

                        begin try
                            if @ID is null
                                set @ID = newid();

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

                            declare @CURRENTDATE datetime;
                            set @CURRENTDATE = getdate();

                            if @SITES is null
                                begin 
                                if dbo.UFN_SITEREQUIREDFORUSER(@CURRENTAPPUSERID) = 1 
                                    begin
                                    raiserror('Site is required.',13,1)
                                    return
                                    end
                                end

                            exec dbo.USP_CAMPAIGNSITE_VALIDATESITES @SITES

                            insert into dbo.CAMPAIGN (
                                ID,
                                USERID,
                                NAME,
                                DESCRIPTION,
                                CAMPAIGNTYPECODEID,
                                STARTDATE,
                                ENDDATE,
                                HIERARCHYPATH,
                                BASECURRENCYID,
                                ADDEDBYID,
                                CHANGEDBYID,
                                DATEADDED,
                                DATECHANGED
                            )
                            values (
                                @ID,
                                @USERID,
                                @NAME,
                                @DESCRIPTION,
                                @CAMPAIGNTYPECODEID,
                                dbo.UFN_DATE_GETEARLIESTTIME(@STARTDATE),
                                dbo.UFN_DATE_GETEARLIESTTIME(@ENDDATE),
                                dbo.UFN_CAMPAIGN_GETHIERARCHYPATHINSERTPOSITION(null),
                                dbo.UFN_APPUSER_GETBASECURRENCY(@CURRENTAPPUSERID),
                                @CHANGEAGENTID,
                                @CHANGEAGENTID,
                                @CURRENTDATE,
                                @CURRENTDATE
                            )

                            exec dbo.USP_CAMPAIGN_GETSITES_ADDFROMXML @ID, @SITES, @CHANGEAGENTID, @CURRENTDATE
                        end try
                        begin catch
                            exec dbo.USP_RAISE_ERROR;
                            return 1;
                        end catch
                        return 0;
                    end