create or replace procedure sp_fco_CurPi(p_TrabCur  in out pkg_fco_gral.TrabCurTyp,
                                              p_orden    in number,
                                              p_compania in char,
                                              p_sucursal in char,
                                              p_periodo  in char) is
  v_sentencia varchar2(4000);

begin

  if p_orden = 1 then
      v_sentencia := pkg_fco_gral.sentencia || pkg_fco_gral.orden1;
  else
      if p_orden = 3 then
          v_sentencia := pkg_fco_gral.sentencia || pkg_fco_gral.orden3;
      else
          v_sentencia := pkg_fco_gral.sentencia || pkg_fco_gral.ordenx;
      end if;
  end if;

  open p_TrabCur for v_sentencia
    using p_compania, p_periodo, p_periodo, p_sucursal, p_sucursal;

end sp_fco_CurPi;
