You need to sign in to do that
Don't have an account?
Exception for association after successive shedule.
Hi,
I am associating two custom objects with respective record id's and external id. I can successfully associate and upsert the records for two custom objects from external web service. When I have sheduled this job for successive run, association and upsert will fail after 3rd or 4th time scheduler runs for the same records. I have given DML exception which I got for the same mentioned below.
Dml Exception : Upsert failed. First exception on row 0; first error: INVALID_FIELD_FOR_INSERT_UPDATE, Attempting to update (as part of an upsert) parent field ConnectCompiere__Sales_Order__c with new value a0X40000000FWPAEA4, current value is a0X40000000FWP9EAO: [ConnectCompiere__Sales_Order__c]
Below I have attached the method written for associating two aobjects and upsert the same from external webservice.
public static void associateInvoiceLineWithInvoiceNew(InvoiceLine__c line, String setUpId) {
try {
//Query to select id of the parent object which are matching with child object.
Compiere_Invoice__c[] invId = [select id from Compiere_Invoice__c where C_Invoice_ID__c =: line.C_Invoice_ID__c];
for(Compiere_Invoice__c i : invId) {
//Association object between parent and child object.
InvoiceLineAssociation__c association = new InvoiceLineAssociation__c();
System.debug('Invoice Id ------>' + i.id);
association.Invoice__c = i.id;
System.debug('Invoice Line Id ----->' + line.id);
association.Invoice_Line__c = line.id;
System.debug('Invoice Line Id(External Id)---->' + line.C_InvoiceLine_ID__c);
association.Invoice_Line_Id__c = line.C_InvoiceLine_ID__c;
//Upsert assocociation object with external id.
upsert association Invoice_Line_Id__c;
}
} catch (DmlException e) {
System.debug('DML Exception in association---->' + e.getMessage());
errorMessage = errorMessage + ' Dml Exception : '+e.getMessage();
GenerateLog.logScheduleAssociation(errorMessage,setUpId);
}catch(System.Exception exp){
System.debug('System Exception in association---->' + exp.getMessage());
errorMessage = errorMessage + ' Exception : '+exp.getMessage();
GenerateLog.logScheduleAssociation(errorMessage,setUpId);
}
}
Please let me know anyone knows about detals of same exception which I got for above code.
Any help would be great for me to debug the same.
Thanks in advance.
You can't re-parent a child record's master-detail relationship field. This can only be set upon creation.
Here is a similar board thread on the topic.