R11
System Administrator à
Profile à
System
Search for profile à
'Concurrent: Report Access Level'
Level
|
Value
|
Result
|
Site
|
User
|
The user can only view the requests submitted by him
|
Responsibility
|
Responsibility
|
That user can also review the log and report output files from all
requests submitted from the current responsibility
|
User
|
Responsibility
|
Any user of that responsibility can also view the log and report
output files from all requests submitted by any other user of that
responsibility
|
R12
Unfortunately
in R12 profile 'Concurrent: Report Access Level' does not work, it is a bit
more complex process to achieve this
In R12 this was replaced by Role Based Access Control. The
UMX Role Based Access Control (RBAC) is to control who can view request output
files.
Note :- You should have SYSADMIN user access.
Functional Developer -> Core Services
>> Search for
'Concurrent Requests'
Click on 'Concurrent Requests' and then on tab 'Object
Instance Set'
Ø
Click Create Instance Set
Ø
Give Name/Code/Description
Ø
For Predicate
è
Enter below code if you want to see request
output for all concurrent programs .
&TABLE_ALIAS.request_id
in(
select cr.request_id
from apps.fnd_concurrent_requests cr,
apps.fnd_concurrent_programs cp
where
cr.concurrent_program_id = cp.concurrent_program_id
and cr.program_application_id =
cp.application_id)
è
Modify the above query based on your
requirement.
n
Add and cp.concurrent_program_name if you want to give access only for
particular program name, etc.
Ø
'Apply' it and it will give the Confirmation
with Code you have entered.
Ø
Goto User Management > Role & Role
Inheritance
è
Click on 'Create Role'
Ø
Category – Miscellaneous / Application –
Application Object Library
Ø Role
Code (Prefix UMX| will be added whatever you provide example : UMX|AKTEST)
Ø Display
Name/ Description
Ø
'Apply'
Ø
Click on 'Create Grant'
Ø
Provide Name / Description
Ø Data
Security -> Object -> 'Concurrent
Requests'
Ø Click
on 'Next'
Ø Data
Context Type -> 'Instance Set'
Ø
Instance Set
-> Instance you Created above, AKTEST
Ø
Click 'Next'
Ø
Set -> Set -> 'Request Operations'
Ø
Click on 'Next' -> Preview and then 'Finish'
Ø
It should give you the message for successful
creation of Grant.
Known Issue
Sometimes
it will give below Error. Just try 3-4 times, it should be fine.
Sorry
didn't dig much into it to find the exact reason behind it.
Error Page
|
You have encountered an
unexpected error. Please contact the System Administrator for assistance.
|
Goto 'User tab
Ø
Search for the user you want to assign the
grant.
Ø
Click
'Update'
Ø
Click 'Assign Role'
Ø Search
for Role you have created above 'View All Concurrent Requests outputs'
(Code - UMX|AKTEST)
Ø Give
Justification
Ø
You can put active date from past to view
previous requests outputs.
* Now assigned user can see the output of other user's request from the responsibility from which that request had been launched.
>> You can also use the below script to assign the grant to a user.
begin
wf_local_synch.PropagateUserRole(p_user_name
=> 'USERNAME'
,p_role_name => 'UMX|AKTEST ');
commit;
End;
Thanks this help me a lot.
ReplyDeleteAnonymous,
ReplyDeleteI am glad it helped you.
Hi Abhay - Thanks for putting this together. It's just what I need, but unfortunately it's not working in my R12 instance. We're on 12.1.3. Do you know if there is anything special for that version? Thanks again. -Mike
ReplyDeletePS: I think you're very first step should be "Functional Developer -> Core Services" rather than "Functional Developer -> Core Services --> Create Object".
Hi Mike,
ReplyDeleteFirst of all, thank you for visiting this blog and pointing out the typo, indeed first step should be "Functional Developer -> Core Services". It is corrected now.
I have tried it successfully in 12.1.3 as well, let me know the issues you are facing.
Regards
Abhay
Thanks Abhay. As it turns out the steps worked fine. In order to view the report output I have to be logged in under the same responsibility as the person who ran the report. Once I did that it worked fine. Thanks again for your help! -Mike
ReplyDeleteI want to see the concurrent output of the same application. What is the best statement:
ReplyDeleteI got this but it seems it is not working
&TABLE_ALIAS.request_id IN
(SELECT request_id FROM fnd_concurrent_requests
where program_application_id = fnd_global.resp_appl_id)
Hi Anonymous,
ReplyDeleteIt should be working.
To view the output are you using the same responsibility, the original request ran from?
Yes.. I tried to view the output using the responsibility that ran the report....
ReplyDeletewaht is wrong with the sql statement..
Anonymous,
ReplyDeleteI do not see any issue with the sql used. I hope you have assigned the created role to the required user(s).
Thanks Abhay. This helps a lot.
ReplyDeleteThe step by step instructions are very very helpful. What appeared to be a very complicated setup from Oracle's documentation was made simple and easy to follow.
ReplyDeleteOracle's User Management is an incomprehensible mess. Pretty much like everything they have produced in the last 5 years
ReplyDelete:)
DeleteHi Abhay,
ReplyDeleteI'm unable to View Output when I edit the query for a specific program.
Please see the query below
&TABLE_ALIAS.request_id in( select cr.request_id from fnd_concurrent_requests cr, fnd_concurrent_programs cp where cr.concurrent_program_id = cp.concurrent_program_id and cr.program_application_id = cp.application_id and cp.concurrent_program_name like '%Active Responsibilities and Users%')
Hi Namita,
DeleteYou are passing user_concurrent_program_name instead of program short name. If you want to use user concurrent program name please use fnd_concurrent_programs_tl table.
Thanks Abhay.
DeleteI updated my query as shown below, but View Output is still grayed out :(
&TABLE_ALIAS.request_id in( select cr.request_id from fnd_concurrent_requests cr, fnd_concurrent_programs_tl cp where cr.concurrent_program_id = cp.concurrent_program_id and cr.program_application_id = cp.application_id and cp.user_concurrent_program_name like '%Function Security Menu Report%')
Hi Namita,
DeleteDid you run this query separately and checked if this select is returning the required data.
Thanks Abhay, it works now.
ReplyDeleteIs there any specific query to view Request Output at the application level.
Eg : People with same application should be able to view Request Output
Hi Namita,
DeleteGood news!
Format is the same, you just need to modify the query according to your specific requirement and check if your query is returning the required data before using it.
I would like to use this to grant users with a specific responsibility access to view each others output. I modified the SQL as below, can you confirm if this is correct?
ReplyDelete&TABLE_ALIAS.request_id in(
select cr.request_id
from apps.fnd_concurrent_requests cr, apps.fnd_concurrent_programs cp
where cr.concurrent_program_id = cp.concurrent_program_id
and cr.program_application_id = cp.application_id
and cr.RESPONSIBILITY_ID =51489 )
Dear Laurie,
DeleteAs I mentioned earlier, run the select statement separately and check if it is fetching the required result and then use it, it should work.
Good Luck :)
IS it possible to view output from sysadmin for any responsibility program.
ReplyDeleteThanks
Ravi V
Is it possible to view all outputs from Sysadmin Responsibility for any responsibility concurrent program.
ReplyDeleteHi Ravi,
DeleteAs far as I know, the answer for your question is no we can't.
I'm amazed, I have to admit. Seldom do I encounter a blog that's
ReplyDeleteequally educative and amusing, and let me tell you, you have hit the nail on the head.
The problem is something that too few men and women are speaking intelligently about.
I'm very happy that I came across this in my hunt for something relating
to this.
Feel free to surf to my web blog ... keystroke logging software free
Thanks for your lovely comment dear Anonymous.
DeleteI'm extremely pleased to discover this website.
ReplyDeleteI wanted to thank you for ones time just for this wonderful read!!
I definitely appreciated every part of it and i also have you saved as a
favorite to look at new information on your site.
my web page what is keylogger server
Hi,
ReplyDeleteI have performed the above steps provided by you. I still cant able to view requests run by the others users, for your information I have performed all the above steps from SYSADMIN user.
Can you help me on this.
Regards,
Dileep
Hi Dileep,
DeleteI am sure you must have tried to follow all the steps mentioned above but without any error message I am clueless to help you with steps mate. Please check if you have assigned the created role to the required user and using the same responsibility.
Regards,
Abhay
Wonderful Blog :-)
ReplyDeleteThanks Abhay!
Hi Abhay,
ReplyDeletecurrently we are using EBS 12.1.3
I have followed same steps, but I can't able to see other users requests in srs window. I have checked SQL query its working.
After granted role to user I ran Workflow Background process. Do we need to do any further for 12.1.3 version.
Thanks in Advance
Regards
Satish
Hi Satish,
DeleteNo, there is no any extra step to do in 12.1.3. I hope you are using the same responsibility.
Thanks For your Help Abhay,
DeleteYeah Its working now. I have searched in wrong way.
Its may help for few others like me
Navigation To Search Requests : View --> Requests --> select Specific Requests --> search with Request id/Requestor --> Find
Hi,
ReplyDeleteDoes it works on R12.1.1? I have done complete setup as the document, no error but still unable to view the output.
Not sure if anyone is still looking at this thread but I am now trying to do this by APPLICATION - does this look correct?
ReplyDeletePredicate: &TABLE_ALIAS.request_id in (select cr.request_id from fnd_concurrent_requests cr where cr.responsibility_id = fnd_global.resp_id and cr.responsibility_application_id = fnd_global.resp_appl_id and cr.responsibility_application_id = 101)
Hi,
ReplyDeleteIs it possible in R12.2 to view output of all submitted requests across all applications from Sysadmin using above functionality.
If we use below query will it work ?
&TABLE_ALIAS.request_id in(
select request_id
from apps.fnd_concurrent_requests )
Those guidelines additionally worked to become a good way to recognize that other people online have the identical fervor like mine to grasp a great deal more around this condition. and I could assume you are an expert on this subject. Same as your blog i found another one Oracle ADF.Actually I was looking for the same information on internet for Oracle ADF and came across your blog. I am impressed by the information that you have on this blog. Thanks a million and please keep up the gratifying work.
ReplyDelete