COMMENT ON COLUMN TBPAGAMENTO_FORMA.NFE_PG_INTEGRADO IS
'TIPO INTEGRACAO PARA PAGAMENTO
0 = NAO INFORMADO
1 = INTEGRADO COM O SISTEMA DE AUTOMACAO DA EMPRESA (TEF)
2 = NAO INTEGRADO COM O SISTEMA DE AUTOMACAO DA EMPRESA (POS)';

UPDATE TBPAGAMENTO_FORMA T SET T.NFE_PG_INTEGRADO = '0' WHERE COALESCE(T.HABILITA_PDV, 0) = 0 AND T.NFE_TIPPAG NOT IN ('03', '04');

UPDATE TBPAGAMENTO_FORMA T SET T.NFE_PG_INTEGRADO = '2' WHERE COALESCE(T.HABILITA_PDV, 0) = 0 AND T.NFE_TIPPAG IN ('03', '04');

UPDATE TBPAGAMENTO_FORMA T SET T.NFE_PG_INTEGRADO = '0' WHERE COALESCE(T.HABILITA_PDV, 0) = 1 AND T.NFE_TIPPAG NOT IN ('03', '04');

UPDATE TBPAGAMENTO_FORMA T SET T.NFE_PG_INTEGRADO = '1' WHERE COALESCE(T.HABILITA_PDV, 0) = 1 AND T.NFE_TIPPAG IN ('03', '04') AND COALESCE(T.PDV_TIPO, 0) = 2 AND COALESCE(T.PDV_SUB_TIPO, 0) IN (0,1,2);

UPDATE TBPAGAMENTO_FORMA T SET T.NFE_PG_INTEGRADO = '2' WHERE COALESCE(T.HABILITA_PDV, 0) = 1 AND T.NFE_TIPPAG IN ('03', '04') AND COALESCE(T.PDV_TIPO, 0) = 3 AND COALESCE(T.PDV_SUB_TIPO, 0) IN (0,1,2);

SET TERM ^ ;

CREATE trigger ttbpagamento_forma_b03iu for tbpagamento_forma
active before insert or update position 3
AS
BEGIN

    /* TRATATIVA PARA INDICADOR DE PAGAMENTO INTEGRADO */
    IF(NEW.NFE_TIPPAG = '03' OR NEW.NFE_TIPPAG = '04') THEN
    BEGIN
        IF(COALESCE(NEW.HABILITA_PDV, 0) = 0) THEN
        BEGIN
            NEW.NFE_PG_INTEGRADO = '2';
        END ELSE
        BEGIN
            IF(COALESCE(NEW.PDV_TIPO, 0) = 2 OR COALESCE(NEW.PDV_TIPO, 0) = 3) THEN
            BEGIN
                IF(COALESCE(NEW.PDV_SUB_TIPO, 0) = 1 OR COALESCE(NEW.PDV_SUB_TIPO, 0) = 2) THEN
                BEGIN
                    IF(COALESCE(NEW.PDV_TIPO, 0) = 2) THEN
                    BEGIN
                        NEW.NFE_PG_INTEGRADO = '1';
                    END ELSE
                    BEGIN
                        NEW.NFE_PG_INTEGRADO = '2';
                    END

                END ELSE
                BEGIN
                    NEW.NFE_PG_INTEGRADO = '2';
                END
            END
        END

    END ELSE
    BEGIN
        NEW.NFE_PG_INTEGRADO = '0';
    END
END
^

SET TERM ; ^

