function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
jaishrijaishri 

Case Sharing Record for dynamic users

Hi Evereyone, My requirment is i have to share a records of case created to particular field (lookup) in which multiple users are there .Every time user was changed for particular case.Can anyone suggest which approach i need to use or any solution. Manual sharing Apex sharing reason.

Thanks in advance
Best Answer chosen by jaishri
AnkaiahAnkaiah (Salesforce Developers) 
Hi Jaishri,

Try with below code.
trigger CaseSharingwithuser on Case(After insert,after update){

List<CaseShare> csShareList = new List<CaseShare>();
for(case cs:trigger.new){
if(cs.Lookupfield__c!=Null){
CaseShare csShare = new CaseShare();
// Give Read write access to that user for this particular case record.
csShare.CaseAccessLevel = 'edit';
// Assign case Id of case record.
csShare.CaseId = cs.id;
// Assign user id to grant read write access to this particular case record.
csShare.UserOrGroupId = cs.Lookupfield__c;
csShare.RowCause='manual Sharing';
csShareList.add( csShare );
}
}
insert csShareList;

}

If this helps, Please mark it as best answer.

Thanks!!

All Answers

AnkaiahAnkaiah (Salesforce Developers) 
Hi Jaishri,

Try with below code.
trigger CaseSharingwithuser on Case(After insert,after update){

List<CaseShare> csShareList = new List<CaseShare>();
for(case cs:trigger.new){
if(cs.Lookupfield__c!=Null){
CaseShare csShare = new CaseShare();
// Give Read write access to that user for this particular case record.
csShare.CaseAccessLevel = 'edit';
// Assign case Id of case record.
csShare.CaseId = cs.id;
// Assign user id to grant read write access to this particular case record.
csShare.UserOrGroupId = cs.Lookupfield__c;
csShare.RowCause='manual Sharing';
csShareList.add( csShare );
}
}
insert csShareList;

}

If this helps, Please mark it as best answer.

Thanks!!
This was selected as the best answer
jaishrijaishri
Hi Ankaiah  ,
Case: execution of BeforeInsert caused by: System.DmlException: Insert failed. First exception on row 0; first error: INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST, Row Cause: bad value for restricted picklist field: manual Sharing: [RowCause] Trigger.Case: line 108, column 1
this error is coming you know how to resolve?