Method in Trace file is not exposed for use in BPMs


(Mike Gross) #1

Goal - I’m trying to create a BPM that fires one time after the Configurator is run, preferably after the new configuration details are saved. Finding the right spot is proving difficult. The after action is going to be delete/get details of course… my users seem to have trouble with this process and the default ‘append’ behavior. :frowning:

The client trace yields a method called Erp.Proxy.BO.ConfigurationRuntimeImpl.SavePCValueConfiguration among some others that might be possibilities, but this one seemed to hit the mark. I know to drop the ‘Impl’, and in this case the BO is even further truncated in the list of objects to choose from, but that method is not exposed in the Method DIrectives editor when selecting the “ConfigurationRun” BO

Attached the trace - method starts at line 673.ConfiguratorSaveTrace.txt (56.0 KB)

This is the first time I’ve not been able to find a method I’m looking for so I’m asking for a little education and potential workarounds or alternatives.

I have tried DD’s on the PCValue tables (Head/Grp/Set) and they all fire multiple times without any discernable difference in data.

Also, it seems DD’s do not have access to the RowMod field in the widgets and although it is listed as a field, you get a hard-stop error if you try and use it (even to look at in a MessageBox with a table-query. I have not tried C# code yet as I’m taking Tim Shoemakers advice to stick with the widgets as much as possible. Anyone else see this behavior?

As always, appreciate the help!

(Mike Gross) #2

I should mention that I’m working on trying a few of the other methods in that BO - so one of them may work for what I need - but wanted to see if anyone else had some ideas on these two wrinkles.

(Jason Woods) #3

Odd. I haven’t written any BPMs for Configurator, but I believe you can write server side code in the Configurator itself. Alternatively, you can do this at Quote.GetByID. You may need to flag something to say the process ran already though.

(Chris Conn) #4

It looks like Erp.Proxy.BO.ConfigurationRuntimeImpl.ProcessDocumentRules only fires once after the Config is ran. You could verify with either a LogWrite or MsgBox.

(Mike Gross) #5

@Jason_Woods - yes, could write something into the configurator (maybe using sysdate/time), but I wanted to stay out of the configurators themselves for now. May have to be the answer in the end. Since I want to ‘getdetails’ with this code, I certainly do not want it to fire every time a GetbyID happens - the delay would be terrible, nor can I do it for quote.update…

@Chris_Conn - true - looks like it only fires once, but unluckily for me the trace shows a number of methods that are not actually available in the method directives for ConfiguratorRuntime - and this is one of them as well…

I keep hitting a dead end on this.

(Mike Gross) #6

UPDATE - Looks like quotedtl.lastconfigdate and quotedtl.lastconfigtime would be the fields a DD could use, but they are empty since going from E9 to E10.

It seems that in 10.1.500.17 those fields do NOT get updated. Epicor just confirmed this and looks like I need to get more current to fix this, and then a DD might do what i need. Worked in 9.x, and works in 10.1.600.x wouldn’t you know.