IF EXISTS (SELECT * FROM SYSOBJECTS O, SYSUSERS U
           WHERE O.NAME = 'RETPRECOITEMDIA' AND
                 TYPE = 'FN' 		       AND
	              U.UID = O.UID            AND
	              U.NAME = USER)
DROP FUNCTION RETPRECOITEMDIA 
GO

CREATE FUNCTION RETPRECOITEMDIA(@P_IDTIPO VARCHAR(4),
                                @P_ACRDESC VARCHAR(1),
                                @P_VRPRECITEM NUMERIC,
                                @P_VRPRITEMCL NUMERIC,
                                @P_VRPRECODIA NUMERIC) RETURNS NUMERIC
AS
BEGIN
   DECLARE @V_RESULT DOUBLE PRECISION;

   SET @V_RESULT = 0;
   IF @P_IDTIPO = 'V' BEGIN
      IF @P_ACRDESC = 'A' BEGIN
        SET @V_RESULT = ROUND((@P_VRPRECITEM + @P_VRPRITEMCL + @P_VRPRECODIA), 2, 1);
      END
      ELSE BEGIN
        SET @V_RESULT = ROUND((@P_VRPRECITEM + @P_VRPRITEMCL - @P_VRPRECODIA), 2, 1);
      END;
   END
   ELSE BEGIN
      SET @V_RESULT = ROUND((@P_VRPRECODIA / 100) * (@P_VRPRECITEM + @P_VRPRITEMCL), 2, 1);
      IF @P_ACRDESC = 'A' BEGIN
        SET @V_RESULT = ROUND((@V_RESULT + @P_VRPRECITEM + @P_VRPRITEMCL), 2, 1);
      END
      ELSE BEGIN
        SET @V_RESULT = ROUND((@P_VRPRECITEM + @P_VRPRITEMCL) - @V_RESULT, 2, 1);
      END;
   END;
   RETURN(@V_RESULT);
END;
GO
