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
roshrosh 

test class? urgent

trigger VConnect_StockAdjLineItem on VConnect_Stock_Adjustment_Line_Item__c (after update) {
        if(VConnectTriggerSettings__c.getValues('VConnect_StockAdjLineItem').isActive__c){
          
        switch on Trigger.operationType {

           when AFTER_UPDATE{
                  VConnect_StockAdjLineItemHelper.stockadjInventory(trigger.new);
           }
        }
    }
}
SwethaSwetha (Salesforce Developers) 
HI Rosh,
Is VConnectTriggerSettings__c custom setting? Please share more context about the helper class. Thanks
roshrosh
public class VConnect_StockAdjLineItemHelper {
    public static void stockadjInventory(List<VConnect_Stock_Adjustment_Line_Item__c> stockadjLine){
        
        Set<String> distributorSet = new Set<String>();
            for(VConnect_Stock_Adjustment_Line_Item__c varDistr:stockadjLine){
                distributorSet.add(varDistr.VConnect_Distributor_Code__c);
            }
        
        List<VConnect_Inventory__c> availableStockList = [SELECT Id,VConnect_Product_SKU__c,VConnect_Batch_Number__c,
                                                          VConnect_Distributor_Code__c,VConnect_Product_Code__c,VConnect_Ship_to_Address__c,RecordTypeId
                                                          FROM VConnect_Inventory__c 
                                                          WHERE VConnect_Distributor_Code__c IN:distributorSet];
       
        Id intraWareRecTypId = Schema.SObjectType.VConnect_Stock_Line_Item__c.getRecordTypeInfosByDeveloperName().get(System.Label.VConnect_Intrawarehouse_RecordType).getRecordTypeId();
        Id saleableRecTypId = Schema.SObjectType.VConnect_Inventory__c.getRecordTypeInfosByDeveloperName().get(System.Label.VConnect_Saleable_RecordType).getRecordTypeId();
        
        List<VConnect_Stock_Line_Item__c> newStockLineItem = new List<VConnect_Stock_Line_Item__c>();
        if(!availableStockList.isEmpty()){

                for(VConnect_Stock_Adjustment_Line_Item__c varAdj : stockadjLine ){
                    for(VConnect_Inventory__c varStock : availableStockList){
                        if(varAdj.VConnect_Distributor_Code__c == varStock.VConnect_Distributor_Code__c &&
                           varAdj.VConnect_Material_Code__c == varStock.VConnect_Product_SKU__c &&
                           varAdj.VConnect_Batch_Number__c == varStock.VConnect_Batch_Number__c &&
                           varAdj.VConnect_Ship_to_Address__c == varStock.VConnect_Ship_to_Address__c &&
                           varStock.RecordTypeId == saleableRecTypId &&
                           varAdj.VConnect_Status__c == 'Approved' ){
                               
                               VConnect_Stock_Line_Item__c newStockItem = new VConnect_Stock_Line_Item__c(
                                   VConnect_Available_Stock__c = varStock.Id,
                                   VConnect_Available_Quantity__c = varAdj.VConnect_Update_Quantity__c,
                                   VConnect_Batch_Number__c = varAdj.VConnect_Batch_Number__c,
                                   VConnect_GRN_Date__c = System.today(),
                                   VConnect_Product_Code__c = varAdj.VConnect_Product_Code__c,
                                   VConnect_Transaction_Type__c = varAdj.VConnect_Transaction_Type__c,
                                   VConnect_Type__c = varAdj.VConnect_Type__c,
                                   VConnect_Ship_to_Address__c = varAdj.VConnect_Ship_to_Address__c,
                                   RecordTypeId = intraWareRecTypId
                               );
                               newStockLineItem.add(newStockItem);
                               
                           }  
                    }       
                }
            
        }
        try{
            if(!newStockLineItem.isEmpty()){
                Database.insert(newStockLineItem);
            }
        }
        catch(Exception ex){
            System.debug('Error is: '+ex.getMessage()+' on line '+ex.getLineNumber());
        }
    }
}