Method Directive

I have made many method directives and this one is super easy. A user enters part number 118188 and a popup says something that the manager wants it to say. They want this working on quote entry and sales order entry. I have it working on quote entry, but for some odd reason, it is not working in sales order entry. Does anyone have any idea what I could be doing wrong?

I have made a ton of these but this is the first time that it has not worked.

@epinoob If you don’t have the condition does the message come up? If not you may have to move to MasterUpdate rather than Update. Also if you are just looking for the added row to have the value you can have the conditions of there is at least one added row and the field is equal to ‘118188’ rather than a query linked to the tt dataset.

I don’t know what you mean by master update. Also, there are 79 other BPM’s that I have made using this method that work just fine. Like in the Quote Update one, it works as expected.

On some forms Epicor made another update as a controlling process for updates sales order has MasterUpdate and others have UpdateMaster. As with all bpms make sure just an info message with no condition pops up to be sure the bpm will fire.

Yes they work until one doesn’t then you have to adapt. If I was going to popup a question on a part in sales order I use ChangePartNumMaster since I am sure at that point the part number has changed.

Also if the part number was changed to 118188 from something else your condition would not be met since it was not an added row, but an updated one.

1 Like

What used to happen was we would enter either a part number or a customer number in the sales order entry screen, then hit tab, and a pop up would appear. Not it seems like we have to save and THEN the pop up will appear. I guess, how would I fix that?

It all depends on which method you attach to. In your OP, you attached to the Update method. This fires on save, but not on field change. You can try tracing your methods to see what is firing. Perhaps there is another method you can link to that is triggered when a user enters a value in the part number field and then exits. Probably a GetByID or something similar. Good luck!

As @NateS says you need to do a trace and find all of the methods that are hit to get where to place the post processing bpm. As I stated above I use ChangePartNumMaster to do this. Here are the methods I use in SalesOrder that are not an update.

image

Not entirely sure how to do that. Haven’t had to do that yet.

Are you sure the row mod is A? It’s possible it’s saving it first, then it’s an update. (not likely, but still you could try it). Run a message and have it display the rows in the BPM.

I would probably hang this on change part number method anyways instead of update. Then it pops up whenever the user changes the part number, and they don’t have to wait until they save the part.

Use Jose’s tool: Trace Helper Utility for Epicor ERP 10 - ERP 10 - Epicor User Help Forum (epiusers.help) I think the post also shows how to turn on the trace.

Basically, tracing logs a bunch of the data moving around in the background. It dumps it all to an XML file, that you can view in a text editor, XML editor, or using Jose’s tool. The tool is nice because it collapses a lot of the XML garbage and just lists the methods in a drop down box.

Using the trace you can see all of the methods that fire, and then you can also see the data inside the method. Only turn the trace on just before you trigger the thing you are trying to trace, then turn of tracing as soon as possible after that. Otherwise, you end up with lots of extra recorded methods to step through to find what you need.

I will take a look at this to see what I can find. Thanks for the resource!