Tuesday, November 6, 2012

View Other Users Request Output


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.
 >>> Now login as a SYSADMIN User.
Ø  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.


   Ø  DONE... :)

* 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;

37 comments:

  1. Thanks this help me a lot.

    ReplyDelete
  2. Anonymous,

    I am glad it helped you.

    ReplyDelete
  3. 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

    PS: I think you're very first step should be "Functional Developer -> Core Services" rather than "Functional Developer -> Core Services --> Create Object".

    ReplyDelete
  4. Hi Mike,

    First 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

    ReplyDelete
  5. 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

    ReplyDelete
  6. I want to see the concurrent output of the same application. What is the best statement:

    I 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)

    ReplyDelete
  7. Hi Anonymous,

    It should be working.
    To view the output are you using the same responsibility, the original request ran from?

    ReplyDelete
  8. Yes.. I tried to view the output using the responsibility that ran the report....
    waht is wrong with the sql statement..

    ReplyDelete
  9. Anonymous,

    I do not see any issue with the sql used. I hope you have assigned the created role to the required user(s).

    ReplyDelete
  10. Thanks Abhay. This helps a lot.

    ReplyDelete
  11. The 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.

    ReplyDelete
  12. Oracle's User Management is an incomprehensible mess. Pretty much like everything they have produced in the last 5 years

    ReplyDelete
  13. Hi Abhay,

    I'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%')

    ReplyDelete
    Replies
    1. Hi Namita,

      You 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.

      Delete
    2. Thanks Abhay.

      I 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%')

      Delete
    3. Hi Namita,

      Did you run this query separately and checked if this select is returning the required data.

      Delete
  14. Thanks Abhay, it works now.

    Is there any specific query to view Request Output at the application level.

    Eg : People with same application should be able to view Request Output

    ReplyDelete
    Replies
    1. Hi Namita,

      Good 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.

      Delete
  15. 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?

    &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 )

    ReplyDelete
    Replies
    1. Dear Laurie,

      As 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 :)

      Delete
  16. IS it possible to view output from sysadmin for any responsibility program.

    Thanks
    Ravi V

    ReplyDelete
  17. Is it possible to view all outputs from Sysadmin Responsibility for any responsibility concurrent program.

    ReplyDelete
    Replies
    1. Hi Ravi,

      As far as I know, the answer for your question is no we can't.

      Delete
  18. I'm amazed, I have to admit. Seldom do I encounter a blog that's
    equally 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

    ReplyDelete
    Replies
    1. Thanks for your lovely comment dear Anonymous.

      Delete
  19. I'm extremely pleased to discover this website.
    I 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

    ReplyDelete
  20. Hi,

    I 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

    ReplyDelete
    Replies
    1. Hi Dileep,

      I 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

      Delete
  21. Wonderful Blog :-)

    Thanks Abhay!

    ReplyDelete
  22. Hi Abhay,
    currently 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

    ReplyDelete
    Replies
    1. Hi Satish,

      No, there is no any extra step to do in 12.1.3. I hope you are using the same responsibility.

      Delete
    2. Thanks For your Help Abhay,
      Yeah 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

      Delete
  23. Hi,

    Does it works on R12.1.1? I have done complete setup as the document, no error but still unable to view the output.

    ReplyDelete
  24. Not sure if anyone is still looking at this thread but I am now trying to do this by APPLICATION - does this look correct?

    Predicate: &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)

    ReplyDelete
  25. Hi,

    Is 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 )

    ReplyDelete
  26. 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