TR_DISBURSEMENTPROCESSTEMPLATE_BANKACCOUNTSIGNATURESNOTASSIGNED

Definition

Copy


CREATE trigger dbo.TR_DISBURSEMENTPROCESSTEMPLATE_BANKACCOUNTSIGNATURESNOTASSIGNED on DISBURSEMENTPROCESSTEMPLATE for INSERT, UPDATE NOT FOR REPLICATION AS
begin
  set nocount on;

  if exists
    SELECT I.ID
    FROM INSERTED I
    left outer join dbo.BANKACCOUNTAUTHORIZEDSIGNATURE B1 on I.SIGNATURE1ID = B1.ID
    left outer join dbo.BANKACCOUNTAUTHORIZEDSIGNATURE B2 on I.SIGNATURE2ID = B2.ID
    left outer join dbo.DISBURSEMENTPROCESSTEMPLATESIGNATURE S on S.DISBURSEMENTPROCESSTEMPLATEID = I.ID
    left outer join dbo.BANKACCOUNTAUTHORIZEDSIGNATURE B3 on S.BANKACCOUNTAUTHORIZEDSIGNATUREID = B3.ID
    where (B1.BANKACCOUNTID <> I.BANKACCOUNTID) or (B2.BANKACCOUNTID <> I.BANKACCOUNTID) or (B3.BANKACCOUNTID <> I.BANKACCOUNTID))
  BEGIN
    RAISERROR ('The bank account cannot be changed if signatures are assigned to the process template.', 16, 1)
    ROLLBACK
  END
end