Yes/No MessageBox Prompt in BPM

I’ve created a BPM that checks dates in UD fields on a Sales Order header and compares to each line item’s UD fields. Now what I’m needing is a Yes/No prompt to a user that will ask if they want to update the dates on each line item or not, but Epicor doesn’t recognize the standard C# MessageBox. Does anyone know of a way to create a Yes/No prompt in a BPM? Thank you for your time and help!

Have you looked at a BPM data form? There is a topic in application help and the ICE tools guide on it. It allows one to present a UI to the user when a BPM is triggered with various elements like buttons and fields that can be bound to the BPMCallContext dataset for further processing later in the BPM.

1 Like

Thanks for the reply Nathan. I looked up the BPM data form and found stuff for E9 that used ABL Code. I was able to create the form…

But can’t get E10 to activate it. I used the Call BPM Data Form function and set it to my new form…

But it wouldn’t show the form, just bypassed completely and went to Show Message. I’ll keep looking for examples that are for E10, but any advice you could offer would be appreciated. Thanks for your time!

Shawn, can you screenshot what you got on the Field tab as well?

In the BPM Data Form Designer, under Actions > Test BPM Data Form you can test it out as well. I’d suggest you try that to see what comes up.

1 Like

I run the test and everything works…

And there are no fields, only buttons…

The problem is that when I try to call it from a BPM, it doesn’t show at all. I’ve even created a simple BPM to just call the form and then give a message, but it doesn’t show…

Remove the message box and try it without it

1 Like

Still nothing.

Here’s a very strange thing… what I’m attempting to do is all in our Test database of Epicor 10. I just created the exact same BPM Data Form in our Train database, and created a new Method Directive for SalesOrder.Update that simply called for the form, and it worked!

Not sure why the exact same BPM Data Form and Method Directive would work in one database and not the other. Any ideas?

Maybe something was saved/corrupted in the original BPM you were working on?
Just wondering if you already tried adding a new BPM from scratch in Test?

1 Like

I did delete everything and start over, with the same results in Test. What I ended up doing was switch the method I was using from SalesOrder.Update to SalesOrder.MasterUpdate, then everything worked perfectly.

Interesting…
Reminds me of another thread where a user described trouble with a customization.
Worked/didn’t depending on the environment. At time of reading he had not yet identified the cause.

1 Like

Might need to report this to Epicor. Sounds like a bug they need to fix.

I am using a BPM Data Form, and I want to find out how do I capture when the user pressed Yes or No in the Custom Code?

CallContextBPMData.ButtonValue

2 Likes