Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/02/2007, 15:16
Avatar de Linterns
Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 11 meses
Puntos: 11
Re: error en oracle,podrian ayudarme se los agradeceria mucho!!!

Para ser sincero estuve viendo tu codigo y no le encontre algun error; quiza el problema es en uno de los cursores donde estas haciendo referenciua a una columna con un nombre mal digitado0 o algo asi; eso es lo mas probable pero solo podras verificarlo tu que tienes ese ambiente.

Lo mejor es tomar solo bloques pequeños y ejecutarlos en el SQL he irlos incorporando al procedimiento.

Nota: para la proxima pon tu script en formato de codigo para que nos sea mas facil entenderlo.

Código PHP:
  set serveroutput on size 500000;
  
set linesize 6000;
  
set serveroutput off;
  
create or replace PROCEDURE carga_grupo_uv is
   
     id_materia_aux number
(8);
     
descripcion_m varchar2(500);
     
clave_mat_aux varchar2(10);
     
levl_code varchar2(1);
     
id_nivel_aux number(8);
     
id_ejercicio_aux number(8);
     
id_depa_aux number(8);
     
dept_code_aux varchar2(4);
     
seq_gpo number(8);
     
c_term_code varchar2(6);
     
c_crn varchar2(5);
     
c_subj_code varchar2(4);
     
c_crse_numb varchar2(5);
     
c_seq_numb varchar2(3);
     
c_ssts_code varchar2(1);
     
c_activity_date date;
     
attr_code varchar2(4);
   
  
cursor c_ssbsect_uv is
     select replica_stu
.grupo_curso_seq.nextval,
        
ssbsect_term_code,
        
ssbsect_crn,
        
ssbsect_subj_code,
        
ssbsect_crse_numb,
        
ssbsect_seq_numb,
        
decode(ssbsect_ssts_code,'I','C',ssbsect_ssts_code ),
        
ssbsect_activity_date
     from ssbsect
@info01.ruv.itesm.mx 
     where ssbsect_term_code 
>='200600';
   
  
cursor c_ssrattr_uv(c_term_code varchar2c_crn numberis
     select ssrattr_attr_code
     from ssrattr
@info01.ruv.itesm.mx 
     where ssrattr_term_code 
c_term_code 
       
and ssrattr_crn c_crn;
   
  
begin
   
  
if c_ssbsect_uv%isopen then
     close c_ssbsect_uv
;
  
end if;
   
  
open c_ssbsect_uv;
   
  
loop 
     fetch   c_ssbsect_uv into seq_gpo
c_term_codec_crnc_subj_code,
        
c_crse_numbc_seq_numbc_ssts_codec_activity_date;
     exit 
when c_ssbsect_uv%notfound;
   
     
id_materia_aux := p_llenaexpedientes.obtiene_idmateria(c_subj_codec_crse_numb);
     if (
id_materia_aux 0then
        DBMS_OUTPUT
.PUT_LINE('ERROR AL OBTENER MATERIA'||seq_gpo||c_subj_code||c_crse_numb);
     else
        
id_nivel_aux := p_llenaexpedientes.obtiene_nivelescolar(c_term_cod ec_crn);
        if(
id_nivel_aux 0)then
           DBMS_OUTPUT
.PUT_LINE('ERROR AL OBTENER EL NIVEL ESCOLAR'||seq_gpo||c_term_code || c_crn);
        else
           
id_ejercicio_aux := p_llenaexpedientes.obtiene_ejercicioacademico(c_te rm_code);
           if(
id_ejercicio_aux 0)then
              DBMS_OUTPUT
.PUT_LINE('ERROR AL OBTENER EL EJERCICIO ACADEMICO'||seq_gpo||c_term_code);
           else
              
id_depa_aux := p_llenaexpedientes.obtiene_deptoprofesor(c_subj_co dec_crse_numb);
              if(
id_depa_aux = -1)then
                 DBMS_OUTPUT
.PUT_LINE('ERROR AL OBTENER EL DEPARTAMENTO DEL PROFESOR'||seq_gpo||c_subj_code||c_crse_numb);
              else
                 
descripcion_m := p_llenaexpedientes.obtiene_descmateria(c_subj_code c_crse_numb);
                 if(
descripcion_m is nullthen
                    DBMS_OUTPUT
.PUT_LINE('ERROR AL OBTENER LA DESCIPCION DE LA MATERIA'||seq_gpo||c_subj_code||c_crse_numb);
                 else
                    
insert into dm_grupo_curso 
                    values
(seq_gpo,'30',id_materia_aux,id_nivel_aux,id _ejercicio_aux,
                    
c_crn,descripcion_m,null,null,null,c_ssts_code,'A' ,SYSDATE,-1,c_activity_date,c_seq_numb,id_depa_aux);
                    
commit;
                 
end if;/*if descripcion de materia*/
              
end if; /*if departamento*/
           
end if; /*if ejercicio academico*/
        
end if; /*if nivel escolar*/
     
end if; /*if id_materia*/
   
     
if c_ssrattr_uv%isopen then
        close c_ssrattr_uv
;
     
end if;
   
     
open c_ssrattr_uv(c_term_codec_crn);
   
     
loop
        fetch c_ssrattr_uv into attr_code
;
        exit 
when c_ssrattr_uv%notfound;
        
insert into dm_grupo_atributos values (seq_gpo,attr_code);
        
commit;
     
end loop;/*loop c_ssrattr_uv*/
     
close c_ssrattr_uv;
  
end loop;/*loop c_ssbsect_uv*/
  
close c_ssbsect_uv;
  
commit;
  
end;
  / 
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***