You need to sign in to do that
Don't have an account?
rosh
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);
}
}
}
}
if(VConnectTriggerSettings__c.getValues('VConnect_StockAdjLineItem').isActive__c){
switch on Trigger.operationType {
when AFTER_UPDATE{
VConnect_StockAdjLineItemHelper.stockadjInventory(trigger.new);
}
}
}
}
Is VConnectTriggerSettings__c custom setting? Please share more context about the helper class. Thanks
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());
}
}
}