Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/05/2011, 17:01
Avatar de matanga
matanga
 
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 17 años
Puntos: 85
Respuesta: Retornar tabla PL/SQL

No he mirado en detalle la lógica del package, pero te puedo decir que en los casos donde quieras almacenar datos en un type y enviarlos fuera del ámbito de un procedimiento o función, no es suficiente con declarar en PL/SQL la definición del type, tienes que crearlos de antemano, por ejemplo:

Código:
SQL> create or replace TYPE tipoRecTabla as object
  2  (
  3  RAMO VARCHAR2(10),
  4  AREA VARCHAR2(20),
  5  TOTAL INTEGER,
  6  ENTIEMPO INTEGER,
  7  ATRASADA INTEGER,
  8  PORCENTAJEENTIEMPO VARCHAR2(10),
  9  PORCENTAJEATRASADA VARCHAR2(10)
 10  )
 11  /

Tipo creado.

SQL> create or replace TYPE TablaEnTiempoAtraso IS TABLE OF tipoRecTabla
  2  /

Tipo creado.

SQL> create or replace function f1
  2  return TablaEnTiempoAtraso
  3  is
  4  un_tipo TablaEnTiempoAtraso := TablaEnTiempoAtraso();
  5  begin
  6  return un_tipo;
  7  end;
  8  /

Función creada.

SQL> select f1 from dual;

F1(RAMO, AREA, TOTAL, ENTIEMPO, ATRASADA, PORCENTAJEENTIEMPO, PORCENTAJEATRASADA)
---------------------------------------------------------------------------------
TABLAENTIEMPOATRASO()

SQL>
Saludos