USP_PHONE_UPDATE_LOAD

Retrieves the information needed to update a phone.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@DATALOADED bit INOUT
@TSLONG bigint INOUT
@PHONETYPECODEID uniqueidentifier INOUT
@NUMBER nvarchar(100) INOUT
@PRIMARY bit INOUT
@DONOTCALL bit INOUT
@SPOUSENAME nvarchar(154) INOUT
@SPOUSEHASMATCHINGPHONE bit INOUT
@UPDATEMATCHINGSPOUSEPHONE bit INOUT
@MATCHINGHOUSEHOLDMEMBERS xml INOUT
@STARTTIME UDT_HOURMINUTE INOUT
@ENDTIME UDT_HOURMINUTE INOUT
@INFOSOURCECODEID uniqueidentifier INOUT
@INFOSOURCECOMMENTS nvarchar(256) INOUT
@COUNTRYID uniqueidentifier INOUT
@STARTDATE date INOUT
@ENDDATE date INOUT
@DONOTCALLREASONCODEID uniqueidentifier INOUT
@ISCONFIDENTIAL bit INOUT
@ORIGINCODE tinyint INOUT
@SEASONALSTARTDATE UDT_MONTHDAY INOUT
@SEASONALENDDATE UDT_MONTHDAY INOUT
@DONOTTEXT bit INOUT

Definition

Copy


            CREATE procedure dbo.USP_PHONE_UPDATE_LOAD
            (
                @ID uniqueidentifier,
                @DATALOADED bit = 0 output,
                @TSLONG bigint = 0 output,
                @PHONETYPECODEID uniqueidentifier = null output,
                @NUMBER nvarchar(100) = null output,
                @PRIMARY bit = null output,
                @DONOTCALL bit = null output,
                @SPOUSENAME nvarchar(154) = null output,
                @SPOUSEHASMATCHINGPHONE bit = null output,
                @UPDATEMATCHINGSPOUSEPHONE bit = null output,
                @MATCHINGHOUSEHOLDMEMBERS xml = null output,
                @STARTTIME dbo.UDT_HOURMINUTE = null output,
                @ENDTIME dbo.UDT_HOURMINUTE = null output,
                @INFOSOURCECODEID uniqueidentifier = null output,
                @INFOSOURCECOMMENTS nvarchar(256) = null output,
                @COUNTRYID uniqueidentifier = null output,
                @STARTDATE date = null output,
                @ENDDATE date = null output,
                @DONOTCALLREASONCODEID uniqueidentifier = null output,
                @ISCONFIDENTIAL bit = null output,
                @ORIGINCODE tinyint = null output,
                @SEASONALSTARTDATE dbo.UDT_MONTHDAY = null output,
                @SEASONALENDDATE dbo.UDT_MONTHDAY = null output,
                @DONOTTEXT bit = null output
            )
            as
                set nocount on;

                declare @SPOUSEID uniqueidentifier;

                set @DATALOADED = 0;
                set @TSLONG = 0;
                set @SPOUSEHASMATCHINGPHONE = 0;
                set @UPDATEMATCHINGSPOUSEPHONE = 0;

                if exists(select object_id from sys.objects where type = 'U' and name = 'RELATIONSHIP') begin
                    select
                        @DATALOADED = 1,
                        @PHONETYPECODEID = PHONE.PHONETYPECODEID,
                        @NUMBER = PHONE.NUMBER,
                        @PRIMARY = PHONE.ISPRIMARY,
                        @DONOTCALL = PHONE.DONOTCALL,
                        @SPOUSEID = SPOUSE.ID,
                        @SPOUSENAME = SPOUSE.NAME,
                        @TSLONG = PHONE.TSLONG,
                        @STARTTIME = PHONE.STARTTIME,
                        @ENDTIME = PHONE.ENDTIME,
                        @INFOSOURCECODEID = PHONE.INFOSOURCECODEID,
                        @INFOSOURCECOMMENTS = PHONE.INFOSOURCECOMMENTS,
                        @COUNTRYID = PHONE.COUNTRYID,
                        @STARTDATE = PHONE.STARTDATE,
                        @ENDDATE = PHONE.ENDDATE,
                        @DONOTCALLREASONCODEID = PHONE.DONOTCALLREASONCODEID,
                        @ISCONFIDENTIAL = PHONE.ISCONFIDENTIAL,
                        @ORIGINCODE = PHONE.ORIGINCODE,
                        @SEASONALSTARTDATE = PHONE.SEASONALSTARTDATE,
                        @SEASONALENDDATE = PHONE.SEASONALENDDATE,
                        @DONOTTEXT = PHONE.DONOTTEXT
                    from 
                        dbo.PHONE
                        left join dbo.RELATIONSHIP on RELATIONSHIP.RELATIONSHIPCONSTITUENTID = PHONE.CONSTITUENTID and RELATIONSHIP.ISSPOUSE = 1
                        left join dbo.CONSTITUENT as SPOUSE on SPOUSE.ID = RELATIONSHIP.RECIPROCALCONSTITUENTID
                    where 
                        PHONE.ID = @ID;

                    if exists (
                        select PHONE.ID
                        from dbo.PHONE
                        where
                            PHONE.CONSTITUENTID = @SPOUSEID and
                            PHONE.NUMBER = @NUMBER
                        ) begin
                            set @SPOUSEHASMATCHINGPHONE = 1;    
                            set @UPDATEMATCHINGSPOUSEPHONE = 1;
                    end
                end
                else begin
                    select
                        @DATALOADED = 1,
                        @PHONETYPECODEID = PHONE.PHONETYPECODEID,
                        @NUMBER = PHONE.NUMBER,
                        @PRIMARY = PHONE.ISPRIMARY,
                        @DONOTCALL = PHONE.DONOTCALL,
                        @TSLONG = PHONE.TSLONG,
                        @STARTTIME = PHONE.STARTTIME,
                        @ENDTIME = PHONE.ENDTIME,
                        @INFOSOURCECODEID = PHONE.INFOSOURCECODEID,
                        @INFOSOURCECOMMENTS = PHONE.INFOSOURCECOMMENTS,
                        @COUNTRYID = PHONE.COUNTRYID,
                        @STARTDATE = PHONE.STARTDATE,
                        @ENDDATE = PHONE.ENDDATE,
                        @DONOTCALLREASONCODEID = PHONE.DONOTCALLREASONCODEID,
                        @ISCONFIDENTIAL = PHONE.ISCONFIDENTIAL,
                        @ORIGINCODE = PHONE.ORIGINCODE,
                        @SEASONALSTARTDATE = PHONE.SEASONALSTARTDATE,
                        @SEASONALENDDATE = PHONE.SEASONALENDDATE,
                        @DONOTTEXT = PHONE.DONOTTEXT
                    from 
                        dbo.PHONE
                    where 
                        PHONE.ID = @ID;
                end

                return 0;