понедельник, 13 октября 2008 г.

Поиск полномочий для запуска параллельной программы

Если нужно выполнить параллельную программу, запускать которую еще не доводилось,
то для начала не плохо было бы понять из каких полномочий она доступна.

Вот болванка запроса для этих целей.
Отметим, что имя параллельной программы нужно задать дважды:


SELECT fr.responsibility_name
,(SELECT fa.application_name
FROM fnd_application_vl fa
WHERE fa.application_id = fr.application_id) AS application_name
,fr.responsibility_id
,fr.application_id
FROM fnd_responsibility_vl fr
WHERE SYSDATE BETWEEN fr.start_date AND NVL(fr.end_date, SYSDATE)
AND (fr.group_application_id, fr.request_group_id) IN (
SELECT frgu.application_id
,frgu.request_group_id
FROM fnd_request_group_units frgu
WHERE (frgu.request_unit_type = 'P' -- Program
AND
(frgu.unit_application_id, frgu.request_unit_id) IN (
SELECT fcp.application_id
,fcp.concurrent_program_id
FROM fnd_concurrent_programs_vl fcp
WHERE fcp.user_concurrent_program_name LIKE '%'
)
)OR
(frgu.request_unit_type = 'A' -- Application
AND frgu.unit_application_id IN (
SELECT fcp.application_id
FROM fnd_concurrent_programs_vl fcp
WHERE fcp.user_concurrent_program_name LIKE '%'
)
)
)
ORDER BY fr.responsibility_name

Комментариев нет: