Hello. I’m trying to run the Erp.Contracts.BO.ConfigurationRuntime.StartPcValueConfiguration method, but I’m getting this error: No ttPcValueGrp record was found, at least one ttPcValueGrp record is needed.
I confirmed that the datasets send to the StartPcValueConfiguration look like exactly the same than the ones in the Epicor Trace.
This is my code:
var rowID = new Guid("d9a9e6cb-db2b-49c6-8710-a05b22923575");
string _cfgPartNum, _cfgRevisionNum, _cfgType, _cfgURL, _cfgID;
oQuoteASMTran.QuoteASMAdapter.GetBasePartForConfig(rowID, out _cfgPartNum, out _cfgRevisionNum);
_cfgID = _cfgPartNum + "_" + _cfgRevisionNum;
Erp.BO.ConfigurationRuntimeDataSet configurationRuntimeDataSet = new Erp.BO.ConfigurationRuntimeDataSet();
configurationRuntimeTransaction.ConfigurationRuntimeImpl.GetNewPcConfigParams(configurationRuntimeDataSet, _cfgID, "0/0");
configurationRuntimeDataSet.PcConfigurationParams[0].RelatedToTable = "QuoteDtl";
configurationRuntimeDataSet.PcConfigurationParams[0].RelatedToSysRowID = rowID;
configurationRuntimeDataSet.PcConfigurationParams[0].SourceTable = "PartRev";
configurationRuntimeDataSet.PcConfigurationParams[0].TestMode = "PRODUCTION";
configurationRuntimeDataSet.PcConfigurationParams[0].ConfigID = _cfgID;
configurationRuntimeDataSet.PcConfigurationParams[0].PartNum = _cfgPartNum;
configurationRuntimeDataSet.PcConfigurationParams[0].RevisionNum = _cfgRevisionNum;
//configurationRuntimeDataSet.PcConfigurationParams[0].PcStatusSysRowID = Guid.Parse("ed351e7e-ccfc-2fa6-e511-62699ab50efa");
//configurationRuntimeDataSet.PcConfigurationParams[0].ConfigVersion = 38;
Erp.BO.ConfigurationSummaryDataSet configurationSummaryDataSet = new Erp.BO.ConfigurationSummaryDataSet();
Erp.BO.ConfigurationSequenceDataSet configurationSequenceDataSet = new Erp.BO.ConfigurationSequenceDataSet();
configurationSequenceDataSet = configurationRuntimeTransaction.ConfigurationRuntimeImpl.PreStartConfiguration(configurationRuntimeDataSet, configurationSummaryDataSet);
configurationRuntimeDataSet.PcConfigurationParams[0].TgtStructTag = configurationSequenceDataSet.PcStruct[0].StructTag;
configurationRuntimeDataSet.PcConfigurationParams[0].StructID = configurationSequenceDataSet.PcStruct[0].StructID;
//configurationRuntimeDataSet.PcConfigurationParams[0].InSmartString = row.SmartString;
configurationRuntimeDataSet.PcConfigurationParams[0].PcStatusSysRowID = configurationSequenceDataSet.PcStruct[0].ConfigSysRowID;
configurationRuntimeDataSet.PcConfigurationParams[0].ConfigVersion = configurationSequenceDataSet.PcStruct[0].ConfigVersion;
var startPcValue = configurationRuntimeTransaction.ConfigurationRuntimeImpl.StartPcValueConfiguration(configurationRuntimeDataSet, configurationSequenceDataSet);