USP_BANKINGSYSTEM_SETCONDITIONSETTING

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@ENABLED bit IN
@CHANGEAGENTID uniqueidentifier IN
@CURRENTDATE datetime IN

Definition

Copy


CREATE procedure dbo.USP_BANKINGSYSTEM_SETCONDITIONSETTING
(
    @ID uniqueidentifier,
    @ENABLED bit,
    @CHANGEAGENTID uniqueidentifier = null,
    @CURRENTDATE datetime = null
)
as
begin
    if @CHANGEAGENTID is null
        exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

    if @CURRENTDATE is null
        set @CURRENTDATE = getdate();

    declare @CONDITIONSETTINGNAME nvarchar(50);
    select
        @CONDITIONSETTINGNAME = BANKINGSYSTEM.CONDITIONSETTINGNAME
    from
        dbo.BANKINGSYSTEM
    where
        BANKINGSYSTEM.ID = @ID;

    if @ENABLED = 1
        exec dbo.USP_CONDITIONSETTING_SETCONDITION @CONDITIONSETTINGNAME, @CHANGEAGENTID, @CURRENTDATE;
    else
    begin
        if exists (select 1 from dbo.FINANCIALINSTITUTION where FINANCIALINSTITUTION.BANKINGSYSTEMID = @ID)
        or exists (select 1 from dbo.BANKACCOUNT where BANKACCOUNT.BANKINGSYSTEMID = @ID)
        or exists (select 1 from dbo.BANK where BANK.DEFAULTBANKINGSYSTEMID = @ID)
        begin
            raiserror(N'ERR_BANKINGSYSTEMINUSE : You cannot disable a banking system that is linked to a bank, bank account, or constituent financial institution.', 13, 1);
            return 1;
        end

        exec dbo.USP_CONDITIONSETTING_DELETEBYNAME_WITHCHANGEAGENTID @CONDITIONSETTINGNAME, @CHANGEAGENTID;
    end

end