Запрос для вывода списка полномочий и групп запросов по коду или имени отчета/параллельной программы:
with params as (
select 'FNDATREP' as short_name
,'' as long_name
,'RU' as lang /* RU;US */
from dual
)
select p1.concurrent_program_name
,pt.user_concurrent_program_name
,fa.application_short_name as appl_resp
,r.responsibility_key
,rt.responsibility_name
,fa1.application_short_name as appl_request_group
,g.request_group_name
from fnd_request_groups g,
fnd_request_group_units u,
fnd_application fa,
fnd_application fa1,
fnd_concurrent_programs_tl pt,
fnd_concurrent_programs p1,
fnd_responsibility r,
fnd_responsibility_tl rt,
params
where 1=1
and u.application_id = g.application_id
and u.request_group_id = g.request_group_id
and (u.request_unit_id = pt.concurrent_program_id
or u.request_unit_type = 'A')
and u.unit_application_id = pt.application_id
and pt.application_id = fa.application_id
and pt.concurrent_program_id = p1.concurrent_program_id
and g.application_id = fa1.application_id
and r.request_group_id = g.request_group_id
and r.responsibility_id = rt.responsibility_id
and rt.language = params.lang
and pt.language = params.lang
and (
(p1.concurrent_program_name like '%'||params.short_name||'%'
and params.short_name is not null
)
or
(pt.user_concurrent_program_name like '%'||params.long_name||'%'
and params.long_name is not null and params.short_name is null
)
)
order by 1,2;
Categories: Oracle e-Business Suite Tags: fnd_application, fnd_concurrent_programs, fnd_request_groups, fnd_responsibility, OEBS, report, request groups, responsibility, select, отчет, параллельная программа, полномочия, список
Для написания красивых отчетов в Excel (под OEBS) довольно часто используем XSL шаблон.
Для тестирования XSL шаблона есть несколько вариантов:
- Загружаем XSL в OEBS и запускаем отчет — самый долгий способ.
- Используем мощный редактор Altova XMLSpy, который позволяет накладывать XSL на XML (XSL-Transformation). Основной минус, то что продукт платный.
- Используем javascript скрипт представленный ниже.
var xmlFile = "data.xml"; // xml данные
var xslFile = "tempalate.xsl"; // xsl шаблон
var outFile = "REPORT.xls"; // имя генерируемого файла
//
var Xml = null;
var Xsl = null;
var objTransformer = null;
function init()
{
Xml = new ActiveXObject("MSXML2.DOMDocument");
Xml.async = false;
Xml.load(xmlFile);
Xsl = new ActiveXObject("MSXML2.FreeThreadedDOMDocument");
Xsl.async = false;
Xsl.load(xslFile);
// запись в файл
f = new ActiveXObject("ADODB.Stream");
f.Charset = "UTF-8";
f.Open();
f.WriteText(Xml.transformNode(Xsl));
f.SaveToFile(outFile,2);
f.Close();
// запуск файла
//var WshShell = new ActiveXObject("WScript.Shell");
//WshShell.Run(outFile);
}
init();
Для использования скрипта создаем файл с расширением «.js», например «GenerateReportXML-XSL.js». Указываем в скрипте название файлов для шаблона и данных. Запускаем скрипт на выполнение (Windows).
-
В данных после
< ?xml version="1.0" encoding="UTF-8"?>
добавляем новый тег
< ?xml-stylesheet href="XXX.xsl" type="text/xsl"?>
, где XXX.xsl имя xslt преобразования. Затем открываем xml через Excel
Последние комментарии