ALTER TABLE TBPDV_CFE_ITEM_TRATAMENTO
ADD PDV_CFE_ID INTEGER;

CREATE INDEX ITBPDV_CFE_ITEM_TRATAMENTO_02
ON TBPDV_CFE_ITEM_TRATAMENTO (PDV_CFE_ID);

CREATE INDEX ITBPDV_CFE_ITEM_TRATAMENTO_03
ON TBPDV_CFE_ITEM_TRATAMENTO (ESTOQUE);

CREATE INDEX ITBPDV_CFE_ITEM_TRATAMENTO_04
ON TBPDV_CFE_ITEM_TRATAMENTO (PEDIDO);


SET TERM ^ ;

CREATE OR ALTER trigger ttbpdv_cfe_item_b02i for tbpdv_cfe_item
active before insert position 2
AS
BEGIN
    IF(NEW.ID > 0) THEN
    BEGIN
        IF(COALESCE(NEW.IMPORTACAO, 0) = 1) THEN
        BEGIN
            NEW.ESTOQUE_ID = 1;

            INSERT INTO TBPDV_CFE_ITEM_TRATAMENTO (PDV_CFE_ITEM_ID, PEDIDO, ESTOQUE, PDV_CFE_ID)
                VALUES (NEW.ID, 0, 1, NEW.PDV_CFE_ID);

        END ELSE
        BEGIN
            INSERT INTO TBPDV_CFE_ITEM_TRATAMENTO (PDV_CFE_ITEM_ID, PEDIDO, ESTOQUE, PDV_CFE_ID)
            VALUES (NEW.ID, 0, 0, NEW.PDV_CFE_ID);
        END

    END
END
^

SET TERM ; ^


UPDATE TBPDV_CFE_ITEM_TRATAMENTO T SET T.PDV_CFE_ID = COALESCE((SELECT FIRST 1 K.PDV_CFE_ID FROM TBPDV_CFE_ITEM K WHERE K.ID = T.PDV_CFE_ITEM_ID), 0);
