CallContextBPMData RowRule?

Hello Fine Epicor People,

Has anyone done something similar to our use case that we can learn from?

The Use Case is:

We are trying to use the CallContextBPMData to tell a BPM to run a super special process (ie. this item is super special email the super special team to do some work on these items) (The super special process isn’t recorded in Epicor and doesn’t need to be, so let not create another field in the database just to fire a BPM once a quarter)

On Receipt Entry → Lines tab.

add a checkbox/button to be bound to CallContextBPMData.Checkbox01
On Update have a pre processing BPM that will check to see if CallContextBPMData.Checkbox01 is checked, if so, then do something.

So far this has been fairly straight forward, now onto the tricky part.

When there is no line information, we want to set CallContextBPMData.checkbox to be read only and unchecked.

When a new line is added that we want the CallContextBPMData.checkbox to be editable and to be cleared out.

If the line has been received and updated, set the CallContextBPMData.checkbox to read only and unchecked.

Can this all be done via a row rule? or should this be managed by an epiDataview event on the Receipt Detail dataview?

We are starting to move to Kinetic, so I don’t want to add code that we will later have to remove if all possible.

Thanks In Advance,

Nash

Even if you can, you’re likely going to run into issues with the lifecycle of callcontextbpmdata.

I think you need to step back and rethink the process.

1 Like

Any way you would be willing to explain the lifecycle of callcontextbpmdata?

of course, but I am not 100%

What you can rely on:

Set it in a form, it should go to the bpm, and be reliable all the way until control is returned to you.

I am unsure if there are any quirks with standard data directives, but I don’t think so.

1 Like

Thank you, I guess I was wondering, when does it get disposed?

Like I was going to set it not in the form, but in a BPM that would fire because the form is calling the related adapter method that I have the BPM set on… I’m just wondering, at what point does the callcontextBPMdata.MYFIELD get reset to empty?

It doesn’t, unless you set it.

But you have to have something that holds on to it, like a form.

Imagine two forms, both running.

CallContextBpmData is completely separate between them, they don’t share.

The clue is in the name Call Context.

Think of it as extra input and output variables available for your use.

Okay, I want to disassociate the context of @knash 's post and what I am asking and I’m sorry I’m necroposting, but it was the closest post I could find that still could foster a convo on the whole thing.

I am not worried about forms in any way… I’m not using call context values on a form customization.

This is the post I am trying to solve @klincecum Want to know what method is causing the update to a related table - Epicor ERP 10 - Epicor User Help Forum (epiusers.help)