Скрипт генерации параметров запуска канкарента
declare
p_conc_code VARCHAR2(100) := 'AFBFULDL';
--
l_space_num number := 40;
l_space varchar2(100) := lpad(' ',l_space_num,' ');
l_appl_code varchar2(50);
l_conc_prog_rec fnd_concurrent_programs_vl%rowtype;
begin
select * into l_conc_prog_rec from fnd_concurrent_programs_vl t
where concurrent_program_name = p_conc_code;
select application_short_name into l_appl_code
from fnd_application a where a.application_id = l_conc_prog_rec.application_id;
dbms_output.put_line('-- '||l_conc_prog_rec.USER_CONCURRENT_PROGRAM_NAME);
dbms_output.put_line('p_req_id := fnd_request.submit_request( application => '''
||l_appl_code ||''',');
dbms_output.put_line(l_space||'program => '''||p_conc_code||''',');
dbms_output.put_line(l_space||'start_time => null,');
dbms_output.put_line(l_space||'description => null,');
dbms_output.put_line(l_space||'sub_request => false,');
for p in (select max(rownum) over() as max_rownum
,row_number() over(order by column_seq_num) as row_num, t.*
from fnd_descr_flex_col_usage_vl t
where descriptive_flexfield_name = '$SRS$.'||p_conc_code
and enabled_flag='Y'
order by column_seq_num)
loop
dbms_output.put_line(l_space||rpad('argument'||p.row_num,12,' ')
||'=> null'||case when p.row_num!=p.max_rownum then ',' else ' ' end
||' -- '||'REQUIRED='||p.REQUIRED_FLAG
||' '||nvl(p.description,p.form_left_prompt)
||' ('||p.end_user_column_name||')'
|| case when p.DEFAULT_VALUE is not null
then ' DEFAULT_VALUE='||p.DEFAULT_VALUE
end
);
end loop;
dbms_output.put_line(lpad(' ',l_space_num-2,' ')||');');
end;
-- Пример вывода
-- Диспетчер масс-обработки файлов
p_req_id := fnd_request.submit_request( application => 'FND',
program => 'AFBFULDL',
start_time => null,
description => null,
sub_request => false,
argument1 => null, -- REQUIRED=N Имя файла (File Name)
argument2 => null, -- REQUIRED=N Тип содержимого файла (File Content Type)
argument3 => null, -- REQUIRED=N Имя программы (Program Name)
argument4 => null, -- REQUIRED=N Тег программы (Program Tag)
argument5 => null, -- REQUIRED=N Язык (Language)
argument6 => null, -- REQUIRED=N Формат файла (File Format)
argument7 => null, -- REQUIRED=N Режим (upload/download или upload_help/download_help) (Mode)
argument8 => null, -- REQUIRED=Y Загрузка/выгрузка каталога (Directory)
argument9 => null, -- REQUIRED=N Создание каталога в случае его отсутствия (Create Directory) DEFAULT_VALUE=true
argument10 => null, -- REQUIRED=N Переопределение каталога для выгрузки в случае, если выгружаемый файл является абсолютным (Override Directory) DEFAULT_VALUE=false
argument11 => null, -- REQUIRED=N Конец строки (Line Break)
argument12 => null, -- REQUIRED=N Заголовок (Title)
argument13 => null -- REQUIRED=N Имя контрольного значения (Target Name)
);
Дополнительный код для запуска параллельной программы
declare
p_req_id number;
p_user_name varchar2(100) := '!!!USER_NAME';
--
l_user_id number;
begin
select nvl(max(u.user_id),-1) into l_user_id from fnd_user u where u.user_name=p_user_name;
fnd_global.apps_initialize(l_user_id, 20639, 200); --Диспетчер кредиторов - Кредиторы
execute immediate 'alter session set NLS_LANGUAGE = ''RUSSIAN''';
execute immediate 'alter session set NLS_DATE_FORMAT = ''DD.MM.YYYY HH24:MI:SS''';
-- вставить запуск канкарента
-- ...
dbms_output.put_line('p_req_id='||p_req_id);
commit;
end;
-- запрос для просмотра запущенного канкарента
-- select t.completion_text, t.* from APPLSYS.FND_CONCURRENT_REQUESTS t where t.request_id=
Последние комментарии