unfortunately restricting the view only to a specific folder or Data extension not possible.
I will suggest planning your DE and user's roles according to the Business unit if you don't wanna show other business DE to other users.
You need to check for the parent Session, and use that if available:
Map<String, String> sessionInfo = Auth.SessionManagement.getCurrentSession();
String parentSession = sessionInfo.get('ParentId'), sessionId = sessionInfo.get('SessionId');
activation.AuthSessionId = parentSession!=null?parentSessionId:sessionId;
There's two ways to block an edit on a given field and display that "lock" symbol you see (in Classic).
You can set the field permission to "read only" as you mentioned for that particular profile
You can mark a field as read-only on the layout level for that profile
Regardless of the profile permissions from #1, the layout will lock a ...
This looks like a list view for a given object. You can edit the buttons that display by editing your list view Search Layout for the given object.
Setup --> your desired object --> Search Layouts for Salesforce Classic
Click on the down arrow for "List View" layout and select "Edit".
From here, you can uncheck standard buttons. For your situation, you're ...
This is a case of no access to the record.
If the object has OWD private, if the record is not created by the user having the custom profile , he won't have access.Did he get access to the record by sharing ? Looks like he did not...
As per the error what I think is that, the one who is the approver, his/her profile does not have the correct license. Once try giving the approver the System Admin license and see if it works. If it does then positively you need to look into the licenses else the problem is somewhere else. Hope my suggestion was useful.