Ver Mensaje Individual
  #4 (permalink)  
Antiguo 07/06/2005, 13:31
VaRg@S
 
Fecha de Ingreso: abril-2005
Mensajes: 19
Antigüedad: 19 años, 9 meses
Puntos: 0
Y así ejecutas (desde otro procedure)

Código:
CREATE OR REPLACE PROCEDURE RESERV."SP_INS_RESERV" (
 pParcial_Id in Reservaciones.Parcial_Id%type,
 pCatAluMat in Reservaciones.CatAluMat%type,
 pArea_Id in Reservaciones.Area_Id%type,
 pReser_Fecha in reservaciones.reser_fecha%type,
 pEquipo_Id in Reservaciones.Equipo_Id%type
)
as
periodo_escolar       reservaciones.peresccve%type;
folio                 reservaciones.reser_folio%type;
Excede_dia            exception;
Reservaciones_dia     parcial_nivel.ParNiv_MaxDia%type;
Parcial               Reservaciones.Parcial_Id%type;
begin
/* calcula periodo escolar actual*/
  periodo_Escolar:=reserv.f_periodo_esc('');
/*verifica si el equipo ya esta reservado por otro alumno*/
  reserv.sp_valida_equipo(periodo_escolar,pParcial_id,pArea_id,pReser_Fecha,pEquipo_id,folio);
  /*verifica si ya tiene hora reservada en otra area*/
 reserv.sp_valida_areas(periodo_escolar,pParcial_id,pCatAluMat,to_date(pReser_Fecha,'dd-mm-yyyy HH24:MI'),folio);


 parcial := f_parcial(to_date(pReser_Fecha,'dd-mm-yyyy HH24:MI'),Periodo_escolar);
 /* verifica cuantas reservaciones tiene por dia */
 /* Reservaciones_dia := f_cuenta_reser_dia(Periodo_Escolar,pCatAluMat,to_Date(pReser_Fecha,'dd-mm-yyyy HH24:MI'));*
/*  if reservaciones_dia >= 1 then*/
/*      raise excede_dia;
  end if;*/

  insert into reserv.Reservaciones(peresccve,Parcial_Id,CatAluMat,Area_Id,
  Reser_Fecha,Equipo_Id,StatusRes_Id,Reser_Creacion,Reser_Impresion,
  Reser_Mail,Reser_Folio,reser_entrada,reser_salida,reser_tiempo,
  reser_fuera,reser_entsal)
  values (periodo_escolar,Parcial,pCatAluMat,pArea_Id, pReser_Fecha,
  pEquipo_Id, 1,current_date,'N','N',reservacion_Folio.nextval,null,null,null,
  null,'N');
   commit;
exception
when excede_dia then
    raise_application_error(-20001, reserv.warning_messages(-20012));
/*when others then*/
/*  raise_application_error(-20001, reserv.error_messages(SQLCODE));*/
end sp_ins_reserv;

Espero que sirva. Saludos