07/06/2005, 13:31
|
| | 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 |