You need to sign in to do that
Don't have an account?
kuldeep paliwal
Error: Compile Error: Incompatible element type AcctSeedERP__Purchase_Order__c for collection of AcctSeedERP__Sales_Order__c at line 44 column 13
trigger UpdateCustomerPOField on AcctSeedERP__Purchase_Order__c (after insert) {
list<id> pOrderLineId = new list<id>();
list<id> sOrderId = new list<id>();
List<AcctSeedERP__Sales_Order__c> salesOrderFieldToInsert = new List<AcctSeedERP__Sales_Order__c>();
List<AcctSeedERP__Purchase_Order__c> purchase = [SELECT Id,Customer_PO__c,(SELECT Id,Name FROM AcctSeedERP__Purchase_Order_Lines__r ) FROM AcctSeedERP__Purchase_Order__c LIMIT 1];
map<id, AcctSeedERP__Purchase_Order__c> purOrderLineIdpurOrderIdMap = new map<id, AcctSeedERP__Purchase_Order__c>();
for(AcctSeedERP__Purchase_Order__c purchaseOrder : purchase){
for(AcctSeedERP__Purchase_Order_Line__c purchaseOrderLine : purchaseOrder.AcctSeedERP__Purchase_Order_Lines__r ) {
pOrderLineId.add(purchaseOrderLine.Id);
purOrderLineIdpurOrderIdMap.put(purchaseOrderLine.Id,purchaseOrder);
}
}
list<AcctSeedERP__Sales_Order_Line__c> salesOrderLineList = [Select id, AcctSeedERP__Purchase_Order_Line__c,AcctSeedERP__Sales_Order__c From AcctSeedERP__Sales_Order_Line__c Where AcctSeedERP__Purchase_Order_Line__c In: pOrderLineId LIMIT 1];
map<id, id> salesOrderLinePurOrderLineMap = new map<id, id>();
map<id, list<AcctSeedERP__Sales_Order_Line__c>> salesOrderSalesOrderLineMap = new map<id, list<AcctSeedERP__Sales_Order_Line__c>>();
for(AcctSeedERP__Sales_Order_Line__c salesOrderLine : salesOrderLineList){
list<AcctSeedERP__Sales_Order_Line__c> tempList = salesOrderSalesOrderLineMap.get(salesOrderLine.AcctSeedERP__Sales_Order__c);
sOrderId.add(salesOrderLine.AcctSeedERP__Sales_Order__c);
salesOrderLinePurOrderLineMap.put(salesOrderLine.Id, salesOrderLine.AcctSeedERP__Purchase_Order_Line__c);
salesOrderSalesOrderLineMap.put(salesOrderLine.AcctSeedERP__Sales_Order__c,tempList);
}
list<AcctSeedERP__Sales_Order__c> salesOrderList = [Select id,Customer_PO__c,(SELECT Id,Name,AcctSeedERP__Sales_Order__c FROM AcctSeedERP__Sales_Order_Line__r) From AcctSeedERP__Sales_Order__c Where Id In: sOrderId LIMIT 1];
for(AcctSeedERP__Sales_Order__c salesOrder : salesOrderList){
List<AcctSeedERP__Sales_Order_Line__c> SalesOrderLineId = salesOrderSalesOrderLineMap.get(salesOrder.Id);
for(AcctSeedERP__Sales_Order_Line__c salesOrderLine : SalesOrderLineId){
Id purOrderLineId = salesOrderLinePurOrderLineMap.get(salesOrderLine.Id);
for(AcctSeedERP__Purchase_Order_Line__c purOrderLine : purOrderLineId){
AcctSeedERP__Purchase_Order__c purOrder = purOrderLineIdpurOrderIdMap.get(purOrderLine.Id);
purOrder.Customer_PO__c = salesOrder.Customer_PO__c;
salesOrderFieldToInsert.add(purOrder);
}
}
}
if(salesOrderFieldToInsert.size()>0){
insert salesOrderFieldToInsert;
}
}
How i update the value of purchase order to sales order can anyone help me..
Thanx
list<id> pOrderLineId = new list<id>();
list<id> sOrderId = new list<id>();
List<AcctSeedERP__Sales_Order__c> salesOrderFieldToInsert = new List<AcctSeedERP__Sales_Order__c>();
List<AcctSeedERP__Purchase_Order__c> purchase = [SELECT Id,Customer_PO__c,(SELECT Id,Name FROM AcctSeedERP__Purchase_Order_Lines__r ) FROM AcctSeedERP__Purchase_Order__c LIMIT 1];
map<id, AcctSeedERP__Purchase_Order__c> purOrderLineIdpurOrderIdMap = new map<id, AcctSeedERP__Purchase_Order__c>();
for(AcctSeedERP__Purchase_Order__c purchaseOrder : purchase){
for(AcctSeedERP__Purchase_Order_Line__c purchaseOrderLine : purchaseOrder.AcctSeedERP__Purchase_Order_Lines__r ) {
pOrderLineId.add(purchaseOrderLine.Id);
purOrderLineIdpurOrderIdMap.put(purchaseOrderLine.Id,purchaseOrder);
}
}
list<AcctSeedERP__Sales_Order_Line__c> salesOrderLineList = [Select id, AcctSeedERP__Purchase_Order_Line__c,AcctSeedERP__Sales_Order__c From AcctSeedERP__Sales_Order_Line__c Where AcctSeedERP__Purchase_Order_Line__c In: pOrderLineId LIMIT 1];
map<id, id> salesOrderLinePurOrderLineMap = new map<id, id>();
map<id, list<AcctSeedERP__Sales_Order_Line__c>> salesOrderSalesOrderLineMap = new map<id, list<AcctSeedERP__Sales_Order_Line__c>>();
for(AcctSeedERP__Sales_Order_Line__c salesOrderLine : salesOrderLineList){
list<AcctSeedERP__Sales_Order_Line__c> tempList = salesOrderSalesOrderLineMap.get(salesOrderLine.AcctSeedERP__Sales_Order__c);
sOrderId.add(salesOrderLine.AcctSeedERP__Sales_Order__c);
salesOrderLinePurOrderLineMap.put(salesOrderLine.Id, salesOrderLine.AcctSeedERP__Purchase_Order_Line__c);
salesOrderSalesOrderLineMap.put(salesOrderLine.AcctSeedERP__Sales_Order__c,tempList);
}
list<AcctSeedERP__Sales_Order__c> salesOrderList = [Select id,Customer_PO__c,(SELECT Id,Name,AcctSeedERP__Sales_Order__c FROM AcctSeedERP__Sales_Order_Line__r) From AcctSeedERP__Sales_Order__c Where Id In: sOrderId LIMIT 1];
for(AcctSeedERP__Sales_Order__c salesOrder : salesOrderList){
List<AcctSeedERP__Sales_Order_Line__c> SalesOrderLineId = salesOrderSalesOrderLineMap.get(salesOrder.Id);
for(AcctSeedERP__Sales_Order_Line__c salesOrderLine : SalesOrderLineId){
Id purOrderLineId = salesOrderLinePurOrderLineMap.get(salesOrderLine.Id);
for(AcctSeedERP__Purchase_Order_Line__c purOrderLine : purOrderLineId){
AcctSeedERP__Purchase_Order__c purOrder = purOrderLineIdpurOrderIdMap.get(purOrderLine.Id);
purOrder.Customer_PO__c = salesOrder.Customer_PO__c;
salesOrderFieldToInsert.add(purOrder);
}
}
}
if(salesOrderFieldToInsert.size()>0){
insert salesOrderFieldToInsert;
}
}
How i update the value of purchase order to sales order can anyone help me..
Thanx
I am not sure if I understand what you are trying to do. If you are trying to update the purOrder that is arriving to the trigger (assigning salesOrder.Customer_PO__c to the purchase order Customer_PO__c field), you have to do it in the before part, as in the after part, the record is already commited to the database. If it is not what you are trying to do, let me know what do you need then.
Regards.
and you are rite i do same prob..but now its resolved..
Thank you for replying..