CREATE OR REPLACE FUNCTION ADAM.fn_fco_var_nom(pch_compania   char,
                                               pch_var_nro    char,
                                               pbi_porcentaje number)
  RETURN number
-- JCL. Junio 22/05.
  -- Retorna un valor de variables que contienen porcentaje
  -- El valor devuelto va entre cero y uno, o NULL
 is
  vdc_tar_Aux number(16, 6); -- Variable Auxiliar para interpretar tarifas
BEGIN

  vdc_tar_Aux := NULL;

  if pch_var_nro is null then
    return null;
  end if;

begin
  SELECT real
    INTO vdc_tar_Aux
    FROM parametros_rh
   WHERE compania = pch_compania
     AND parametro_rh = 'var_nom_' || pch_var_nro;  
exception
  when no_data_found then
    return(0);
end;

  IF pbi_porcentaje = 0 THEN
    IF vdc_tar_Aux >= 1 THEN
      vdc_tar_Aux := vdc_tar_Aux / 100;
    END IF;
    IF vdc_tar_Aux > 1 THEN
      vdc_tar_Aux := NULL;
    END IF;
  END IF;

  RETURN vdc_tar_Aux;
END fn_fco_var_nom;
/
