Running custom process on a Schedule

I’m working on a system that has two interactions with Epicor events. The custom datetime field is on QuoteHed_UD. This field gets filled out by an external application making a REST call to a uBAQ over the API and the uBAQ performs the update against the Quote BO.

The two conditions when the field will get cleared as are follows:

  1. A BPM on QuoteHed.Update condition is met and clears the field OR
  2. The number of days between a polling date and the field value is greater than or equal to a certain value.

The second condition is what I’m trying to solve.
I’ve read a lot about automating custom “processes” via Task Scheduler, standalone programs, etc. but I’d really like to keep to keep the entire system within Epicor.

I have considered a BAQ scheduling process to run a BAQ, thus attaching a process to a schedule, but I am not sure if this is a viable way to run the custom code needed to accomplish the task.
I could also create a BPM against a commonly access BO Method and hook it from there, but that’s not exactly automation.

I have also considered a SQL job for the scheduling and action against the custom field but I know that’s frowned upon AND it doesn’t conform to the “system within Epicor” requirement.

What’s the best way to accomplish? Thank you

Last time I asked, I was able to solve via APR and scheduled BAQ Report, but this one needs to execute custom code.

What if you schedule a DMT job via powershell to check a custom boolean somewhere in your system (company maintenance), to true, and attach a BPM to that custom control to execute when true? Just make sure you set said custom control back to false at the end of execution.

That may not be the best way, but that is at the top of my head. There is also a way to schedule the DMT via power shell to run a baq etc. It is a very powerful tool.

Hey Jeff
I want to keep it 100% inside Epicor if possible, and a powershell script would be outside. I just want to make sure it’s self contained, i.e. if I get hit by a bus, the next dev doesn’t have to chase down some hidden task somewhere to get the process working.

I am interested in scheduling a DMT run though, that sounds interesting even if not the direction for this task.

I understand completely. We have custom items I’d like to schedule as well but all options seem to be “outside” of Epicor.

I vote for an enhancement to be able to schedule custom processes! :slight_smile:

1 Like

I’d even be fine with an interface in Epicor that creates Task Schedulers on its server to run custom stuff, I’d just want it to maintain it so if the task got deleted outside Epicor it would re-create it. Then, I’d have maintainable custom processes inside Epicor

Epicor has a module you can buy to do this. We do it using BAQ and REST Api

What’s the module called and is there a white paper on it!? We’ve been looking for an out of the box solution to schedule custom items as well. Knowledge is power :slight_smile:

There is nothing indicating this is available on our EpicWeb documentation and module downloads, we even had to search high and low for ATE docs.

Thanks!

Depending on your definition of “within Epicor”, we use Service Connect for this type of thing. In some cases only to trip a flag in an Epicor table and the rest of the process is in BPMs triggered by that change. One of the input channels for Service Connect is a schedule, and it’s an Epicor approved way of doing things even if it has lost attention these days.

1 Like

What if you don’t use service connect, like jitterbit,
Or any other integration tool. Or you don’t use Service Connect at all?

If you don’t have Service Connect then you can’t use Service Connect. But it is something that Epicor offer that will do this, and they offer it now rather than as a possibility for something in future releases.

So your service connect workflow is changing the value of an item/field or calling a specific method which is triggering a BPM? That works too! many different ways to handle this.

Dmt and powershell
Service connect
Any other integration tool into the Epicor API, jitterbit, other ETL tools
the out of the box module for purchase that was mentioned earlier

It is called User Process Scheduler it came from DoNetIT aquisition
http://www.dotnetit.co.uk/solutions/solution/user-process-scheduler

@Edge is this still a product you (Epicor) sells?

4 Likes

Sure is. We use it and it’s wonderful.

3 Likes

So @Aaron_Moreng I just did some testing and in 10.2.XX you can use the BAQ Export Process with an Updatable BAQ put the code you’d like to execute in the GetList Post Processing Method and it will get executed when the BAQ Export Process Runs.

4 Likes

That’s cool, i’m going to try that approach. Two questions before I start; do I have access to the query results at this time and can it run async against other BOs?

I’m def going to look into this. It looks really cool from what I see so far

Yes @Aaron_Moreng on post processing getlist you’ll have access to the query results and yes you can invoke BO"s (though don’t do it async)

1 Like

Thank you Jose! We just moved off of 10.1 so we’ll explore that functionality as well!

1 Like

Info on the User Scheduler Product that Epicor Sells
http://patches.epicor.com/Epicor%20ERP/Extended%20Solutions/User%20Process%20Scheduler/Documentation/User%20Process%20Scheduler%20Sales%20Sheet-ES0110.pdf

3 Likes

I found another way to run custom code from ReportMonitor.Update method. I can set the report to run by the system at any scheduled time. I created a BPM on this method, placed condition such as report description to fire up the BPM, and created custom code. Inside the custom code, I can call other business objects/methods and or updates to UD table that triggers BPM.

2 Likes