Error when calling One Product Configurator from another

Hi all,

I have a part which has an actuated and non-actuated version. For legacy reasons these are two different part numbers with the actuated part containing the un-actuated part as a sub assembly.

I have the manual part configurator working perfectly and am able to call it from the parent assembly with the inputs nicely automatically carrying over as global variables. However, I keep getting an error on the last step of the parent configurator:

"Business Layer Exception

undefined

Error Detail
============

Program: Erp.BO.ConfigurationRuntimeSvc
Method: SavePcValueConfiguration"

If I un-approve the sub-configurator the parent runs fine on its own and I just cannot work out what is breaking. Looking at Rest Calls I get the following error:

"We apologize, but an unexpected internal problem occurred. Please provide your System Admin or Technical Support this Correlation ID for further details. Correlation ID: cf85aa61-5f83-4094-88ee-8662ea1ef2ef"

When posting to:
https://kazon.corp.skoflo.com/epicorerp/api/v2/odata/SFI/Erp.BO.ConfigurationRuntimeSvc/SavePcValueConfiguration

Looking at Event Viewer I get the following detail (I have replaced {partNum} in a few places):

Ice.Common.EpicorServerException: Object reference not set to an instance of an object.
---> System.NullReferenceException: Object reference not set to an instance of an object.
at Erp.Tablesets.Cfg.TEST13._{partNum}Page1FieldPropertiesTable.ConvertRuntimeTSToConfigTS(PcValueTableset runtimeTS)
at Erp.Tablesets.Cfg.TEST13._{partNum}Tableset.ConvertRuntimeTSToConfigTS(PcValueTableset runtimeTS)
at Erp.Internal.Cfg._{partNum}.TEST13._{partNum}Configuration.transformTableset(PcValueTableset runtimeData)
at Erp.Internal.PC.Configuration.ConfigurationBase`1.SetTransformedTableset(PcValueTableset runtimeData, PcStructRow ttPcStructRow) in C:\_releases\ERP\ERP11.3.200.0\Source\Server\Internal\PC\Configuration\ConfigurationBase.cs:line 199
at Erp.Services.BO.ConfigurationRuntimeSvc.SavePcValueConfiguration(ConfigurationSequenceTableset configurationSequenceDS, ConfigurationRuntimeTableset& configurationRuntimeDS, PcValueTableset pcValueDS, Boolean& testPassed, String& failText, PcTestResultsTableset& testResultsDS) in C:\_releases\ERP\ERP11.3.200.17\Source\Server\Services\BO\ConfigurationRuntime\ConfigurationRuntime.cs:line 1130
at Erp.Services.BO.ConfigurationRuntimeSvcFacade.SavePcValueConfiguration(ConfigurationSequenceTableset configurationSequenceDS, ConfigurationRuntimeTableset& configurationRuntimeDS, PcValueTableset pcValueDS, Boolean& testPassed, String& failText, PcTestResultsTableset& testResultsDS) in C:\_releases\ERP\ERP11.3.200.17\Source\Server\Services\BO\ConfigurationRuntime\ConfigurationRuntimeSvcFacade.cs:line 234
at InvokeStub_ConfigurationRuntimeSvcFacade.SavePcValueConfiguration(Object, Object, IntPtr*)
at System.Reflection.MethodBaseInvoker.InvokeWithManyArgs(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
--- End of inner exception stack trace ---
CorrelationId: afea76d4-b591-4e0d-8867-8670a629dc5b"

I have been fighting these errors for a few days now and am at a complete loss. I would love some ideas on what could be breaking or how to get a more detailed error log.

Have you contacted support? the configurator in Kinetic is a bug fest. Likely asking and pointing out things you have tried or already know. I think I read that both the parent and the sub configurator work fine separately. Since you are passing globals and there is a reference to object not set to an instance you might try putting some try/catches around code in the parent that uses any of the variables exchanged with the sub configurator. The sub configurator needs to be pull as assembly on the parent BOM. Approve the sub configurator first, then in the parent run the sequence option before approving the parent.

We have a similar issue with a sub-configurator. Support advised there is a fix in 2025.1.19 so we’ll be updating shortly.

Sorry for the late reply, we just uncovered this issue today.

1 Like