USP_DATAFORMTEMPLATE_ADD_SALESMETHODDELIVERYMETHOD

The save procedure used by the add dataform template "Sales Method Delivery Method Add Data Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@SALESMETHODID 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.
@DELIVERYMETHODID uniqueidentifier IN Delivery method
@ISDEFAULT bit IN Set as default delivery method

Definition

Copy

                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_SALESMETHODDELIVERYMETHOD
                    (
                        @ID uniqueidentifier = null output,
                        @SALESMETHODID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @DELIVERYMETHODID uniqueidentifier = null,
                        @ISDEFAULT bit = 0
                    )
                    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();

                        declare @NEXTSEQUENCE int;
                        select @NEXTSEQUENCE = max(SEQUENCE) + 1 from dbo.SALESMETHODDELIVERYMETHOD where SALESMETHODID = @SALESMETHODID;

                        if @NEXTSEQUENCE is null
                            set @NEXTSEQUENCE = 0;

                        begin try
                            if @ISDEFAULT = 1
                                update dbo.SALESMETHODDELIVERYMETHOD set
                                    ISDEFAULT = 0,
                                    CHANGEDBYID = @CHANGEAGENTID,
                                    DATECHANGED = @CURRENTDATE
                                where
                                    SALESMETHODID = @SALESMETHODID
                                    and ISDEFAULT = 1;

                            insert into dbo.SALESMETHODDELIVERYMETHOD
                            (
                                ID,
                                SALESMETHODID,
                                DELIVERYMETHODID,
                                ISDEFAULT,
                                SEQUENCE,
                                ADDEDBYID,
                                CHANGEDBYID,
                                DATEADDED,
                                DATECHANGED
                            )
                            values
                            (
                                @ID,
                                @SALESMETHODID,
                                @DELIVERYMETHODID,
                                @ISDEFAULT,
                                @NEXTSEQUENCE,
                                @CHANGEAGENTID,
                                @CHANGEAGENTID,
                                @CURRENTDATE,
                                @CURRENTDATE
                            );
                        end try

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

                        return 0;