We all know that there is no provision to see the personal views of other users unless until those are shared. Even System Administrator of the system cannot access personal views of other users.
We had some requirements in our recent projects to Clone or Share personal views. Here is the way
1. Personal views created by users are not storing into SavedView entity, which normally used to store system level views
2. There is another entity “UserQuery” to which these personal views are getting stored. There are tables and views available in database.
3. But UserQuery is nowhere available in the CRM UI to update the access level or the customizations, this has been used in background
4. When I generate the entity model class using CRMSVCUTIl.EXE it has generated a class with name UserQuery
5. That’s it, using service calls we can Create, Update and Share the records. Only problem is we need to use Impersonate user to retrieve or create the records for that user