JD Edwards EnterpriseOne Automation
Sleep soundly at month-end with an Enterprise Workload Automation Solution
Businesses depend on JD Edwards EnterpriseOne for financial and project management, but workload automation isn’t one of JDE’s core features. JD Edwards has only very basic scheduling options and has limited ability to connect to other applications. It was never intended to run and manage jobs at the enterprise level. If you’ve ever found yourself searching through the work center to find a bad AAI setup or manually running your month-end job stream to make sure everything is successful, it’s time to automate JD Edwards.
In this recording, we’ll show you how Enterprise Workload Automation can:
- Improve schedule visibility and eliminate duplicate jobs
- Connect JDE tasks to other applications and platforms
- Add cross-application dependencies
- Enable smart email, text, and voice notifications
- Fortify processes against common or minor errors
Automating JDE is our focus today, but it’s always good to know that here at Fortra we really can solve any IT problems you’re facing, from secure file transfers to network monitoring. I like to say if you have an IT need, we have a solution.
No matter where you are you probably have a Fortra office close to home as you can see here. And we do have dedicated JAMS offices in the United States, the United Kingdom, and Australia, which means you can get 24/7 support for our JAMS workload automation software.
Our team has deployed JAMS workload automation to hundreds of customers worldwide and you can see a small sample of our customers here. It’s a general rule that you’re going to interact with a JAMS customer today, whether that’s watching a show on a Vizio TV, maybe building a bird feeder with Milwaukee power tools, checking the forecast with AccuWeather or going for a run in Nike sneakers.
We also have an incredibly strong partner network as you can see here. We have strategic partners like Oracle, Microsoft, Cisco, and we belong to IT organizations like PCI for security.
And lastly, everything that we do at Fortra is for your success from incorporating your needs directly into our development cycle to offering Professional Services and support services that jumpstart your workload automation. And now, I’ll turn the presentation over to Senior JAMS Support Engineer and Workload Automation Expert Gennaro Piccolo. Gennaro?
Thank you very much, Cody. You can see here that JD Edwards is a great tool, but it’s not an enterprise scheduler. Oracle doesn’t want to spend time building and supporting a scheduler. So while they’ve provided some basic capabilities in JDE, their focus is on providing business solutions. So what do you get with workload automation? Chances are, your organization doesn’t just work in JD Edwards, so your business processes really involve other applications across other platforms.
Maybe you need to follow up a JDE job with an Informatica job and then run a PowerBI report. Having the ability to centrally manage those tasks across servers or platforms is a huge advantage of using a workload automation solution like JAMS. JDE’s native scheduling tool is only meant for JDE jobs. You can’t really give it complex instructions to prevent jobs from running the day before a holiday and you can’t give it detailed start conditions. You should also be able to have the same process run at an interval throughout the day without needing a separate job definition for each interval.
Resiliency is a fundamental concept for workload automation. Your processes should be able to withstand a network outage, avoid crashing because another process hasn’t completed, and clean up after themselves if an error does occur. The same goes for the scheduler itself. Unlike the metadata kernel and the scheduler kernel, the scheduler should be able to withstand a failure and recover itself.
Some other great benefits are the notifications, auditing, and security features that come with a workload automation solution. Those notifications go beyond simple failure or success criteria to include options to know when something is delayed or if a specific file hasn’t arrived when you need it to. You also get a full view of everything that’s happened from a historical perspective and from an audit perspective so you can see who’s changed what and when it happened. Of course, workload automation comes with improved security, so you don’t need to worry about someone changing something they shouldn’t have access to in the first place.
JD Edwards is a fantastic ERP solution and like many other ERP systems it ships with a built-in scheduling tool. That tool allows you to schedule tasks within JDE itself, but that’s about it. The tool isn’t robust. And there’s a good reason for that. Oracle aren’t experts in workload automation. They’re experts in things like ERP, customer experience, infrastructure, and they don’t want to spend their time and money on scheduling.
This is where a workload automation solution like JAMS can step in and provide that missing and often necessary robust functionality.
The JD Edwards scheduler was never intended to work across multiple applications and platforms. Anytime you need a cross-platform dependency relationship, you’re stuck with cumbersome and inefficient workarounds.
The most common workaround we usually see is pillow-based scheduling, where you hope a SQL database process is going to finish by 11:30, so you schedule your sales reports process for 11:45. There’s no dependency there. If the sequel process is still running at 11:45, the JDE job fails. If the sequel process didn’t finish successfully for any reason, the JDE job still fails. It just ends up being another reason to dread checking JDE in the morning. Now nothing exists in a bubble even with your organization. You might have multiple instances that need to interact with each other on some level; you could have Linux and windows servers and processes that involve both. Smart scheduling with a workload automation solution like JAMS is necessary to ensure all of your business processes run seamlessly across all your enterprise applications platforms and systems.
JDE gives you limited start conditions you can set something to run daily, weekly, monthly, and so forth, but it doesn’t get much deeper than that and has no and/or logic. So you might have a JDE job running every Friday, but what if you want to schedule it on the first Friday of the month, the first day of the quarter, and the first day of the year, but not the day before a holiday? That’s where a workload automation solution comes in and gives you the ability to set all of those conditions on a single job. JAMS’s use of natural language specification in combination with custom calendars allows you to schedule tasks either on or around the date specified in those calendars. You can have calendars for holidays, stock market early close days, fiscal quarters, or even a calendar of unrelated specific days your job or task is required to run on. You even have the ability to add multiple schedules with multiple exceptions to any task or process, ensuring your task will run exactly when you want them to. Then, with recurrences, you could set up a single job to run every hour or every two hours during the day from 1:00 a.m. to 11 p.m.
I want to take a minute here to mention a key philosophy of workload automation enterprise job management without going into too much detail. It’s the idea that you should be able to easily manage an environment with thousands of jobs running on dozens of servers.
Chances are you have more than one job that shouldn’t run on company holidays. You shouldn’t need to manage those exceptions individually on each job. So you would set them on a folder in each job within that folder would inherit the exceptions then you have one place to edit the exceptions for dozens or hundreds of jobs. That kind of mass management isn’t just for schedules. It applies to just about every feature we’ll talk about today.
So you need jobs to run when you want them to and you need to make sure they don’t run until all the dependencies are satisfied and requirements have been met. That’s where resilient scheduling comes in.
We talked a bit before about pillow scheduling, where you hope a SQL database job finishes at 2 p.m. so you schedule your JDE job for 2:15 p.m. That isn’t resilient and it’s just going to give you headaches in the long run. 15 minutes of dead air on a server is also an inefficient use of your organization’s resources.
With a workload automation solution you can set up a dependency on your JDE job so that it won’t run unless and until the SQL database job completed successfully.
You might not want to run the JDE job unless a certain file has data and is available. By available I mean that the file exists and no other programs are trying to write to it. No one wants to run JDE jobs over empty files. So with a file dependency like this you would be able to wait until the server is done editing the file and has put in all the necessary information before your JDE job runs.
So what about when a job does fail? Your processes should be able to handle something like a network blip. Retries are your answer with a retry you could say that the SQL database job should wait for 5 minutes after a failure then try to run again and keep retrying until it fails three times in a row, then after the third failure you can have it send you a failure notification.
Time windows are also important when it comes to enterprise workload automation. If your maintenance jobs need to run between 11:00 p.m. and 2:00 a.m. so they don’t affect your other processes, you can use a time window to ensure they don’t execute outside of that window. You can even set up controls to stop the maintenance job at 2 p.m. if it’s still running.
Sequential workflows are a key feature in enterprise workload automation. Let’s say when an order is received it needs to update inventory and sales, then the Distribution Center needs a pick list, and shipping needs a packing list to prep and send the order. With the sequence all of these tasks run automatically in dependents in sequential order one after another without delay. Chances are some of your jobs are more important than others. If you have limited resources on any server, you can set up resources and processing priority in JAMS to accommodate spikes in demand and ensure the important jobs always run first. If the jobs don’t need to run on a specific server you could also set up a cue to round robin jobs to available machines.
Finally, if something truly does fail you probably already have a process in place to fix it. Maybe you just need to rebuild certain files or undo some database changes. If you know what needs to happen, you can automate it as a recovery job even if you have two or three paths based on how the job failed. Recovery jobs are vital to keep your organization’s processes running successfully and they’re a heck of a lot better than spending your entire morning cleaning up a job failure.
One thing we didn’t touch on yet is resiliency of the scheduler itself within JDE. Your metadata kernel or schedule kernel might stop running and stop your jobs. That’s not an issue with Enterprise workload automation. With failover, you can ensure your jobs keep running even if the primary scheduler goes down. If the primary scheduler is non-responsive for three minutes JAMS automatically and seamlessly hand scheduling over from the primary to the secondary server. Even if your primary scheduler gets struck by lightning jobs keep running and the schedule stays intact.
A workload automation solution gives you stronger processes that are resilient to failures, and it also gives you the tools to identify and quickly respond to any processes that encounter a problem. It’s important to note here that a problem might not always be a job failure or an error status. If a job that normally takes 30 minutes to finish succeeds in 90 seconds, you’re going to want to know about it. On the other end of the spectrum if a job takes 5 minutes to complete but it’s been running for 20, you’re going to want to be aware of that so you can investigate what might have happened. Both of those scenarios—a short run and a job running long—are triggers that you can use to send out a notification. You might also want to know when a critical job succeeds. JDE users we talked to usually want an immediate email confirmation with the output file from a few of their JDE jobs. With the notification and follow-up features in a workload automation solution you can build that right into what’s running. So, an email with the output goes out as soon as the job completes.
Notifications aren’t limited to emails. Of course, you have the option of text and voice alerts for Mission critical jobs. So if you’re out to Sunday breakfast at, let’s say Denny’s since they’re a JAMS customer, you’re there with your family and a critical JDE job fails. You can restart the job without even having to leave the booth.
Of course the failures, final status of jobs, and any changes that may have occurred will all be recorded by default and added to the centralized history and centralized audit. You’ll get a single pane of glass where you can look at any previously completed jobs and right in that same pane of glass you can look at the full job log for any of your jobs.
The native audit trail records any changes made to your jobs and processes when they were made, who made them, and what changed. It even highlights changes when you’re looking at the change history and gives you the ability to revert to a previous instance of a job.
So if a user makes an error while editing a job source, for example, they can quickly revert their changes and avoid issues. Finally, workload automation means enterprise security. JAMS will integrate with your existing AD security roles, so you don’t have to reinvent the wheel to get a security structure in place. From there you could set it up so that an end user can resubmit a report job, but can’t change the source. Or set it up so it developer can edit anything they want on just the QA server, but can’t make changes on the production server. It’s really powerful security that gives you the ability to get as granular as you want.
So we’ve talked about some of the limitations in the native JDE scheduler that prevent you from truly automating your JDE processes, including notification, auditing, and security features, cross-application and cross-platform functionality, start conditions and start logic and resiliency. To answer all of these limitations and give yourself real enterprise workload automation we have JAMS.
In addition to automating your JDE jobs, JAMS can connect to nearly every application on any platform. So you can have a single workflow that touches Unix, Linux, Windows, and even z/OS in addition to the pre-built JAMS Integrations. JAMS can connect to and automate any application that has an API. You could think of JAMS as the single pane of glass for every task, job, and process running in your business no matter where or how it runs. So on a single screen you’ll be able to view and interact with a JDE job, a database backup, file transfer, and reporting job. That same single pane of glass applies to jobs that have already completed as well. So you could look at a JDE job log and a SQL Agent job log from the same screen. JAMS has very robust scheduling and triggering options, which we talked about a little while ago. Our natural language and calendaring give you the power to, say, only run a process two work days before company holiday.
Jobs can also be triggered on a number of different levels, like the arrival of a file, an email, or even the completion of a different job. There are more options than we have time to cover here. So let us know in the comments if you’d like to learn more about our trigger options.
JAMS also has the option for dependencies on jobs where a dependency has to be satisfied before job can run. You can think of a dependency like a ticket at an amusement park. You need to hand over your ticket before you can get on the ride. So with dependencies and triggers together, you could schedule a daily sales report to run at 10 p.m. – and also make sure that that job will wait until the raw sales data file is available before it tries to create the report.
Speaking of reports, JAMS ships with a report designer and the ability to automate report creation and distribution. So you can walk into work and already have a report of all of the JAMS jobs that ran yesterday sitting in your inbox.
The built-in notification options in JAMS go beyond what you have in JD Edwards, so you can interact with your jobs right from your phone or escalate events if you have an on-call team. You can leverage existing AD groups and give users access on group and granular levels. So you don’t need to reinvent the wheel when implementing JAMS are when you bring in a new user.
So JAMS not only answers the limitations of JDE’s native scheduler, It gives you the features you need to truly automate across the organization, and we’ve really only scratched the surface of what JAMS is capable of – but it’s time for me to turn things back to Cody.
Great. Thank you. This has been really informative so far. We have a couple of people that have already started asking questions, but I’ll just remind everybody that the question window is over on the right hand side of your screen. So feel free to submit those and we’ll try to get to as many as we can. And, I apologize in advance for paraphrasing any of these as we go along.
The first question here I’m actually going to answer myself. If we really only touch JD Edwards, how does automation for other applications help us? So this is a really good question and it’s one that we hear a lot. So when everything feels siloed it’s easy to think of your applications as existing in a bubble, but you’re really interacting with other areas of the business all the time, whether it’s automated or manual offline things, and chances are if you feel like you’re in a bubble, you’re probably on the manual offline interaction track.
So there are going to be other processes in your organization that it would be helpful to trigger off of or interact with or uses dependencies like not running a JDE report until to a server is finished with its backup process. So, you know workload automation gives you the power to do that.
Alright the next question I have here. I’m going to hand you. This one is how does JAMS execute JDE jobs?
So a lot of JDE users are probably familiar with this utility and we use Run UBE XML. We can use it both for Linux and windows platforms and JAMS actually automate the creation of these UBEs so that you don’t have to create individual UBEs for each run like you would normally do and try to put that in task scheduler or some other basic scheduler like that. And then the final status is automatically sent back to JAMS after those UBEs are executed.
Great. Thanks for that one. The next question that I see here – again apologies for paraphrasing any of these – can JAMS control my JDE Queue?
Absolutely, you need to configure a parameter called JDE Queue on the job. And then we automatically adjust the Run UBE XML at runtime to submit the job to the JDE Queue that you specify. It’s really that simple.
All right. The next question I have here. What is a parameter? This looks like a follow-up to the JDQ question.
Sure. So parameters can be configured on any job or a folder and it gets inserted. It’s a value that gets inserted into the job source at runtime or it could be a parameter to configure some sort of a setting on that particular job. For example, with the JDE Queue, that value that gets inserted depends on how the job runs. You can use that to configure the queue. You can enter a value manually when you submit the job to override the default value in the parameter, or you can have a parameter passed in from another job. So basically it’s a value. It’s a place to hold a value to get inserted into the job at runtime or to specify any configuration options for the job.
So let’s say you have a sequence with two jobs and job 1 is going to give you a branch or a plant number you could send that to job 2 as a parameter so that it uses that branch or plant. When it runs, you end up with a single JAMS job that can take the place of multiple JDE jobs because it’s dynamically getting parameters that change how it runs.
Great. Thanks for that. I have another question here. I’ll handle this one. And again, I apologize for paraphrasing. Workload automation sounds nice. What will we get? Do you have any hard numbers? So yes, we do. Realistically, your personal benefit really depends on what you’re doing and how you apply JAMS. I can reference some quick numbers from Gold Eagle. They are a JDE user. You might not recognize the company name – they make STA-BIL. It’s a fuel additive for storing things like boats and motorcycles and lawn mowers. We did a case study with them and we found that they reduce their nightly job runtime from about three and a half hours to an hour, and that reduced like system downtime, freed up resources. I also know that they grouped over a hundred and fifty jobs into about 10 sequences and that vastly simplified managing their jobs. They gained a new perspective on job performance with the native execution history in JAMS. So they’re able to compare recent runs with past Trends and the reliability of JAMS has given the main user over there their mornings and their weekends back. I know prior to JAMS being installed they were waking up at 4:30 every morning to check on JD Edwards and working some weekends, especially at the end of the month. So if anyone wants to read that case study, let me know in the chat here. I’ll get a copy out to you after this webinar is over.
Alright, the next question I have here is going to be for you. Another follow-up to parameters. What else can I make a parameter for in JAMS?
So basically anything you want, any value. You could set up a file transfer with parameters to give your users a self-service FTP job. Like I’ve seen many times before with other customers, they would enter the folder and file in the file names into that job at runtime in case they ever have to manually override those values. As far as built-in parameter features for JDE, JAMS will also natively match parameters to JDE processing options. You can specify the member ID or the data selection alias. So you have the PDDJ alias and the PDDJ JAMS parameter and JAMS will replace the literal value with the parameter value. You can also use parameters to change the JDE environment you’re connecting to, the output format for reports, or to set the report output to print immediately or to be held in some queue that you have. There are more but those are some of the top examples.
Great. Thanks for that. So we do have a few questions – final one I think just came in. Apologies for paraphrasing it again. This one is can you show me parameters in my environment?
We absolutely can. G and our other support Engineers can line up GoToMeeting, kind of like this webinar with you where you can do screen sharing and you know go through and really help you configure your environment and get you set up for success, but it’s something we’re going to want to take off this call. So if you have an interest in that go ahead and put your information over in the chat window and we’ll get to you right after this webinar is over.
And with that we have a few technical questions that we haven’t gotten to and those are kind of outside the scope of this webinar. So if you have a question that we didn’t answer we will respond to you right after the webinar is over. Thank you again, Gennaro. This has been really informative and thank you all for joining us today. If you’re looking for more information on how to bring enterprise workload automation to your JDE processes I encourage you to get in touch with our team. And remember if you’re new to JAMS, you can start a trial at any time by downloading the latest version of JAMS, right for our main site JAMSSscheduler.com, and that download is going to give you everything that you need to get up and running that includes ways to contact our support team, like Gennaro, and links to training materials that will get you up and running. So, thank you all again for joining us and have a great day. Thank you, G.
You’re very welcome, everyone. Have a great day.