How to restrict write access to PLP register using Data cell access security.

sid
New Contributor II

Hi OS Community,

We have custom business rule to manage Data cell access security (Slice security). We have created new row category(DHRStat_Fcst)select group and it should have Read access only to PLP register but issue is it also have write access to add or make changes to register (screenshot below highlight in yellow) which we are trying to retrict through BR.

sid_0-1689705322133.png

 

Custom BR code:

sid_1-1689705771483.png

 

Line 253-259 is it is for data cell read access for PLP register

Line 263- 264 is the code for write access for PLP register and we try to restrict by category, but it is still not working. 

If Not itemAccess.Category = "DHRStat_Fcst" AndAlso itemAccess.MemberFilters.Scenario.IndexOf(wfscenarioname) > -1 AndAlso brapi.Security.Authorization.IsUserInGroup(si, groupID) Then
dashSet = "3b2b1w_RegisterMaint_PLP"
End If

 

Data access:

sid_2-1689706153579.png

I need help with the BR code change to restrict the write access to the particular Data cell category .Let me know if you need any more details.

Appreciate your help!!

1 ACCEPTED SOLUTION

MikeG
Contributor III

Hi @sid , I would try itemAccess.Category.XFEqualsIgnoreCase("DHRStat_Fcst") 

Use the compare function OS provides it may give you the desired result.  To be fair I'm not 100% certain that each and every data cell in the Register is evaluated for slice security in the ancillary table XFW_PLP_Registe.  If you do a LogMessage write and include the itemAccess.Category.Name in the error log, is it really checking each every Category?   

How is the performance on Refresh?

Hope this helps,

 

View solution in original post

3 REPLIES 3

MikeG
Contributor III

Hi @sid , I would try itemAccess.Category.XFEqualsIgnoreCase("DHRStat_Fcst") 

Use the compare function OS provides it may give you the desired result.  To be fair I'm not 100% certain that each and every data cell in the Register is evaluated for slice security in the ancillary table XFW_PLP_Registe.  If you do a LogMessage write and include the itemAccess.Category.Name in the error log, is it really checking each every Category?   

How is the performance on Refresh?

Hope this helps,

 

sid
New Contributor II

@MikeG         Thank you for the code. I will test it and get back to you.

sid
New Contributor II

@MikeG  The XFEqualsIgnoreCase  worked ..Awseome you made my day ..Thank you so much Mike !!!!

If not itemAccess.Category.XFEqualsIgnoreCase("DHRStat_Fcst")