---
title: Error Handling in the Orchestrator
description: Orchestrations need to be set up to handle errors correctly. In newer versions, you have the flexibility to take more actions inside an orchestration.
image: https://www.acbmsolutions.com/hubfs/ACBM%20blog%20error%20(1).png
---

[ Back to blog ](https://www.acbmsolutions.com/blog) [Subscribe](https://www.acbmsolutions.com/blog/error-handling-in-the-orchestrator#subscribe-to-blog)

# Error Handling in the Orchestrator

[ ACBM ](https://www.acbmsolutions.com/blog/author/acbm)

 Jun 3, 2021 11:50:00 AM

No system is perfect. Whether it’s a problem caused by an external data source that’s unreachable or a workflow that was broken by a software update, your orchestrations need to be set up to handle errors correctly. 

**The Orchestrator Has Great Error Handling Capabilities**

In newer versions of the Orchestrator, you have the flexibility to take all kinds of actions inside an orchestration:

- Track errors on any step in the orchestration (including form requests). It’s the fourth button on any component in the orchestration.
- Define what happens next (continue or abort). With a step in the orchestration that’s really not essential, you can click the continue option. If it’s a prerequisite for a later step or necessary for the successful completion of the orchestration, you can click the abort option. You can also undo what’s already been done up to that point by calling another orchestration to undo what has been done.
- Configure the orchestrator to send out custom error messages. You can define what you want the error text to say. For example it might read, “Update advanced pricing failed while expiring existing records.” 

 

**Let’s explore the example of pricing records. **

When adding a new pricing record, the first step is to expire the old records. So, if there is an error with the addition of the new record, we need to create an orchestrator to reverse the expiring process already completed. 

We do that by calling another Orchestration to update the expiration date with the original value. You can also assign an orchestration notification related to the error. We can map inputs or outputs from previous steps and use the results of what has already happened to take corrective action. 

![](https://lh3.googleusercontent.com/URJvktTi8WH9KM7EdH7jXuZGHQJ-ptHYQCP7vVczfuRgZxbzx-5uoSTmDYeKvuQlxIhADDclqAKiHwHXXRokdsA5S0KDO4kEuoBcNRU2WKXcezGpHMFY13j9y1i4je7iNmmJbS0b)

**Messages and Notifications for Error Handling**

Messages are built into the orchestration itself as a sub-component and proactively send a  message to the user when an error occurs. Notifications are a master component that uses the subscription framework inside JDE. It only sends notifications to subscribers. You can use either function to communicate with users about errors. For a deeper dive on this topic, explore [the blog post on Messages and Notifications in JDE Orchestrator](https://www.acbmsolutions.com/blog/messages-and-notifications-in-jde-orchestrator).

[![Get a sample chapter from ACBM Solutions' Orchestrator Training manual](https://no-cache.hubspot.com/cta/default/8333922/02b831b1-fdfb-4fdd-89e2-c9edccb91459.png)](https://cta-redirect.hubspot.com/cta/redirect/8333922/02b831b1-fdfb-4fdd-89e2-c9edccb91459)

**The Benefit of Internal Error Handling**

Sometimes, our clients use the Orchestrator as an integration tool by calling orchestrations from an external data source. Before the current level of error handling in the newer versions of JDE, it was difficult to manage errors due to limited Orchestrator functionality. With today’s built-in error handling, you have full access to all Orchestrator components and JDE itself. You can track errors, take corrective action, and leverage the internal subscription framework for notifications.

What if you are using an older version of JDE? How does error handling work for reports when the JDE doesn’t quite get the job done? There are usually still ways to build what you need with the Orchestrator and some Groovy script. 

[See a use case where we did that for a client here](https://www.acbmsolutions.com/blog/automating-reports-on-a-scheduler-in-jde-enterpriserone).

*If you have a tough or interesting use case for error handling, we want to hear about it. [Contact us](https://www.acbmsolutions.com/contact-us) to share your challenges.*

[Orchestrator](https://www.acbmsolutions.com/blog/tag/orchestrator)

## Leave a Comment

[Back to Blog](https://www.acbmsolutions.com/blog)

### Subscribe To ACBM Solutions Blog

![](https://px.ads.linkedin.com/collect/?pid=1836250&fmt=gif)

```json
{
  "@context" : "https://schema.org",
  "@type" : "BlogPosting",
  "about" : {
    "@type" : "Thing",
    "name" : "JDE Orchestrator"
  },
  "articleBody" : "No system is perfect. Whether it’s a problem caused by an external data source that’s unreachable or a workflow that was broken by a software update, your orchestrations need to be set up to handle errors correctly. The Orchestrator Has Great Error Handling Capabilities...",
  "articleSection" : [ "Orchestrator Error Handling Capabilities", "Example of Pricing Records", "Messages and Notifications for Error Handling", "The Benefit of Internal Error Handling" ],
  "author" : {
    "@type" : "Organization",
    "name" : "ACBM Solutions",
    "url" : "https://www.acbmsolutions.com/blog/author/acbm"
  },
  "dateModified" : "2021-06-03T11:50:00-04:00",
  "datePublished" : "2021-06-03T11:50:00-04:00",
  "description" : "This blog post discusses error handling in the JDE Orchestrator, covering topics like tracking errors, defining next steps, and sending custom error messages.",
  "headline" : "Error Handling in the Orchestrator",
  "image" : [ {
    "@type" : "ImageObject",
    "height" : 630,
    "url" : "https://www.acbmsolutions.com/hubfs/ACBM%20blog%20error%20%281%29.png",
    "width" : 1200
  }, {
    "@type" : "ImageObject",
    "height" : 812,
    "url" : "https://lh3.googleusercontent.com/URJvktTi8WH9KM7EdH7jXuZGHQJ-ptHYQCP7vVczfuRgZxbzx-5uoSTmDYeKvuQlxIhADDclqAKiHwHXXRokdsA5S0KDO4kEuoBcNRU2WKXcezGpHMFY13j9y1i4je7iNmmJbS0b",
    "width" : 812
  } ],
  "inLanguage" : "en",
  "keywords" : "error handling in orchestrator, JDE Orchestrator, orchestrator capabilities, error management, JDE integration",
  "mainEntity" : {
    "@id" : "https://www.acbmsolutions.com/blog/error-handling-in-the-orchestrator",
    "@type" : "WebPage"
  },
  "mainEntityOfPage" : {
    "@id" : "https://www.acbmsolutions.com/blog/error-handling-in-the-orchestrator",
    "@type" : "WebPage"
  },
  "mentions" : {
    "@type" : "Thing",
    "name" : "Messages and Notifications"
  },
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "height" : 100,
      "url" : "https://www.acbmsolutions.com/hs-fs/hubfs/ACBM-logo-1.png",
      "width" : 255
    },
    "name" : "ACBM Solutions"
  },
  "url" : "https://www.acbmsolutions.com/blog/error-handling-in-the-orchestrator",
  "wordCount" : "650"
}
```