-- ============================================================
--   DBMS NAME:      ORACLE VERSION 7.X
--   CREATED ON:     25/08/97  10:22
--   PROGRAMADOR:    LUCIANA CORREA
-- ============================================================
--   VIEW: ITEMVENDA_VIEW
-- ============================================================
CREATE OR REPLACE VIEW ITEMVENDA_VIEW
(CDFILIAL,NMFILIAL,CDCAIXA,NMCAIXA,NRSEQVENDA,CDCLIENTE,CDVENDEDOR,CDCONSUMIDOR,CDLOJA,NMLOJA,DTVENDA,DTENTRVENDA,IDSITUVENDA,
 CDEMPRESA,CDSERVFILI,CDCCUSCLIE,
 NRSEQUITVEND,CDARVPROD,CDPRODUTO,NMPRODUTO,SGUNIDADE,CDGRUPPROD,CDSUBGRPROD,QTPRODVEND,VRUNITVEND,VRDESITVEND,VRPEALPRODIT,VRUNITVENDCL,
 PRECOUNIT,PRECOUNIT_DESC,PRECOUNIT_PAD_DESC,VRIMPOSTOUNIT,PRECOTOTAL, PRECOTOT_DESC,PRECOTOT_PAD_DESC,VRIMPOSTO) AS
  SELECT
     VE.CDFILIAL, FI.NMFILIAL,VE.CDCAIXA, CA.NMCAIXA    , VE.NRSEQVENDA , VE.CDCLIENTE, VE.CDVENDEDOR, VE.CDCONSUMIDOR,
     VE.CDLOJA  , LO.NMLOJA  ,VE.DTVENDA, VE.DTENTRVENDA, VE.IDSITUVENDA, VE.CDEMPRESA, VE.CDSERVFILI, VE.CDCCUSCLIE  ,
     IT.NRSEQUITVEND,PR.CDARVPROD,IT.CDPRODUTO,PR.NMPRODUTO,PR.SGUNIDADE,IT.CDGRUPPROD,IT.CDSUBGRPROD,IT.QTPRODVEND,IT.VRUNITVEND,
     NVL(IT.VRDESITVEND ,0) AS VRDESITVEND, NVL(IM.VRPEALPRODIT,0) AS VRPEALPRODIT,
     NVL(IT.VRUNITVENDCL,0) AS VRUNITVENDCL,
     (NVL(IT.VRUNITVEND,0) + NVL(IT.VRUNITVENDCL,0)) AS PRECOUNIT,
     ROUND(((NVL(IT.VRUNITVEND,0) + NVL(IT.VRUNITVENDCL, 0)) - (NVL(IT.VRDESITVEND,0)/IT.QTPRODVEND)),2) AS PRECOUNIT_DESC,
     ROUND((NVL(IT.VRUNITVEND,0) - (NVL(IT.VRDESITVEND,0)/IT.QTPRODVEND)),2) AS PRECOUNIT_PAD_DESC,
     ROUND(((NVL(IT.VRUNITVEND,0) + NVL(IT.VRUNITVENDCL, 0)) - (NVL(IT.VRDESITVEND,0)/IT.QTPRODVEND))*(IM.VRPEALPRODIT/100),2) AS VRIMPOSTOUNIT,
     TRUNC(IT.QTPRODVEND * (IT.VRUNITVEND + NVL(IT.VRUNITVENDCL,0)),2) AS PRECOTOTAL,
     (TRUNC(IT.QTPRODVEND * (IT.VRUNITVEND + NVL(IT.VRUNITVENDCL,0)),2)) - NVL(IT.VRDESITVEND,0) AS PRECOTOT_DESC,
     (TRUNC(IT.QTPRODVEND * IT.VRUNITVEND,2)) - NVL(IT.VRDESITVEND,0) AS PRECOTOT_PAD_DESC,
     (IM.VRPEALPRODIT/100) * (TRUNC(IT.QTPRODVEND * (IT.VRUNITVEND + NVL(IT.VRUNITVENDCL,0)),2) - NVL(IT.VRDESITVEND,0)) AS VRIMPOSTO
  FROM
    ITEMVENDA IT, VENDA VE, PRODUTO PR, CAIXA CA, LOJA LO, FILIAL FI,
    (SELECT SUM(IM.VRPEALPRODIT) AS VRPEALPRODIT, IM.CDFILIAL, IM.CDCAIXA, IM.NRSEQVENDA,
     IM.NRSEQUITVEND
     FROM ITVENDAIMPOS IM, ITEMVENDA IT
     WHERE (IM.CDFILIAL     = IT.CDFILIAL    ) AND
           (IM.CDCAIXA      = IT.CDCAIXA     ) AND
           (IM.NRSEQVENDA   = IT.NRSEQVENDA  ) AND
           (IM.NRSEQUITVEND = IT.NRSEQUITVEND)
     GROUP BY IM.CDFILIAL, IM.CDCAIXA, IM.NRSEQVENDA,
              IM.NRSEQUITVEND ) IM
  WHERE
    FI.CDFILIAL         = VE.CDFILIAL     AND
    VE.CDFILIAL         = IT.CDFILIAL     AND
    VE.CDCAIXA          = IT.CDCAIXA      AND
    VE.NRSEQVENDA       = IT.NRSEQVENDA   AND
    VE.CDFILIAL         = CA.CDFILIAL     AND
    VE.CDCAIXA          = CA.CDCAIXA      AND
    VE.CDFILIAL         = LO.CDFILIAL     AND
    VE.CDLOJA           = LO.CDLOJA       AND
    IT.CDPRODUTO        = PR.CDPRODUTO    AND
    IM.CDFILIAL     (+) = IT.CDFILIAL     AND
    IM.CDCAIXA      (+) = IT.CDCAIXA      AND
    IM.NRSEQVENDA   (+) = IT.NRSEQVENDA   AND
    IM.NRSEQUITVEND (+) = IT.NRSEQUITVEND
/

-- VERSAO --
BEGIN ATUVEROBJ('ITEMVENDA_VIEW','4.05.136'); END;
/

