USP_BBNC_COMMITDONORINFORMATIONBIOUPDATE_1_2
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@TITLECODEID | uniqueidentifier | IN | |
@FIRSTNAME | nvarchar(50) | IN | |
@KEYNAME | nvarchar(100) | IN | |
@CONSTITUENCYCODEID | uniqueidentifier | IN | |
@XMLITEMS | xml | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@CHANGEDATE | datetime | IN | |
@MIDDLENAME | nvarchar(50) | IN | |
@SUFFIXCODEID | uniqueidentifier | IN | |
@MAIDENNAME | nvarchar(50) | IN |
Definition
Copy
CREATE procedure dbo.USP_BBNC_COMMITDONORINFORMATIONBIOUPDATE_1_2
(
@ID uniqueidentifier = null,
@TITLECODEID uniqueidentifier = null,
@FIRSTNAME nvarchar(50) = '',
@KEYNAME nvarchar(100),
@CONSTITUENCYCODEID uniqueidentifier = null,
@XMLITEMS xml = null,
@CHANGEAGENTID uniqueidentifier = null,
@CHANGEDATE datetime = null,
@MIDDLENAME nvarchar(50) = '',
@SUFFIXCODEID uniqueidentifier = null,
@MAIDENNAME nvarchar(50) = ''
)
as
set nocount on;
declare @CURRENTDATE datetime;
if @ID is null
begin
raiserror('The constituent ID is required',16,1);
return -2;
end
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
if @CHANGEDATE is null
set @CHANGEDATE = getdate();
set @CURRENTDATE = getdate();
begin try
-- CONSTITUENT UPDATE
update dbo.CONSTITUENT set
[TITLECODEID] = @TITLECODEID,
[FIRSTNAME] = @FIRSTNAME,
[KEYNAME] = @KEYNAME,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CHANGEDATE,
[MIDDLENAME] = @MIDDLENAME,
[SUFFIXCODEID] = @SUFFIXCODEID,
[MAIDENNAME] = @MAIDENNAME
where
[ID] = @ID;
-- CONSTITUENCY UPDATE
if @CONSTITUENCYCODEID is not null
and not exists
(
select
1
from
dbo.CONSTITUENCY
where
[CONSTITUENTID] = @ID
and [CONSTITUENCYCODEID] = @CONSTITUENCYCODEID
and
(
([DATEFROM] is null and [DATETO] is null)
or ([DATEFROM] <= dbo.UFN_DATE_GETEARLIESTTIME(@CURRENTDATE) and [DATETO] is null)
or ([DATEFROM] is null and dbo.UFN_DATE_GETEARLIESTTIME(@CURRENTDATE) <= [DATETO])
or (dbo.UFN_DATE_GETEARLIESTTIME(@CURRENTDATE) between [DATEFROM] and [DATETO])
)
)
begin
declare @CONSTITUENCYDATETO datetime;
select top (1)
@CONSTITUENCYDATETO = dateadd(day, -1, [CONSTITUENCY].[DATEFROM])
from
dbo.CONSTITUENCY
where
[CONSTITUENCY].[CONSTITUENTID] = @ID
and [CONSTITUENCY].[CONSTITUENCYCODEID] = @CONSTITUENCYCODEID
and [CONSTITUENCY].[DATEFROM] > dbo.UFN_DATE_GETEARLIESTTIME(@CURRENTDATE)
order by
[DATETO];
insert into dbo.CONSTITUENCY
(
[CONSTITUENTID],
[CONSTITUENCYCODEID],
[DATEFROM],
[DATETO],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values
(
@ID,
@CONSTITUENCYCODEID,
dbo.UFN_DATE_GETEARLIESTTIME(@CURRENTDATE),
dbo.UFN_DATE_GETEARLIESTTIME(@CONSTITUENCYDATETO),
@CHANGEAGENTID,
@CHANGEAGENTID,
@CHANGEDATE,
@CHANGEDATE
);
end
-- WI 132800 PROCESS NAME FORMAT VALUES COMING FROM BBNC TRANSACTIONS
exec dbo.USP_BBNC_NAMEFORMATS_ADDUPDATE @ID, @XMLITEMS, @CHANGEAGENTID, @CHANGEDATE;
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;