The following lines contain the word 'select', 'insert', 'update' or 'delete':
SELECT account_position_set_id
FROM psb_account_position_sets
WHERE account_or_position_type = 'A'
AND set_of_books_id = NVL( l_set_of_books_id, set_of_books_id )
-- Bug 3458191: Add order by to taking advantage of caching
ORDER BY set_of_books_id
)
LOOP
--
-- Perform initilization. To be done for each account set.
--
Init;
l_last_update_date DATE ;
SELECT set_of_books_id,
NVL( max_code_combination_id, 0 ),
NVL( last_maintained_date, last_update_date - 1 ),
last_update_date
INTO g_set_of_books_id,
g_max_code_combination_id,
l_last_maintained_date,
l_last_update_date
FROM psb_account_position_sets
WHERE account_position_set_id = p_account_set_id ;
SELECT chart_of_accounts_id INTO g_chart_of_accounts_id
FROM gl_sets_of_books
WHERE set_of_books_id = g_set_of_books_id;
UPDATE psb_account_position_sets
SET maintain_status = 'C'
WHERE account_position_set_id = p_account_set_id;
IF l_last_update_date > l_last_maintained_date THEN
-- Delete from psb_budget_accounts
DELETE psb_budget_accounts
WHERE account_position_set_id = p_account_set_id ;
SELECT line_sequence_id, include_or_exclude_type
FROM psb_account_position_set_lines
WHERE account_position_set_id = p_account_set_id
ORDER BY include_or_exclude_type DESC
)
LOOP
--
-- Get the account codes falling in each range represented by
-- line_sequence_id and put them im psb_budget_accounts table.
--
IF NOT Make_Account_Assignments
(
l_line_rec.line_sequence_id ,
l_line_rec.include_or_exclude_type
)
THEN
RETURN (FALSE);
UPDATE psb_account_position_sets
SET maintain_status = 'C' ,
last_maintained_date = g_current_date ,
max_code_combination_id =
( SELECT max(code_combination_id)
FROM gl_code_combinations )
WHERE account_position_set_id = p_account_set_id;
SELECT seg.application_column_name
FROM fnd_id_flex_structures str, fnd_id_flex_segments seg
WHERE str.application_id = l_application_id -- bug #4924031
AND str.id_flex_code = l_id_flex_code -- bug #4924031
AND str.id_flex_num = p_chart_of_accounts_id
AND str.id_flex_code = seg.id_flex_code
AND str.id_flex_num = seg.id_flex_num
AND seg.enabled_flag = l_yes_flag -- bug #4924031
AND seg.application_id = str.application_id -- bug #4924031
)
LOOP
g_total_active_segments := g_total_active_segments + 1;
l_sql_insert VARCHAR2(4000);
l_sql_delete VARCHAR2(4000);
pd('Building Insert statement');
l_sql_insert := ' INSERT INTO psb_budget_accounts(' ||
' account_position_set_id,' ||
' set_of_books_id,' ||
' code_combination_id,' ||
' last_update_date,' ||
' last_updated_by,' ||
' last_update_login,' ||
' created_by,' ||
' creation_date)' ||
' SELECT :account_set_id,' ||
' :set_of_books_id,' ||
' code_combination_id,' ||
' :last_update_date,' ||
' :last_updated_by,' ||
' :last_update_login,' ||
' :created_by,' ||
' :creation_date';
pd('Building Delete statement');
l_sql_delete := ' DELETE psb_budget_accounts' ||
' WHERE account_position_set_id =' ||
' :account_set_id' ||
' AND code_combination_id IN' ||
' ( SELECT code_combination_id';
l_sql_insert := l_sql_insert ||
l_sql_tmp ||
' AND NOT EXISTS ' ||
' ( SELECT account_position_set_id,' ||
' code_combination_id' ||
' FROM psb_budget_accounts' ||
' WHERE account_position_set_id = :account_set_id' ||
' AND code_combination_id = glcc.code_combination_id )' ;
dbms_sql.parse(l_cursor_id, l_sql_insert, dbms_sql.v7);
dbms_sql.bind_variable(l_cursor_id, ':last_update_date',
g_current_date);
dbms_sql.bind_variable(l_cursor_id, ':last_updated_by',
g_current_user_id);
dbms_sql.bind_variable(l_cursor_id, ':last_update_login',
g_current_login_id);
l_sql_delete := l_sql_delete || l_sql_tmp || ')';
dbms_sql.parse(l_cursor_id, l_sql_delete, dbms_sql.v7);
SELECT name INTO l_set_of_books_name
FROM gl_sets_of_books
WHERE set_of_books_id = p_set_of_books_id ;
SELECT name INTO l_account_set_name
FROM psb_account_position_sets
WHERE account_position_set_id = p_account_set_id ;
FOR c_ws_rec in(SELECT NVL(budget_by_position,'N') budget_by_position,
data_extract_id
FROM psb_worksheets
WHERE worksheet_id = p_worksheet_id)
LOOP
l_data_extract_id := c_ws_rec.data_extract_id;