CREATE OR REPLACE FUNCTION F_CALCULA_PRECOM(
  P_IDINDICE         IN VARCHAR DEFAULT 'N', -- 'S' -> Da mensagem de erro na ausencia do indice para o calculo.
  P_CDFILIAL         IN FILIAL.CDFILIAL%TYPE,
  P_CDCIA            IN COMPANHIA.CDCIA%TYPE,  
  P_NRSERVICOCIAFILI IN SERVPLANOM.NRSERVICOCIAFILI%TYPE,
  P_CDCLASSE         IN CLASSE.CDCLASSE%TYPE,
  P_CDCICLO          IN CICLO.CDCICLO%TYPE,  
  P_QUANTIDADE       IN FLOAT,
  P_DTREFERENCIA     IN DATE,
  P_IDTIPMANUALSP    IN SERVPLANOM.IDTIPMANUALSP%TYPE,
  P_NRORG            IN NUMBER DEFAULT 1,
  P_NRVOO            IN VARCHAR2 DEFAULT NULL,
  P_CDTRECHO         IN VARCHAR2 DEFAULT NULL
) RETURN FLOAT 
AS   
  V_VRPRECORRENTE    FLOAT;
  V_VRPREDOLAR       FLOAT;
BEGIN   
   CALCULA_PRECOM(P_IDINDICE, P_CDFILIAL, P_CDCIA, P_NRVOO, P_CDTRECHO, P_NRSERVICOCIAFILI,
                  P_CDCLASSE, P_CDCICLO, P_DTREFERENCIA, P_DTREFERENCIA, P_QUANTIDADE, P_QUANTIDADE,
                  P_IDTIPMANUALSP, V_VRPRECORRENTE, V_VRPREDOLAR);
   
   RETURN CASE WHEN P_IDTIPMANUALSP = '1' THEN V_VRPRECORRENTE ELSE V_VRPREDOLAR END;
END;
/