Hola, buen día a todos.
Quisiera me pudieran apoyar para resolver un problema que tengo para poder sacar un arreglo tipo table dentro de un cursor. El problema está asi:
- He declarado un objeto de tipo record con 7 campos.
TYPE
reg_Indicador IS RECORD
(
K_Region Cat_Region.K_Region%Type,
K_Centro Cat_Centro.K_Centro%Type,
K_SuperIntendencia Cat_SuperIntendencia.K_SuperIntendencia%Type,
Registrados Number,
Planeados Number,
Seguimiento Number,
Cerrados Number
);
- He declarado un objeto de tipo Table del tipo record anterior.
TYPE
tabla_Indicador IS TABLE OF reg_Indicador INDEX BY BINARY_INTEGER;
- Dentro de un paquete he declarado una variable que hace referencia al tipo anterior de la siguiente forma:
t_Indicador tabla_Indicador
;
- Ahora, a través de un ciclo, lleno los campos:
FOR
filaCentro IN curCentros(v_Region, v_Centro, v_SuperIntendencia) LOOP
-- Agregando elementos a la tabla temporal
t_Indicador(Indice).K_Region:= filaCentro.K_Region;
t_Indicador(Indice).K_Centro:= filaCentro.K_Centro;
t_Indicador(Indice).K_SuperIntendencia:= filaCentro.K_SuperIntendencia;
t_Indicador(Indice).Registrados:= ACT_Registrados(filaCentro.K_Region, filaCentro.K_Region, filaCentro.K_SuperIntendencia);
t_Indicador(Indice).Planeados:= ACT_Planeados(filaCentro.K_Region, filaCentro.K_Centro, filaCentro.K_SuperIntendencia);
t_Indicador(Indice).Seguimiento:= ACT_Seguimiento(filaCentro.K_Region, filaCentro.K_Centro, filaCentro.K_SuperIntendencia);
t_Indicador(Indice).Cerrados:= ACT_Cerrados(filaCentro.K_Region, filaCentro.K_Centro, filaCentro.K_SuperIntendencia);
Indice:= Indice + 1;
END LOOP;
- El problema es que necesito sacar, a través de un cursor los datos contenidos en t_Indicador, pero no lo logro. Alguién podría indicarme como solucionar este inconveniente.