USP_DATAFORMTEMPLATE_ADD_CREDITCARDTRANSACTIONINITIALSETTLEMENT

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT
@CHANGEAGENTID uniqueidentifier IN
@SETTLEMENTDATE date IN
@AUTOMATICALLYSETTLE bit IN

Definition

Copy

                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_CREDITCARDTRANSACTIONINITIALSETTLEMENT
                    (
                        @ID uniqueidentifier = null output,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @SETTLEMENTDATE date = null,
                        @AUTOMATICALLYSETTLE bit = 1
                    )
                    as

                        if @SETTLEMENTDATE is null and @AUTOMATICALLYSETTLE = 1
                            raiserror('BBERR_DATEREQUIRED', 13, 1);

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

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

                        if @AUTOMATICALLYSETTLE = 1
                        begin
                            update dbo.[CREDITCARDPAYMENTMETHODDETAIL]
                            set
                                [SETTLEMENTTYPECODE] = 2,
                                [SETTLEMENTDATE] = @SETTLEMENTDATE,
                                [CHANGEDBYID] = @CHANGEAGENTID,
                                [DATECHANGED] = @CURRENTDATE
                            from dbo.[CREDITCARDPAYMENTMETHODDETAIL]
                            inner join dbo.[REVENUEPAYMENTMETHOD] on [CREDITCARDPAYMENTMETHODDETAIL].[ID] = [REVENUEPAYMENTMETHOD].[ID]
                            inner join dbo.[FINANCIALTRANSACTION] on [FINANCIALTRANSACTION].[ID] = [REVENUEPAYMENTMETHOD].[REVENUEID]
                            where convert(date, [FINANCIALTRANSACTION].[DATE]) <= @SETTLEMENTDATE;

                            update dbo.[CREDITPAYMENT]
                            set
                                [SETTLEMENTTYPECODE] = 2,
                                [SETTLEMENTDATE] = @SETTLEMENTDATE,
                                [CHANGEDBYID] = @CHANGEAGENTID,
                                [DATECHANGED] = @CURRENTDATE
                            where convert(date, [CREDITPAYMENT].[DATEADDED]) <= @SETTLEMENTDATE;
                        end

                    return 0