Is A BPM to block Dates that are falling on Specific days e.g Sunday

Hi All,

Is there anyone who have come accross a BPM that blocks putting a date that falls under a specific date? For example, if Orderhead.Needbydate value falls on a Sunday, it will prompt a message that will say “this is not allowed or accepted”

Hoping to get something, Thank you all in advance.

1 Like

If the version you are showing is the one that you are on, then you should have the newer “Shipping Calendar” setup option in your Site Configuration > Shipping Receiving. Create a separate production calendar (called Ship, or whatever), then set that as your Shipping Calendar.

Then you have the option for None, Warn, or Stop for invalid Ship By and Need By dates on your sales orders. We don’t use this feature, but IIRC user will get a warning/error message if you’ve got this set to Warn/Stop.

6 Likes

I’d go with the stock method that @d_inman suggested. We do have a BPM that’s custom coded since the feature wasn’t available when we went live with Epicor many moons ago. I can confirm a BPM is possible but not really needed now.

2 Likes

We have a BPM that does this too. But it was implemented back in 10.2 when the newer shipping calendar wasn’t a thing. When we have time, I see us moving away from the BPM and just using the built-in calendar.

2 Likes

Same for us but back in the E9.05 days. We also plan to test out moving away from the customization and going with the Shipping Calendar.

2 Likes

I would hold off on that. I found (what I consider) a major bug in this functionality. I’ve had a PRB open since October for it, and had multiple Teams meetings with support demonstrating the issue…but here it sits: PRB0303040

To confirm the issue, I’m assuming you have a shipping calendar, and it is setup in Site Configuration > Shipping & Receiving > Shipping Calendar.

  1. Open the shipping calendar.
  2. Add a non-work day that is not a weekend & save it.
  3. Open an order and set the RequestDate (Ship by date) to the non-work day from step 2.
  4. Note that you did not get a warning.

I contend that the issue is with the Erp.BO.ProdCalSvc.IsWorkDay method. If you open this method in Swagger and send in the non-work day you created in Step #2 above, you’ll see that IsWorkDay comes back as true, even though it’s marked as an exception on the calendar.

Shipping Calendar with 12/25 marked as a non-work day

Results of IsWorkDay call

If you see the issue too, please open a ticket and reference PRB# PRB0303040.

6 Likes

Whoa. Thanks for the heads up. We were just talking internally about testing this and stopping use of our BPM.

Will do!

1 Like

Thank you for the heads up! We’ve got a big integration project with our new acquisition in 2026 so were going to try this with them instead of using the BPMs in the new company. We’ll keep an eye out.

1 Like

It looks like this may be fixed as of 2025.2.6? Currently testing for an upgrade and I’m seeing the error/warning is taking exceptions into account. For example, given this 8x5 calendar:

With the following exceptions (Saturday overtime and Tuesday closed):

Trying to enter an order with a Ship Date of 12/13 (Saturday) works and is allowed. Entering an order with a Ship Date of 12/16 (Tuesday when closed) does not work, which is what we want.

3 Likes

I’m seeing that as well. I should’ve noted that the reason I started investigating this was because my production planner was complaining about MRP jobs being scheduled on weekends and non-work days. That’s when I figured out that ProdCalSvc.IsWorkDay was ignoring non-work days and assumed Sales Orders were using the same validation method. Turns out it uses SalesOrderSvc.ValidateShippingDate.

I’d be interested to know if you test that date you showed on your sales order using the ProdCalSvc.IsWorkDay endpoint in Swagger if it returns false for you?

1 Like

Sorry Randy, I made an assumption that was incorrect. Sales Orders don’t appear to use the ProdCalSvc.IsWorkDay method.

1 Like

I’m trying to test this in 2024.2.26. How do you delete a an exception in Kinetic? In classic you could select it and hit the delete key and remove it. That doesn’t work in Kinetic.

It shows false for the 13th (Saturday) and true for the 16th (Tuesday) when it should be the opposite. Looks like that issue is still present in 2025.2.6.

2 Likes

You can right-click the exception and select delete.

Thanks for testing that.

Yup, this is one of the enhancements for 2025.2. A much needed one.

I don’t get the right click context menu in 2024.2.26. They must have fixed that somewhere later.

They did. You actually have to unhide a layer in App Studio to be able to see the exception after you create it in previous versions. Or use DMT.

3 Likes

Ah, Ok. Good to know. I just went back to classic to delete them :melting_face:

I think you can double click the exception and then clear out the description, which will then remove it.

I noticed they added a right-click option to delete an exception in the latest version on Pilot as @tsmith pointed out.

1 Like