USP_DATAFORMTEMPLATE_ADD_CONSTITUENTDATAREVIEW_PHONE

The save procedure used by the add dataform template "Constituent Data Review Phone Add Data Form".

Parameters

Parameter Parameter Type Mode Description
@AUDITID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@PHONETYPECODEID uniqueidentifier IN Type
@NUMBER nvarchar(100) IN Number
@PRIMARY bit IN Set as primary phone number
@DONOTCALL bit IN Do not call this phone number
@UPDATEMATCHINGSPOUSEPHONE bit IN Update matching phone information for household
@UPDATEMATCHINGHOUSEHOLDPHONE bit IN Copy phone information to household members
@STARTTIME UDT_HOURMINUTE IN Call after
@ENDTIME UDT_HOURMINUTE IN Call before
@INFOSOURCECODEID uniqueidentifier IN Information source
@INFOSOURCECOMMENTS nvarchar(256) IN Comments
@COUNTRYID uniqueidentifier IN Country
@STARTDATE date IN Start date
@DONOTCALLREASONCODEID uniqueidentifier IN Reason
@ISCONFIDENTIAL bit IN This phone number is confidential
@CONSTITUENTDATAREVIEWROLLBACKREASONID uniqueidentifier IN Reason
@ORIGINCODE tinyint IN Origin
@SEASONALSTARTDATE UDT_MONTHDAY IN Start date
@SEASONALENDDATE UDT_MONTHDAY IN End date
@DONOTTEXT bit IN

Definition

Copy

                        CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_CONSTITUENTDATAREVIEW_PHONE
                        (
                        @AUDITID uniqueidentifier,
                        @ID uniqueidentifier = null output,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @PHONETYPECODEID uniqueidentifier = null,
                        @NUMBER nvarchar(100),
                        @PRIMARY bit = null,
                        @DONOTCALL bit = null,
                        @UPDATEMATCHINGSPOUSEPHONE bit = null,
                        @UPDATEMATCHINGHOUSEHOLDPHONE bit = null,
                        @STARTTIME dbo.UDT_HOURMINUTE = '',
                        @ENDTIME dbo.UDT_HOURMINUTE = '',
                        @INFOSOURCECODEID uniqueidentifier = null,
                        @INFOSOURCECOMMENTS nvarchar(256) = '',
                        @COUNTRYID uniqueidentifier = null,
                        @STARTDATE date = null,
                        @DONOTCALLREASONCODEID uniqueidentifier = null,
                        @ISCONFIDENTIAL bit = null,
                        @CONSTITUENTDATAREVIEWROLLBACKREASONID uniqueidentifier = null,
                        @ORIGINCODE tinyint = 0,
                        @SEASONALSTARTDATE dbo.UDT_MONTHDAY = null,
                        @SEASONALENDDATE dbo.UDT_MONTHDAY = null,
                        @DONOTTEXT bit = 0
                        )
                        as
                        declare @CONSTITUENTID uniqueidentifier;

                        select @CONSTITUENTID = CONSTITUENTID,
                               @ID = AUDITRECORDID
                        from dbo.PHONEAUDIT
                        where AUDITID = @AUDITID;

                        if @ID is null
                            raiserror('ERR_COULDNOTFINDAUDIT', 13, 1);

                        -- fix the last add's rollback, if any
                        update dbo.CONSTITUENTDATAREVIEWROLLBACK
                        set ROLLBACKAUDITID = (select top 1 AUDITID
                                               from dbo.PHONEAUDIT
                                               where AUDITRECORDID = @ID
                                               and DATEADDED = DATECHANGED
                                               order by AUDITDATE desc)
                        where CONTEXTRECORDID = @ID
                        and ROLLBACKAUDITID is null;

                        exec dbo.USP_DATAFORMTEMPLATE_ADD_PHONE
                            @ID output,
                            @CHANGEAGENTID,
                            @CONSTITUENTID,
                            @PHONETYPECODEID,
                            @NUMBER,
                            @PRIMARY,
                            @DONOTCALL,
                            @UPDATEMATCHINGSPOUSEPHONE,
                            @UPDATEMATCHINGHOUSEHOLDPHONE,
                            @STARTTIME,
                            @ENDTIME,
                            @INFOSOURCECODEID,
                            @INFOSOURCECOMMENTS,
                            @COUNTRYID,
                            @STARTDATE,
                            @DONOTCALLREASONCODEID,
                            @ISCONFIDENTIAL,
                            @ORIGINCODE = @ORIGINCODE,
                            @SEASONALSTARTDATE = @SEASONALSTARTDATE,
                            @SEASONALENDDATE = @SEASONALENDDATE,
                            @DONOTTEXT = @DONOTTEXT

                        declare @CURRENTDATE datetime
                        set @CURRENTDATE = getdate()

                        insert into dbo.CONSTITUENTDATAREVIEWROLLBACK
                            (ID, CONTEXTRECORDID, ROLLBACKAUDITID, SOURCEAUDITID, CONSTITUENTDATAREVIEWROLLBACKREASONID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
                        values
                            (newid(), @ID, null, @AUDITID, @CONSTITUENTDATAREVIEWROLLBACKREASONID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)

                        return 0;