USP_ORGANIZATION_ADD
Creates a new organization.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | |
@CURRENTAPPUSERID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@NAME | nvarchar(100) | IN | |
@WEBADDRESS | UDT_WEBADDRESS | IN | |
@PICTURE | varbinary | IN | |
@PICTURETHUMBNAIL | varbinary | IN | |
@INDUSTRYCODEID | uniqueidentifier | IN | |
@NUMEMPLOYEES | int | IN | |
@NUMSUBSIDIARIES | int | IN | |
@PARENTCORPID | uniqueidentifier | IN | |
@ADDRESS_ADDRESSTYPECODEID | uniqueidentifier | IN | |
@ADDRESS_DONOTMAIL | bit | IN | |
@ADDRESS_COUNTRYID | uniqueidentifier | IN | |
@ADDRESS_STATEID | uniqueidentifier | IN | |
@ADDRESS_ADDRESSBLOCK | nvarchar(150) | IN | |
@ADDRESS_CITY | nvarchar(50) | IN | |
@ADDRESS_POSTCODE | nvarchar(12) | IN | |
@PHONE_PHONETYPECODEID | uniqueidentifier | IN | |
@PHONE_NUMBER | nvarchar(100) | IN | |
@SKIP_ADDING_SECURITYGROUPS | bit | IN | |
@EMAILADDRESS_EMAILADDRESSTYPECODEID | uniqueidentifier | IN | |
@EMAILADDRESS_EMAILADDRESS | UDT_EMAILADDRESS | IN | |
@OMITFROMVALIDATION | bit | IN | |
@CART | nvarchar(10) | IN | |
@DPC | nvarchar(8) | IN | |
@LOT | nvarchar(5) | IN | |
@COUNTYCODEID | uniqueidentifier | IN | |
@CONGRESSIONALDISTRICTCODEID | uniqueidentifier | IN | |
@LASTVALIDATIONATTEMPTDATE | datetime | IN | |
@VALIDATIONMESSAGE | nvarchar(200) | IN | |
@CERTIFICATIONDATA | int | IN | |
@ADDRESS_DONOTMAILREASONCODEID | uniqueidentifier | IN | |
@ISPRIMARY | bit | IN | |
@SKIP_ADDING_SITES | bit | IN | |
@INFOSOURCECODEID | uniqueidentifier | IN | |
@ISCONSTITUENT | bit | IN |
Definition
Copy
CREATE procedure dbo.USP_ORGANIZATION_ADD (
@ID uniqueidentifier = null output,
@CURRENTAPPUSERID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@NAME nvarchar(100),
@WEBADDRESS dbo.UDT_WEBADDRESS = '',
@PICTURE varbinary(max) = null,
@PICTURETHUMBNAIL varbinary(max) = null,
@INDUSTRYCODEID uniqueidentifier = null,
@NUMEMPLOYEES int = 0,
@NUMSUBSIDIARIES int = 0,
@PARENTCORPID uniqueidentifier = null,
@ADDRESS_ADDRESSTYPECODEID uniqueidentifier = null,
@ADDRESS_DONOTMAIL bit = 0,
@ADDRESS_COUNTRYID uniqueidentifier = null,
@ADDRESS_STATEID uniqueidentifier = null,
@ADDRESS_ADDRESSBLOCK nvarchar(150) = '',
@ADDRESS_CITY nvarchar(50) = '',
@ADDRESS_POSTCODE nvarchar(12) = '',
@PHONE_PHONETYPECODEID uniqueidentifier = null,
@PHONE_NUMBER nvarchar(100) = '',
@SKIP_ADDING_SECURITYGROUPS bit=0,
@EMAILADDRESS_EMAILADDRESSTYPECODEID uniqueidentifier = null,
@EMAILADDRESS_EMAILADDRESS dbo.UDT_EMAILADDRESS = '',
@OMITFROMVALIDATION bit = 0,
@CART nvarchar(10) = '',
@DPC nvarchar(8) = '',
@LOT nvarchar(5) = '',
@COUNTYCODEID uniqueidentifier = null,
@CONGRESSIONALDISTRICTCODEID uniqueidentifier = null,
@LASTVALIDATIONATTEMPTDATE datetime = null,
@VALIDATIONMESSAGE nvarchar(200) = '',
@CERTIFICATIONDATA integer = 0,
@ADDRESS_DONOTMAILREASONCODEID uniqueidentifier = null,
@ISPRIMARY bit = 0,
@SKIP_ADDING_SITES bit = 0,
@INFOSOURCECODEID uniqueidentifier = null,
@ISCONSTITUENT bit = 1
) as
set nocount on;
declare @CURRENTDATE datetime;
declare @CHILDID uniqueidentifier;
declare @KEYNAME nvarchar(100);
declare @KEYNAMEPREFIX nvarchar(50);
declare @UpdateOrgData bit;
if @ID is null
set @ID = newid();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
set @CURRENTDATE = getdate();
if @ADDRESS_DONOTMAIL = 0
set @ADDRESS_DONOTMAILREASONCODEID = null
if @NUMEMPLOYEES is null
set @NUMEMPLOYEES = 0;
if @NUMSUBSIDIARIES is null
set @NUMSUBSIDIARIES = 0;
begin try
exec dbo.USP_PARSE_ORGANIZATION_NAME @NAME, @KEYNAME output, @KEYNAMEPREFIX output;
insert into dbo.CONSTITUENT
(
ID,
ISORGANIZATION,
KEYNAME,
WEBADDRESS,
PICTURE,
PICTURETHUMBNAIL,
KEYNAMEPREFIX,
ISCONSTITUENT,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
values
(
@ID,
-1,
@KEYNAME,
@WEBADDRESS,
@PICTURE,
@PICTURETHUMBNAIL,
@KEYNAMEPREFIX,
@ISCONSTITUENT,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
-- CR 12845 - AdamBu - Since the ISPRIMARY flag will always be set, the org data record should always be created.
-- if @INDUSTRYCODEID is not null
-- or @PARENTCORPID is not null
-- or @PARENTCORPID is not null
-- or @NUMEMPLOYEES != 0
-- or @NUMSUBSIDIARIES != 0
insert into dbo.ORGANIZATIONDATA
(
ID,
INDUSTRYCODEID,
NUMEMPLOYEES,
NUMSUBSIDIARIES,
PARENTCORPID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED,
ISPRIMARY
)
values
(
@ID,
@INDUSTRYCODEID,
@NUMEMPLOYEES,
@NUMSUBSIDIARIES,
@PARENTCORPID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE,
@ISPRIMARY
);
/*Start Primary Address */
if
(
(@ADDRESS_STATEID is not null)
or (coalesce(@ADDRESS_ADDRESSBLOCK,'') <> '')
or (coalesce(@ADDRESS_CITY,'') <> '')
or (coalesce(@ADDRESS_POSTCODE,'') <> '')
or (@ADDRESS_ADDRESSTYPECODEID is not null)
or (@ADDRESS_COUNTRYID is not null)
or (@ADDRESS_DONOTMAIL = 1)
or (@ADDRESS_DONOTMAILREASONCODEID is not null)
)
begin
declare @ADDRESSID uniqueidentifier;
set @ADDRESSID = newID();
insert into dbo.ADDRESS
(
ID,
CONSTITUENTID,
ADDRESSTYPECODEID,
ISPRIMARY,
DONOTMAIL,
COUNTRYID,
STATEID,
ADDRESSBLOCK,
CITY,
POSTCODE,
CART,
DPC,
LOT,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED,
DONOTMAILREASONCODEID
)
values
(
@ADDRESSID,
@ID,
@ADDRESS_ADDRESSTYPECODEID,
1,
@ADDRESS_DONOTMAIL,
@ADDRESS_COUNTRYID,
@ADDRESS_STATEID,
@ADDRESS_ADDRESSBLOCK,
@ADDRESS_CITY,
@ADDRESS_POSTCODE,
@CART,
@DPC,
@LOT,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE,
@ADDRESS_DONOTMAILREASONCODEID
);
insert into dbo.ADDRESSVALIDATIONUPDATE
(
ID,
COUNTYCODEID,
CONGRESSIONALDISTRICTCODEID,
LASTVALIDATIONATTEMPTDATE,
VALIDATIONMESSAGE,
CERTIFICATIONDATA,
OMITFROMVALIDATION,
INFOSOURCECODEID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
values
(
@ADDRESSID,
@COUNTYCODEID,
@CONGRESSIONALDISTRICTCODEID,
@CURRENTDATE,
@VALIDATIONMESSAGE,
@CERTIFICATIONDATA,
@OMITFROMVALIDATION,
@INFOSOURCECODEID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
end
/*End Primary Address */
/*Start Primary Phone */
declare @PHONE_COUNTRYID uniqueidentifier = @ADDRESS_COUNTRYID;
if @ADDRESS_COUNTRYID is null
exec @PHONE_COUNTRYID = dbo.UFN_COUNTRY_GETDEFAULT;
if (@PHONE_PHONETYPECODEID is not null) or (coalesce(@PHONE_NUMBER,'') <> '')
insert into dbo.PHONE
(
CONSTITUENTID,
PHONETYPECODEID,
NUMBER,
ISPRIMARY,
COUNTRYID,
INFOSOURCECODEID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
values
(
@ID,
@PHONE_PHONETYPECODEID,
@PHONE_NUMBER,
1,
@PHONE_COUNTRYID,
@INFOSOURCECODEID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
/*End Primary Phone */
/*Start Primary Email Address */
if (@EMAILADDRESS_EMAILADDRESSTYPECODEID is not null) or (coalesce(@EMAILADDRESS_EMAILADDRESS,'') <> '')
begin
insert into dbo.[EMAILADDRESS]
(
[CONSTITUENTID],
[EMAILADDRESSTYPECODEID],
[EMAILADDRESS],
[ISPRIMARY],
[INFOSOURCECODEID],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values
(
@ID,
@EMAILADDRESS_EMAILADDRESSTYPECODEID,
@EMAILADDRESS_EMAILADDRESS,
1,
@INFOSOURCECODEID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
end
/*End Primary Email Address */
/*Start security groups*/
if COALESCE(@SKIP_ADDING_SECURITYGROUPS,0) = 0
BEGIN
exec dbo.USP_CONSTITUENT_ASSIGNSECURITYGROUPS_FORNEWRECORD
@APPUSERID =@CURRENTAPPUSERID,
@DATAFORMTEMPLATEID='9d3aff90-42d0-4db0-a4c1-703d25fd1902',
@CONSTITUENTID =@ID,
@DATEADDEDTOUSE =@CURRENTDATE,
@CHANGEAGENTID = @CHANGEAGENTID;
END
/*end security groups*/
if coalesce(@SKIP_ADDING_SITES,0) = 0
exec dbo.USP_CONSTITUENT_ASSIGNSITES_FORNEWRECORD
@APPUSERID = @CURRENTAPPUSERID,
@DATAFORMTEMPLATEID = '9d3aff90-42d0-4db0-a4c1-703d25fd1902',
@CONSTITUENTID = @ID,
@DATEADDEDTOUSE = @CURRENTDATE,
@CHANGEAGENTID = @CHANGEAGENTID;
if @PARENTCORPID is not null
exec dbo.USP_RELATIONSHIPS_CREATEPARENTORGRELATIONSHIP @ID, @PARENTCORPID,@CURRENTDATE,@CHANGEAGENTID,@CURRENTDATE,1,null
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;