
trigger ParentChildcase on Case (before update) {
List<Id> parentCaseIds = new List<Id>();
Map<Id,Case> caseMap =new Map<Id,Case> ([select id from Case where Id in:parentCaseIds]);
/*List<case> OpenChildCases = [select Id from case Id:Trigger.NewMap.Keyset() and status != 'Closed']
Set<String> ChildCaseSet = New Set<string>();
for(case temp:OpenChildCases){
ChildCaseSet.add(temp.Parent.Id);
}
for(case caseinst:Trigger.New){
if(ChildCaseSet.contains(caseinst.Id) && caseinst.Status = 'Closed'){
caseinst.addError('Unclosed Child Records are Present');
}
}*/
}
5 answers

Hi Saraz,Thanks for your suggestion. Can you look my code now?If anything wrong,please correct me.trigger parentupdate on Case (before update) { Id newid = Trigger.New[0].Id; Case lstc = [Select id,ParentId,Status from Case where ParentId =:newid]; for(Case c : Trigger.New) { if(c.Status == 'Closed' && lstc.Status == 'Open') { c.adderror('You cannot update parent record'); } } }