The following lines contain the word 'select', 'insert', 'update' or 'delete':
insert into wip_interface_errors (
interface_id, error_type, creation_date, error
) values (
-1, 1, sysdate, leaving
) ;
/* Insert records into the Errors table if appropriate */
x_statement := '
INSERT INTO WIP_INTERFACE_ERRORS (
INTERFACE_ID, ERROR_TYPE, ERROR,
LAST_UPDATE_DATE, LAST_UPDATED_BY, CREATION_DATE, CREATED_BY,
LAST_UPDATE_LOGIN
)
SELECT
INTERFACE_ID,
' || to_char(x_error_type) || ',
wip_mass_load_utilities.get_current_message,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_LOGIN
FROM ' || P_TABLE ||
' WHERE GROUP_ID = :x_group_id_bind
AND PROCESS_PHASE = :x_process_phase_bind
AND (PROCESS_STATUS = :x_run_def1_bind
OR PROCESS_STATUS = :x_run_def2_bind)
AND ' || X_Where_Clause ;
This is unnecessary if the previous statement did not insert
any rows. It is also unnecessary if the error was just a warning */
IF (P_Error_Type <> MSG_WARNING AND x_num_rows > 0) THEN
x_statement :=
' UPDATE ' || P_TABLE ||
' SET PROCESS_STATUS = ' || to_char(P_New_Process_Status) ||
' WHERE GROUP_ID = :x_group_id_bind
AND PROCESS_PHASE = :x_process_phase_bind
AND (PROCESS_STATUS =:x_run_def1_bind
OR PROCESS_STATUS =:x_run_def2_bind)
AND ' || X_Where_Clause;