USP_DATAFORMTEMPLATE_ADD_SPONSORSHIPBATCHCONSTITUENTACCOUNT
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | |
@CURRENTAPPUSERID | uniqueidentifier | IN | |
@CONSTITUENTID | uniqueidentifier | IN | |
@FINANCIALINSTITUTIONID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@ACCOUNTNUMBER | nvarchar(50) | IN | |
@ACCOUNTTYPE | tinyint | IN | |
@EFTSTATUSCODE | tinyint | IN | |
@ACCOUNTNAME | nvarchar(100) | IN |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_SPONSORSHIPBATCHCONSTITUENTACCOUNT
(
@ID uniqueidentifier = null output,
@CURRENTAPPUSERID uniqueidentifier,
@CONSTITUENTID uniqueidentifier,
@FINANCIALINSTITUTIONID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@ACCOUNTNUMBER nvarchar(50) = '',
@ACCOUNTTYPE tinyint = null,
@EFTSTATUSCODE tinyint = 0,
@ACCOUNTNAME nvarchar(100) = ''
)
as
set nocount on;
declare @CURRENTDATE datetime;
-- Open the symmetric key for decryption
exec dbo.USP_GET_KEY_ACCESS;
begin try
if @ID is null
set @ID = newid();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
set @CURRENTDATE = getdate();
-- Determine if the constituent is a standard constituent or a revenue batch constituent
if exists(select 1 from dbo.CONSTITUENT where ID = @CONSTITUENTID)
begin
-- Check constituent security
if (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 0) and
(dbo.UFN_SECURITY_APPUSER_GRANTED_FORM_FORCONSTIT(@CURRENTAPPUSERID, '9FD35458-E734-4a26-8D9D-089C0FEDB726', @CONSTITUENTID) = 0)
begin
raiserror('BBERR_DB_RECORDSECURITY_PERMISSION_DENIED', 13, 1)
return 1
end
declare @COUNT int
select @COUNT = count(*)
from dbo.CONSTITUENTACCOUNT
where
coalesce(convert(nvarchar(50), DecryptByKey([CONSTITUENTACCOUNT].ACCOUNTNUMBER)),'') = @ACCOUNTNUMBER and
FINANCIALINSTITUTIONID = @FINANCIALINSTITUTIONID and
CONSTITUENTID = @CONSTITUENTID
if @COUNT > 0
raiserror('DUPLICATEACCOUNT', 13, 1)
insert into dbo.CONSTITUENTACCOUNT
(
ID,
CONSTITUENTID,
FINANCIALINSTITUTIONID,
ACCOUNTNUMBER,
ACCOUNTNUMBERINDEX,
ACCOUNTTYPECODE,
EFTSTATUSCODE,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED,
ACCOUNTNAME
)
values
(
@ID,
@CONSTITUENTID,
@FINANCIALINSTITUTIONID,
EncryptByKey(Key_GUID('sym_BBInfinity'), @ACCOUNTNUMBER),
dbo.UFN_GET_MAC_FOR_TEXT(@ACCOUNTNUMBER, 'dbo.CONSTITUENTACCOUNT'),
@ACCOUNTTYPE,
@EFTSTATUSCODE,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE,
@ACCOUNTNAME
);
end
else
begin
declare @BCOUNT int
select @BCOUNT = count(*)
from dbo.BATCHSPONSORSHIPCONSTITUENTACCOUNT
where
coalesce(convert(nvarchar(50), DecryptByKey([BATCHSPONSORSHIPCONSTITUENTACCOUNT].ACCOUNTNUMBER)),'') = @ACCOUNTNUMBER and
FINANCIALINSTITUTIONID = @FINANCIALINSTITUTIONID and
CONSTITUENTID = @CONSTITUENTID
if @BCOUNT > 0
raiserror('DUPLICATEACCOUNT', 13, 1)
insert into dbo.BATCHSPONSORSHIPCONSTITUENTACCOUNT
(
ID,
CONSTITUENTID,
FINANCIALINSTITUTIONID,
ACCOUNTNUMBER,
ACCOUNTNUMBERINDEX,
ACCOUNTTYPECODE,
EFTSTATUSCODE,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED,
ACCOUNTNAME
)
values
(
@ID,
@CONSTITUENTID,
@FINANCIALINSTITUTIONID,
EncryptByKey(Key_GUID('sym_BBInfinity'), @ACCOUNTNUMBER),
dbo.UFN_GET_MAC_FOR_TEXT(@ACCOUNTNUMBER, 'dbo.BATCHSPONSORSHIPCONSTITUENTACCOUNT'),
@ACCOUNTTYPE,
@EFTSTATUSCODE,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE,
@ACCOUNTNAME
);
end
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch