create or replace FUNCTION GETVRMETA(
   P_CDVENDEDOR   IN VENDEDOR.CDVENDEDOR%TYPE,
   P_CDPRODUTO    IN PRODUTO.CDPRODUTO%TYPE,
   P_DTINICIAL    IN NOTAFISCAL.DTEMISSAO%TYPE,
   P_DTFINAL      IN NOTAFISCAL.DTEMISSAO%TYPE) RETURN NUMBER IS

   V_VRMETAVENDA NUMBER;

BEGIN
   V_VRMETAVENDA := 0;

   SELECT SUM(MVD.VRMETAVENDA)
     INTO V_VRMETAVENDA
     FROM METAVENDEDOR MVD, PRODMETAVEND PMV
    WHERE MVD.CDVENDEDOR = P_CDVENDEDOR
      AND MVD.DTINIMETVEND BETWEEN P_DTINICIAL AND P_DTFINAL
      AND MVD.CDMETAVENDA  = PMV.CDMETAVENDA
      AND PMV.CDPRODUTO = P_CDPRODUTO;

   RETURN(V_VRMETAVENDA);
END;
/