USP_PHONE_EDITLOAD

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@DATALOADED bit INOUT
@PHONETYPECODEID uniqueidentifier INOUT
@NUMBER nvarchar(100) INOUT
@PRIMARY bit INOUT
@DONOTCALL bit INOUT
@SPOUSENAME nvarchar(154) INOUT
@SPOUSEHASMATCHINGPHONE bit INOUT
@UPDATEMATCHINGSPOUSEPHONE bit INOUT
@ISHOUSEHOLD bit INOUT
@ISHOUSEHOLDMEMBER bit INOUT
@UPDATEMATCHINGHOUSEHOLDPHONE bit INOUT
@MATCHINGHOUSEHOLDMEMBERS xml INOUT
@TSLONG bigint 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
@COUNTRYCODES xml INOUT
@CONSTITUENTDATAREVIEWROLLBACKREASONID uniqueidentifier INOUT
@FORCEDPRIMARY bit INOUT
@CANEDITPRIMARY bit INOUT
@INVALIDFIELDS nvarchar(256) INOUT
@ORIGINCODE tinyint INOUT
@SEASONALSTARTDATE UDT_MONTHDAY INOUT
@SEASONALENDDATE UDT_MONTHDAY INOUT
@DONOTTEXT bit INOUT

Definition

Copy


CREATE procedure dbo.USP_PHONE_EDITLOAD
    (
        @ID uniqueidentifier,
        @DATALOADED bit = 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,
        @ISHOUSEHOLD bit = null output,
        @ISHOUSEHOLDMEMBER bit = null output,
        @UPDATEMATCHINGHOUSEHOLDPHONE bit = null output,
        @MATCHINGHOUSEHOLDMEMBERS xml = null output,
        @TSLONG bigint = 0 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,
        @COUNTRYCODES xml = null output,
        @CONSTITUENTDATAREVIEWROLLBACKREASONID uniqueidentifier = null output,    -- used by constituent data review

        @FORCEDPRIMARY bit = null output,            -- used by constituent data review

        @CANEDITPRIMARY bit = null output,            -- used by constituent data review

        @INVALIDFIELDS nvarchar(256) = null output,    -- used by constituent data review

        @ORIGINCODE tinyint = null output,
        @SEASONALSTARTDATE dbo.UDT_MONTHDAY = null output,
        @SEASONALENDDATE dbo.UDT_MONTHDAY = null output,
        @DONOTTEXT bit = null output
    )
    as
        set nocount on;

        exec dbo.USP_PHONE_UPDATE_LOAD @ID, @DATALOADED output, @TSLONG output, @PHONETYPECODEID output,
            @NUMBER output, @PRIMARY output, @DONOTCALL output, @SPOUSENAME output, @SPOUSEHASMATCHINGPHONE output,
            null, @MATCHINGHOUSEHOLDMEMBERS output, @STARTTIME output, @ENDTIME output,
            @INFOSOURCECODEID output, @INFOSOURCECOMMENTS output, @COUNTRYID output, @STARTDATE output, @ENDDATE output,
            @DONOTCALLREASONCODEID output, @ISCONFIDENTIAL output, @ORIGINCODE output,
            @SEASONALSTARTDATE output, @SEASONALENDDATE output, @DONOTTEXT output;

        declare @CURRENTDATE date;
        set @CURRENTDATE = getdate();

        declare @CONSTITUENTID uniqueidentifier;
        select @CONSTITUENTID = CONSTITUENTID from dbo.PHONE where ID = @ID;

        set @ISHOUSEHOLD = dbo.UFN_CONSTITUENT_ISHOUSEHOLD(@CONSTITUENTID);
        set @ISHOUSEHOLDMEMBER = case when exists (
            select 1 
            from dbo.GROUPMEMBER GM 
            left outer join dbo.GROUPMEMBERDATERANGE GMDR on GMDR.GROUPMEMBERID = GM.ID
            left outer join dbo.GROUPDATA GD on GD.ID = GM.GROUPID
            where GM.MEMBERID = @CONSTITUENTID 
            and GD.GROUPTYPECODE = 0
            and ((GMDR.DATEFROM is null and (GMDR.DATETO is null or GMDR.DATETO > @CURRENTDATE))
                or (GMDR.DATETO is null and (GMDR.DATEFROM is null or GMDR.DATEFROM <= @CURRENTDATE)) 
                or (GMDR.DATEFROM <= @CURRENTDATE and GMDR.DATETO > @CURRENTDATE))
        ) then 1 else 0 end;                                

        set @MATCHINGHOUSEHOLDMEMBERS = (
            select
                CONSTITUENTID,
                NAME,
                RELATIONSHIPTOPRIMARY
            from
                dbo.UFN_PHONE_MATCHINGHOUSEHOLDRECORDS(@CONSTITUENTID, @NUMBER, @PHONETYPECODEID)
            for xml raw('ITEM'), type, elements, root('MATCHINGHOUSEHOLDMEMBERS'), binary base64
        );

        select @COUNTRYCODES = dbo.UFN_COUNTRY_GETCOUNTRYCODES_TOITEMLISTXML();

        return 0;