Question:
Hi,
Does anyone know how this $USER variable works exactly in the authorization object S_RS_COMP1 ? I would like to know which tables and fields will be read to identify if a query belongs to the logged on user or not. Is this based on the creation date or last change date e.g.?
Does anyone know where I can find the exact ABAP routine behind this $USER. I found a reference in function module RSSB_AUTHORITY_COMP_CHECK but this doesn't really help me as they don't show how this $USER variable is exactly processed.
Thanks.
Answer:
No idea about the tables, but you could debug it via
* or RSRTRACE
* or RSRT (Execute + Debug and then setting the break-points)
(if you find the tables and logic, drop us a note... always interesting to know )
Answer:
Thanks for your reply landgenoot
Unfortunately that's what I tried exactly. After some debugging I ended up in the functional module mentioned above in which the authorization object S_RS_COMP1 is checked via a simular statement :
AUTHORITY-CHECK OBJECT 'S_RS_COMP1'
ID 'RSZCOMPID' DUMMY
ID 'RSZCOMPTP' DUMMY
ID 'RSZOWNER' FIELD l_owner
ID 'ACTVT' DUMMY.
When this is done the roles that are linked to the user should be checked for the authorized values for this user and then this $user thing should pop up. Unfortunately this authority-check command is not really debuggable. I've got no idea what's happening behind the scenes over there. I switched on the ABAP trace but this didn't really show me anything usefull...
Answer:
Whenever I have ANY authorisation issues, or theories that need testing etc I always use ST01. Turn that trace on for a test user and you can pretty much find out anything.
Answer:
The query 'Owner' property identifies the creator; 'Last Changed By' is a separate property (General tab of Query Properties).
So assigning $USER to the RSZOWNER field of S_RS_COMP1 allows people to access the queries they created.