USP_SALESORDERITEMMEMBERSHIPITEMPROMOTION_DELETE

Executes the "Sales Order Item Membership Item Promotion: Delete" record operation.

Parameters

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

Definition

Copy


                    CREATE procedure dbo.USP_SALESORDERITEMMEMBERSHIPITEMPROMOTION_DELETE
                    (
                        @ID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier
                    )
                    as begin
                        declare @ORDERID uniqueidentifier;
                        declare @PROMOID uniqueidentifier;

                        select 
                            @ORDERID = SOI.SALESORDERID,
                            @PROMOID = SOIMIP.MEMBERSHIPPROMOID
                        from dbo.SALESORDERITEM SOI
                            inner join dbo.SALESORDERITEMMEMBERSHIPITEMPROMOTION SOIMIP on SOIMIP.SALESORDERITEMID = SOI.ID
                        where SOIMIP.ID = @ID

                        begin try
                            exec dbo.USP_SALESORDER_ISCOMPLETE_RAISERROR @ORDERID, @EXCLUDEGROUPSALES = 1;

                            if @PROMOID is null
                            begin
                                exec dbo.USP_SALESORDERITEMMEMBERSHIPITEMPROMOTION_DELETEBYID_WITHCHANGEAGENTID @ID, @CHANGEAGENTID
                            end
                            else
                            begin
                                declare @ORDERPROMOID uniqueidentifier;
                                select @ORDERPROMOID = ID 
                                from SALESORDERMEMBERSHIPPROMO 
                                where 
                                    SALESORDERID = @ORDERID and
                                    MEMBERSHIPPROMOID = @PROMOID

                                exec dbo.USP_SALESORDERMEMBERSHIPPROMO_DELETEBYID_WITHCHANGEAGENTID @ORDERPROMOID, @CHANGEAGENTID;
                                exec dbo.USP_SALESORDER_UPDATEMEMBERSHIPPROMOS @ORDERID, @CHANGEAGENTID;
                            end

                            exec dbo.USP_SALESORDER_CALCULATETAXES @ORDERID, @CHANGEAGENTID;
                        end try
                        begin catch
                            exec dbo.USP_RAISE_ERROR
                            return 1
                        end catch

                        return 0;

                    end