The following lines contain the word 'select', 'insert', 'update' or 'delete':
RG_XBRL_PKG.delete_taxonomy(p_full_tax_name => p_full_tax_name);
PROCEDURE delete_taxonomy(p_full_tax_name IN VARCHAR2)
IS
p_taxonomy_id NUMBER(15) := 0;
SELECT taxonomy_id
INTO p_taxonomy_id
FROM RG_XBRL_TAXONOMIES
WHERE taxonomy_name = p_full_tax_name AND
ROWNUM = 1;
'RG_XBRL_PKG.delete_taxonomy',
t2 =>'ACTION',
v2 =>'Taxonomy name '
|| p_full_tax_name
||' does not exist');
SELECT axis_set_id
INTO l_axis_set_id
FROM RG_REPORT_AXIS_SETS
WHERE taxonomy_id = p_taxonomy_id AND
axis_set_type = 'R' AND
ROWNUM = 1;
'RG_XBRL_PKG.delete_taxonomy',
t2 =>'ACTION',
v2 =>'Taxonomy '
|| p_full_tax_name
||' is still used in a row set');
SELECT 0
INTO l_parent_flag
FROM DUAL
WHERE EXISTS
(SELECT v1.taxonomy_id
FROM rg_xbrl_taxonomies v1
WHERE v1.taxonomy_id <> p_taxonomy_id AND
p_taxonomy_id IN
(SELECT DISTINCT v2.source_taxonomy_id
FROM rg_xbrl_map_v v2
WHERE v2.map_taxonomy_id = v1.taxonomy_id)
);
'RG_XBRL_PKG.delete_taxonomy',
t2 =>'ACTION',
v2 =>'Taxonomy '
|| p_full_tax_name
||' is not a parent');
DELETE FROM RG_XBRL_MAP_ELEMENTS
WHERE taxonomy_id = p_taxonomy_id;
DELETE FROM RG_XBRL_ELEMENTS
WHERE taxonomy_id = p_taxonomy_id;
DELETE FROM RG_XBRL_TAXONOMIES
WHERE taxonomy_id = p_taxonomy_id;
END delete_taxonomy;
SELECT directory_path
INTO p_tax_dir
FROM all_directories
WHERE directory_name = 'XMLDIR'
AND owner = 'SYS';
SELECT taxonomy_id
INTO l_taxonomy_id
FROM RG_XBRL_TAXONOMIES
WHERE taxonomy_url = l_url;
SELECT RG_XBRL_TAXONOMY_S.NEXTVAL
INTO p_taxonomy_id
FROM dual;
INSERT INTO RG_XBRL_TAXONOMIES
(TAXONOMY_ID,TAXONOMY_ALIAS,TAXONOMY_NAME,TAXONOMY_URL,TAXONOMY_DESCR,
TAXONOMY_IMPORT_FLAG,
CREATED_BY,LAST_UPDATED_BY,LAST_UPDATE_LOGIN,CREATION_DATE,LAST_UPDATE_DATE)
VALUES (p_taxonomy_id, l_tax_file_name, p_full_tax_name,l_url,p_tax_descr,'N',
l_user_id,l_user_id,l_login_id,l_date,l_date);
insert_tax_clob(p_taxonomy_id, l_file_name, l_valid_import_str);
update_lbl_clob(l_tax_file_name, p_taxonomy_id,l_file_name_l);
update_dfn_clob(l_tax_file_name, p_taxonomy_id, l_file_name_d);
update_flags(p_taxonomy_id);
PROCEDURE update_flags(p_taxonomy_id IN NUMBER)
IS
l_taxonomy_id NUMBER := 0;
UPDATE RG_XBRL_ELEMENTS t2
SET t2.parent_id =
(SELECT t1.element_id
FROM RG_XBRL_ELEMENTS t1
WHERE t1.element_identifier = t2.parent_identifier AND
t1.taxonomy_id = p_taxonomy_id)
WHERE t2.taxonomy_id = p_taxonomy_id;
UPDATE RG_XBRL_ELEMENTS
SET has_parent_flag = 'Y'
WHERE taxonomy_id = p_taxonomy_id AND
parent_identifier IS NOT NULL;
UPDATE RG_XBRL_ELEMENTS t2
SET t2.has_child_flag = 'Y'
WHERE t2.taxonomy_id = p_taxonomy_id AND
t2.element_identifier IN
(SELECT t1.parent_identifier
FROM RG_XBRL_ELEMENTS t1
WHERE t1.taxonomy_id = p_taxonomy_id);
UPDATE RG_XBRL_ELEMENTS
SET hierarchy_level = 3
WHERE taxonomy_id = p_taxonomy_id AND
(has_child_flag = 'Y' AND has_parent_flag = 'N');
UPDATE RG_XBRL_ELEMENTS
SET hierarchy_level = 1
WHERE taxonomy_id = p_taxonomy_id AND
(has_child_flag = 'N' AND has_parent_flag = 'Y');
UPDATE RG_XBRL_ELEMENTS
SET hierarchy_level = 2
WHERE taxonomy_id = p_taxonomy_id AND
(has_child_flag = 'Y' AND has_parent_flag = 'Y');
END update_flags;
SELECT taxonomy_id
INTO l_tax_id
FROM RG_XBRL_TAXONOMIES
WHERE taxonomy_url = l_namesp_str;
PROCEDURE insert_tax_clob(p_taxonomy_id IN NUMBER,
filename IN VARCHAR2,
p_valid_str IN VARCHAR2)
IS
xbfile bfile;
Insert_tax_err EXCEPTION;
SELECT RG_XBRL_ELEMENTS_S.NEXTVAL
INTO l_elem_id
FROM dual;
INSERT INTO RG_XBRL_ELEMENTS
(taxonomy_id,element_id,
element_identifier,element_descr,
element_name,element_type,
element_group,
has_child_flag,has_parent_flag,hierarchy_level,
CREATED_BY,LAST_UPDATED_BY,LAST_UPDATE_LOGIN,
CREATION_DATE,LAST_UPDATE_DATE)
VALUES
(p_taxonomy_id, l_elem_id,
l_elem_xbrl_id, l_elem_descr,
l_elem_name, l_elem_type,
l_elem_group,
'N', 'N', 0,
l_user_id,l_user_id,l_login_id,
l_date,l_date);
INSERT INTO RG_XBRL_MAP_ELEMENTS
(taxonomy_id,element_id,
enabled_flag,
CREATED_BY,LAST_UPDATED_BY,LAST_UPDATE_LOGIN,
CREATION_DATE,LAST_UPDATE_DATE)
VALUES
(p_taxonomy_id, l_elem_id,
'Y',
l_user_id,l_user_id,l_login_id,
l_date,l_date);
SELECT taxonomy_id
INTO l_source_tax_id
FROM RG_XBRL_TAXONOMIES
WHERE taxonomy_url = l_cur_url;
'RG_XBRL_PKG.insert_tax_clob',
t2 =>'ACTION',
v2 =>'Import Taxonomy '
|| l_cur_url ||
' was not loaded');
RAISE Insert_tax_err;
INSERT INTO RG_XBRL_MAP_ELEMENTS
(taxonomy_id,element_id,
enabled_flag,
CREATED_BY,LAST_UPDATED_BY,LAST_UPDATE_LOGIN,
CREATION_DATE,LAST_UPDATE_DATE)
( SELECT p_taxonomy_id,
mel.element_id,mel.enabled_flag,
mel.CREATED_BY,mel.LAST_UPDATED_BY,mel.LAST_UPDATE_LOGIN,
mel.CREATION_DATE,mel.LAST_UPDATE_DATE
FROM RG_XBRL_MAP_ELEMENTS mel
WHERE mel.taxonomy_id = l_source_tax_id AND
mel.element_id NOT IN
(SELECT map.element_id
FROM RG_XBRL_MAP_ELEMENTS map
WHERE map.taxonomy_id = p_taxonomy_id)
);
UPDATE RG_XBRL_TAXONOMIES
SET TAXONOMY_IMPORT_FLAG = 'Y'
WHERE taxonomy_id = p_taxonomy_id;
END insert_tax_clob;
PROCEDURE update_lbl_clob(p_tax_name IN VARCHAR2,
p_taxonomy_id IN NUMBER,
filename IN VARCHAR2)
IS
xbfile bfile;
SELECT element_id,
element_identifier,
element_label
FROM RG_XBRL_ELEMENTS t1
WHERE t1.taxonomy_id = tax_id
FOR UPDATE;
UPDATE RG_XBRL_ELEMENTS
SET element_label = l_label
WHERE CURRENT OF tax_el_storage;
END update_lbl_clob;
PROCEDURE update_dfn_clob(p_tax_name IN VARCHAR2,
p_taxonomy_id IN NUMBER,
filename IN VARCHAR2)
IS
xbfile bfile;
SELECT element_id,
element_identifier,
parent_identifier
FROM RG_XBRL_ELEMENTS t1
WHERE t1.taxonomy_id = tax_id
FOR UPDATE;
UPDATE RG_XBRL_ELEMENTS
SET parent_identifier = l_element_defn_parent
WHERE CURRENT OF tax_el_storage;
END update_dfn_clob;