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;