USP_DELIVERYMETHOD_INACTIVE_UPDATE

Executes the "Delivery Method Mark Inactive" record operation.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN Input parameter indicating the ID of the record being updated.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the update.

Definition

Copy


                CREATE procedure dbo.USP_DELIVERYMETHOD_INACTIVE_UPDATE
                (
                    @ID uniqueidentifier,
                    @CHANGEAGENTID uniqueidentifier
                )
                as 
                begin
                    if @CHANGEAGENTID is null  
                        exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output

                    declare @CURRENTDATE datetime
                    set @CURRENTDATE = getdate()

          -- will hold the number of sales methods that have this delivery method as a default

          declare @DEFAULTDELIVERYMETHODCOUNT integer = 0
          select 
            @DEFAULTDELIVERYMETHODCOUNT = count(ID)
          from
            dbo.SALESMETHODDELIVERYMETHOD
          where
            DELIVERYMETHODID = @ID and ISDEFAULT = 1;

          if exists (select ID from dbo.SALESMETHODDELIVERYMETHOD where DELIVERYMETHODID = @ID and ISDEFAULT = 1)
            begin
              raiserror('BBERR_CONFLICTSEXIST', 13, 1);
                          return 1
            end

                    begin try
                        update dbo.DELIVERYMETHOD set
                            ISACTIVE = 0,
                            CHANGEDBYID = @CHANGEAGENTID,
                            DATECHANGED = @CURRENTDATE
                        where ID = @ID
                    end try
                    begin catch
                        exec dbo.USP_RAISE_ERROR
                        return 1
                    end catch
                    return 0;

                end