USP_DATAFORMTEMPLATE_OPPORTUNITY_EDIT_2_SAVE

The save procedure used by the edit dataform template "Opportunity Edit 2 Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@EXPECTEDASKAMOUNT money IN Expected ask amount
@ASKAMOUNT money IN Ask amount
@ACCEPTEDAMOUNT money IN Accepted amount
@STATUSCODE tinyint IN Status
@EXPECTEDASKDATE datetime IN Expected ask date
@ASKDATE datetime IN Ask date
@RESPONSEDATE datetime IN Response date
@COMMENT nvarchar(max) IN Comment
@DESIGNATION xml IN Designation
@LIKELIHOODTYPECODEID uniqueidentifier IN Likelihood

Definition

Copy


                        CREATE procedure dbo.USP_DATAFORMTEMPLATE_OPPORTUNITY_EDIT_2_SAVE (
                            @ID uniqueidentifier,
                            @CHANGEAGENTID uniqueidentifier = null,
                            @EXPECTEDASKAMOUNT money,
                            @ASKAMOUNT money,
                            @ACCEPTEDAMOUNT money,
                            @STATUSCODE tinyint,
                            @EXPECTEDASKDATE datetime,
                            @ASKDATE datetime,
                            @RESPONSEDATE datetime,
                            @COMMENT nvarchar(max),
                            @DESIGNATION xml,
                            @LIKELIHOODTYPECODEID uniqueidentifier
                            ) as 
                            begin

                                if @STATUSCODE = 4
                                    set @LIKELIHOODTYPECODEID = null
                                else if @STATUSCODE = 5
                                    set @LIKELIHOODTYPECODEID = null

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

                                declare @CHANGEDATE datetime
                                set @CHANGEDATE = getdate()

                                begin try
                                    update dbo.OPPORTUNITY set
                                        STATUSCODE = @STATUSCODE,
                                        EXPECTEDASKAMOUNT = @EXPECTEDASKAMOUNT,
                                        ASKAMOUNT = @ASKAMOUNT,
                                        EXPECTEDASKDATE = @EXPECTEDASKDATE,
                                        ASKDATE = @ASKDATE,
                                        RESPONSEDATE = @RESPONSEDATE,
                                        COMMENT = @COMMENT,
                                        CHANGEDBYID = @CHANGEAGENTID,
                                        DATECHANGED = @CHANGEDATE,
                                        LIKELIHOODTYPECODEID = @LIKELIHOODTYPECODEID
                                    where
                                        ID = @ID;

                                    declare @DESIGNATIONSCHANGED bit
                                    set @DESIGNATIONSCHANGED = dbo.UFN_OPPORTUNITY_DESIGNATIONSCHANGED(@ID, @DESIGNATION)

                                    exec dbo.USP_OPPORTUNITY_DESIGNATION_UPDATEFROMXML @ID, @DESIGNATION, @CHANGEAGENTID;

                                    if @DESIGNATIONSCHANGED = 1
                                    begin
                                        exec dbo.USP_OPPORTUNITY_CLEARANDADDCAMPAIGNS @OPPORTUNITYID = @ID,
                                            @CHANGEAGENTID = @CHANGEAGENTID,
                                            @CHANGEDATE = @CHANGEDATE
                                    end



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

                                return 0;

                            end;