I have an In-Transaction Data Directive on the PartLot table. All it does is throw an exception when a row is added to PartLot with a LotNum with a particular string. The string doesn’t really matter. What’s happening though is that if I go to Lot Entry and try to make a lot with this string, the BPM exception triggers and successfully prevents lot creation.
However if the lot is created in MES on the Report Quantity screen, the BPM Exception message successfully pops up but the lot creation is actually not prevented. I’d assume an in-transaction data directive should still cover it but something weird is going on? Anyone have any insight into why the BPM exception isn’t preventing the creation? Thanks.
Take a look at Service Security -
You can control what users that have access through security Groups assignment to specific methods - no BPM’s needed.
From help - (Epicor can explain it better than me)
Service Security Maintenance - Method (Service Security Maintenance > Method)
Service Security Maintenance - Method
Navigate to this sheet/program:
Service Security Maintenance > Method
Use this program to establish security at the service level and at the method level within a service. The Service sheet is used to set the security privileges at the service level. Use this Method sheet to establish security at the method level within a service. A method is an action that can be taken in a service such as, Update, Get New, Approve, and so on.
Example: The Terms service (business object) displays on the menu in several places and it can also be accessed within Company Configuration and other programs. If you want to block access to specific users and security groups from everywhere in the Main Menu, you would limit it at the service level (BO.Terms) on the Service sheet. If you want to block the ability for some users to Update existing Terms codes, you would limit access at the Method level (BO.Terms.Update) on the Method sheet.
Thanks for the response Bruce. I’ll definitely keep the service security in mind for other projects. However the reason for the BPM on PartLot actually has nothing to do with security. It’s part of a larger integration where essentially an automated process stores a lot number on a Job UD field and that is pulled through as the lot number when Report Quantity is done in MES. If certain criteria are met then the Lot Number ends up something like “Lot Invalid”. The BPM is inplace so that if the Lot Number = “Lot Invalid” then it is supposed to prevent the creation of the lot regardless of who makes it.
However the issue is that this BPM while triggering (so I know the criteria is good), the exception is not actually preventing the lot from being created if it is created through Report Quantity. This behavior is weird and something I have not seen before; an exception trigger but actually not stopping the behavior.