The following lines contain the word 'select', 'insert', 'update' or 'delete':
select obj_name, node_label, folder_type,
value, sequence, parent_folder_id, created_by, public_flag
from fnd_tree_folders
where folder_id = l_folder_id;
FUNCTION insert_folder(l_obj_name VARCHAR2,
l_node_label VARCHAR2,
l_folder_type VARCHAR2,
l_value VARCHAR2,
l_parent_folder_id NUMBER,
l_public_flag VARCHAR2,
l_language VARCHAR2,
l_user_id NUMBER,
after_folder_id NUMBER default null) RETURN NUMBER IS
PRAGMA AUTONOMOUS_TRANSACTION;
select max(sequence)
from fnd_tree_folders
where created_by = l_user_id
and parent_folder_id is null
and obj_name = l_obj_name;
select max(sequence)
from fnd_tree_folders
where parent_folder_id = l_parent_folder_id;
select sequence
from fnd_tree_folders
where folder_id = after_folder_id;
select min(sequence)
from fnd_tree_folders
where created_by = l_user_id
and parent_folder_id is null
and obj_name = l_obj_name
and sequence > l_after_seq;
select min(sequence)
from fnd_tree_folders
where parent_folder_id = l_parent_folder_id
and sequence > l_after_seq;
select fnd_tree_folders_s.nextval
from dual;
insert into fnd_tree_folders(
folder_id,
obj_name,
node_label,
folder_type,
value,
sequence,
parent_folder_id,
public_flag,
language,
creation_date,
created_by,
last_update_date,
last_updated_by)
values (
l_folder_id,
l_obj_name,
l_node_label,
l_folder_type,
l_value,
l_next_seq,
l_parent_folder_id,
l_public_flag,
l_language,
sysdate,
l_user_id,
sysdate,
l_user_id);
END insert_folder;
PROCEDURE update_folder (l_folder_id number,
l_user_id number,
l_obj_name varchar2 default 'APPTREE_NULL',
l_node_label VARCHAR2 default 'APPTREE_NULL',
l_folder_type VARCHAR2 default 'APPTREE_NULL',
l_value VARCHAR2 default 'APPTREE_NULL',
l_sequence NUMBER default -99,
l_parent_folder_id NUMBER default -99,
l_public_flag VARCHAR2 default 'APPTREE_NULL',
l_language VARCHAR2 default 'APPTREE_NULL') IS
PRAGMA AUTONOMOUS_TRANSACTION;
update fnd_tree_folders
set
obj_name = decode(l_obj_name, 'APPTREE_NULL', obj_name, l_obj_name),
node_label = decode(l_node_label, 'APPTREE_NULL', node_label, l_node_label),
folder_type = decode(l_folder_type, 'APPTREE_NULL', folder_type, l_folder_type),
value = decode(l_value, 'APPTREE_NULL', value, l_value),
sequence = decode(l_sequence, -99, sequence, l_sequence),
parent_folder_id = decode(l_parent_folder_id, -99, parent_folder_id, l_parent_folder_id),
public_flag = decode(l_public_flag, 'APPTREE_NULL', public_flag, l_public_flag),
language = decode(l_language, 'APPTREE_NULL', language, l_language),
last_update_date = sysdate,
last_updated_by = l_user_id
where
folder_id = l_folder_id;
END update_folder;
select '1'
from fnd_tree_folders
where ((l_parent_folder_id is null and parent_folder_id is null)
or (l_parent_folder_id is not null and parent_folder_id = l_parent_folder_id))
and obj_name = l_obj_name
and created_by = l_user_id
and folder_type IN ('Q', 'F')
and node_label = requested_folder_name;
PROCEDURE delete_folder(l_folder_id number) is
PRAGMA AUTONOMOUS_TRANSACTION;
delete
from fnd_tree_folders f
where f.folder_id in
(select h.folder_id
from fnd_tree_folders h
start with h.folder_id = l_folder_id
connect by prior h.folder_id = h.parent_folder_id);
END delete_folder;
select max(sequence)
from fnd_tree_folders
where created_by = l_user_id
and parent_folder_id is null
and obj_name = l_obj_name;
select max(sequence)
from fnd_tree_folders
where parent_folder_id = l_parent_folder_id;
select sequence
from fnd_tree_folders
where folder_id = after_folder_id;
select min(sequence)
from fnd_tree_folders
where created_by = l_user_id
and parent_folder_id is null
and obj_name = l_obj_name
and sequence > l_after_seq;
select min(sequence)
from fnd_tree_folders
where parent_folder_id = l_parent_folder_id
and sequence > l_after_seq;
UPDATE fnd_tree_folders
SET parent_folder_id = l_parent_folder_id
,sequence = l_next_seq
,last_update_date = sysdate
,last_updated_by = l_user_id
WHERE folder_id = l_folder_id;