The following lines contain the word 'select', 'insert', 'update' or 'delete':
PROCEDURE insert_delimiter (p_idx IN NUMBER, p_delimiter VARCHAR2);
/* This cursor selects all the account segments that we need to get parents
for */
cursor c_account_values (c_request_id NUMBER) is
select distinct account_segment
from gl_rx_trial_balance_itf
where request_id = c_request_id;
/* This cursor select the parent of a child value */
cursor c_parent_value (c_flex_value_set_id NUMBER, c_child_value varchar2) is
select
c.parent_flex_value,
to_number(fv.hierarchy_level)
from
FND_FLEX_VALUES FV,
FND_FLEX_VALUE_CHILDREN_V C
where
c.flex_value_set_id = c_flex_value_set_id and
c.flex_value = c_child_value and
fv.flex_value_set_id = c.flex_value_set_id and
fv.flex_value = c.parent_flex_value
order by fv.hierarchy_level desc;
select chart_of_accounts_id
into v_chart_of_accounts_id
from gl_sets_of_books
where set_of_books_id = v_set_of_books_id;
/* Insert delimiter at correct position for account segment value and
parent level value */
FOR v_idx in 0..g_idx-1 LOOP
if (g_account_tab(v_idx).levels > 0)
then
/* We need to clean up the level hierarchy in case there are any gaps
between the top level parent and the actual account (lowest level entry) */
clean_up_hierarchy (v_idx);
/* Insert the delimiter into both the account and the parent level values */
insert_delimiter (v_idx, p_delimiter);
| PROCEDURE: insert_delimiter |
+------------------------------------------------------------------*/
PROCEDURE insert_delimiter (p_idx IN NUMBER, p_delimiter IN VARCHAR2) IS
BEGIN
/* Initialize delimiter variables */
v_1_width := 0; v_1_start := 0; v_1_end := 0;
to insert the delimiter in the correct position. */
if (g_account_tab(p_idx).L2 is not NULL) then
v_2_width := length(g_account_tab(p_idx).L2) - v_1_end;
/* Start delimiting - the logic is to insert the delimiter into the parent (L1 through L9) and
then to also insert it into the delimited account, g_account_tab(p_idx).delimit_account */
if (g_account_tab(p_idx).L1 is not NULL) then
g_account_tab(p_idx).delimit_account :=
substr(g_account_tab(p_idx).account, v_1_start, v_1_width) || p_delimiter ||
substr(g_account_tab(p_idx).account, v_1_end + 1, 999);