SET TERM ^ ;

CREATE OR ALTER trigger ttbestoque_transacao_item_bud0 for tbestoque_transacao_item
active before insert or update or delete position 0
AS
DECLARE VARIABLE INVENTARIO_ID INTEGER;
DECLARE VARIABLE PRODUTO_ID INTEGER;
BEGIN
    IF(INSERTING OR (UPDATING)) THEN
        BEGIN
            FOR
                SELECT FIRST 1 T.ID
                FROM TBINVENTARIO_MATERIA_PRIMA T, TBINVENTARIO_MAT_PRIMA_DETALHE I
                WHERE T.ID = I.INVENTARIO_ID
                AND T.LOCALIZACAO_ID = NEW.LOCALIZACAO_CODIGO
                AND T.ESTABELECIMENTO_ID = NEW.ESTABELECIMENTO_CODIGO
                AND I.PRODUTO_ID = NEW.PRODUTO_CODIGO
                AND T.FLAG_AJUSTE = 0
                AND T.BLOQUEIA_ESTOQUE  = 1
                INTO :INVENTARIO_ID
              DO
                BEGIN
                    EXCEPTION "..." '<h4>ATENCAO</h4>PRODUTO: <br> <strong>'||(SELECT FIRST 1 FN_LPAD(P.CODIGO,6,'0')||'-'||P.DESCRICAO FROM TBPRODUTO P WHERE P.CODIGO = NEW.PRODUTO_CODIGO)||' </strong>ESTA EM PROCESSO DE INVENTARIO, TRANSAÇÃO CANCELADA. ENTRE EM CONTATO COM O SETOR RESPONSAVEL! <br><strong>INVENTARIO:'||:INVENTARIO_ID||'</strong>';
                END
        END

        IF(DELETING) THEN
        BEGIN
            FOR
                SELECT FIRST 1 T.ID
                FROM TBINVENTARIO_MATERIA_PRIMA T, TBINVENTARIO_MAT_PRIMA_DETALHE I
                WHERE T.ID = I.INVENTARIO_ID
                AND T.LOCALIZACAO_ID = NEW.LOCALIZACAO_CODIGO
                AND T.ESTABELECIMENTO_ID = NEW.ESTABELECIMENTO_CODIGO
                AND I.PRODUTO_ID = NEW.PRODUTO_CODIGO
                AND T.FLAG_AJUSTE = 0
                AND T.BLOQUEIA_ESTOQUE  = 1
                INTO :INVENTARIO_ID
              DO
                BEGIN
                    EXCEPTION "..." '<h4>ATENCAO</h4>PRODUTO: <br> <strong>'||(SELECT FIRST 1 FN_LPAD(P.CODIGO,6,'0')||'-'||P.DESCRICAO FROM TBPRODUTO P WHERE P.CODIGO = OLD.PRODUTO_CODIGO)||' </strong>ESTA EM PROCESSO DE INVENTARIO, TRANSAÇÃO CANCELADA. ENTRE EM CONTATO COM O SETOR RESPONSAVEL!<br><strong>NVENTARIO:'||:INVENTARIO_ID||'</strong>';
                END
        END

END
^

SET TERM ; ^

