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

   DROP VIEW PRORECEITA
GO

CREATE VIEW PRORECEITA(CDRECEITA,CDPRODUTO,SGUNIDADE,
                                  QTPRODREC,TXCOMREC,NRORDPREC,DTVALESPEPRO,
                                  /* campos novos */
                                  CDESPEPROD,CDTIPOCOMP,CDARVPROD,NMPRODUTO)
AS
SELECT CP.CDPRODUTO,CP.CDPRODINSUMO,P2.SGUNIDADE,CP.QTINSUMO,CP.TXCOMITCOMP,
       CP.NRORDCOMP,EP.DTVALESPEPRO,
       /* campos novos */
       EP.CDESPEPROD,TC.CDTIPOCOMP,P2.CDARVPROD,P2.NMPRODUTO

FROM COMPPROD CP, ESPEPROD EP, TCOMPPRO TC, PRODUTO P1, PRODUTO P2
WHERE (CP.CDESPPRODAUX   IS NULL        ) AND
      (EP.CDPRODUTO    = CP.CDPRODUTO   ) AND
      (EP.CDESPEPROD   = CP.CDESPEPROD  ) AND
      (EP.IDTPMANUAL     IS NULL        ) AND
      (EP.IDCOMPPADRAO = 'P'            ) AND
      (EP.DTVALESPEPRO = (SELECT MAX(DTVALESPEPRO)
                          FROM ESPEPROD
                          WHERE (DTVALESPEPRO <= ROUND(CONVERT(FLOAT,GETDATE()),0,0)) AND
                                (IDTPMANUAL      IS NULL       ) AND
                                (IDCOMPPADRAO  = 'P'           ) AND
                                (CDPRODUTO     = EP.CDPRODUTO  ) AND
                                (CDESPEPROD    = EP.CDESPEPROD ))) AND
      (TC.CDPRODUTO    = CP.CDPRODUTO   ) AND
      (TC.CDESPEPROD   = CP.CDESPEPROD  ) AND
      (TC.CDTIPOCOMP   = CP.CDTIPOCOMP  ) AND
      (TC.IDTCOMPPROC  = 'S'            ) AND
      (P1.CDPRODUTO    = CP.CDPRODUTO   ) AND
      (P1.IDPRODCOMISS = '3'            ) AND
      (P2.CDPRODUTO    = CP.CDPRODINSUMO) AND
      (P2.IDPRODCOMISS   IS NULL        )

GO