Скрипт генерации параметров запуска канкарента
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=
Последние комментарии