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;