USP_DATAFORMTEMPLATE_EDIT_SETTLEMENTDATE
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@SETTLEMENTDATE | date | IN | |
@TRANSACTIONS | xml | IN |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_SETTLEMENTDATE
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@SETTLEMENTDATE date,
@TRANSACTIONS xml
)
as
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
if @SETTLEMENTDATE is null
begin
raiserror('SETTLEMENTDATE_DATEREQUIRED', 13, 1);
return 0;
end
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
declare @TRANSACTIONIDS table (
ID uniqueidentifier
);
insert into @TRANSACTIONIDS (ID)
(select
T.c.value('(ID)[1]','uniqueidentifier') AS ID
from @TRANSACTIONS.nodes('/TRANSACTIONS/ITEM') T(c)
)
-- these really need to be one table.
update dbo.CREDITCARDPAYMENTMETHODDETAIL
set
SETTLEMENTTYPECODE = 1
, SETTLEMENTDATE = @SETTLEMENTDATE
, CHANGEDBYID = @CHANGEAGENTID
, DATECHANGED = @CURRENTDATE
from dbo.CREDITCARDPAYMENTMETHODDETAIL cpm
inner join @TRANSACTIONIDS t on cpm.ID = t.ID
update dbo.CREDITPAYMENT
set
SETTLEMENTTYPECODE = 1
, SETTLEMENTDATE = @SETTLEMENTDATE
, CHANGEDBYID = @CHANGEAGENTID
, DATECHANGED = @CURRENTDATE
from dbo.CREDITPAYMENT cp
inner join @TRANSACTIONIDS t on cp.ID = t.ID
return 0;