USP_GLOBALCHANGE_UPDATECONSTITUENTGENDERBATCH
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@IDSETREGISTERID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@ASOF | datetime | IN | |
@NUMBERADDED | int | INOUT | |
@NUMBEREDITED | int | INOUT | |
@NUMBERDELETED | int | INOUT | |
@CURRENTAPPUSERID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_GLOBALCHANGE_UPDATECONSTITUENTGENDERBATCH
(
@IDSETREGISTERID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@ASOF as datetime = null,
@NUMBERADDED int = 0 output,
@NUMBEREDITED int = 0 output,
@NUMBERDELETED int = 0 output,
@CURRENTAPPUSERID uniqueidentifier = null
)
as
set nocount on;
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate();
set @NUMBERADDED = 0;
set @NUMBEREDITED = 0;
set @NUMBERDELETED = 0;
declare @BPID uniqueidentifier = '3269A1D1-31CB-4D28-945C-B7623A3EFCCA';
declare @BYPASSSECURITY bit;
declare @BYPASSSITESECURITY bit;
exec dbo.USP_SECURITY_APPUSER_BYPASSSECURITYFORBUSINESSPROCESS @CURRENTAPPUSERID, @BPID, @BYPASSSECURITY output, @BYPASSSITESECURITY output;
if @BYPASSSECURITY = 0 or @BYPASSSITESECURITY = 0
begin
raiserror('INSUFFICIENTRIGHTS', 13, 1)
return 1
end
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @SELECTION table (ID uniqueidentifier not null primary key);
insert into @SELECTION (ID)
select
ID
from dbo.BATCH
where STATUSCODE = 0 and
ID in (select [ID] from dbo.[UFN_IDSETREADER_GETRESULTS_GUID](@IDSETREGISTERID))
begin try
--updating constituent gendercodeid based on gendercode
update dbo.BATCHREVENUECONSTITUENT
set dbo.BATCHREVENUECONSTITUENT.GENDERCODEID=GENDERCODEDEFAULTMAPPING.GENDERCODEID
from dbo.BATCHREVENUECONSTITUENT
inner join dbo.GENDERCODEDEFAULTMAPPING on BATCHREVENUECONSTITUENT.GENDERCODE = GENDERCODEDEFAULTMAPPING.DEFAULTREASONCODE
inner join BATCHREVENUE on BATCHREVENUE.CONSTITUENTID = BATCHREVENUECONSTITUENT.ID
inner join @SELECTION as SELECTION on SELECTION.ID = BATCHREVENUE.BATCHID
set @NUMBEREDITED = @@ROWCOUNT;
--updating constituent gendercodeid based on gendercode
update dbo.BATCHCONSTITUENTUPDATE
set dbo.BATCHCONSTITUENTUPDATE.GENDERCODEID=GENDERCODEDEFAULTMAPPING.GENDERCODEID
from dbo.BATCHCONSTITUENTUPDATE
inner join dbo.GENDERCODEDEFAULTMAPPING on BATCHCONSTITUENTUPDATE.GENDERCODE = GENDERCODEDEFAULTMAPPING.DEFAULTREASONCODE
inner join @SELECTION as SELECTION on SELECTION.ID = BATCHCONSTITUENTUPDATE.BATCHID
set @NUMBEREDITED = @NUMBEREDITED + @@ROWCOUNT;
--updating constituent spouse gendercodeid based on spouse gendercode
update dbo.BATCHCONSTITUENTUPDATE
set dbo.BATCHCONSTITUENTUPDATE.SPOUSE_GENDERCODEID=GENDERCODEDEFAULTMAPPING.GENDERCODEID
from dbo.BATCHCONSTITUENTUPDATE
inner join dbo.GENDERCODEDEFAULTMAPPING on BATCHCONSTITUENTUPDATE.SPOUSE_GENDERCODE = GENDERCODEDEFAULTMAPPING.DEFAULTREASONCODE
inner join @SELECTION as SELECTION on SELECTION.ID = BATCHCONSTITUENTUPDATE.BATCHID
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch