USP_DATAFORMTEMPLATE_ADD_MATCHEDSETTLEMENTDATE

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT
@SYSTEMTRANSACTIONID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@SETTLEMENTDATE date IN
@UNSETTLEDTRANSACTIONID uniqueidentifier IN

Definition

Copy

                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_MATCHEDSETTLEMENTDATE
                    (
                        @ID uniqueidentifier = null output,
                        @SYSTEMTRANSACTIONID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @SETTLEMENTDATE date,
                        @UNSETTLEDTRANSACTIONID uniqueidentifier = null
                    )
                    as
                        set nocount on;

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

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

                        if exists (select 1 from dbo.[CREDITCARDPAYMENTMETHODDETAIL] where [ID] = @SYSTEMTRANSACTIONID)
                            update dbo.[CREDITCARDPAYMENTMETHODDETAIL]
                            set
                                [SETTLEMENTTYPECODE] = 1,
                                [SETTLEMENTDATE] = @SETTLEMENTDATE,
                                [CHANGEDBYID] = @CHANGEAGENTID,
                                [DATECHANGED] = @CURRENTDATE
                            where [ID] = @SYSTEMTRANSACTIONID;
                        else if exists (select 1 from dbo.[CREDITPAYMENT] where [ID] = @SYSTEMTRANSACTIONID)
                            update dbo.[CREDITPAYMENT]
                            set
                                [SETTLEMENTTYPECODE] = 1,
                                [SETTLEMENTDATE] = @SETTLEMENTDATE,
                                [CHANGEDBYID] = @CHANGEAGENTID,
                                [DATECHANGED] = @CURRENTDATE
                            where [ID] = @SYSTEMTRANSACTIONID;

                        update dbo.PROCESSORTRANSACTIONSETTLEMENTIMPORTROW set
                            STATUSCODE = case STATUSCODE
                                            when 0 then 1
                                            else STATUSCODE
                                        end,
                            DATABASETRANSACTIONID = @SYSTEMTRANSACTIONID
                        from
                            dbo.UNSETTLEDCREDITCARDTRANSACTION U
                            inner join dbo.PROCESSORTRANSACTIONSETTLEMENTIMPORTROW IR on U.PROCESSORTRANSACTIONSETTLEMENTIMPORTROWID = IR.ID
                        where
                            U.ID = @UNSETTLEDTRANSACTIONID

                        if @UNSETTLEDTRANSACTIONID is not null
                            exec USP_UNSETTLEDCREDITCARDTRANSACTION_DELETEBYID_WITHCHANGEAGENTID @UNSETTLEDTRANSACTIONID, @CHANGEAGENTID

                    return 0;