CREATE OR REPLACE FUNCTION VALOR_PEDIDO_LIQUIDO(
   P_CDFILIAL     IN FILIAL.CDFILIAL%TYPE,
   P_NRPEDIDO     IN PEDIDO.NRPEDIDO%TYPE) RETURN NUMBER IS

   V_VRPEDIDO NUMBER;
   V_VRITEM NUMBER;
BEGIN
   V_VRPEDIDO := 0;
   SELECT SUM((I.QTITEMPED * I.VRPREUNITPED) - (NVL(I.VRDESITPED,0))) VRITEM
     INTO V_VRITEM
     FROM ITEMPEDIDO I
    WHERE I.CDFILIAL = P_CDFILIAL
      AND I.NRPEDIDO = P_NRPEDIDO;

   V_VRPEDIDO := V_VRITEM;

   RETURN(V_VRPEDIDO);
END;
/