Orchestrator Tricks from Hoffman Construction
You may be curious as to the kinds of JD Edwards orchestrator tricks can help benefit your business. As the largest full-service general contractor and construction manager in the Pacific Northwest, Hoffman Construction has worked on many of the most notable landmarks surrounding Portland and Seattle, and when you visit the Pacific Northwest, you will most likely come face-to-face with a Hoffman Construction project. With high visibility and huge contracts at stake, company leaders are always on the lookout for systems and automations that ease the work of their projects, and JD Edwards Orchestrator is one of the ways they stay at the top of their industry.
In a recent presentation at the BLUEPRINT 4D conference, attendees learned specific Orchestrator tricks developed by Phil Herd, Senior Business Analyst, and Dave Wagoner, Senior Technical Analyst at Hoffman Construction.
Collectively, these two have logged 60 years in JD Edwards, and now you can adapt their Orchestrator lessons for your own organization.
Keep reading to learn how to use JDE Orchestrator tricks to import health and safety incidents, void a contract or purchase order, parse orchestrations, and integrate DocuSign to handle documents dynamically.
Quick Tips and Tricks
To understand how Hoffman Construction uses Orchestrations, you first need to know what’s under the hood.
The company transitioned from World to E1 in 2020 and upgraded to 22.214.171.124 in 2020. They are looking forward to moving to 7.3 in a demo environment in the near future to improve more Orchestrations.
Currently, Hoffman Construction has 90 orchestrations in production. Some of these orchestrations use an ACBM tool called ADEX that allows them to take data in bulk, run over that data with an orchestration, and then send messages back to the source on whether the data conversion worked.
All in all, Orchestrator has been highly effective in improving daily processes across the company, and here are four Orchestrator tricks you may wish to replicate in your own environment.
Orchestrator Trick #1 – Importing Health and Safety Incidents
When dealing with sensitive health and safety data, Hoffman Construction needed to convert flat file data into normalized header/multi-detail data. The resulting solution is pictured above.
When building this solution, the Form Request P54HS00 was not sustainable due to bugs and complexity, so the team added several business function calls duplicating what the form does. (See green business calls in above image.)
Then, they used creative SQL to convert flat columns into header/multi-detail structures. Once everything was set up correctly, they could use the ADEX tool to interprep SQL data and call the orchestration.
The team began with a detailed sub-orchestration, starting with business functions. They automapped those out to sub-orchestrations, added inputs to those sub-orchestrations, and then built each of those out individually by automapping a quick workflow.
When it came time to put those in the parent orchestration, the team manually added the inputs and the arrays to have everything in the exact order they wanted for the ADEX tool to consume.
Then, once they had the orchestration inputs, they could iterate. Voila!
Orchestrator Trick #2 – Voiding a Contract or Purchase Order
In the event of a voided purchase order, the Hoffman Construction team needed a way to simplify steps and eliminate errors, so they used this orchestrator trick to improve their process.
The original process involved clicking into several different sections in JDE, taking multiple cancel actions, and then manually adding a cancellation date. These redundant steps were inefficient and left room for endless errors. Plus, there were extra complications due to data transitions with an outside system called Procore. If Procore and JDE read differently, a user might try to void a PO that had already been executed, which would be dire.
So, the Hoffman Construction team developed a series of Orchestrations to simplify everything.
The Orchestration shows the status of the PO or contract, so the user gets a clear picture of whether or not the PO can be voided. Furthermore, if the status is wrong, the Orchestrator won’t let the void go through.
In more detail: The first three steps of the orchestration do data requests to find out if the execution flag is on. For example, checking if the 4311 has been received or if the line has been canceled already.
The second rule looks at the counts to see if anything is greater than 0. If the counts are good, it will execute the form requests of canceling lines, marking items from the outside system, adding the cancel date in the header, and generating an output to tell Procore that the contract has been voided.
If the first steps of the orchestration are not successful, it will build a notification to let the user know what the issue is and why the contract didn’t void. Altogether, these orchestrations save inconsistencies and protect the organization from dirty data.
Orchestrator Trick #3 – Parsing Orchestrations
For their next orchestrator trick, the Hoffman team needed an easy way to parse through orchestrations into lists of components for use downstream.
The utility they developed works like this: It will create an OMW project, parse through the orchestration by name, get all the components, add those to the OMW project, and if there are sub-orchestrations, it recurses down through those. Additionally, make sure to hardcode a limit in your recursion so you’re not infinite looping.
And just like that, what was once a huge manual undertaking gets solved quickly and easily.
The Hoffman Construction team has generously made this utility available for others, so to find out how to get the download consider watching the BLUPRINT 4D session recording.
Orchestrator Trick #4 – DocusSign Interface Integration
For their final orchestrator trick, Hoffman Construction created an Orchestration to handle documents dynamically.
The current version involves hooking into DocuSign complete events, which calls the webhook handler (Middleware), which goes on to call the DMZ orchestrator, and if the form is handled internally, they proceed to process it.
For now, the primary use of this orchestrator is for ACH payments, but the team highly recommends integrating with DocuSign due to its incredible API.
On top of the Orchestrator tricks above, the Hoffman Construction team has identified five major takeaways for working with Orchestrator.
- Establish your ideal naming convention early in the process, including names, tags, and categories. This makes a huge difference in searches.
- Process Recorder should be your friend. Don’t waste time writing powerful code. Use the process recorder to save sections and let the system do its job.
- Get comfortable with Groovy script. If you can learn to parse xml files or build json from scratch using Groovy, you’ll be equipped to do more advanced things downstream and call orchestrations as objects.
- If your program is coded to auto-click find on a find/browse grid, set the maximum records to 1. With large imports using ADEX, it can take up to 30 seconds per submit, but setting the max to 1 solves this issue.
- No matter what, always specify at least 1 orchestration output.
If you want to clean up data, minimize user errors, automate processes, and ensure clients are served well, don’t skip over Orchestrator. This invaluable tool may be the key to smooth operations and lasting relationships with your biggest customers.
To learn more about Hoffman Construction’s use of Orchestrator, you can watch the full BLUEPRINT 4D recording here: Dive Into Practical Orchestrations at Hoffman Construction.
For additional information about Orchestrator, consider checking out the resources available in the Quest Orchestrator Content Center.