I am trying to add a new quote assembly to an existing line using the Kinetic Cloud, but I get this Correlation Error. This is my code:
/*
2023-09-12 Mikael Schreber, EverydayERP
This routine will read TActon loaded data from table UD01 and create nexessary subassemblies,
operations and ingoing material to QuoteAsm, QuoteOpr and QuoteMtl tables
*/
string v_PartErrors = string.Empty;
string v_QuoteNum = string.Empty;
string v_QuoteLine = string.Empty;
string v_PartNum = string.Empty;
string v_RevNum = string.Empty;
var v_Guid = System.Guid.Empty;
bool v_exists = false;
using (var svcQuoteAsm = Ice.Assemblies.ServiceRenderer.GetService<Erp.Contracts.QuoteAsmSvcContract>(Db,true))
{
Erp.Tablesets.QuoteAsmTableset QuoteAsmTs = new Erp.Tablesets.QuoteAsmTableset();
var ttQuoteLine_xRow = (from ttQuoteLine_Row in ds.QuoteDtl
select ttQuoteLine_Row).FirstOrDefault();
if (ttQuoteLine_xRow != null)
{
v_QuoteNum = Convert.ToString (ttQuoteLine_xRow.QuoteNum);
v_QuoteLine = Convert.ToString (ttQuoteLine_xRow.QuoteLine);
foreach (var UD01 in (from UD01T in Db.UD01
where UD01T.Company == Session.CompanyID
&& UD01T.Key1 == v_QuoteNum
&& UD01T.Key2 == v_QuoteLine
&& UD01T.ShortChar04 != String.Empty
select UD01T))
{
if ((UD01.ShortChar01 != v_PartNum) && (UD01.ShortChar04 != v_RevNum))
{
QuoteAsmTs = svcQuoteAsm.GetByID(ttQuoteLine_xRow.QuoteNum, ttQuoteLine_xRow.QuoteLine, 0);
QuoteAsmTs.QuoteAsm[0].CommentText = "Provar";
svcQuoteAsm.Update (ref QuoteAsmTs);
svcQuoteAsm.GetNewAssembly(ref QuoteAsmTs, ttQuoteLine_xRow.QuoteNum, ttQuoteLine_xRow.QuoteLine, 0, 0, 0);
QuoteAsmTs.QuoteAsm[0].Company = Session.CompanyID;
QuoteAsmTs.QuoteAsm[0].QuoteNum = ttQuoteLine_xRow.QuoteNum;
QuoteAsmTs.QuoteAsm[0].QuoteLine = ttQuoteLine_xRow.QuoteLine;
QuoteAsmTs.QuoteAsm[0].AssemblySeq = 1;
QuoteAsmTs.QuoteAsm[0].PartNum = UD01.ShortChar01;
QuoteAsmTs.QuoteAsm[0].Description = "**** Part Missing ****";
QuoteAsmTs.QuoteAsm[0].RevisionNum = UD01.ShortChar04;
QuoteAsmTs.QuoteAsm[0].QtyPer = UD01.Number01;
QuoteAsmTs.QuoteAsm[0].ParentAssemblySeq = 0;
QuoteAsmTs.QuoteAsm[0].ParentPartNum = ttQuoteLine_xRow.PartNum;
QuoteAsmTs.QuoteAsm[0].ParentDescription = ttQuoteLine_xRow.LineDesc;
QuoteAsmTs.QuoteAsm[0].ParentRevisionNum = ttQuoteLine_xRow.RevisionNum;
QuoteAsmTs.QuoteAsm[0].IUM = UD01.ShortChar02;
QuoteAsmTs.QuoteAsm[0].Direct = false;
QuoteAsmTs.QuoteAsm[0].Parent = 0;
QuoteAsmTs.QuoteAsm[0].PriorPeer = -1;
QuoteAsmTs.QuoteAsm[0].NextPeer = -1;
QuoteAsmTs.QuoteAsm[0].Child = -1;
QuoteAsmTs.QuoteAsm[0].RequiredQty = UD01.Number01;
QuoteAsmTs.QuoteAsm[0].ChildAssemblySeq = -1;
QuoteAsmTs.QuoteAsm[0].PartExists = true;
QuoteAsmTs.QuoteAsm[0].BomLevel = 0;
QuoteAsmTs.QuoteAsm[0].BomSequence = 100;
QuoteAsmTs.QuoteAsm[0].RelatedOperation = 0;
QuoteAsmTs.QuoteAsm[0].FinalOpr = 0;
QuoteAsmTs.QuoteAsm[0].RDStartNum = 1;
QuoteAsmTs.QuoteAsm[0].RowMod = "A";
QuoteAsmTs.QuoteAsm[0].SysRevID = 0;
QuoteAsmTs.QuoteAsm[0].SysRowID = v_Guid;
svcQuoteAsm.GetAsmPartInfo (ref QuoteAsmTs, v_exists);
PublishInfoMessage("Artikeln finns " + v_Guid , Ice.Common.BusinessObjectMessageType.Information, Ice.Bpm.InfoMessageDisplayMode.Individual, "Company", "Update");
svcQuoteAsm.Update (ref QuoteAsmTs);
v_PartNum = UD01.ShortChar01;
v_RevNum = UD01.ShortChar04;
}
}
}
}
The error occurs when doing the last update.