USP_DATAFORMTEMPLATE_EDIT_CONSTITUENTBATCHROW

The save procedure used by the edit dataform template "Constituent Batch Row Edit Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@ISORGANIZATION tinyint IN Constituent type
@KEYNAME nvarchar(100) IN Last/organization name
@FIRSTNAME nvarchar(50) IN First name
@MIDDLENAME nvarchar(50) IN Middle name
@MAIDENNAME nvarchar(100) IN Maiden name
@NICKNAME nvarchar(50) IN Nickname
@TITLECODEID uniqueidentifier IN Title
@SUFFIXCODEID uniqueidentifier IN Suffix
@BIRTHDATE UDT_FUZZYDATE IN Birth date
@GENDERCODE tinyint IN Gender
@WEBADDRESS UDT_WEBADDRESS IN Web site address
@INDUSTRYCODEID uniqueidentifier IN Industry
@PARENTCORPID uniqueidentifier IN Parent org
@NUMEMPLOYEES int IN No. of employees
@NUMSUBSIDIARIES int IN No. of subsidiary orgs
@ADDRESS_ADDRESSTYPECODEID uniqueidentifier IN Address type
@ADDRESS_COUNTRYID uniqueidentifier IN Country
@ADDRESS_ADDRESSBLOCK nvarchar(150) IN Address
@ADDRESS_CITY nvarchar(50) IN City
@ADDRESS_STATEID uniqueidentifier IN State
@ADDRESS_POSTCODE nvarchar(12) IN ZIP
@ADDRESS_DONOTMAIL bit IN Do not send mail to this address
@PHONES xml IN Phones
@EMAILADDRESS_EMAILADDRESSTYPECODEID uniqueidentifier IN Email type
@EMAILADDRESS_EMAILADDRESS UDT_EMAILADDRESS IN Email address
@CUSTOMIDENTIFIER nvarchar(100) IN Lookup ID
@SEQUENCE int IN Sequence

Definition

Copy


                        CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_CONSTITUENTBATCHROW
                        (
                            @ID uniqueidentifier,
                            @CHANGEAGENTID uniqueidentifier,
                            @ISORGANIZATION tinyint,
                            @KEYNAME nvarchar(100),
                            @FIRSTNAME nvarchar(50),
                            @MIDDLENAME nvarchar(50),
                            @MAIDENNAME nvarchar(100),
                            @NICKNAME nvarchar(50),
                            @TITLECODEID uniqueidentifier,
                            @SUFFIXCODEID uniqueidentifier,
                            @BIRTHDATE dbo.UDT_FUZZYDATE,
                            @GENDERCODE tinyint,
                            @WEBADDRESS dbo.UDT_WEBADDRESS,
                            @INDUSTRYCODEID uniqueidentifier,
                            @PARENTCORPID uniqueidentifier,
                            @NUMEMPLOYEES int,
                            @NUMSUBSIDIARIES int,
                            @ADDRESS_ADDRESSTYPECODEID uniqueidentifier,
                            @ADDRESS_COUNTRYID uniqueidentifier,
                            @ADDRESS_ADDRESSBLOCK nvarchar(150),
                            @ADDRESS_CITY nvarchar(50),
                            @ADDRESS_STATEID uniqueidentifier,
                            @ADDRESS_POSTCODE nvarchar(12),
                            @ADDRESS_DONOTMAIL bit,
                            @PHONES xml,
                            @EMAILADDRESS_EMAILADDRESSTYPECODEID uniqueidentifier,
                            @EMAILADDRESS_EMAILADDRESS dbo.UDT_EMAILADDRESS,
                            @CUSTOMIDENTIFIER nvarchar(100),
                            @SEQUENCE int
                        ) as
                            set nocount on;

                            declare @CURRENTDATE datetime;

                            if @CHANGEAGENTID is null
                                exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

                            set @CURRENTDATE = getdate();

                            if @BIRTHDATE is null
                            set @BIRTHDATE = '00000000';

                            if @GENDERCODE is null
                                set @GENDERCODE = 0;

                            if @NUMEMPLOYEES is null
                                set @NUMEMPLOYEES = 0;

                            if @NUMSUBSIDIARIES is null
                                set @NUMSUBSIDIARIES = 0;

                            if ((@ADDRESS_ADDRESSTYPECODEID is not null) or (@ADDRESS_STATEID is not null) or
                                    (coalesce(@ADDRESS_ADDRESSBLOCK,'') <> '') or (coalesce(@ADDRESS_CITY,'') <> '') or
                                    (coalesce(@ADDRESS_POSTCODE,'') <> '')) and @ADDRESS_COUNTRYID is null
                                exec @ADDRESS_COUNTRYID = dbo.UFN_COUNTRY_GETDEFAULT;

                            begin try                                
                                update
                                    dbo.BATCHCONSTITUENT 
                                set
                                    [ISORGANIZATION] = @ISORGANIZATION,
                                    [KEYNAME] = @KEYNAME,
                                    [FIRSTNAME] = @FIRSTNAME,
                                    [MIDDLENAME] = @MIDDLENAME,
                                    [MAIDENNAME] = @MAIDENNAME,
                                    [NICKNAME] = @NICKNAME,
                                    [TITLECODEID] = @TITLECODEID,
                                    [SUFFIXCODEID] = @SUFFIXCODEID,
                                    [BIRTHDATE] = @BIRTHDATE,
                                    [GENDERCODE] = @GENDERCODE,
                                    [WEBADDRESS] = @WEBADDRESS,
                                    [INDUSTRYCODEID] = @INDUSTRYCODEID,
                                    [PARENTCORPID] = @PARENTCORPID,
                                    [NUMEMPLOYEES] = @NUMEMPLOYEES,
                                    [NUMSUBSIDIARIES] = @NUMSUBSIDIARIES,
                                    [ADDRESS_ADDRESSTYPECODEID] = @ADDRESS_ADDRESSTYPECODEID,
                                    [ADDRESS_COUNTRYID] = @ADDRESS_COUNTRYID,
                                    [ADDRESS_ADDRESSBLOCK] = @ADDRESS_ADDRESSBLOCK,
                                    [ADDRESS_CITY] = @ADDRESS_CITY,
                                    [ADDRESS_STATEID] = @ADDRESS_STATEID,
                                    [ADDRESS_POSTCODE] = @ADDRESS_POSTCODE,
                                    [ADDRESS_DONOTMAIL] = @ADDRESS_DONOTMAIL,
                                    [EMAILADDRESS_EMAILADDRESSTYPECODEID] = @EMAILADDRESS_EMAILADDRESSTYPECODEID,
                                    [EMAILADDRESS_EMAILADDRESS] = @EMAILADDRESS_EMAILADDRESS,
                                    [CUSTOMID] = @CUSTOMIDENTIFIER,
                                    [SEQUENCE] = @SEQUENCE,
                                    [CHANGEDBYID] = @CHANGEAGENTID,
                                    [DATECHANGED] = @CURRENTDATE
                                where ID = @ID;

                                exec dbo.USP_CONSTITUENTBATCH_GETPHONES_UPDATEFROMXML @ID, @PHONES, @CHANGEAGENTID;
                            end try
                            begin catch
                                exec dbo.USP_RAISE_ERROR;
                                return 1;
                            end catch

                            return 0;