CREATE OR ALTER trigger tbnfs_a05u for tbnfs
inactive 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;