You can limit the functionality for an enterprise by subscribing to different features. One enterprise can subscribe to any number of features.
If feature subscription is not enabled (No records in DB):
UI will behave in a regular way, i.e., All menus, actions and global screen elements (GSEs) will be available on UI.
If feature subscription is enabled:
Subscribed enterprise will filter out any menus, actions and GSEs to be available on UI.
Menus, actions and GSEs will not be available for non-subscribed enterprise. All enterprise will have to subscribe to at least 1 feature or PLT.All for them to work properly.
For e.g., let's subscribe to ZBKS.ExactMatch (which has an exact match for menu item "BooksByTitle" and "CreateBook") for an enterprise "SampleEnterprise" by loading the following:
Login with Bookstore user to verify only the two menu items "BooksByTitle" and "CreateBook" are available in the UI.
These same constraints are applied not just in the UI, but in server-side APIs as well. For example, executing a model action that is not permitted will provide the following error message: