USP_BBNC_GETORCREATEORGANIZATION
Gets or creates a corporation with a given name for donation transactions downloaded from Blackbaud Internet Solutions.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | |
@KEYNAME | nvarchar(100) | IN | |
@CONSTITUENCYCODEID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@CHANGEDATE | datetime | IN |
Definition
Copy
CREATE procedure dbo.USP_BBNC_GETORCREATEORGANIZATION
(
@ID uniqueidentifier = null output,
@KEYNAME nvarchar(100),
@CONSTITUENCYCODEID uniqueidentifier = null,
@CHANGEAGENTID uniqueidentifier = null,
@CHANGEDATE datetime = null
)
as
set nocount on;
if @CHANGEDATE is null
set @CHANGEDATE = getdate();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
declare @KEYNAMEBODY nvarchar(100);
declare @KEYNAMEPREFIX nvarchar(50);
exec dbo.USP_PARSE_ORGANIZATION_NAME @KEYNAME, @KEYNAMEBODY output, @KEYNAMEPREFIX output;
--JamesWill CR273111-041807 2007/04/19 Don't try to match organizations. Just create it.
begin try
if (select count(ID) from dbo.CONSTITUENT where ID = @ID and ISORGANIZATION = 1) = 0
begin
if @ID is null
set @ID = newid();
insert into dbo.CONSTITUENT(ID, KEYNAME, KEYNAMEPREFIX, ISORGANIZATION, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values(@ID, @KEYNAMEBODY, @KEYNAMEPREFIX, 1, @CHANGEAGENTID, @CHANGEAGENTID, @CHANGEDATE, @CHANGEDATE);
if not @CONSTITUENCYCODEID is null
insert into dbo.CONSTITUENCY (CONSTITUENTID, CONSTITUENCYCODEID, DATEFROM, DATETO, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values (@ID, @CONSTITUENCYCODEID, dbo.UFN_DATE_GETEARLIESTTIME(@CURRENTDATE), null, @CHANGEAGENTID, @CHANGEAGENTID, @CHANGEDATE, @CHANGEDATE);
end
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;