create or replace FUNCTION GETMETA(
   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 VARCHAR2 IS

   V_CDMETAVENDA VARCHAR2(03);

BEGIN
   V_CDMETAVENDA := NULL;

   SELECT MAX(MVD.CDMETAVENDA)
     INTO V_CDMETAVENDA
     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_CDMETAVENDA);
END;
/