USP_BANKINGSYSTEM_UPDATESINGLECONDITIONSETTING
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ENABLED | bit | INOUT | |
@ENABLEDCHANGED | bit | INOUT | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@CURRENTDATE | datetime | IN |
Definition
Copy
CREATE procedure dbo.USP_BANKINGSYSTEM_UPDATESINGLECONDITIONSETTING
(
@ENABLED bit output,
@ENABLEDCHANGED bit output,
@CHANGEAGENTID uniqueidentifier = null,
@CURRENTDATE datetime = null
)
as
begin
declare @CONDITIONSETTINGNAME nvarchar(50);
set @CONDITIONSETTINGNAME = N'BankingSystem-Single';
if 1 =
(
select
count(*)
from
dbo.BANKINGSYSTEM
inner join dbo.CONDITIONSETTING on BANKINGSYSTEM.CONDITIONSETTINGNAME = CONDITIONSETTING.NAME
)
set @ENABLED = 1;
else
set @ENABLED = 0;
declare @CONDITIONSETTINGORIGINALLYENABLED bit;
set @CONDITIONSETTINGORIGINALLYENABLED = dbo.UFN_CONDITIONSETTING_EVALUATEEXISTSCONDITION(@CONDITIONSETTINGNAME);
set @ENABLEDCHANGED = case @CONDITIONSETTINGORIGINALLYENABLED when @ENABLED then 0 else 1 end;
if @ENABLEDCHANGED = 1
begin
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
if @CURRENTDATE is null
set @CURRENTDATE = getdate();
if @ENABLED = 1
exec dbo.USP_CONDITIONSETTING_SETCONDITION @CONDITIONSETTINGNAME, @CHANGEAGENTID, @CURRENTDATE;
else
exec dbo.USP_CONDITIONSETTING_DELETEBYNAME_WITHCHANGEAGENTID @CONDITIONSETTINGNAME, @CHANGEAGENTID;
end
end