Skip to main content

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
  1. Mar 24, 2015, 7:32 AM
    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');

            }

        }

       

    }
0/9000