The following lines contain the word 'select', 'insert', 'update' or 'delete':
lc_insert_stmt VARCHAR2(240);
lc_select_stmt VARCHAR2(8096);
ln_inserted_row_counts INTEGER;
SELECT SUBSTR(userenv('LANG'),1,4)
INTO lc_userenv_lang
FROM SYS.DUAL;
SELECT fl.language_code
INTO lc_base_lang
FROM fnd_languages fl
WHERE fl.installed_flag = 'B';
lc_insert_stmt := ' INSERT INTO ar_bpa_print_requests (request_id, payment_schedule_id,
worker_id, created_by, creation_date,last_updated_by, last_update_date)';
lc_select_stmt := ' SELECT ' || ln_m_request_id || ', payment_schedule_id, ROWNUM, 1, SYSDATE, 1, SYSDATE FROM '
||' ( SELECT apsa.payment_schedule_id '|| build_from_clause ||
' AND NVL(hcasa.language,' || '''' || lc_base_lang || ''') = ' || '''' || lc_userenv_lang || '''' ;
lc_sql_stmt := lc_insert_stmt || lc_select_stmt || lc_where1 || ')';
lc_sql_stmt := lc_sql_stmt || ' UNION ALL ' || lc_select_stmt || lc_where2 || ')';
ln_inserted_row_counts := DBMS_SQL.execute(ln_sql_stmt_c);
IF ln_inserted_row_counts > 0 THEN
ln_divided_worker_counts := ceil(ln_inserted_row_counts/ln_job_size);
ln_row_counts_perworker := ceil(ln_inserted_row_counts/ln_divided_worker_counts);
UPDATE ar_bpa_print_requests
SET worker_id = ln_worker_id
WHERE request_id = ln_m_request_id
AND worker_id BETWEEN ln_low_range AND ln_high_range;
,request_data => to_char(ln_inserted_row_counts));
SELECT fcr.request_id
,fcr.status_code
FROM fnd_concurrent_requests fcr
WHERE fcr.parent_request_id = p_request_id;
DELETE FROM ar_bpa_print_requests
WHERE request_id = ln_m_request_id;