USP_SALESORDER_UPDATEPAYMENTCONSTITUENT

Updates the payments on the order with the constituent on the order.

Parameters

Parameter Parameter Type Mode Description
@SALESORDERID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN

Definition

Copy


            CREATE procedure dbo.USP_SALESORDER_UPDATEPAYMENTCONSTITUENT
            (
                @SALESORDERID uniqueidentifier,
                @CHANGEAGENTID uniqueidentifier
            )
            as
            begin
                if @CHANGEAGENTID is null  
                    exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

                declare @ORDERSTATUSCODE tinyint
                declare @CONSTITUENTID uniqueidentifier
                declare @CURRENTDATE datetime = getdate()

                select 
                    @ORDERSTATUSCODE = [SALESORDER].[STATUSCODE],
                    @CONSTITUENTID = [SALESORDER].[CONSTITUENTID]
                from dbo.[SALESORDER]
                where [ID] = @SALESORDERID

                if @ORDERSTATUSCODE in (0, 1, 6, 7)
                begin
                    begin try
                        update dbo.[REVENUE] set
                            [REVENUE].[CONSTITUENTID] = @CONSTITUENTID,
                            [REVENUE].[DATECHANGED] = @CURRENTDATE,
                            [REVENUE].[CHANGEDBYID] = @CHANGEAGENTID
                        where
                            ID in (select PAYMENTID from dbo.SALESORDERPAYMENT where SALESORDERID = @SALESORDERID)
                    end try
                    begin catch
                        exec dbo.USP_RAISE_ERROR;
                        return 1;
                    end catch
                end
            end