USP_DATAFORMTEMPLATE_ADD_DESIGNATION

The save procedure used by the add dataform template "Designation 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.
@DESIGNATIONID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@DESIGNATIONLEVELID uniqueidentifier IN Purpose
@LOOKUPID nvarchar(450) IN Lookup ID
@VANITYNAME nvarchar(512) IN Public name
@DESIGNATIONREPORTCODE1ID uniqueidentifier IN Report code 1
@DESIGNATIONREPORTCODE2ID uniqueidentifier IN Report code 2
@VSECATEGORYID uniqueidentifier IN VSE category
@CAMPAIGNID uniqueidentifier IN Campaign
@STARTDATE datetime IN Start date
@ENDDATE datetime IN End date
@DESIGNATIONUSECODEID uniqueidentifier IN Use code
@VSESUBCATEGORYID uniqueidentifier IN VSE subcategory
@ISREVENUEDESIGNATION bit IN Revenue designation

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_DESIGNATION
                    (
                        @ID uniqueidentifier = null output,
                        @CHANGEAGENTID uniqueidentifier = null,    
                        @DESIGNATIONID uniqueidentifier,
                        @DESIGNATIONLEVELID uniqueidentifier = null,
                        @LOOKUPID nvarchar(450) = null, --WI150316 Sized down from 512, as LOOKUPID would not fit in an index with that many characters

                        @VANITYNAME nvarchar(512) = null,
                        @DESIGNATIONREPORTCODE1ID uniqueidentifier = null,
                        @DESIGNATIONREPORTCODE2ID uniqueidentifier = null,
                        @VSECATEGORYID uniqueidentifier = null,
                        @CAMPAIGNID uniqueidentifier = null,
                        @STARTDATE datetime = null,
                        @ENDDATE datetime = null,
                        @DESIGNATIONUSECODEID uniqueidentifier = null,
                        @VSESUBCATEGORYID uniqueidentifier = null,
                        @ISREVENUEDESIGNATION bit = 1
                    )
                    as
                    begin
                        set nocount on;

                        declare @CURRENTDATE datetime;

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

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

                        set @CURRENTDATE = getdate();

                        declare @DESIGNATIONLEVEL1ID uniqueidentifier;
                        declare @DESIGNATIONLEVEL2ID uniqueidentifier;
                        declare @DESIGNATIONLEVEL3ID uniqueidentifier;
                        declare @DESIGNATIONLEVEL4ID uniqueidentifier;
                        declare @DESIGNATIONLEVEL5ID uniqueidentifier;

                        select @DESIGNATIONLEVEL1ID = DESIGNATIONLEVEL1ID,
                               @DESIGNATIONLEVEL2ID = DESIGNATIONLEVEL2ID,
                               @DESIGNATIONLEVEL3ID = DESIGNATIONLEVEL3ID,
                               @DESIGNATIONLEVEL4ID = DESIGNATIONLEVEL4ID,
                               @DESIGNATIONLEVEL5ID = DESIGNATIONLEVEL5ID
                        from dbo.DESIGNATION
                        where DESIGNATION.ID = @DESIGNATIONID;

                        begin try                        

                        if @VANITYNAME is null
                            set @VANITYNAME = '';

                        if @DESIGNATIONLEVEL1ID is null
                            set @DESIGNATIONLEVEL1ID = @DESIGNATIONLEVELID
                        else                            
                            if @DESIGNATIONLEVEL2ID is null
                                set @DESIGNATIONLEVEL2ID = @DESIGNATIONLEVELID
                            else
                                if @DESIGNATIONLEVEL3ID is null
                                    set @DESIGNATIONLEVEL3ID = @DESIGNATIONLEVELID
                                else
                                    if @DESIGNATIONLEVEL4ID is null
                                        set @DESIGNATIONLEVEL4ID = @DESIGNATIONLEVELID
                                    else
                                        set @DESIGNATIONLEVEL5ID = @DESIGNATIONLEVELID

                        if len(@VANITYNAME) = 0
                            raiserror('ERR_VANITYNAME_REQUIRED', 13, 1);

                        declare @BASECURRENCYID uniqueidentifier;
                        select @BASECURRENCYID = 
                            (select BASECURRENCYID from dbo.DESIGNATIONLEVEL where ID = @DESIGNATIONLEVELID)

                        insert into dbo.DESIGNATION (
                            ID,
                            DESIGNATIONLEVEL1ID,
                            DESIGNATIONLEVEL2ID,
                            DESIGNATIONLEVEL3ID,
                            DESIGNATIONLEVEL4ID,
                            DESIGNATIONLEVEL5ID,
                            USERID,
                            VANITYNAME,
                            DESIGNATIONREPORT1CODEID,
                            DESIGNATIONREPORT2CODEID,
                            VSECATEGORYID,
                            STARTDATE,
                            ENDDATE,
                            DESIGNATIONUSECODEID,
                            VSESUBCATEGORYID,
                            ADDEDBYID,
                            CHANGEDBYID,
                            DATEADDED,
                            DATECHANGED,
                            ISREVENUEDESIGNATION,
                            BASECURRENCYID)
                        VALUES (
                            @ID,
                            @DESIGNATIONLEVEL1ID,
                            @DESIGNATIONLEVEL2ID,
                            @DESIGNATIONLEVEL3ID,
                            @DESIGNATIONLEVEL4ID,
                            @DESIGNATIONLEVEL5ID,
                            @LOOKUPID,
                            @VANITYNAME,
                            @DESIGNATIONREPORTCODE1ID,
                            @DESIGNATIONREPORTCODE2ID,
                            @VSECATEGORYID,
                            @STARTDATE,
                            @ENDDATE,
                            @DESIGNATIONUSECODEID,
                            @VSESUBCATEGORYID,
                            @CHANGEAGENTID,
                            @CHANGEAGENTID,
                            @CURRENTDATE,
                            @CURRENTDATE,
                            @ISREVENUEDESIGNATION,
                            @BASECURRENCYID);

                        if @CAMPAIGNID is not null
                            insert into dbo.DESIGNATIONCAMPAIGN (
                                ID,
                                DESIGNATIONID,
                                CAMPAIGNID,
                                ADDEDBYID,
                                CHANGEDBYID,
                                DATEADDED,
                                DATECHANGED
                            ) values (
                                newid(),
                                @ID,
                                @CAMPAIGNID,
                                @CHANGEAGENTID,
                                @CHANGEAGENTID,
                                @CURRENTDATE,
                                @CURRENTDATE
                            );

                        end try

                        begin catch
                            exec dbo.USP_RAISE_ERROR
                            return 1
                        end catch

                        return 0

                    end