No ttPcValueGrp record was found, at least one ttPcValueGrp record is needed

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);