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 varchar2, c_crn number) is
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_code, c_crn, c_subj_code,
c_crse_numb, c_seq_numb, c_ssts_code, c_activity_date;
exit when c_ssbsect_uv%notfound;
id_materia_aux := p_llenaexpedientes.obtiene_idmateria(c_subj_code, c_crse_numb);
if (id_materia_aux = 0) then
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 e, c_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 de, c_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 null) then
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_code, c_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;
/