oracle 定义一个函数报错了

我在oracle里面定义了一个函数get_sal(dateym in varchar2(10)),调用的时候报错了怎么回事,
create or replace function get_sal(dateym in varchar2(10))
return is_cursor cursor
begin
is_cursor for select * from rpt_d_ocbygcc c where c.dateymd=dateym;
dbms_output.put_line("ll")
return is_cursor;
end;

declare type is_cursor is ref cursor return rpt_d_ocbygcc%rowtype;
--定义一个游标变量
emp_record rpt_d_ocbygcc.dateymd%type;
begin
get_sal('2010-12-14');
end;
报的是对象get_sal无效,我想用一个游标接收这个函数返回值,请高手回答时告诉我怎样接收

晕,你的function写的有问题的啊,编译都不会通过的。调用它当然会报对象无效的错误喽!!
我帮你改了下:你重新执行下下面的function看看
CREATE OR REPLACE FUNCTION GET_SAL(DATEYM IN VARCHAR2) RETURN SYS_REFCURSOR IS
IS_CURSOR SYS_REFCURSOR;
BEGIN
OPEN IS_CURSOR FOR
SELECT * FROM RPT_D_OCBYGCC C WHERE C.DATEYMD = DATEYM;

DBMS_OUTPUT.PUT_LINE('ll');
IF (IS_CURSOR%ISOPEN) THEN
RETURN IS_CURSOR;
END IF;
END GET_SAL;