create or replace
PROCEDURE SPGETROLELIST
(
P_APPCODE IN VARCHAR2
, P_USERROLE IN VARCHAR2
, CUR_RESULT OUT SYS_REFCURSOR
) AS
P_ApproveFlag char(1);
BEGIN
If P_USERROLE = 'M' Then
begin
P_ApproveFlag := 'R';
end;
Else
begin
P_ApproveFlag := '';
end;
End If;
open CUR_RESULT for
Select *
From Role
Where AppCode = P_APPCODE
And (ApproveStatus = 'P' or ApproveStatus = P_ApproveFlag)
And (Status <> 'A' Or (Status = 'A' And ApproveStatus Is Not Null));
exception
when no_data_found then
open CUR_RESULT for
select null
from Role
where 1 =2 ;
END SPGETROLELIST;