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
Kiran kumar 193Kiran kumar 193 

Insert Case child records based on Parentfield

Hi,

I want to insert child records based on parentfield called 'Order Number' on case object and it contains comma separated values. for each and every value i want to insert child for particular parent.
Example:
Parent Case- 1234 -Order number - 123,345,567
child cases for this - 123,345,567

insert three childs here
The code should work for dataload as well (Bulk)
Please help..!
rajat Maheshwari 6rajat Maheshwari 6

Hi Kiran,

As per your requirement, 

Whenever any parentCase will create with order number withComma seperated values, then automatically child cases will also be created.

Please have a look over below snippet and let me know the results :) [Have already tested]
 

In this code below : - 

1. SuppliedName is the txt field which holds the value for child case autopopulate from order number field.

trigger childCaseCreateTrigger on Case (after insert)
 {
  Set<Id> Parent_CaseId = new Set<Id>();
 List<String> str_List ;
 Map<List<String>,Case> mp_Case = new Map<List<String>,Case>();
List<Case> cse_List = new List<Case>();

    for(Case cs : Trigger.new)
      {
          
        
         if(cs.Order_Number__c!=null && cs.Order_Number__c.contains(','))
            {
               
                  for(String str : cs.Order_Number__c.split(','))
                     {
                         Case cse = new Case();
                          cse.SuppliedName= str;
                           cse.ParentId__c = cs.id;
                            cse_List.add(cse);
                      }
              }
          
            if(cs.Order_Number__c!=null && !cs.Order_Number__c.contains(','))
                {
                      Case cas_Record = new Case();
                       cas_Record.SuppliedName= cs.Order_Number__c;
                        cas_Record.ParentId__c = cs.id;
                         cse_List.add(cas_Record);
                  }
                            
                  
             }

if(cse_List!=null && cse_List.size()>0)
     insert cse_List;
         }