USP_REVENUEREFERENCE_EDIT

Edit the revenue reference for a given transaction.

Parameters

Parameter Parameter Type Mode Description
@REVENUEID uniqueidentifier IN
@REFERENCE nvarchar(255) IN
@CHANGEAGENTID uniqueidentifier IN
@HASCHANGED bit INOUT

Definition

Copy


    CREATE procedure dbo.USP_REVENUEREFERENCE_EDIT
    (
        @REVENUEID uniqueidentifier,
        @REFERENCE nvarchar(255),
        @CHANGEAGENTID uniqueidentifier,
        @HASCHANGED bit = null output
    )
    as
    begin
        set nocount on;

        declare @CURRENTDATE datetime;
        set @CURRENTDATE = GetDate();

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

        set @HASCHANGED = 0

        begin try
            if not @REFERENCE is null
                begin
                    if exists(select ID from dbo.REVENUEREFERENCE where ID = @REVENUEID)
                    begin
                        update dbo.REVENUEREFERENCE 
                        set REFERENCE = @REFERENCE,
                            CHANGEDBYID = @CHANGEAGENTID,
                            DATECHANGED = @CURRENTDATE 
                        where ID = @REVENUEID and REFERENCE <> @REFERENCE;

                        if @@ROWCOUNT = 1
                            set @HASCHANGED = 1
                    end
                    else
                        if @REFERENCE <> ''
                        begin
                            set @HASCHANGED = 1

                            insert into dbo.REVENUEREFERENCE (ID, REFERENCE, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
                                values (@REVENUEID, @REFERENCE, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);
                        end
                end
        end try
        begin catch
            exec dbo.USP_RAISE_ERROR;
            return 1;
        end catch

        return 0;
    end