USP_TAXID_MARKACTIVE
Executes the "Tax ID: Mark active" record operation.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | Input parameter indicating the ID of the record being updated. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the update. |
Definition
Copy
CREATE procedure dbo.USP_TAXID_MARKACTIVE
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier
)
as begin
set nocount on;
declare @CURRENTDATE datetime;
declare @FEDERALENTITYTYPECODECOUNT tinyint;
declare @STATEENTITYTYPECODECOUNT tinyint;
declare @STATE uniqueidentifier;
declare @ENTITYTYPECODE tinyint;
if @CHANGEAGENTID is null exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
set @CURRENTDATE = getdate();
set @STATE = (select STATEID from dbo.TAXID where ID=@ID);
set @FEDERALENTITYTYPECODECOUNT = (select COUNT(ID) from dbo.TAXID where ENTITYTYPECODE = 0 and STATUSCODE=1);
set @STATEENTITYTYPECODECOUNT = (select COUNT(ID) from dbo.TAXID where ENTITYTYPECODE = 1 and STATUSCODE=1 and STATEID=@STATE);
set @ENTITYTYPECODE = (select ENTITYTYPECODE from dbo.TAXID where ID=@ID);
if @FEDERALENTITYTYPECODECOUNT > 0 and @ENTITYTYPECODE=0
RAISERROR ('Only one active federal entity type is allowed.', 16, 1)
if @STATEENTITYTYPECODECOUNT > 0 and @ENTITYTYPECODE=1
RAISERROR ('Only one active state entity type is allowed per state.', 16, 1)
UPDATE dbo.TAXID SET STATUSCODE=1, CHANGEDBYID=@CHANGEAGENTID, DATECHANGED=@CURRENTDATE WHERE ID=@ID AND STATUSCODE<>1
return 0;
end