The following lines contain the word 'select', 'insert', 'update' or 'delete':
PROCEDURE pre_process_groups(p_selected_groups IN grpnum_tbl_type,
x_process_groups OUT NOCOPY grpnum_tbl_type) IS
l_selected_groups grpnum_tbl_type;
SELECT group_id,parent_group_id from jtf_rs_groups_denorm
where group_id = p_comp_group_id and parent_group_id <> p_comp_group_id;
l_selected_groups := p_selected_groups;
IF (p_selected_groups.COUNT > 0) THEN
FOR i IN l_selected_groups.FIRST .. l_selected_groups.LAST LOOP
l_found := false;
FOR eachrec in groups_cur(l_selected_groups(i)) LOOP
FOR z in p_selected_groups.FIRST .. p_selected_groups.LAST LOOP
IF (eachrec.parent_group_id = p_selected_groups(z)) THEN
l_found := true;
x_process_groups(l_out_counter) := l_selected_groups(i);
p_selected_groups IN grpnum_tbl_type,
p_effective_date IN DATE := SYSDATE,
x_descendant_groups OUT NOCOPY grpnum_tbl_type,
x_return_status OUT NOCOPY VARCHAR2 ,
x_msg_count OUT NOCOPY NUMBER ,
x_msg_data OUT NOCOPY VARCHAR2
) IS
l_api_name CONSTANT VARCHAR2(30) := 'Get_Descendant_Groups';
l_selected_groups grpnum_tbl_type;
select
rgd.group_id,
rg.group_name,
rgd.parent_group_id,
rgd.start_date_active,
rgd.end_date_active
from jtf_rs_groups_denorm rgd,jtf_rs_group_usages rgu,jtf_rs_groups_vl rg
where
rgd.group_id = rgu.group_id
and rg.group_id = rgu.group_id
and rg.group_id = rgd.group_id
and rgu.usage = 'SF_PLANNING'
and rgd.parent_group_id = p_comp_group_id
and p_date between rgd.start_date_active and nvl(rgd.end_date_active,p_date)
ORDER by rgd.denorm_level;
FOR i IN p_selected_groups.first..p_selected_groups.last LOOP
FOR l_desc_grp IN desc_groups_cur(p_selected_groups(i),p_effective_date) LOOP
l_temp_groups(l_desc_grp.group_id) := nvl(l_desc_grp.group_id,0) + 1;
pre_process_groups(p_selected_groups,l_selected_groups);
FOR i IN l_selected_groups.first..l_selected_groups.last LOOP
FOR l_desc_grp IN desc_groups_cur(l_selected_groups(i),p_effective_date) LOOP
IF (check_exist_group(l_temp_groups,l_desc_grp.group_id) = 'N') THEN
l_temp_groups(l_counter) := l_desc_grp.group_id;
p_selected_groups IN grpnum_tbl_type,
p_status IN VARCHAR2 := 'ALL',
p_effective_date IN DATE := SYSDATE,
x_salesrep_roles OUT NOCOPY srprole_tbl_type,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2
)IS
l_api_name CONSTANT VARCHAR2(30) := 'Get_Salesrep_Roles';
select srd.srp_role_id,
comp_group_id,
group_name,
qmsg.srp_id,
qmsg.role_id,
qmsg.role_name,
start_date,
end_date,
srd.status,
srd.plan_activate_status,
srd.org_code
from cn_qm_mgr_srp_groups qmsg, cn_srp_role_dtls_v srd
where comp_group_id = p_comp_group_id
and qmsg.srp_role_id = srd.srp_role_id
and srd.role_model_id is null
and srd.job_title_id <> -99
and p_date between start_date_active and nvl(end_date_active,p_date)
and p_date between srd.start_date and nvl(srd.end_date,p_date)
and srd.status like p_status
order by manager_flag desc;
p_selected_groups,
p_effective_date,
l_descendant_groups,
l_return_status,
l_msg_count,
l_msg_data);
l_update_groups SYS.DBMS_SQL.NUMBER_TABLE;
SELECT LOOKUP_CODE , MEANING FROM CN_LOOKUPS
WHERE lookup_type = 'ORGANIZATION' order by meaning;
l_view_groups.delete;
l_update_groups.delete;
x_update_groups => l_update_groups,
x_view_groups => l_view_groups,
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data);
p_update_groups => l_update_groups,
p_view_groups => l_view_groups,
x_privilege => l_privilege,
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data);