CREATE OR ALTER TRIGGER TBNFS_A05U FOR TBNFS
ACTIVE AFTER UPDATE POSITION 5
AS
DECLARE VARIABLE DOCUMENTO_TIPO VARCHAR(3);
DECLARE VARIABLE DOCUMENTO INTEGER;
DECLARE VARIABLE PAGAMENTO_FORMA_ID INTEGER;
DECLARE VARIABLE PARCELA INTEGER;
DECLARE VARIABLE VALOR DECIMAL(15,2);
DECLARE VARIABLE TARIFA DECIMAL(15,4);
DECLARE VARIABLE VALOR_LIQUIDO DECIMAL(15,2);
DECLARE VARIABLE NSU VARCHAR(50);
DECLARE VARIABLE ADQUIRENTE_ID INTEGER;
DECLARE VARIABLE BANDEIRA_CARTAO VARCHAR(100);
DECLARE VARIABLE CODIGO_AUTORIZACAO VARCHAR(50);
DECLARE VARIABLE CONCILIACAO VARCHAR(1);
BEGIN
    IF(OLD.SITUACAO = 1 AND NEW.SITUACAO = 2) THEN
    BEGIN

        SELECT * FROM SP_FORMA_PAGAMENTO_CARTAO('NFS', NEW.CONTROLE, 1)
        INTO :DOCUMENTO_TIPO, :DOCUMENTO, :PAGAMENTO_FORMA_ID, :PARCELA, :VALOR, :TARIFA, :VALOR_LIQUIDO,
                 :NSU, :ADQUIRENTE_ID, :BANDEIRA_CARTAO, :CODIGO_AUTORIZACAO, :CONCILIACAO;

    END ELSE IF(OLD.SITUACAO = 2 AND NEW.SITUACAO = 3) THEN
    BEGIN
        DELETE FROM TBNFS_FORMA_PAGAMENTO T WHERE T.DOCUMENTO_TIPO = 'NFS' AND T.DOCUMENTO_ID = NEW.CONTROLE;
    END
END;