BPM Won't Trigger when Cash Receipt Posted

Hi, I’m trying to place a BPM to run whenever CashDtl.Posted changes from 0 to 1. This database change happens when I run the posting process in Cash Receipt Entry, but it doesn’t trigger the Data Directive BPM I have on CashDtl. I’ve tried just placing a pop-up message alone in data BPMs on CashHead and CashDtl, but neither directives are triggered by the posting process. Does anyone know how I can circumvent this? I want to email out the cash receipt info per each detail line as they are posted.

Standard or In-Transaction?

I do not think pop up work when triggered by a posting process. Just the condition on an In-Transaction with Posted changed from false to true, enable Standard Directive, then in the standard directive have the email widget should work.

I’ve tried both types of BPM. Just to double-check, I tried your suggestion to see if anything different would happen. Unfortunately it just didn’t trigger any BPM again. I can only make a guess, but it seems to me like the posting process (at least for cash receipts) updates the tables without triggering the BPMs that are supposed to run on table updates.

My only idea is to find a method to put the BPM on instead, but my traces haven’t been helpful for that.

That is strange, I have BPM Standard directive that I just created on CashDtl that works just fine with the posted flag condition.

Have you checked the AppServer Logs to see if there is an error message at all? If you have BPM tracking turned on for logging it will also show if the BPM was called.

That is weird, does your BPM fire when this button is pressed?

image

And no I haven’t yet, I’ll look into it now.

It fires once the group goes through the posting engine. Have you also checked to see if the group successfully posted?

Yeah that’s what added to my confusion. The invoice, cashhead and cashdtl records would all become posted, but without my BPMs firing. So it sounds like it might be something specifically wrong on our system.

Do other bpms work? They might be disabled entirely.

Also make sure your SMTP settings are set up correctly

Nah that’s another odd thing. The exact same BPMs that won’t fire when I try to post, will fire while I’m setting up the test scenario. I’d set them up before with just messages, no condition, to see if they’d fire, and they would, but not when I posted the receipt.

Maybe you guys can share the actual condition widget, maybe it has something to do with that.

Thank you all for the suggestions, but I’m starting to think I’ll need to open a case with Epicor. I know it’s not the email settings, just did a test with that. As for the conditions, no matter what I put in the actual BPM itself, it seems not to run at all when posting, even if I don’t include a conditional.

EDIT2: Is the enabled checkbox marked? Figured it was best to ask instead of assuming. I know for me I sometimes forget because I rarely have to troubleshoot them.

There is a server trace flag that you can enable which should log all bpm executions to the log file.

<add uri="trace://ice/fw/BPM" />

Also, what specific version of the ERP are you using?

EDIT: Below is how I setup my Standard BPM and it is in fact triggering, you can also see the output from the server log

<BpmCustomization Source="DB" BpMethodCode="Erp.CashDtl" Type="Standard Trigger" Duration="7">
    <BpmDirective Type="1" ID="8c0fa80f-8872-4b59-bf7e-6a22411920c2" Name="test" VisibilityScope="0" Duration="7" />
  </BpmCustomization>

Which version of ERP/Kinetic are you currently working with?

We’re on 10.2.500.0 for this. So, I went ahead and scrapped what I had before and just started writing it in custom code on an In-Trans directive in CashDtl. I’m not sure I did anything differently besides not using the email widget, and my conditional is certainly the same, but now it works.