I have a BPM data form which opens when certain parameters are changed within the Part screen. It is called via a Method Directive on Part.Update. The BPM Data Form contains a text field for the user to enter which is mandatory.
When the user enters data and clicks okay, the BPM should save the value to a UD table. Whenever the user clicks the OK button, the BPM data form keeps showing, even though I have set it to nly show if mandatory data is missing.
For people to help - please share the BPM condition you have before you show the BPM data form. You need to ensure you are looking at only the updated or added row.
There’s a few conditions for the variables, comparing changes of current to the new.
I do check for updated fields on the relevant tables. This check is on a Pre-Processing method directive. If this is successful, it then enables the Post directive which calls the BPM Data Form.
Given the 14 conditions it is quite hard to reason about what may cause the form to show. First make a simple condition to prove the BPM form only shows when you expect. Then add additional conditions.
Limited the condition to one variable.
For testing purposes, I’ve removed the Data Form and replaced with a message ‘Changes made’.
The message only displays once. However, when I use the Data Form, it keeps showing up ad infinitum after the OK button is clicked…
The dataform contains a field of BPMData.Character03, which will get saved to the UD table in the Post-Processing Update Directive.
Do you see a different behaviour if you utilise the smart client classic version of the form VS the new web version?
Yeah this is definitely an issue. Works as expected with the Classic Smart Client. I will raise a case with Epicor and update.
An update on this issue, it’s been acknowledged as a problem and can be found here: PRB0237596
How did you configure a Call BPM Data Form action?
If you want to show the form only when mandatory fields are missing, you have to change last item in configuration statement from “always” to “only when mandatory fields are missing”.
Also, the test with Show Message action instead of BPM Form one is irrelevant. When you use BPM Form, runtime resumes execution of BPM directive from the called BPM Form action, so it does not -re-execute previous part of a directive.
Change last item in configuration statement from “always” to “only when mandatory fields are missing”.
Yup I’ve did that, as it should only show when the data is not entered.
it does not -re-execute previous part of a directive.
Yeah I know, that was my intended purpose when I set up the BPM. I never needed it to re-fire the entire BPM. I found this out when testing, and set up the BPM accordingly.
And it does not work? Strange. There are no changes in this area for the few last years :(.
I’ll take a look at your PRB when I’ll get access to it.
What version of ERP do you use?
Initially I was using 2021.1.4, now on 2021.1.7.
Got it. So it is the latest released major version. Thank you.