CREATE OR REPLACE VIEW ESTAPROVAR
AS
   SELECT
      ESTQ.CDFILIAL,
      ESTQ.CDPRODUTO,
      SUM(ESTQ.QTTOTALESTOQ) AS QTESTOAPROV
   FROM
      (SELECT
          P.CDFILIAL,
          P.CDPRODUTO,
          SUM(P.QTTOTALESTOQ) AS QTTOTALESTOQ
       FROM
          POSESTATU P,
          LOCALESTOQUE L
       WHERE
          (L.CDFILIAL     = P.CDFILIAL)     AND
          (L.CDALMOXARIFE = P.CDALMOXARIFE) AND
          (L.CDLOCALESTOQ = P.CDLOCALESTOQ) AND
          (L.IDDISPCONPED = 'N')
       GROUP BY
          P.CDFILIAL,
          P.CDPRODUTO
       UNION
       SELECT
          P.CDFILIAL,
          PR.CDPRODUTO,
          SUM(DECODE(PR.VRFATOCONVPR,
                     0, 0,
                    (P.QTTOTALESTOQ / PR.VRFATOCONVPR))) AS QTTOTALESTOQ
       FROM
          PRODUTO PR2,
          PRODUTO PR,
          POSESTATU P,
          LOCALESTOQUE L
       WHERE
          (PR.CDPRODUTO   = PR2.CDPRODUTO)  AND
          (PR2.CDPRODUTO <> PR2.CDPRODPROD) AND
          (L.CDFILIAL     = P.CDFILIAL)     AND
          (L.CDALMOXARIFE = P.CDALMOXARIFE) AND
          (L.CDLOCALESTOQ = P.CDLOCALESTOQ) AND
          (L.IDDISPCONPED = 'N')            AND
          (PR2.CDPRODPROD = P.CDPRODUTO)
       GROUP BY
          P.CDFILIAL,
          PR.CDPRODUTO
      ) ESTQ
   GROUP BY
      ESTQ.CDFILIAL,
      ESTQ.CDPRODUTO
/
