The following lines contain the word 'select', 'insert', 'update' or 'delete':
:= 'XLA.PLSQL.XLA_UPDATE_INVAL_CCID';
xla_exceptions_pkg.raise_message (p_location => 'xla_update_inval_ccid.trace'
);
xla_exceptions_pkg.raise_message (p_location => 'xla_update_inval_ccid.print_logfile'
);
PROCEDURE xla_update_inval_ccid_api (
p_accounting_batch_id IN NUMBER,
p_ledger_id IN NUMBER,
p_application_id IN NUMBER,
p_ccid IN t_ccid_table,
p_status IN NUMBER,
p_err_msg IN VARCHAR2
)
AS
TYPE t_ae_header_id IS TABLE OF xla_ae_headers.ae_header_id%TYPE;
|| ' - Starting of the Update Invalid CCID Information'
);
l_log_module := c_default_module || 'xla_update_inval_ccid_api';
TRACE (p_msg => 'BEGIN of procedure XLA_UPDATE_INVAL_CCID',
p_level => c_level_procedure,
p_module => l_log_module
);
SELECT suspense_allowed_flag, suspense_ccid, bal_seg_column_name,
ledger_id, chart_of_accounts_id
INTO l_suspense_allowed_flag, l_suspense_ccid, l_bal_seg_column_name,
l_ledger_id, l_structnum
FROM gl_ledgers_v
WHERE ledger_id = p_ledger_id;
UPDATE xla_ae_lines xal
SET xal.code_combination_id = p_new_ccid
WHERE application_id = p_application_id
AND ae_header_id IN (
SELECT ae_header_id
FROM xla_ae_headers
WHERE accounting_batch_id = p_accounting_batch_id
AND application_id = p_application_id
AND ledger_id = p_ledger_id)
AND code_combination_id = l_ccid (i);
print_logfile (SQL%ROWCOUNT ||'No. Records Updated');
|| ' - Starting of Update Invalid CCID '
);
print_logfile ( 'No. of Distinct CCID required to update '
|| p_ccid.COUNT
);
UPDATE xla_ae_lines xal
SET xal.code_combination_id = p_status -- -2
WHERE application_id = p_application_id
AND ae_header_id IN (
SELECT ae_header_id
FROM xla_ae_headers
WHERE accounting_batch_id = p_accounting_batch_id
AND application_id = p_application_id
AND ledger_id = p_ledger_id)
AND code_combination_id = l_ccid (i)
RETURNING ae_header_id
BULK COLLECT INTO l_ae_header_id;
UPDATE xla_ae_headers
SET accounting_entry_status_code = 'I'
WHERE application_id = p_application_id
AND accounting_batch_id = p_accounting_batch_id
AND ae_header_id = l_ae_header_id (j)
RETURNING event_id
BULK COLLECT INTO l_event_id;
UPDATE xla_ae_headers
SET accounting_entry_status_code = 'R'
WHERE event_id = l_event_id (k)
AND application_id = p_application_id
AND accounting_batch_id = p_accounting_batch_id
AND accounting_entry_status_code <> 'I';
UPDATE xla_events
SET event_status_code = 'U',
process_status_code = 'I'
WHERE application_id = p_application_id
AND event_id = l_event_id (l);
SELECT ledger_id, entity_id, event_id
INTO l_ledger_id, l_entity_id, l_vent_id
FROM xla_ae_headers
WHERE ae_header_id = l_ae_header_id (n);
xla_accounting_err_pkg.insert_errors;