How can I restrict table visibility for certain users when creating reports?

PerV
Kilo Sage

I have a situation where my customer need to create different reports, but having difficulties choosing the correct table to report on. I have created more tables than oob, and the new tables has similar names to the baseline ones. I am looking for a way to somehow only show certain tables for a certain group of users, to make it easier for them to create new reports.

Is this possible? I have considered using a Client script to restrict tables with a certain attribute, but is it possible to use client script on the report form? Can I modify the report form in any way?

//Per

1 ACCEPTED SOLUTION

Easiest way is to create a group, then create an ACL as defined above. Add your group check in the Script field:



if(gs.getUser().isMemberOf('Your Group Here'))


  answer = true;


else


  answer = false;



To easily create for all tables, do an Insert and Stay and just modify the table. It should take you no more than 3 min to setup your group members to report on a few tables.


View solution in original post

6 REPLIES 6

Anurag Tripathi
Mega Patron
Mega Patron

A report on ACL on those tables should help


-Anurag

J_Sukhsagar
Giga Expert

Hello Per,



To restrict who can create a report against a table:


  1. Navigate to System Security > Access Control (ACL).
  2. Add a new access control record with the following information:
    • Type: record
    • Operation: report_on
    • Name (table): <select the table name>
  3. Define the rules that determine whether a user can create a report against the table. To learn more, see Using Access Control Rules.

If a user does not have report_on access for a table, the table does not appear in the Table field when the user creates a new report.



Regards,


Sukhsagar



PS: Hit like, Helpful or Correct depending on the impact of the response


Thanks both of you. Will try this. However, I was hoping for an even better trick, actually the opposite of the suggested solution. For example setting which tables a user belonging to a certain group could report on. With the suggested solution I have to set an ACL on all tables that should be restricted, right?



BR /Per


Easiest way is to create a group, then create an ACL as defined above. Add your group check in the Script field:



if(gs.getUser().isMemberOf('Your Group Here'))


  answer = true;


else


  answer = false;



To easily create for all tables, do an Insert and Stay and just modify the table. It should take you no more than 3 min to setup your group members to report on a few tables.