
IF EXISTS (SELECT * FROM SYSOBJECTS O, SYSUSERS U
           WHERE
           O.NAME = 'ESTAPROVAR' AND
	   TYPE = 'V' 		  AND
	   U.UID = O.UID          AND
	   U.NAME = USER)

   DROP VIEW ESTAPROVAR
GO

CREATE 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(CASE PR.VRFATOCONVPR
                WHEN 0 THEN 0
                ELSE (P.QTTOTALESTOQ / PR.VRFATOCONVPR)
              END) 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
GO
