USP_DATAFORMTEMPLATE_ADD_CONSTITUENTACCOUNT
The save procedure used by the add dataform template "Constituent Financial Account Add Form".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | The output parameter indicating the ID of the record added. |
@CONSTITUENTID | uniqueidentifier | IN | Input parameter indicating the context ID for the record being added. |
@FINANCIALINSTITUTIONID | uniqueidentifier | IN | Financial institution |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
@ACCOUNTNUMBER | nvarchar(50) | IN | Account number |
@ACCOUNTTYPE | tinyint | IN | Account type |
@EFTSTATUSCODE | tinyint | IN | EFT status |
@ACCOUNTNAME | nvarchar(100) | IN | Name on account |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_CONSTITUENTACCOUNT
(
@ID uniqueidentifier = null output,
@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;
begin try
--open the symmetric key for decryption
exec dbo.USP_GET_KEY_ACCESS;
if @ID is null
set @ID = newid();
if exists ( select 1
from dbo.CONSTITUENTACCOUNT
where
CONSTITUENTID = @CONSTITUENTID and
FINANCIALINSTITUTIONID = @FINANCIALINSTITUTIONID and
coalesce(convert(nvarchar(50), DecryptByKey(ACCOUNTNUMBER)), '') = coalesce(@ACCOUNTNUMBER, ''))
raiserror('BBERR_DUPLICATECONSTITUENTACCOUNT', 13, 1);
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
set @CURRENTDATE = getdate();
insert into dbo.CONSTITUENTACCOUNT
(
ID,
CONSTITUENTID,
FINANCIALINSTITUTIONID,
ACCOUNTNUMBER,
ACCOUNTNUMBERINDEX,
ACCOUNTTYPECODE,
EFTSTATUSCODE,
ACCOUNTNAME,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
values
(
@ID,
@CONSTITUENTID,
@FINANCIALINSTITUTIONID,
EncryptByKey(Key_GUID('sym_BBInfinity'), @ACCOUNTNUMBER),
dbo.UFN_GET_MAC_FOR_TEXT(@ACCOUNTNUMBER, 'dbo.CONSTITUENTACCOUNT'),
@ACCOUNTTYPE,
@EFTSTATUSCODE,
@ACCOUNTNAME,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
exec dbo.USP_CLOSE_KEY_ACCESS;
end try
begin catch
exec dbo.USP_CLOSE_KEY_ACCESS;
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;