The following lines contain the word 'select', 'insert', 'update' or 'delete':
select hri_adm_mthd_ranges_s.nextval
into g_mthd_range_id
from dual;
SELECT err_thread_request_id
FROM hri_adm_mthd_ranges
WHERE mthd_action_id = p_mthd_action_id
AND status = 'ERROR'
AND rownum = 1;
SELECT count(req.request_id) count
FROM fnd_concurrent_programs cp
,fnd_executables ex
,fnd_concurrent_requests req
WHERE ex.executable_id = cp.executable_id
AND cp.concurrent_program_id = req.concurrent_program_id
AND ex.application_id = cp.EXECUTABLE_APPLICATION_ID
AND cp.application_id = req.PROGRAM_APPLICATION_ID
-- Restrict to non-complete multi-threading processes
AND ex.executable_name = 'HRI_OPL_MULTI_THREAD'
AND req.PHASE_CODE <> 'C'
-- Requests previously submitted within the same request set
AND req.request_id IN
(SELECT req1.request_id
FROM fnd_concurrent_requests req1
WHERE req1.priority_request_id =
-- Subquery for requests in request set
(SELECT req2.priority_request_id
FROM fnd_concurrent_requests req2
WHERE req2.request_id = fnd_global.conc_request_id)
-- Filter on previously submitted requests only
AND req1.request_id < fnd_global.conc_request_id);
SELECT count(*)
FROM hri_adm_mthd_ranges
WHERE mthd_action_id = p_mthd_action_id
AND status IN ('UNPROCESSED','PROCESSING')
AND mthd_range_lvl_order < p_mthd_range_lvl_order;
SELECT concurrent_program_name
FROM fnd_concurrent_programs prg,
fnd_concurrent_requests req
WHERE prg.concurrent_program_id = req.concurrent_program_id
AND req.request_id = fnd_global.conc_request_id;
INSERT into HRI_ADM_MTHD_ACTIONS
( MTHD_ACTION_ID,
PROGRAM,
REQUEST_ID,
COLLECT_FROM_DATE,
COLLECT_TO_DATE,
BUSINESS_GROUP_ID,
FULL_REFRESH_FLAG,
DEBUG_FLAG,
FOUNDATION_HR_FLAG,
HIERARCHICAL_PROCESS_FLAG,
HIERARCHICAL_PROCESS_TYPE,
ATTRIBUTE1,
ATTRIBUTE2,
ATTRIBUTE3,
ATTRIBUTE4,
ATTRIBUTE5,
ATTRIBUTE6,
ATTRIBUTE7,
ATTRIBUTE8,
ATTRIBUTE9,
ATTRIBUTE10,
ATTRIBUTE11,
ATTRIBUTE12,
ATTRIBUTE13,
ATTRIBUTE14,
ATTRIBUTE15,
ATTRIBUTE16,
ATTRIBUTE17,
ATTRIBUTE18,
ATTRIBUTE19,
ATTRIBUTE20,
STATUS ,
START_TIME ,
END_TIME ,
PROCESS_TYPE ,
PROCESS_NAME)
VALUES
(hri_adm_mthd_actions_s.nextval,
g_mthd_action_array.PROGRAM,
g_mthd_action_array.REQUEST_ID,
g_mthd_action_array.COLLECT_FROM_DATE,
g_mthd_action_array.COLLECT_TO_DATE,
g_mthd_action_array.BUSINESS_GROUP_ID,
g_mthd_action_array.FULL_REFRESH_FLAG,
g_mthd_action_array.DEBUG_FLAG,
g_mthd_action_array.FOUNDATION_HR_FLAG,
g_mthd_action_array.HIERARCHICAL_PROCESS_FLAG,
g_mthd_action_array.HIERARCHICAL_PROCESS_TYPE,
g_mthd_action_array.ATTRIBUTE1,
g_mthd_action_array.ATTRIBUTE2,
g_mthd_action_array.ATTRIBUTE3,
g_mthd_action_array.ATTRIBUTE4,
g_mthd_action_array.ATTRIBUTE5,
g_mthd_action_array.ATTRIBUTE6,
g_mthd_action_array.ATTRIBUTE7,
g_mthd_action_array.ATTRIBUTE8,
g_mthd_action_array.ATTRIBUTE9,
g_mthd_action_array.ATTRIBUTE10,
g_mthd_action_array.ATTRIBUTE11,
g_mthd_action_array.ATTRIBUTE12,
g_mthd_action_array.ATTRIBUTE13,
g_mthd_action_array.ATTRIBUTE14,
g_mthd_action_array.ATTRIBUTE15,
g_mthd_action_array.ATTRIBUTE16,
g_mthd_action_array.ATTRIBUTE17,
g_mthd_action_array.ATTRIBUTE18,
g_mthd_action_array.ATTRIBUTE19,
g_mthd_action_array.ATTRIBUTE20,
g_mthd_action_array.STATUS ,
g_mthd_action_array.START_TIME ,
g_mthd_action_array.END_TIME ,
g_mthd_action_array.PROCESS_TYPE ,
g_mthd_action_array.PROCESS_NAME)
RETURNING mthd_action_id INTO g_mthd_action_id;
'INSERT /*+ append parallel(range, default,default) */ INTO
hri_adm_mthd_ranges range
(mthd_range_id
,mthd_range_lvl
,mthd_range_lvl_order
,mthd_action_id
,start_object_id
,end_object_id
,status)
SELECT
mthd_range_id
,object_lvl
,object_lvl
,:mthd_action_id
,min(object_id)
,max(object_id)
,''UNPROCESSED''
FROM
(SELECT
object_lvl + CEIL(ROWNUM / :chunk_size) mthd_range_id
,object_lvl
,object_id
FROM
(SELECT object_id, object_lvl
FROM (' || l_sqlstr || ')
ORDER BY object_lvl, object_id))
GROUP BY
mthd_range_id
,object_lvl';
'INSERT /*+ append parallel(range, default,default) */ INTO
hri_adm_mthd_ranges range
(mthd_range_id
,mthd_range_lvl
,mthd_range_lvl_order
,mthd_action_id
,start_object_id
,end_object_id
,status)
SELECT
mthd_range_id
,object_lvl
,0 - object_lvl
,:mthd_action_id
,min(object_id)
,max(object_id)
,''UNPROCESSED''
FROM
(SELECT
1000 - object_lvl + CEIL(ROWNUM / :chunk_size) mthd_range_id
,object_lvl
,object_id
FROM
(' || l_sqlstr || ')
)
GROUP BY
mthd_range_id
,object_lvl';
'INSERT /*+ append parallel(range, default,default) */ INTO
hri_adm_mthd_ranges range
(mthd_range_id
,mthd_range_lvl
,mthd_range_lvl_order
,mthd_action_id
,start_object_id
,end_object_id
,status)
SELECT
mthd_range_id
,1
,1
,:mthd_action_id
,min(object_id)
,max(object_id)
,''UNPROCESSED''
FROM
(SELECT
CEIL(ROWNUM / :chunk_size) mthd_range_id
,object_id
FROM
(' || l_sqlstr || ')
)
GROUP BY
mthd_range_id';
SELECT count(*)
FROM hri_adm_mthd_ranges
WHERE mthd_action_id = g_mthd_action_id;
SELECT phase_code,
status_code
FROM fnd_concurrent_requests fnd
WHERE fnd.request_id = c_request_id;
UPDATE hri_adm_mthd_actions
SET end_time = SYSDATE,
status = 'PROCESSED'
WHERE mthd_action_id = g_mthd_action_id;
SELECT -1
FROM hri_adm_mthd_ranges
WHERE status = 'ERROR'
AND mthd_action_id = p_mthd_action_id
AND rownum = 1;
UPDATE hri_adm_mthd_ranges
SET status = 'PROCESSED'
WHERE status = 'PROCESSING'
AND mthd_action_id = p_mthd_action_id
AND mthd_range_id = p_mthd_range_id;
UPDATE hri_adm_mthd_ranges
SET status = 'PROCESSING',
request_id = fnd_global.conc_request_id
WHERE status = 'UNPROCESSED'
AND mthd_action_id = p_mthd_action_id
AND mthd_range_id =
(SELECT MIN(sub.mthd_range_id)
FROM hri_adm_mthd_ranges sub
WHERE sub.status = 'UNPROCESSED'
AND sub.mthd_action_id = p_mthd_action_id)
RETURNING
mthd_range_id
,mthd_range_lvl
,mthd_range_lvl_order
,start_object_id
,end_object_id
INTO
p_mthd_range_id
,p_mthd_range_lvl
,p_mthd_range_lvl_order
,p_start_object_id
,p_end_object_id;
UPDATE hri_adm_mthd_ranges
SET status = 'ERROR',
err_thread_request_id = fnd_global.conc_request_id
WHERE mthd_action_id = p_mthd_action_id
--
-- The records which have not been processed
--
AND (status = 'UNPROCESSED' OR
--
-- The records which which was being processed by the thread, when the error
-- was raised
--
(status = 'PROCESSING'
AND request_id = fnd_global.conc_request_id));
UPDATE hri_adm_mthd_actions
SET status = 'ERROR'
WHERE mthd_action_id = p_mthd_action_id;
SELECT *
FROM HRI_ADM_MTHD_ACTIONS
WHERE mthd_action_id = p_mthd_action_id;
PROCEDURE update_parameters(p_mthd_action_id IN NUMBER,
p_full_refresh IN VARCHAR2,
p_global_start_date IN DATE) IS
BEGIN
-- If a full refresh then set the flag and update the
-- collect from date
IF (p_full_refresh = 'Y') THEN
UPDATE hri_adm_mthd_actions
SET full_refresh_flag = 'Y'
,collect_from_date = p_global_start_date
WHERE mthd_action_id = p_mthd_action_id;
UPDATE hri_adm_mthd_actions
SET full_refresh_flag = 'N'
WHERE mthd_action_id = p_mthd_action_id;
END update_parameters;
SELECT
req.argument4
FROM
fnd_concurrent_requests req
,fnd_concurrent_programs prg
WHERE req.concurrent_program_id = prg.concurrent_program_id
AND req.program_application_id = prg.application_id
AND prg.concurrent_program_name = 'HRI_MTHD_CHILD_PROCESS'
AND req.request_id = fnd_global.conc_request_id;