Hey,
The RMB in the shop order is only available if the order is not closed, cancelled, has operations and so on. So first thing you should verify is, that you have an example where the RMB is activated for appowner/full rights user and not for a normal user. Just to be certain it is a permission issue, not a data issue.
That being said i quickly checked the Client Code (where i am by no means an expert) and found this:
Enabled = CheckEnableMethod() &&
InquireMethod("Report") &&
sObjState != "Closed" &&
sObjState != "Cancelled" &&
Ifs.Fnd.ApplicationForms.Var.Security.IsDataSourceAvailable(Pal.GetActiveInstanceName("frmReportOperation")) && Ifs.Fnd.ApplicationForms.Var.Component.IsWindowAvailable(Pal.GetActiveInstanceName("frmReportOperation")) &&
Ifs.Fnd.ApplicationForms.Var.Security.IsMethodAvailable("Shop_Ord_API.Report__");
Check if
- The users have access to presentation object frmReportOperation. I guess that should be the case judging by your comment above.
- The users have access to Shop_Ord_API.Report__
Hope that helps,
Johannes
Johannes,
I must have been looking at a closed order when I logged in as a non-appowner user. Checking today, the RMB appears as expected. Thank you for your response, and I will make sure to check the client code in the future for permissions. What API/function did you find that code segment in? I have trouble identifying when the application does the checking for RMB permissions.
Thanks,
Tyler
Hey Tyler,
glad it was that easy to solve (-:
The checks for permission for RMB are a pain and i unfortunatly don’t know of a good and simple way either. In past versions if you were lucky you would find a isAllowed funtion in the API, but i think now everything is moved to client. You can usually check the LUname.cs file, in this case it was the frmShopOrd.cs and then search for your RMB name. It’s usually a bit of fumbling around till you find it. Maybe some developer on here knows a better way to go about it, would be interesting to know. Everything i do is self-learned by trial and error so there should be a more efficent way of doing this.
Johannes