Process No Inputs Configurator from REST or BPM

Has anyone tried to execute a no inputs configurator without the UI? I would like to be able to pre-populate a quote with a configured assembly. Currently, our configurator reads some data from a UD field and creates a configured assembly. This works well but relies on a user having to click on the configure button on the quote form or running get details on the MOM.

What I am attempting to do is to externally create a quote and trigger the configuration of the assembly. I can create the quote with REST but I did not identify any way to trigger the configuration so I was attempting to create a BPM which would be triggered by an update to a UD field. I traced the calls and reproduced the logic in the BPM as best as I am able but the details pulled into the MOM indicate the configured data is not being saved. If a previous configured assembly exists, those details are pulled in instead. If no previous assembly exists, then just the template associated with the configured part number is pulled in instead.

It appears the correct data is flowing through at least into ProcessNICDocumentRules (by checking values on a BPM attached to that method) but something is not completing after that.

The BO methods called in the BPM (in sequence are as follows):

  • QuoteAsm.DeleteAllAssembly
  • QuoteAsm.PreGetDetails
  • QuoteAsm.CheckConfigurationAndGetConfigType
  • ConfigurationRuntime.GetNewPcConfigParams
  • ConfigurationRuntime.PreStartConfiguration
  • ConfigurationRuntime.ProcessNICDocumentRules
  • QuoteAsm.GetDetails

I found I was having to add data to the PcConfigurationParams table between GetNewPcConfigParams and PreStartConfiguration but other than that, I am just fulfilling the configured parameters on the BO items as identified in the trace log.

Any tips on where I can look next or how to debug further?

We are a dedicated tenant customer so I can create C# BPMs (if that helps) but I cannot see anything server side to debug with.

Thanks,
Brad Weiss

I have done this a few times - what do your parameters for QuoteAsm.GetDetails method look like? I am assuming you did a manual quote and were able to get details just fine using your No Inputs configurator?

Pulling manually always works just fine. Interestingly, I seem to be able to do the GetDetails part OK using a BPM if the part is configured using the “Configure” button on the quote. Regardless, here is how I have the method defined:

image

Thanks,
Brad

Are you also calling the method CheckConfigurationAndGetConfigType before the GetDetails?

I am and I should have mentioned that. Here are the parameters for the second call of CheckConfigurationAndGetConfigType:

ForeignTable and ForeignSysRowID point to the same variables as the first time I run it and are empty initially.

Here is the complete flow (the above is from the CheckConfigAgain block):

Thanks,
Brad

Just curious - what version of Epicor are you trying this in? I have a copy that works in 10.2.300.8 and can convert a couple custom code widgets to BO widgets and post so you can compare.

We are currently in 10.2.300.10 (dedicated tenant - public cloud) so I would think that should work. Thanks for your help!

FYI - We are able to use custom code widgets. I just don’t generally because I am not as comfortable with them.

Thanks,
Brad

In case anyone is looking for this later. The issue turned out to be my not setting the RowMod properly on all of the tables prior to the ProcessNICRules method. Once I made this match the trace exactly, everything worked.

-Brad

2 Likes

Anybody else get a cool motion illusion when scrolling past this image above?

@Chris_Conn, I have no idea what you are talking about. Just a regular image for me. You smoking something?

When I scroll past it, it looks like it is opening or closing based on the direction I am scrolling.