The following lines contain the word 'select', 'insert', 'update' or 'delete':
SELECT DBMS_UTILITY.get_time INTO G_CONC_REQUEST_ID FROM dual;
SELECT UID INTO G_USER_ID FROM dual;
INSERT INTO jtf_ih_bulk_recovery
( recovery_id, request_id, msg_id, bulk_interaction_request,
num_int_processed, created_by, creation_date, last_updated_by,
last_update_date, last_update_login, program_id, program_application_id,
program_update_date)
VALUES
(jtf_ih_bulk_recovery_s1.nextval, G_CONC_REQUEST_ID, l_msg_id_perf,
EMPTY_CLOB(), null, G_USER_ID, sysdate, G_USER_ID, sysdate, G_LOGIN_ID,
G_CONC_REQUEST_ID, G_PROG_APPL_ID, sysdate);
SELECT user_data INTO saved_bulk_obj
FROM jtf_ih_bulk_qtbl
WHERE msgid = l_msg_id;
UPDATE jtf_ih_bulk_recovery
SET
bulk_writer_code = saved_bulk_obj.bulkWriterCode,
bulk_batch_type = saved_bulk_obj.bulkBatchType,
bulk_batch_id = saved_bulk_obj.bulkBatchId,
bulk_interaction_id = saved_bulk_obj.bulkInteractionId,
bulk_interaction_request = saved_bulk_obj.bulkInteractionRequest,
msg_id = l_msg_id,
last_update_date = sysdate,
program_update_date = sysdate
WHERE request_id = G_CONC_REQUEST_ID;
DELETE FROM jtf_ih_bulk_recovery
WHERE request_id = G_CONC_REQUEST_ID;
SELECT user_id INTO l_user_id
FROM jtf_rs_resource_extns
WHERE resource_id = l_resource_id AND
( end_date_active IS NULL OR
TRUNC(end_date_active) >= TRUNC(SYSDATE) );
UPDATE jtf_ih_bulk_recovery
SET num_int_processed = l_commit_int_num,
last_update_date = sysdate,
program_update_date = sysdate
WHERE request_id = G_CONC_REQUEST_ID;
UPDATE jtf_ih_bulk_recovery
SET num_int_processed = l_num_int_done,
last_update_date = sysdate,
program_update_date = sysdate
WHERE request_id = G_CONC_REQUEST_ID;
SELECT jtf_ih_media_items_s1.NEXTVAL INTO med_id FROM sys.dual;
SELECT JTF_IH_BULK_ERRORS_S1.NEXTVAL INTO rec_id FROM sys.dual;
INSERT INTO JTF_IH_BULK_ERRORS
(bulk_error_id, object_version_number, creation_date, created_by,
last_update_date, last_updated_by, last_update_login, program_id,
request_id, program_application_id, program_update_date,
bulk_writer_code, bulk_batch_id, bulk_batch_type, bulk_interaction_id,
error_message, inter_req_xml_doc)
VALUES
(rec_id, l_obj_version_perf, sysdate, G_USER_ID,
sysdate, G_USER_ID, G_LOGIN_ID, G_CONC_PROGRAM_ID,
G_CONC_REQUEST_ID, G_PROG_APPL_ID, sysdate,
p_bulk_writer_code, p_bulk_batch_id, p_bulk_batch_type,
p_bulk_interaction_id, error_msg_2, EMPTY_CLOB());
SELECT inter_req_xml_doc INTO bad_int_clob
FROM jtf_ih_bulk_errors
WHERE bulk_error_id = rec_id;
UPDATE jtf_ih_bulk_errors
SET inter_req_xml_doc = bad_int_clob
WHERE bulk_error_id = rec_id;
SELECT JTF_IH_BULK_ERRORS_S1.NEXTVAL INTO rec_id FROM sys.dual;
INSERT INTO JTF_IH_BULK_ERRORS
(bulk_error_id, object_version_number, creation_date, created_by,
last_update_date, last_updated_by, last_update_login, program_id,
request_id, program_application_id, program_update_date,
bulk_writer_code, bulk_batch_id, bulk_batch_type, bulk_interaction_id,
error_message, inter_req_xml_doc)
VALUES
(rec_id, l_obj_version_perf, sysdate, G_USER_ID,
sysdate, G_USER_ID, G_LOGIN_ID, G_CONC_PROGRAM_ID,
G_CONC_REQUEST_ID, G_PROG_APPL_ID, sysdate,
p_bulk_writer_code, p_bulk_batch_id, p_bulk_batch_type,
p_bulk_interaction_id, error_msg_2, p_bulk_interaction_request);
OPEN l_rec_cv FOR SELECT * FROM JTF_IH_BULK_RECOVERY;
UPDATE JTF_IH_BULK_RECOVERY
SET request_id = G_CONC_REQUEST_ID,
program_id = G_CONC_REQUEST_ID,
program_application_id = G_PROG_APPL_ID,
last_update_date = sysdate,
program_update_date = sysdate
WHERE recovery_id = l_rec_recd.recovery_id;
delete the current record from the recovery table.
The XML parser's NodeList is indexed from 0 to n-1, so the num_int_processed
works fine as an index to the first non-processed interaction.
*/
l_ret_status := PROCESS_BULK_RECORD(l_rec_recd.bulk_writer_code,
l_rec_recd.bulk_batch_type,
l_rec_recd.bulk_batch_id,
l_rec_recd.bulk_interaction_request,
l_rec_recd.num_int_processed);
DELETE FROM jtf_ih_bulk_recovery
WHERE request_id = G_CONC_REQUEST_ID;