USP_CREDITCARDPROCESSINGHISTORY_UPDATEORCREATE
Updates the credit card processing record with the specified business process status identifier or creates one if no such record exists.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@BUSINESSPROCESSSTATUSID | uniqueidentifier | IN | |
@BATCHNUMBER | nvarchar(100) | IN |
Definition
Copy
create procedure dbo.USP_CREDITCARDPROCESSINGHISTORY_UPDATEORCREATE
(
@ID uniqueidentifier = null output,
@CHANGEAGENTID uniqueidentifier = null,
@BUSINESSPROCESSSTATUSID uniqueidentifier = null,
@BATCHNUMBER nvarchar(100) = null
)
as
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
begin try
update dbo.CREDITCARDPROCESSINGHISTORY
set BUSINESSPROCESSSTATUSID = @BUSINESSPROCESSSTATUSID,
BATCHNUMBER = @BATCHNUMBER
where BUSINESSPROCESSSTATUSGUID = @BUSINESSPROCESSSTATUSID;
if @@ROWCOUNT > 0
select @ID = ID
from dbo.CREDITCARDPROCESSINGHISTORY
where BUSINESSPROCESSSTATUSGUID = @BUSINESSPROCESSSTATUSID;
else
begin
if @ID is null
set @ID = newid();
insert into dbo.CREDITCARDPROCESSINGHISTORY(ID, BUSINESSPROCESSSTATUSGUID, BUSINESSPROCESSSTATUSID, BATCHNUMBER, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values(@ID, @BUSINESSPROCESSSTATUSID, @BUSINESSPROCESSSTATUSID, @BATCHNUMBER, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);
end
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;