USP_CREDITCARDPROCESSING_WRITERESUMEINFO
Writes resume information to the database for the credit card business process.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@MAPPINGTABLE | nvarchar(100) | IN | |
@BBPSBATCHPROCESSID | uniqueidentifier | IN | |
@BATCHID | uniqueidentifier | IN | |
@BUSINESSPROCESSSTATUSIDENTIFIER | nvarchar(36) | IN | |
@RECORDSSUBMITTED | int | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@CREDITCARDPROCESSINGID | uniqueidentifier | IN | |
@ID | uniqueidentifier | IN | |
@BBPSPROCESSES | xml | IN |
Definition
Copy
CREATE procedure dbo.USP_CREDITCARDPROCESSING_WRITERESUMEINFO
(
@MAPPINGTABLE nvarchar(100),
@BBPSBATCHPROCESSID uniqueidentifier, -- No longer used since the value is stored in its own table now
@BATCHID uniqueidentifier,
@BUSINESSPROCESSSTATUSIDENTIFIER nvarchar(36),
@RECORDSSUBMITTED integer,
@CHANGEAGENTID uniqueidentifier,
@CREDITCARDPROCESSINGID uniqueidentifier = null,
@ID uniqueidentifier = null,
@BBPSPROCESSES xml = null
)
as
set nocount on;
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
-- Store the batch ID for processes that create new batches so
-- it can be resumed
if @CREDITCARDPROCESSINGID is not null
begin
if exists ( select 1 from dbo.CREDITCARDPROCESSING
where
ID = @CREDITCARDPROCESSINGID and
BATCHID is null)
update dbo.CREDITCARDPROCESSING set
BATCHID = @BATCHID,
BATCHINSTANCESETFORRESUME = 1,
DATECHANGED = @CURRENTDATE,
CHANGEDBYID = @CHANGEAGENTID
where
ID = @CREDITCARDPROCESSINGID;
end
set @ID = coalesce(@ID, newid());
insert into dbo.CREDITCARDPROCESSINGSTATE
(
ID,
MAPPINGTABLE,
BATCHID,
BUSINESSPROCESSSTATUSIDENTIFIER,
RECORDSSUBMITTED,
ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED
)
values
(
@ID,
@MAPPINGTABLE,
@BATCHID,
@BUSINESSPROCESSSTATUSIDENTIFIER,
@RECORDSSUBMITTED,
@CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE
);
if @BBPSPROCESSES is not null
begin
insert into dbo.CREDITCARDPROCESSINGSTATEBBPSPROCESS
(
CREDITCARDPROCESSINGSTATEID,
BBPSBATCHPROCESSID,
MERCHANTACCOUNTID,
PROCESSTRANSACTIONSCALLED,
ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED
)
select
@ID,
T.c.value('(BBPSBATCHPROCESSID)[1]','uniqueidentifier'),
T.c.value('(MERCHANTACCOUNTID)[1]','uniqueidentifier'),
0,
@CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE
from @BBPSPROCESSES.nodes('/BBPSPROCESSES/ITEM') T(c);
end