The following lines contain the word 'select', 'insert', 'update' or 'delete':
procedure select_next(itemtype in varchar2 default NULL,
itemkey in varchar2 default NULL,
p_role_type in varchar2,
p_current in varchar2 default NULL,
x_role out nocopy varchar2,
x_name out nocopy varchar2
) is
--
-- Next Approver Cursor
--
-- Bug 1563675: Modified next_approver_csr for performance problem similar
-- to the way that the contract approval cursor was modified
--
cursor Next_Approver_csr is
select role, name
from -- here should be your view of structure (num,role,name)
------------------------------------------------------
(select 1 num, FND_PROFILE.VALUE('OKC_CR_APPROVER') role,
NVL(PER.FULL_NAME, USR.USER_NAME) name
from FND_USER USR, PER_PEOPLE_F PER
where USR.USER_NAME = FND_PROFILE.VALUE('OKC_CR_APPROVER')
and USR.EMPLOYEE_ID = PER.PERSON_ID(+)
and trunc(sysdate) between nvl(per.effective_start_date, trunc(sysdate)) and
nvl(per.effective_end_date, trunc(sysdate))
)
------------------------------------------------------
where p_current is NULL
order by num;
select role, name
from -- here should be your view of structure (num,role,name)
------------------------------------------------------
(select 1 num, FND_PROFILE.VALUE('OKC_CR_APPROVER') role,
NVL(PER.FULL_NAME, USR.USER_NAME) name
from FND_USER USR, PER_PEOPLE_F PER
where USR.USER_NAME = FND_PROFILE.VALUE('OKC_CR_APPROVER')
and USR.EMPLOYEE_ID = PER.PERSON_ID(+)
and trunc(sysdate) between nvl(per.effective_start_date, trunc(sysdate)) and
nvl(per.effective_end_date, trunc(sysdate))
)
------------------------------------------------------
where p_current is NULL
order by num;
end select_next;
procedure Selector ( item_type in varchar2,
item_key in varchar2,
activity_id in number,
command in varchar2,
resultout out nocopy varchar2 ) is
-- local declarations
begin
resultout := ''; -- return value for other possible modes
'SELECTOR',
item_type,
item_key,
to_char(activity_id),
command);
end Selector;
select name,display_name
from wf_roles
where orig_system = 'FND_USR'
and orig_system_id=P_USER_ID
union all
select
USR.USER_NAME name,
PER.FULL_NAME display_name
from
PER_PEOPLE_F PER,
FND_USER USR
where trunc(SYSDATE) between PER.EFFECTIVE_START_DATE
and PER.EFFECTIVE_END_DATE
and PER.PERSON_ID = USR.EMPLOYEE_ID
and USR.USER_ID = P_USER_ID
and not exists (select '1'
from wf_roles
where orig_system = 'FND_USR'
and orig_system_id=P_USER_ID)
;
select_next(itemtype => itemtype,
itemkey => itemkey,
p_role_type => 'ADMINISTRATOR',
x_role => L_CONTRACT_ADMIN_USERNAME,
x_name => V_DUMMY);
procedure Select_Approver( itemtype in varchar2,
itemkey in varchar2,
actid in number,
funcmode in varchar2,
resultout out nocopy varchar2 ) is
L_INITIATOR_DISPLAY_NAME varchar2(240);
select_next(itemtype => itemtype,
itemkey => itemkey,
p_role_type => 'APPROVER',
p_current => NULL,
x_role => L_NEXT_PERFORMER_USERNAME,
x_name => L_N_PERFORMER_DISPLAY_NAME);
select_next(itemtype => itemtype,
itemkey => itemkey,
p_role_type => 'APPROVER',
p_current => L_NEXT_PERFORMER_USERNAME,
x_role => L_NEXT_PERFORMER_USERNAME,
x_name => L_N_PERFORMER_DISPLAY_NAME);
'SELECT_APPROVER',
itemtype,
itemkey,
to_char(actid),
funcmode);
end Select_Approver;
procedure Select_Informed( itemtype in varchar2,
itemkey in varchar2,
actid in number,
funcmode in varchar2,
resultout out nocopy varchar2) is
L_NEXT_INFORMED_USERNAME varchar2(30);
select_next(itemtype => itemtype,
itemkey => itemkey,
p_role_type => 'INFORMED',
p_current => L_NEXT_INFORMED_USERNAME,
x_role => L_NEXT_INFORMED_USERNAME,
x_name => V_DUMMY);
'SELECT_INFORMED',
itemtype,
itemkey,
to_char(actid),
funcmode);
end Select_Informed;