BPM help, please

I’m working on a BPM that looks to see if a part is reserved when someone tries to change another field (CustomHold) to True. I have the BPM looking at the correct field and popping a message.

Now they are asking if I can set CustomHold to false in addition to popping the message. In effect forcing them to have the part un-reserved before being able change CustomHold to True

How do I do set the CustomHold field back to False?



Would you mind sharing what you currently have? That would be the best place to start


Might look into using a BPM dataform and based on the input of the user, use a Field setter widget to set your field to the desired result.

Or, if it’s really as simple as setting a field if your condition is met and then showing a message, you only need to add your field setter

Do I add ‘Set Field’ after the message and just use ‘Set the specified field of the changed row to specified expression’ for the Action? I’ve never used it before.

Edit to add:
I’ve just tried adding the field setter after the condition and before the message. What do I enter in the expression editor? Just using false (by clicking the button for false) doesn’t work.


Which field are you setting? Please show the BPM screen you’re looking at and your field setter

I found another thread that lead me to change from a Method Directive to a Data Directive (In-Transaction).


Now I have a BPM that’s failing on the Condition shown below. The criteria on ERP.PartAlloc is ReservedQty >= 1 constant. But I get the Validation error shown (Condition #2. A non-existent table argument ‘ttPart’ is referenced in the query

Without that row of the Condition, my BPM is checking to see if I changed the CustomHold field from False to True, firing a message, changing the field back to False.


you might want to read the post from https://epiusers.help/t/joining-tt-records-to-regular-db-records-in-bpms/45646/12

There was a good discussion on why you should not directly tie a tttable (such as ttPart) to a database table… if you search this forum, you will find multiple examples for why connecting the blue widget to the green widget is bad. Instead, you should create a variable in your BPM (called partNum?) and then use a setter to set it using ttPart.PartNum… THEN filter using that variable.