CREATE OR ALTER TRIGGER TTBCONFERENCIA_ITEM_B01I FOR TBCONFERENCIA_ITEM
ACTIVE BEFORE INSERT POSITION 0
AS
decLare variable SEQUENCIA integer;
decLare variable SITUACAO integer;
BEGIN
    SITUACAO           = 0;
    SEQUENCIA          = 0;
     FOR
        SELECT FIRST 1
            A.SEQUENCIA, A.SITUACAO
            FROM TBPEDIDO_ITEM A
            WHERE A.CONTROLE     = NEW.TABELA_ITEM_ID
            AND A.TAMANHO        = NEW.TAMANHO
            AND A.PRODUTO_CODIGO = NEW.PRODUTO_ID
            AND A.SITUACAO <> 1
            AND (A.SITUACAO = 3 or A.SITUACAO = 2)

            INTO :SEQUENCIA, :SITUACAO do
            begin
               EXCEPTION "..." 'ITEM SEQ.'||FN_LPAD(:SEQUENCIA,3,0)||IIF(:SITUACAO = 2,' ESTA FATURADO',' ESTA ENCERRADO')||'.<br> OPERACAO CANCELADA.';
            end

    IF (NEW.ID IS NULL) THEN
        NEW.ID = GEN_ID(GTBCONFERENCIA_ITEM, 1);
END