TOAD mostrando el conjunto de registros del cursor devuelto por un procedimiento almacenado

Cómo podría imprimir el resultado recorset del cursor de retorno, por favor. Abajo se ejecuta bien pero necesito ver el resultado.

Esto es un bloque en TOAD, llamando al paquete sp AMD_NEEDMSG:

DECLARE 
     RETURN_RECORDSET CTI_MATRIX.AMD.REF_CURSOR;
    BEGIN 
     CTI_MATRIX.AMD.AMD_NEEDMSG ( '88888888885', RETURN_RECORDSET );
END;

Esta especificación del paquete:

    CREATE OR REPLACE PACKAGE CTI_MATRIX.AMD AS
      TYPE REF_CURSOR IS REF CURSOR;
      PROCEDURE AMD_NEEDMSG (v_CRN IN VARCHAR2, return_recordset OUT REF_CURSOR);
    END AMD;

Este es el cuerpo del paquete:

CREATE OR REPLACE PACKAGE BODY CTI_MATRIX.AMD AS

PROCEDURE AMD_NEEDMSG (v_CRN IN VARCHAR2, return_recordset OUT REF_CURSOR) IS


return_flag INTEGER;
row_cnt INTEGER;
number_of_days INTEGER;
var_DATE DATE;

CURSOR ACCNTSEARCH (P_CRN IN VARCHAR2) IS
    SELECT DISTINCT COUNT(*) , AMD.MSG_DATE    
       FROM TBL_AMD_NEEDMSG AMD
      WHERE AMD.PHONE_NUMBER = P_CRN AND ROWNUM = 1;

BEGIN 
 OPEN ACCNTSEARCH(v_CRN);
 FETCH ACCNTSEARCH INTO row_cnt, var_DATE;
 CLOSE ACCNTSEARCH;

 IF (row_cnt = 0)
 THEN
        INSERT INTO TBL_AMD_NEEDMSG (PHONE_NUMBER, MSG_DATE) VALUES (v_CRN , SYSDATE); 
        return_flag := 1;
 ELSE
    SELECT SYSDATE-var_DATE INTO number_of_days FROM dual;

     IF (number_of_days>7)
     THEN 
        UPDATE TBL_AMD_NEEDMSG SET MSG_DATE = SYSDATE WHERE PHONE_NUMBER = v_CRN;
        return_flag := 1;
    ELSE
         return_flag := 0;
    END IF;

 END IF;    

 COMMIT;

 OPEN return_recordset FOR 
 SELECT return_flag AS ReturnFLag FROM DUAL;

EXCEPTION
 WHEN OTHERS THEN
    ROLLBACK;

END AMD_NEEDMSG;

END AMD;
/

La línea de fondo es devolver al cliente un valor de return_flag en forma de conjunto de registros.

Respuestas a la pregunta(1)

Su respuesta a la pregunta