USP_ADDRESS_DELETE

Executes the "Address: Delete" record operation.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN Input parameter indicating the ID of the record being deleted.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the delete.

Definition

Copy


                    CREATE procedure dbo.USP_ADDRESS_DELETE
                    (
                        @ID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier
                    )
                    as
                        set nocount on;

                        if (select
                            count(NONPRIMARY.ID)
                        from
                            dbo.ADDRESS [TODELETE]
                        left join
                            dbo.ADDRESS [NONPRIMARY]
                        on
                            TODELETE.CONSTITUENTID = NONPRIMARY.CONSTITUENTID
                        where
                            TODELETE.ID = @ID and
                            TODELETE.ISPRIMARY = 1 and
                            NONPRIMARY.ISPRIMARY = 0 ) > 0
                        begin
                            raiserror ('ERR_PRIMARY_ADDRESS_DELETE',13,1);
                            return 0;
                        end

            --Vendor RemitAddress

            if exists (select * from dbo.VENDOR V where V.REMITADDRESSID = @ID)
              begin
              update dbo.VENDOR set 
                REMITADDRESSID = NULL
                ,CHANGEDBYID = @CHANGEAGENTID
                ,DATECHANGED = getdate()
              where REMITADDRESSID = @ID
              end

            update BATCHCONSTITUENTADDRESSUPDATE
            set ADDRESSID = null
            from dbo.BATCHCONSTITUENTADDRESSUPDATE bcau
            inner join dbo.BATCH b on bcau.BATCHID = b.ID
            where bcau.ADDRESSID = @ID and b.STATUSCODE = 1;

            update BATCHCONSTITUENTUPDATEADDRESSES
              set BATCHCONSTITUENTUPDATEADDRESSES.MANUALEXCEPTIONSIMILARADDRESSID = null
            from dbo.BATCHCONSTITUENTUPDATEADDRESSES
              inner join dbo.BATCHCONSTITUENTUPDATE on BATCHCONSTITUENTUPDATEADDRESSES.BATCHCONSTITUENTUPDATEID = BATCHCONSTITUENTUPDATE.ID
              inner join dbo.BATCH on BATCHCONSTITUENTUPDATE.BATCHID = BATCH.ID
            where BATCHCONSTITUENTUPDATEADDRESSES.MANUALEXCEPTIONSIMILARADDRESSID = @ID and BATCH.STATUSCODE = 1;

                        exec dbo.USP_ADDRESS_DELETEBYID_WITHCHANGEAGENTID @ID, @CHANGEAGENTID;
                        return 0;