CREATE OR ALTER PROCEDURE SP_CFE_CONFERENCIA (
    PDV_CFE_ID INTEGER,
    ACAO INTEGER)
AS
DECLARE VARIABLE PDV_CFE_ITEM_ID INTEGER;
DECLARE VARIABLE CONFERENCIA_ITEM_ID INTEGER;
DECLARE VARIABLE QUANTIDADE NUMERIC(10,5);
DECLARE VARIABLE TAMANHO INTEGER;

BEGIN

    FOR SELECT
        A.ID,
        A.CONFERENCIA_ITEM_ID,
        A.QUANTIDADE,
        A.TAMANHO
    FROM TBPDV_CFE_ITEM A
    WHERE A.CONFERENCIA_ITEM_ID > 0
      AND A.PDV_CFE_ID = :PDV_CFE_ID
    INTO
    :PDV_CFE_ITEM_ID, :CONFERENCIA_ITEM_ID, :QUANTIDADE, :TAMANHO
    DO BEGIN

        /* REALIZAR BAIXA DE CONFERENCIA */
        IF (:ACAO = 1) THEN
           BEGIN

               UPDATE TBPDV_CONFERENCIA_ITEM T SET T.SITUACAO = 1 WHERE T.ID = :CONFERENCIA_ITEM_ID;

           END
           /* DESFAZ BAIXA DE CONFERENCIA */
           ELSE IF(:ACAO = 2) THEN
           BEGIN

               UPDATE TBPDV_CONFERENCIA_ITEM T SET T.SITUACAO = 0 WHERE T.ID = :CONFERENCIA_ITEM_ID;

           END

       END

END;