CREATE trigger ttbnfs_item_b10i for tbnfs_item
active before insert position 0
AS
DECLARE VARIABLE CHECK_PEDIDO INTEGER;
BEGIN
    :CHECK_PEDIDO = 0;

    SELECT
        FIRST 1
        P.PEDIDO
    FROM TBPEDIDO P, TBPEDIDO_ITEM T
    WHERE
        T.PEDIDO    = NEW.PEDIDO
    AND T.CONTROLE  = NEW.PEDIDO_ITEM_PE_CONTROLE
    AND P.PEDIDO    = T.PEDIDO
    INTO :CHECK_PEDIDO;

    IF(COALESCE(:CHECK_PEDIDO, 0) = 0 AND NEW.PEDIDO > 0) THEN
    BEGIN
        EXCEPTION "..."'ITEM DO PEDIDO '||NEW.PEDIDO_ITEM_PE_CONTROLE||' NAO PERTENCE AO PEDIDO '||NEW.PEDIDO||'. POR FAVOR ENTRE EM CONTATO COM O SUPORTE TECNICO.';
    END
END;

COMMENT ON TRIGGER TTBNFS_ITEM_B10I IS 'TRATATIVA PARA ITENS DE PEDIDO DIFERENTE DO PEDIDO FATURADO';
