Do you mean, "can I fetch the results of package cursor p1.c1 in package p2?".
If so, the answer is yes:
create or replace package p1
as
cursor c1 ( p_employee_id employees.employee_id%type )
is
select * from employees where employee_id = p_employee_id;
procedure p1 (
p_employee_id employees.employee_id%type ) ;
end p1;
/
create or replace package body p1
as
procedure p1 (
p_employee_id in employees.employee_id%type )
as
begin
open c1 ( p_employee_id ) ;
end p1;
end p1;
/
create or replace package p2
as
procedure p2 (
p_employee_id in employees.employee_id%type ) ;
end p2;
/
create or replace package body p2
as
procedure p2 (
p_employee_id in employees.employee_id%type )
is
lv_details employees%rowtype;
type aat_e
is table of p1.c1%rowtype index by pls_integer;
lv_e aat_e;
begin
p1.p1 ( p_employee_id ) ;
fetch p1.c1 bulk collect into lv_e;
close p1.c1;
for i in 1 .. lv_e.count
loop
dbms_output.put_line ( lv_e ( i ) .first_name ) ;
end loop;
end p2;
end p2;
/
exec p2.p2(100);
StevenIf not, you'll have to clarify what you're looking for.