ALTER TABLE TBREVISAO
    ADD PARAMETROS_INSUMO BLOB SUB_TYPE 1 SEGMENT SIZE 80;

SET TERM ^ ;

CREATE OR ALTER procedure SP_NF_ITEM_ESTOQUE (
    ORIGEM varchar(3),
    NF_ITEM_ID integer,
    NF_ID integer,
    ACAO integer)
as
declare variable CONTROLE integer;
declare variable NUMERO_NOTAFISCAL integer;
declare variable ESTABELECIMENTO_CODIGO integer;
declare variable LOCALIZACAO_CODIGO integer;
declare variable PRODUTO_CODIGO integer;
declare variable DATA date;
declare variable TIPO char(1);
declare variable QUANTIDADE numeric(10,5);
declare variable T01 numeric(10,5);
declare variable T02 numeric(10,5);
declare variable T03 numeric(10,5);
declare variable T04 numeric(10,5);
declare variable T05 numeric(10,5);
declare variable T06 numeric(10,5);
declare variable T07 numeric(10,5);
declare variable T08 numeric(10,5);
declare variable T09 numeric(10,5);
declare variable T10 numeric(10,5);
declare variable T11 numeric(10,5);
declare variable T12 numeric(10,5);
declare variable T13 numeric(10,5);
declare variable T14 numeric(10,5);
declare variable T15 numeric(10,5);
declare variable T16 numeric(10,5);
declare variable T17 numeric(10,5);
declare variable T18 numeric(10,5);
declare variable T19 numeric(10,5);
declare variable T20 numeric(10,5);
declare variable OPERACAO_CODIGO varchar(3);
declare variable CUSTO_UNITARIO numeric(10,5);
declare variable EMPRESA_CODIGO integer;
declare variable VEMPRESA_CODIGO integer;
declare variable VALOR_UNITARIO numeric(18,8);
declare variable VCUSTO_MEDIO integer;
declare variable NF_EXTERNO integer;
declare variable NF_EXTERNO_ITEM_CONTROLE integer;
declare variable NFE integer;
declare variable NFE_ITEM_CONTROLE integer;
declare variable NFS integer;
declare variable NFS_ITEM_CONTROLE integer;
declare variable PDV_CFE_ID integer;
declare variable PDV_CFE_ITEM_ID integer;
declare variable NF_CONSIGNACAO integer;
declare variable NF_CONSIGNACAO_ITEM integer;
declare variable CONTROLE_ESTOQUE_EXTERNO char(1);
declare variable EXIGE_NF_REFERENCIA char(1);
declare variable CONTROLE_ESTOQUE char(1);
declare variable CONTROLE_CONSIGNACAO char(1);
declare variable BLOQ_MOV_EST char(1);
declare variable CONTROLE_TRANSACAO_ITEM_OLD integer;
declare variable EXIGE_PECA integer;
declare variable REVISAO_ID integer;
declare variable QUANTIDADE_PECA NUMERIC(15,4);
BEGIN

  IF (ORIGEM = 'NFS') THEN
      BEGIN

      SELECT T.CONTROLE, T.NUMERO_NOTAFISCAL, T.ESTABELECIMENTO_CODIGO,
            T.LOCALIZACAO_CODIGO, T.DATA_EMISSAO, T.PRODUTO_CODIGO, T.QUANTIDADE,
            T.T01, T.T02, T.T03, T.T04, T.T05, T.T06, T.T07, T.T08, T.T09, T.T10, T.T11, T.T12,
            T.T13, T.T14, T.T15, T.T16, T.T17, T.T18, T.T19, T.T20, T.OPERACAO_CODIGO, T.EMPRESA_CODIGO,
            T.VALOR_UNITARIO, T.VALOR_CUSTO, T.NF_EXTERNO, T.NF_EXTERNO_ITEM_CONTROLE,
            T.NFE, T.NFE_ITEM_CONTROLE, T.NF_CONSIGNACAO, T.NF_CONSIGNACAO_ITEM,
            O.CONTROLE_ESTOQUE_EXTERNO, O.EXIGE_NF_REFERENCIA, O.CONTROLE_ESTOQUE, O.CONTROLE_CONSIGNACAO
            FROM TBNFS_ITEM T, TBOPERACAO O
           WHERE O.CODIGO = T.OPERACAO_CODIGO
           AND T.NFS_CONTROLE = :NF_ID
           AND T.CONTROLE = :NF_ITEM_ID
      INTO :CONTROLE, :NUMERO_NOTAFISCAL, :ESTABELECIMENTO_CODIGO, :LOCALIZACAO_CODIGO, :DATA, :PRODUTO_CODIGO, :QUANTIDADE,
           :T01, :T02, :T03, :T04, :T05, :T06, :T07, :T08, :T09, :T10, :T11, :T12, :T13, :T14, :T15, :T16, :T17, :T18, :T19, :T20,
           :OPERACAO_CODIGO, :EMPRESA_CODIGO, :VALOR_UNITARIO, :CUSTO_UNITARIO, :NF_EXTERNO, :NF_EXTERNO_ITEM_CONTROLE,
           :NFE, :NFE_ITEM_CONTROLE, :NF_CONSIGNACAO, :NF_CONSIGNACAO_ITEM,
           :CONTROLE_ESTOQUE_EXTERNO, :EXIGE_NF_REFERENCIA, :CONTROLE_ESTOQUE, :CONTROLE_CONSIGNACAO;

       IF(ACAO = 1) THEN -- INCLUSAO
       BEGIN

           IF(CONTROLE_ESTOQUE = '1' OR CONTROLE_ESTOQUE_EXTERNO = '1') THEN
           BEGIN
                VCUSTO_MEDIO     = 0;
                VEMPRESA_CODIGO  = 0;
                TIPO             = 'B';

                IF(CONTROLE_ESTOQUE = '1') THEN
                   TIPO = 'S';
    
                        /*  ATUALIZA TABELAS DE ESTOQUE DE TERCEIROS POR EMPRESA */
                        BLOQ_MOV_EST = (SELECT TRIM(FN_PARAMETRO('SISTEMA.5')) FROM RDB$DATABASE);
                        IF(BLOQ_MOV_EST = '1') THEN
                        BEGIN
                           IF(CONTROLE_ESTOQUE_EXTERNO = '1') THEN
                           BEGIN
                             IF(EXIGE_NF_REFERENCIA = '1') THEN
                                BEGIN
                                    IF(CONTROLE_CONSIGNACAO <> '1') THEN
                                       BEGIN
                                        VEMPRESA_CODIGO     = (SELECT FIRST 1 A.EMPRESA_CODIGO FROM TBNFE_ITEM A, TBNFE B WHERE A.NFE_CONTROLE = B.CONTROLE AND A.ESTABELECIMENTO_CODIGO = :ESTABELECIMENTO_CODIGO AND A.NUMERO_NOTAFISCAL = :NF_EXTERNO AND A.CONTROLE = :NF_EXTERNO_ITEM_CONTROLE);
                                        VCUSTO_MEDIO        = 0;
                                       END
            
                                    IF(CONTROLE_CONSIGNACAO = '1') THEN
                                       BEGIN
                                       TIPO                 = 'B';
                                       VEMPRESA_CODIGO      =  EMPRESA_CODIGO;
                                       END
                                END
                            IF(EXIGE_NF_REFERENCIA = '0') THEN
                                BEGIN
                                VEMPRESA_CODIGO  =  EMPRESA_CODIGO;
                                VCUSTO_MEDIO     = VALOR_UNITARIO;
                                END
                           END
                        END

                /* REGISTRA TRANSACAO DE ESTOQUE */
                EXECUTE PROCEDURE SPI_ESTOQUE_SALDO(
                ESTABELECIMENTO_CODIGO, LOCALIZACAO_CODIGO, PRODUTO_CODIGO, TIPO, DATA, QUANTIDADE,
                T01, T02, T03, T04, T05, T06, T07, T08, T09, T10, T11, T12,
                T13, T14, T15, T16, T17, T18, T19, T20, 0, NUMERO_NOTAFISCAL, CONTROLE, 0,
                OPERACAO_CODIGO, NULL, NULL, 0, CUSTO_UNITARIO, FN_CURRENT_USER_ID(), CURRENT_DATE,
                0, '', '', 0, 0, NULL, VEMPRESA_CODIGO, VCUSTO_MEDIO);
           END

           /* BAIXAR SALDO DA PECA DO LOTE */
           IF (:CONTROLE > 0) THEN
               BEGIN
                EXECUTE PROCEDURE SPU_SALDO_PECA(:CONTROLE, 1);
               END

           IF (:NF_EXTERNO_ITEM_CONTROLE > 0 OR :NFE_ITEM_CONTROLE > 0) THEN
               BEGIN
                  UPDATE TBNFE_ITEM_SALDO SET
                  QUANTIDADE = QUANTIDADE - :QUANTIDADE,
                  T01 = T01 - :T01, T02 = T02 - :T02, T03 = T03 - :T03, T04 = T04 - :T04,
                  T05 = T05 - :T05, T06 = T06 - :T06, T07 = T07 - :T07, T08 = T08 - :T08,
                  T09 = T09 - :T09, T10 = T10 - :T10, T11 = T11 - :T11, T12 = T12 - :T12,
                  T13 = T13 - :T13, T14 = T14 - :T14, T15 = T15 - :T15, T16 = T16 - :T16,
                  T17 = T17 - :T17, T18 = T18 - :T18, T19 = T19 - :T19, T20 = T20 - :T20
                  WHERE NFE_ITEM_CONTROLE = IIF(:NF_EXTERNO_ITEM_CONTROLE>0,:NF_EXTERNO_ITEM_CONTROLE,:NFE_ITEM_CONTROLE);
               END
        
           IF (:NF_CONSIGNACAO_ITEM > 0) THEN
               BEGIN
                  UPDATE TBNFS_ITEM_SALDO SET
                  QUANTIDADE = QUANTIDADE - :QUANTIDADE,
                  T01 = T01 - :T01, T02 = T02 - :T02, T03 = T03 - :T03, T04 = T04 - :T04,
                  T05 = T05 - :T05, T06 = T06 - :T06, T07 = T07 - :T07, T08 = T08 - :T08,
                  T09 = T09 - :T09, T10 = T10 - :T10, T11 = T11 - :T11, T12 = T12 - :T12,
                  T13 = T13 - :T13, T14 = T14 - :T14, T15 = T15 - :T15, T16 = T16 - :T16,
                  T17 = T17 - :T17, T18 = T18 - :T18, T19 = T19 - :T19, T20 = T20 - :T20
                  WHERE NFS_ITEM_CONTROLE = :NF_CONSIGNACAO_ITEM;
               END

    END ELSE

    IF (ACAO = 2) THEN -- ALTERA????O
        BEGIN

          /* DESFAZER BAIXAR DE SALDO DA PECA DO LOTE */
          EXECUTE PROCEDURE SPU_SALDO_PECA(CONTROLE, 2);
          /* EXCLUI TRANSACAO DE ESTOQUE */
          EXECUTE PROCEDURE SPD_ESTOQUE_TRANSACAO2(ESTABELECIMENTO_CODIGO, LOCALIZACAO_CODIGO, DATA, PRODUTO_CODIGO, NUMERO_NOTAFISCAL, 0, CONTROLE, 0, 0, 0, 0);

           IF (:NF_EXTERNO_ITEM_CONTROLE > 0 OR :NFE_ITEM_CONTROLE > 0) THEN
               BEGIN
                  UPDATE TBNFE_ITEM_SALDO SET
                  QUANTIDADE = QUANTIDADE + :QUANTIDADE,
                  T01 = T01 + :T01, T02 = T02 + :T02, T03 = T03 + :T03, T04 = T04 + :T04,
                  T05 = T05 + :T05, T06 = T06 + :T06, T07 = T07 + :T07, T08 = T08 + :T08,
                  T09 = T09 + :T09, T10 = T10 + :T10, T11 = T11 + :T11, T12 = T12 + :T12,
                  T13 = T13 + :T13, T14 = T14 + :T14, T15 = T15 + :T15, T16 = T16 + :T16,
                  T17 = T17 + :T17, T18 = T18 + :T18, T19 = T19 + :T19, T20 = T20 + :T20
                  WHERE NFE_ITEM_CONTROLE = IIF(:NF_EXTERNO_ITEM_CONTROLE>0,:NF_EXTERNO_ITEM_CONTROLE,:NFE_ITEM_CONTROLE);
               END
        
           IF (:NF_CONSIGNACAO_ITEM > 0) THEN
               BEGIN
                  UPDATE TBNFS_ITEM_SALDO SET
                  QUANTIDADE = QUANTIDADE + :QUANTIDADE,
                  T01 = T01 + :T01, T02 = T02 + :T02, T03 = T03 + :T03, T04 = T04 + :T04,
                  T05 = T05 + :T05, T06 = T06 + :T06, T07 = T07 + :T07, T08 = T08 + :T08,
                  T09 = T09 + :T09, T10 = T10 + :T10, T11 = T11 + :T11, T12 = T12 + :T12,
                  T13 = T13 + :T13, T14 = T14 + :T14, T15 = T15 + :T15, T16 = T16 + :T16,
                  T17 = T17 + :T17, T18 = T18 + :T18, T19 = T19 + :T19, T20 = T20 + :T20
                  WHERE NFS_ITEM_CONTROLE = :NF_CONSIGNACAO_ITEM;
               END



            -- REMOVENDO COTA DO CCUSTO
            UPDATE TBCCUSTO_COTA_DETALHE C SET C.STATUSEXCLUSAO = '1' WHERE C.TABELA = 'NFS' AND C.TABELA_ID = :CONTROLE;
        END

      END -- FIM PARA NFS



  IF (ORIGEM = 'NFE') THEN
      BEGIN

      SELECT T.CONTROLE, T.NUMERO_NOTAFISCAL, T.ESTABELECIMENTO_CODIGO,
            T.LOCALIZACAO_CODIGO, T.DATA_ENTRADA, T.PRODUTO_CODIGO, T.QUANTIDADE,
            T.T01, T.T02, T.T03, T.T04, T.T05, T.T06, T.T07, T.T08, T.T09, T.T10, T.T11, T.T12,
            T.T13, T.T14, T.T15, T.T16, T.T17, T.T18, T.T19, T.T20, T.OPERACAO_CODIGO, T.EMPRESA_CODIGO,
            T.VALOR_UNITARIO, T.VALOR_CUSTO, T.NF_EXTERNO, T.NF_EXTERNO_ITEM_CONTROLE,
            T.NFS, T.NFS_ITEM_CONTROLE, T.PDV_CFE_ID, T.PDV_CFE_ITEM_ID,
            O.CONTROLE_ESTOQUE_EXTERNO, O.EXIGE_NF_REFERENCIA, O.CONTROLE_ESTOQUE,
            T.EXIGE_PECA
            FROM TBNFE_ITEM T, TBOPERACAO O
           WHERE O.CODIGO = T.OPERACAO_CODIGO
           AND NFE_CONTROLE = :NF_ID
           AND CONTROLE = :NF_ITEM_ID
           AND T.LOCALIZACAO_CODIGO > 0
      INTO :CONTROLE, :NUMERO_NOTAFISCAL, :ESTABELECIMENTO_CODIGO, :LOCALIZACAO_CODIGO, :DATA, :PRODUTO_CODIGO, :QUANTIDADE,
           :T01, :T02, :T03, :T04, :T05, :T06, :T07, :T08, :T09, :T10, :T11, :T12, :T13, :T14, :T15, :T16, :T17, :T18, :T19, :T20,
           :OPERACAO_CODIGO, :EMPRESA_CODIGO, :VALOR_UNITARIO, :CUSTO_UNITARIO, :NF_EXTERNO, :NF_EXTERNO_ITEM_CONTROLE,
           :NFS, :NFS_ITEM_CONTROLE, :PDV_CFE_ID, :PDV_CFE_ITEM_ID,
           :CONTROLE_ESTOQUE_EXTERNO, :EXIGE_NF_REFERENCIA, :CONTROLE_ESTOQUE, :EXIGE_PECA;


       IF (ACAO = 1) THEN -- INCLUSAO
           BEGIN

               IF(CONTROLE_ESTOQUE = '1' OR CONTROLE_ESTOQUE_EXTERNO = '1') THEN
               BEGIN
    
                   VCUSTO_MEDIO     = 0;
                   VEMPRESA_CODIGO  = 0;
                   TIPO    = 'B';

                   IF(CONTROLE_ESTOQUE = 1) THEN
                   BEGIN
                      TIPO = 'E';
                   END
        
                   /*  ATUALIZA TABELAS DE ESTOQUE DE TERCEIROS POR EMPRESA */
                   BLOQ_MOV_EST = (SELECT TRIM(FN_PARAMETRO('SISTEMA.5')) FROM RDB$DATABASE);
                   IF(BLOQ_MOV_EST = '1') THEN
                   BEGIN
                       IF(CONTROLE_ESTOQUE_EXTERNO = 1) THEN
                       BEGIN
                         IF(EXIGE_NF_REFERENCIA = 1) THEN
                            VEMPRESA_CODIGO     = (SELECT FIRST 1 A.EMPRESA_CODIGO FROM TBNFS_ITEM A WHERE A.ESTABELECIMENTO_CODIGO = :ESTABELECIMENTO_CODIGO AND A.NUMERO_NOTAFISCAL = :NF_EXTERNO AND A.CONTROLE = :NF_EXTERNO_ITEM_CONTROLE);
                            VCUSTO_MEDIO        = 0;
                         IF(EXIGE_NF_REFERENCIA = 0) THEN
                            VEMPRESA_CODIGO     =  EMPRESA_CODIGO;
                            VCUSTO_MEDIO        = VALOR_UNITARIO;
                       END
                   END
    

                   IF(:EXIGE_PECA = 0) THEN
                   BEGIN    
                        /* INSERT SALDO */
                        EXECUTE PROCEDURE SPI_ESTOQUE_SALDO(
                        ESTABELECIMENTO_CODIGO, LOCALIZACAO_CODIGO, PRODUTO_CODIGO, TIPO, DATA, QUANTIDADE,
                        T01, T02, T03, T04, T05, T06, T07, T08, T09, T10, T11, T12,
                        T13, T14, T15, T16, T17, T18, T19, T20, 0, NUMERO_NOTAFISCAL, 0, CONTROLE,
                        OPERACAO_CODIGO, NULL, NULL, 0, CUSTO_UNITARIO, FN_CURRENT_USER_ID(), CURRENT_DATE,
                        0, '', '', 0, 0, NULL, VEMPRESA_CODIGO, VCUSTO_MEDIO);

                   END ELSE
                   BEGIN
                        FOR SELECT
                            R.ID,
                            R.SALDO
                        FROM TBREVISAO R
                        WHERE R.NFE_ITEM_ID = :CONTROLE
                        INTO :REVISAO_ID, :QUANTIDADE_PECA
                        DO BEGIN

                            /* INSERT SALDO */
                            EXECUTE PROCEDURE SPI_ESTOQUE_SALDO(
                            ESTABELECIMENTO_CODIGO, LOCALIZACAO_CODIGO, PRODUTO_CODIGO, TIPO, DATA, QUANTIDADE_PECA,
                            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                            0, 0, 0, 0, 0, 0, 0, 0, 0, NUMERO_NOTAFISCAL, 0, CONTROLE,
                            OPERACAO_CODIGO, NULL, NULL, 0, CUSTO_UNITARIO, FN_CURRENT_USER_ID(), CURRENT_DATE,
                            0, '', '', 0, 0, :REVISAO_ID, VEMPRESA_CODIGO, VCUSTO_MEDIO);

                        END
                   END


               END

           IF (:NF_EXTERNO_ITEM_CONTROLE > 0 OR :NFS_ITEM_CONTROLE > 0) THEN
               BEGIN
                  UPDATE TBNFS_ITEM_SALDO SET
                  QUANTIDADE = QUANTIDADE - :QUANTIDADE,
                  T01 = T01 - :T01, T02 = T02 - :T02, T03 = T03 - :T03, T04 = T04 - :T04,
                  T05 = T05 - :T05, T06 = T06 - :T06, T07 = T07 - :T07, T08 = T08 - :T08,
                  T09 = T09 - :T09, T10 = T10 - :T10, T11 = T11 - :T11, T12 = T12 - :T12,
                  T13 = T13 - :T13, T14 = T14 - :T14, T15 = T15 - :T15, T16 = T16 - :T16,
                  T17 = T17 - :T17, T18 = T18 - :T18, T19 = T19 - :T19, T20 = T20 - :T20
                  WHERE NFS_ITEM_CONTROLE = IIF(:NF_EXTERNO_ITEM_CONTROLE>0,:NF_EXTERNO_ITEM_CONTROLE,:NFS_ITEM_CONTROLE);
               END

           IF (:PDV_CFE_ID > 0) THEN
               BEGIN
                  UPDATE TBPDV_CFE_ITEM_SALDO SET
                  QUANTIDADE = QUANTIDADE - :QUANTIDADE
                  WHERE PDV_CFE_ITEM_ID = :PDV_CFE_ITEM_ID;
               END

          END ELSE
      IF (ACAO = 2) THEN -- ALTERA????O
          BEGIN
            
            IF(:EXIGE_PECA = 0) THEN
            BEGIN

                CONTROLE_TRANSACAO_ITEM_OLD = COALESCE((SELECT
                        T.CONTROLE
                FROM TBESTOQUE_TRANSACAO_ITEM T
                WHERE NFE_ITEM_CONTROLE         = :CONTROLE
                AND DOCUMENTO                   = :NUMERO_NOTAFISCAL
                AND ESTABELECIMENTO_CODIGO      = :ESTABELECIMENTO_CODIGO
                AND LOCALIZACAO_CODIGO          = :LOCALIZACAO_CODIGO
                AND DATA                        = :DATA
                AND PRODUTO_CODIGO              = :PRODUTO_CODIGO), 0);

                IF(CONTROLE_ESTOQUE = 1) THEN
                BEGIN
                    EXECUTE PROCEDURE SPI_ESTOQUE_SALDO(
                        ESTABELECIMENTO_CODIGO, LOCALIZACAO_CODIGO, PRODUTO_CODIGO, 'E', DATA, QUANTIDADE,
                        T01, T02, T03, T04, T05, T06, T07, T08, T09, T10, T11, T12,
                        T13, T14, T15, T16, T17, T18, T19, T20, 0, NUMERO_NOTAFISCAL, 0, CONTROLE,
                        OPERACAO_CODIGO, NULL, -1000, 0, 0, FN_CURRENT_USER_ID(), CURRENT_DATE,
                        0, '', '', 0, 0, NULL, 0, 0);
                END
    
                IF(:CONTROLE_TRANSACAO_ITEM_OLD > 0) THEN
                BEGIN
                    DELETE FROM TBESTOQUE_TRANSACAO_ITEM T WHERE T.CONTROLE = :CONTROLE_TRANSACAO_ITEM_OLD;
                END

            END ELSE
            BEGIN
                EXECUTE PROCEDURE SPD_ESTOQUE_TRANSACAO2(ESTABELECIMENTO_CODIGO, LOCALIZACAO_CODIGO, DATA, PRODUTO_CODIGO, NUMERO_NOTAFISCAL, CONTROLE, 0, 0, 0, 0, 0);
            END

            --EXECUTE PROCEDURE SPD_ESTOQUE_TRANSACAO2(ESTABELECIMENTO_CODIGO, LOCALIZACAO_CODIGO, DATA, PRODUTO_CODIGO, NUMERO_NOTAFISCAL, CONTROLE, 0, 0, 0, 0, 0);

            IF (:NF_EXTERNO_ITEM_CONTROLE > 0 OR :NFS_ITEM_CONTROLE > 0) THEN
               BEGIN
                  UPDATE TBNFS_ITEM_SALDO SET
                  QUANTIDADE = QUANTIDADE + :QUANTIDADE,
                  T01 = T01 + :T01, T02 = T02 + :T02, T03 = T03 + :T03, T04 = T04 + :T04,
                  T05 = T05 + :T05, T06 = T06 + :T06, T07 = T07 + :T07, T08 = T08 + :T08,
                  T09 = T09 + :T09, T10 = T10 + :T10, T11 = T11 + :T11, T12 = T12 + :T12,
                  T13 = T13 + :T13, T14 = T14 + :T14, T15 = T15 + :T15, T16 = T16 + :T16,
                  T17 = T17 + :T17, T18 = T18 + :T18, T19 = T19 + :T19, T20 = T20 + :T20
                  WHERE NFS_ITEM_CONTROLE = IIF(:NF_EXTERNO_ITEM_CONTROLE>0,:NF_EXTERNO_ITEM_CONTROLE,:NFS_ITEM_CONTROLE);
               END



            IF (:PDV_CFE_ID > 0) THEN
               BEGIN
                  UPDATE TBPDV_CFE_ITEM_SALDO SET
                  QUANTIDADE = QUANTIDADE + :QUANTIDADE
                  WHERE PDV_CFE_ITEM_ID = :PDV_CFE_ITEM_ID;
               END

          END

      END -- FIM PARA NFE

END
^

SET TERM ; ^

