The following lines contain the word 'select', 'insert', 'update' or 'delete':
select a.application_id, c.release_class_id
into p_rel_class_app_id, p_rel_class_id
from fnd_conc_release_classes c, fnd_application a
where upper(release_class_name) = upper(p_class_name)
and c.application_id = a.application_id
and a.application_short_name = upper(p_application);
select class_info, class_type, date1, date2
into curr_info, sch_type, req_date, p_repeat_end
from fnd_conc_release_classes
where application_id = p_rel_class_app_id
and release_class_id = p_rel_class_id;
select decode(substr(curr_info, c1+1, 1),
'M', 'MONTHS', 'D', 'DAYS', 'H', 'HOURS', 'N', 'MINUTES')
into p_repeat_interval_unit
from dual;
select decode(substr(curr_info, (c2+1), 1), 'C', 'END', 'START')
into p_repeat_interval_type
from dual;
select floor((sysdate - req_date) / DECODE(p_repeat_interval_unit,
'MINUTES', GREATEST(p_repeat_interval,1) / 1440,
'HOURS', GREATEST(p_repeat_interval,1/60) / 24,
'DAYS', GREATEST(p_repeat_interval,1/1440),
'MONTHS', GREATEST(p_repeat_interval,1) * 31,1))
into tmp_interval
from dual;
select req_date +
DECODE(p_repeat_interval_unit,
'MINUTES', tmp_interval * GREATEST(p_repeat_interval,1) / 1440,
'HOURS', tmp_interval * GREATEST(p_repeat_interval,1/60) / 24,
'DAYS', tmp_interval * GREATEST(p_repeat_interval,1/1440),
'MONTHS', ADD_MONTHS(req_date, tmp_interval * p_repeat_interval)-req_date,
1)
into req_date
from dual;
select req_date +
DECODE(p_repeat_interval_unit,
'MINUTES', GREATEST(p_repeat_interval,1) / 1440,
'HOURS', GREATEST(p_repeat_interval,1/60) / 24,
'DAYS', GREATEST(p_repeat_interval,1/1440),
'MONTHS', ADD_MONTHS(req_date,p_repeat_interval)-req_date,
1)
into req_date
from dual;
relclass_insert_error exception;
Select Fnd_Conc_Release_Classes_S.nextval
Into relseqno
From Sys.Dual;
Insert Into fnd_conc_release_classes (application_id, release_class_id, release_class_name, owner_req_id, enabled_flag,
creation_date, created_by, last_update_date, last_updated_by, last_update_login, updated_flag, date1, date2, class_type,
class_info)
Values (0 , relseqno, relclassname, req_id, 'Y', Sysdate, FND_GLOBAL.conc_login_id, Sysdate,
FND_GLOBAL.conc_login_id, FND_GLOBAL.conc_login_id, 'N', start_date, end_date, 'S', class_info);
raise relclass_insert_error;
INSERT INTO Fnd_Conc_Release_Classes_TL (application_id, release_class_id, language, source_lang,
user_release_class_name,last_update_date, last_updated_by, last_update_login, creation_date, created_by)
Select 0, relseqno, L.LANGUAGE_CODE, userenv('LANG'), relclassname,
Sysdate, FND_GLOBAL.conc_login_id, FND_GLOBAL.conc_login_id, Sysdate, FND_GLOBAL.conc_login_id from FND_LANGUAGES L
where L.INSTALLED_FLAG in ('I', 'B');
raise relclass_insert_error;
update Fnd_Concurrent_Requests set release_class_id=relseqno, release_class_app_id=0 where request_id=req_id;
raise relclass_insert_error;
when relclass_insert_error then
fnd_message.set_name ('FND', 'CONC-RelClass insert failed');