SAP Job Scheduling: Real-time Automation of SAP Jobs with UAC SaaS
Hi everybody and welcome to our SAP job scheduling webinar presented to you by Stonebranch. Despite the name that you're seeing displayed, my name is not Leon Stamm, it is Marissa Walker. I am the SEO and content marketing specialist here at Stonebranch. And with me today, the person who will be running this webinar for you and presenting to you is our Global Head of Solution Marketing, Nils Buer. Nils Buer has over eighteen years of experience in the IT industry with a strong background in application development, maintenance and operations for a large enterprise customers. Today he is helping companies to transform and automate their IT processes as part of a company's digitalization journey. So please, join me in welcoming Nils Buer to the webinar, and I will hand things over to you, Nils. Hello, everybody. Thanks, Marissa. Yeah. So today, it's all about SAP job scheduling. So I'm not going to show you some fancy stuff on Docker containers or AWS cloud scenarios. It's really pure SAP scheduling and, of course, everything which is around SAP scheduling. But before I do this, I'm going to give you some kind of or I'll you a short introduction on our Universal Automation Center and who we are. Then actually I show you some of the SAP challenges we have today in scheduling, and followed by a demo where you can really see how the scheduling is done in our system. On point number four, I'm going to show you how you can convert your current SM36 based scheduling into Universal Automation Center. So I'm doing really a quick conversion of all SM36 jobs currently in my SAP system to Universal Automation Center. Okay, so let's start. So who is Stonebranch? Just one short slide on Stonebranch. So basically, we are quite long on the market. We are doing this since twenty years already job scheduling. We have lots of customers, around three fifty plus customers. Many of them are really tier one customers like British Petrol. Our headquarters in Atlanta, however, we have also offices in Frankfurt, in Essen, in Toronto, So, we are quite widely spread. One thing that's important for us is actually we are really a technology company. So, the majority of our people are technology people, and this is what you see. They say here fifty five percent, which is really true. We never really lost a client. We only lose a client if he, let's say, merges with another company or if he's in chapter eleven or something like this. But losing a client to another, let's say, competitor hardly happens. If you look at the Gartner quadrant, then you see us as the only visionary there in the Gartner quadrant for job scheduling, and just between us, so also Gartner is using our software itself. Okay, so this was just a quick overview about Stonebranch. Just one last marketing slide before I start with really showing you some SAP stuff. If you look at our customers, then you see they are from all kinds of industries. So we have lots of customers from the banking industry, insurance, manufacturing, retail. So it's really industry independent. So we have basically a solution for every industry that requires scheduling. When you see all these different customers, then they don't just require job scheduling. Job scheduling is still, of course, one of our key, let's say, core competencies. And for example, if you look at the banks and insurances that have a mainframe there, of course job scheduling is key for them, also for many SAP customers. However, we do much more than job scheduling now. So if you look at our solution portfolio, what we are offering today, of course we offer job scheduling and we offer data supply chain, meaning file transfers including but when we say data supply chain, it's more than just file transfer. It's file transfer including calling the applications where you transfer the files to. But we also do new things like ERP automation, SAP automation for example, or PeopleSoft automation, IT process automation, also process automation. So for the Munich airport for example, we are rolling out automatically new laptops. If one of their clients ask for a new laptop, we are automatically doing the whole rollout process. Digital process automation: We have one big customer in Germany called Vorwerk. So if someone signs their contract, then we automatically download the document which was digitally signed from the internet and send it to the SAP system. Also, when it comes to cloud orchestration, do a lot in the space of OpenShift at the moment AWS File Transfer, Google Cloud File Transfer, Azure Cloud File Transfer, and so on. One thing which we are looking now at the moment strongly from our innovations team is intelligent IT automation related to IOPS. So we in contact with several IOPS vendors, so that we can partner with them on really modern solutions. Okay, so let's have a look what we really offer to you. So our offering is very simple. So we basically have two components what we are offering to you. One is our so called Universal Agent, and the other one is a so called Universal Controller. So the Universal Controller is actually it's a web application. In this web application you define your business process or your IT process. So it's really a workflow engine with capabilities for real time monitoring. So if something runs, you can monitor it in real time. And of course, reporting, alarming, and all these things in built. It has a lot of integration points. So for example, if something goes wrong in your workflow, you can communicate for example with BMC Event Manager or you can collect from a Zen OS system, and so on. You can also trigger the controller with other business process engines like ServiceNow, Camunda, Cherwell. For example, I told you the example from the Munich airport where we do the client rollout, client laptop rollouts. This is triggered via the so called Cherwell system. So our system has an open REST API. This is why we can integrate very nicely with those tools like ServiceNow, Sharewell, Beam Cvent Manager, and so on. Then of course, the workflow engine needs to also send commands to machines. So it needs to execute workload. So for example, execute an SAP job, execute an SQL script, run a file transfer into the Amazon cloud, etcetera. To do this, we have so called Universal Agents. So a Universal Agent is something which can be installed on any operating system, can be installed on IBM mainframe, Windows machine, Unix server, Red Hat Linux system, but also on things like, for example, an OpenShift container. So you can install really everywhere where as an operating system, you can start our agent. And then as soon as the agent is installed, it connects automatically to the controller and you can run workloads. For many applications, you don't need an agent anymore. For example, if you connect to SAP, you can do it via the RFC connection. So you don't need an agent on an SAP system in our solution. Also, when you connect to Informatica, this goes via a SOAP task. Or if you connect to SAP business objects, it goes via the REST API. So for those, an agent is not required. So an agent is only required if you want to execute a CLI command, a script, or just a command. One other thing, the Universal Controller itself is also available as software as a service solution, so you don't need to install it on premise if you don't want to. Okay, now let's have a look at the Universal Automation Center architecture so that you get a more feeling how this whole works with SAP scheduling that you see in a minute. So first of all, on the lower end, you have all the workloads which you want to execute. So you might want to run a database script, a cloud connection, an AWS web service you want to run, you want to connect to an Azure system, you want to run an SAP job, Informatica Data Warehouse, or you want to call let's say a big data hive script for example. So this is all you want to execute. In addition, you might also still need to execute Linux script, Windows, PowerShell scripts, and you might want to run something in an OpenShift container. On an IBM mainframe you want to maybe transfer a file from an IBM mainframe to a system. So below here, basically you have all the workloads that you want to execute. If you need an agent, if it's something which requires an agent, we will assign agents on the machine. Of course, as long as it has a JBC, SOAP REST interface, as a PRFC or whatever, we don't need an agent. Then we have our middleware, which is our message bus. So as soon as you've installed an agent, it automatically connects to our middleware, which is called OMS, Opswise Message Service. This middleware allows nice functionalities like that you can distribute workloads over many agents at the same time. So execute workloads in parallel or execute workloads on the least machine with the least load. So it's really like in small enterprise service bus. To this enterprise service bus or to this middleware, our controller connects. This is our Universal Controller. And this universal controller is of course high available with even geo redundant high availability, which is required for example by banks. Then you can connect to the Universal Controller via the web GUI, so there's no installation required, which can just install with any web browser you want, or of course you can do everything via web services, which is also important. So we have a complete REST API for all the commands which the controller provides. Then, and this is important nowadays, we have also a DevOps approach. So as soon as you have configured your business process, then you can so called promote it to another system. So you can promote it, this is in the middle of this button, you can promote your whole configuration automatically or manually. Via the GUI. You say promote this workload just when you get to the next system, for example, the test system. Of course, you can have more than just one system, you can have even more. This promotion can be done fully automatically. If you run our system in the cloud, then it takes around ten minutes and we have rolled out you a complete production test environment and DevOps environments. If you want to do it on premise, it takes maybe a few hours and we have installed the system. So this was just a quick overview on the architecture so that you understand it. So it's basically the execution layer with your agent or agent less. Then you have in the middle, you have the automation engine for reporting, monitoring, and setup and configuration, and on the top you have your web GUI to operate everything. Okay, now let's go to the SAP stuff. So when we have SAP, then there's first of all what needs to be automated when you have SAP. So I think when I am IO you also used to work for SAP in Waldorf, so I think the main thing what is automated when it comes to batch processing is just ABAP running ABAPs with variants. Also running ABAPs with dynamic variants. So you might change the parameter value before you start the ABAP. Then you might have SAP Business Warehouse, so you want to start process change or restart process change, basically all the handling about process change. But there are also newer things coming up, like if you have HANA Cloud Application Integration Platform, then you might run also IBP jobs, for example. This is all R3 based, but of course you can also have, let's say, external tools like data services is often used, so you need to run your data services, ETL jobs. You might want to run business object jobs. Also when it comes to these data services and business objects, for example, business objects is also something which you can very nicely schedule with the REST API. So we have a distinct task for this. But you also have newer tools which a lot of SAP customers are using. This is like Qlik Informatica is often used also for data warehouse. So of course those ones you also need to support. Then of course you need also to support general applications. So you might have file transfers involved in SAP processes. Maybe you receive data for material management and you need to transfer it to the SAP input directories. You need to call some external application for database scripts or database reports, for example. Or you need to upload data to SAP, IDoc, BarP, ALI, whatever you want to upload. And of course you need also to do some basis system, things like you want to automate your SAP system copy and refresh. So all these things that you see here is of course supported by our solution and can be done out of the box. Okay, so you've seen what is required, but now you have also different people who are using your SAP system. So you have basically the SAP application users, then you have people who run the scheduling platform itself, and you might have SAP based administration users. So for example, base administrator might want to run the system copy. The SAP business user might want to schedule their ABAP programs and variants. And the scheduling platform operations team is only interested that the scheduling platform is running fine, so that the SAP business user can run their jobs. So the key challenge is your team should be self sufficient, it should be high available, always there, the platform, and it should allow fast business requirement deployments. Okay, this is now how we are going to provide you this so that you can all make it. So first of all, our solution is available as cloud solution. This has a nice advantage that it's always high available. Even the demo and test system development system, they're all highly available if you use our cloud solution. It's very secure, so when you use our cloud solution, a lock in is via SAML. So you authenticate with a SAML server, and then a token is generated, which is used during the session. The connection to the SAP system is done via secure network connect from SAP using CyberSafe, for example, using a CyberSafe module if the normal SAP encryption module is not secure enough for you. The whole communication is secured using TLS one point two. Customers who are using this cloud based solution, our controller in the cloud, we have, for example, BP with more than one million SAP jobs per day. Also, other bigger customers are using the cloud solution already for SAP scheduling. The interface is self-service enabled. So you will see it in a minute. So it's multi tenant capable. So depending which group logs in, they can see just their SAP jobs and they can only also do the things they're allowed to do. So you might have operations user that can do, let's say, operate the task, but cannot, let's say, for example, change a certain workflow. You might have people that are administrators who can set up new users and so on. So it's really very configurable which user rights that different people have. We support all the different SAP areas. So standard SAP ERP, of course, business warehouse, business intelligence, data services, etcetera. When it now comes to scheduling, then actually we support much more than you would know from classical SAP SM36 scheduling. Of course, you can still do time based scheduling. So say this job should be started every day at six o'clock or on the last business day of the month, so you can have all kinds of criteria there, but you can also start an SAP job based on a file, based if another workflow has been finished, so task based, based on SAP event of course, based on a REST event you receive from the internet, or even yeah, an event in a message queue. So basically, is all possible because our system is complete event based. So we don't have any daily plan. We have really a real time event system. On the right, you see some of our customers using it for SAP. You see there really some of the very big names on this slide. Yeah, now let me do some live demo for you, so that you can see really something what we are doing. So first of all, just to give you this picture there on the right, that's actually me. So I'm there in the Dell Performance Center in Waldorf, so SAP facilities. So we tested there on very big HANA enterprise machines. We tested our software and yeah, we achieved around twenty million jobs per day, SAP jobs. But of course it was also a big machine, I have to admit. So this is why I'm smiling so much because it was quite enjoyable working with these big servers. Okay, before I go into the system, I just need to explain to you what our system consists of. So first of all, we have so called tasks. Task is what is executing workloads. So there's for example an SAP task that can run an ABAP program. There's a file transfer task which can transfer a file from one server to another. There's an SQL task where you can run SQL scripts. Email task if you want to send an email, or standard Linux task if you just want to run-in Linux script or Linux command, Windows PowerShell script, Windows PowerShell command. So these are let's say the execution units. Then you can put these tasks into workflows. So what you see is for example here, this is a file transfer task, this is a timer task, this checks for a new file to arrive, this is a Windows task. So you can basically put all the tasks which you have configured on the left you can put into a workflow, independent on which machines they are running. Then you have triggers. Triggers are what starts a workflow or a task. So it can be a time based, you can start a job time based, you can start it file based. When an email arrives, you can start a job and so on. Then you have some additional components. For example, we have an inbuilt script library, so you will never have any scripts lying around anymore. For example, if you do file transfer, all your file transfer script are saved in our database, and we have also known protocol, so you don't need to use FTP and those things. You can use our own in built file transfer protocol. Yeah, and all the credentials, everything is managed in our system. So for you it's important to understand task workflows triggers. Okay, let's jump into our software. So this is our maybe I can make it a bit bigger. I think now it's a bit bigger to see. Yeah, so when you see our software, the first thing is when I log in, you see our Universal Controller web GUI. So the web GUI itself consists of here five different panels. So the first panel is to define the jobs, so the tasks and the triggers to start the jobs. The second panel is to define reports, real time widgets. So these are small apps which you can plug into your dashboard here in the middle. Then you have everything regarding your environment, so you can manage your agent, your agent clusters, your credentials, database connection, everything. Then you have the fourth one, which is actually the bundles. So once you have configured a workflow and it's running fine, you can promote it, as I told you already, to another environment. So here you can build your so called bundles of tasks, of workflows which you want to promote to another environment. And the last tab is the administration one, where you define your user, your groups, business services like our multi tenancy naming. You can look up audit reports, add up connections, so everything which is basically regarding to administration. Then in the middle you have our dashboard. You can have as many dashboards as you want for your user or for your group. This is for example a dashboard for SAP. So here it shows me what's actually going on. So for example, these are the workflows I've setting up. These are let's say some SAP workflows. Then here are some upcoming SAP jobs. For example, this task, the next run is on the fifteenth at eleven o'clock. Then you can also see this is for example a monthly one. So this starts at thirty eight. So last business day of the month this one starts. So you can see your upcoming workflows. These are running instances at the moment. So you for example this workflow is at the moment running and you can see this is the start time, this is the average estimate end time, highest estimate, lowest estimate end time for this workflow. Then I can of course also look at this workflow. For example, this is a workflow how it is running at the moment. So it's all very interactive. There are no failed task at the moment. And here are some approval tasks, manual approval. So there might be in the workflow a step we have to approve something, so then you can approve it here. You can have different dashboards for different things. For example, this is one for SAP, then I have one for example for SAP system copy. So this is for my system copy workflows. I want to copy one SAP system. Then I have some for Asia file transfers. So you can build basically these dashboards by yourself. Okay, now let's look at the most important one, this left one. This is actually this first rider where you define your tasks and your triggers. Depending on the people who are logging in, so for example, if I log out and I log in for example now with for example Scott, Scott is an SAP developer. So when Scott logs in, you see for example, when it looks on the administration, he cannot configure any administration stuff, because he's not an administrator, he's just an SAP developer. So he cannot change anything regarding to users, groups, and so on. Also when you see Scott has a lot of less tasks than you saw before, because he has only tasks and triggers related to SAP. So you can only define triggers for SAP and tasks and workflows related to SAP. So if I log in for example with Leon, which is actually my boss, so he has almost no rights. So you can see everything is disabled for Leon. He can only see reports and watch some stuff here. So like this you can really fully customize who can see what, also who can do what. So everything that you can click here has also permissions behind. So now we log in with my administrator again to show you the whole GUI. Just want to show you how you can customize the system very easily. Yeah, so what you can see here, these are the different tasks that you saw. So Linux tasks, Windows tasks. Then you have here some other tasks. For example, you can run Asia, these are file transfer tasks for Asia for S3, Google Cloud Services, big data tasks. So you have like an HDFS monitor. You have different database tasks. So you can exclude the database scripts, stored procedures. For Informatica you can run here Informatica Informatica jobs, your Informatica big data platform jobs, OpenShift jobs. So all kinds, the embedded system copy. So all kinds of different jobs you can have here. And this is because you can also build your own tasks. So these are the standard ones like Linux, Windows, SAP, but if you have a new application, for example Qlik, then you can build your own tasks type where you can define all your input parameters, etcetera, for this task. Okay, let's quickly look at one very simple Linux task before I go to the SAP task to understand how this works. So, for example, I just want to run a small, I call it webinar Linux, for example, one, but I give the task a name. Now I want to say what I want to do. So I want to execute basically on the Godzilla server, so that's a Linux server which is connected to my controller. I want to execute a command or you can execute a script. In this case I just want to execute a command to show you how it works. So I call this as your hello from SAP. So in this case, want on this agent, I execute this command and this agent start on the Godzilla machine. Now I can decide what I want to do, I can define retry rules. So if there's a failure, how often to retry and which interval to retry it, what should happen if this job runs too long, if it runs too quick. So everything is event based. So all these rules that you define here for the job trigger an event, and this event then can be used to trigger actions. So for example, if this job starts late and I can give a time, then there's an event generated and I can do something. In this case, I just want to basically run this job, retrieve the output. So, now I launch this task. At the moment stay manually and to see okay, the agent is not active. Give me one second. Just need to check. Cloudera. I think I need to let me just give me one second. Just need one minute. Okay. Okay. I just need one minute. That's so you can see it's all real. One second. Now the agent is active and so yeah, so it went to my machine went to now it should now let's see. Now the agent has started and you see the job went to success. Okay, now let's have a look at the output. So the output is very simple, it just says hello from SAP from this machine. So basically what you have seen is that if you want to run, let's say, a workload on a certain machine, you just select the agent, you just select command or script, and then you define your rules what should happen in case of an error or if something goes wrong. So this was just a simple Linux task. Now I want to show you an SAP task because this is why you are here. So basically Okay. So if you want to run an SAP task, I think the most simple thing is that you just want to run an ABAP. So an ABAP maybe with variant. So in our system, you have now two possibilities. First of all, you can just run an ABAP which is already existing in the system, so which you have already defined in SM36. So if you look at the SM36 for example, I go to my SAP system here, SM36. Job, I hope you can see all my jobs. Then you see there is a job called SAP job BTC test. So if I look at this, so this job is already defined. So the most simple thing that you can do is you can run an already existing job. So then the only thing that you need to do is you need to provide the job name. So in this case, you want to start this job, the SSBTC test job. And you need to define the selection criteria, because in SAP a job name is not unique. A job is only unique with a job name and job ID. In this case, don't want to look up the job ID. That's too complicated. So I'm just interested in the job name. So what I can do is I can say to my SAP system how to select. For example, first of all, say I want to select all jobs with this name independent of the status. When I mean independent of the status, if it's scheduled, released, or finished. Then I want to set it independent of the username, because you can have the same job name under different users. Independent of this username I want to set all jobs. And in case multiple jobs are returned, I want to select the newest one. So this says resolve multiple yes. So this you can very nicely select exactly the job that you want. So the only thing that you need to do is define selector tier and the job name. And then you can just and of course you need to put the credentials, so the SAP credentials and the SAP connection to which SAP system you want to connect. Then you can launch the task. And you can see the job is actually it's running on the SAP system and with success. And if I look now at the job, I can see exactly the same that you see in SM36. So you can see the connection to the SAP system, so you can see that the job was started and that the job is finished. There's no spool list generated because it's just a BTC test job. Let's see if the job is now there. If I look into my jobs in SAP, then you can see job BTC test finished. So it was fine. So the job was successfully scheduled from our system. The problem is with just running a job which has already been configured is that you still need to log into SM36 to define these jobs. So this is not optimal because when you have a job scaler, don't want to log in anymore to SM36. You want to do everything web based from the NICE cloud GUI without logging in. So this is why you also need to have the job configuration in your system. And this is what I'm showing you in the next example. So if you want now, you want to let's say start, in this example I want to start an ABAP called ABAP local list, can be any ABAP. This is just the one that I'm selecting for my demo. So you just put your ABAP value here and you put the variant which you want to start. In this case, I created a variant in my SAP system par list all. So this ABAP actually lists the whole ABAP documentation items. So basically, what this means, the job doesn't exist yet, and I call this job web01 start job definition, and so on. So maybe I give some additional name here, call it webinar, webinar, and it looks a bit different. So this would in this case run this ABAP and this variant and the job doesn't exist yet in SAP. So if I launch this now, while the job is running, you can always query the SAP system. So you can always check the job log. In this case you see the job has already been is now active, has already been started, but there's no output yet. So let's check again. Now you can see output is already generated. So you see already the spool output. So everything that you see in SM36, the same thing you see here now in the controller. And let's check. Now the job is successful. So if I go now back to my SAP system, then you can see webinar01 start job has been there, here's the spool file and this is exactly the same spool file that you are seeing here when you say here retrieve output. So all the information is here. And you have seen the whole job was completely defined now here. So no SM36 job log and nothing. Of course you can have this also a bit more sophisticated. So let's say you want to start a job with some variant parameters. So let's say you want to start again the same ABAP with the same variant, but now you want to give some parameters for the variant dynamically when you start this job. In this case, I just want to list the just select from A to D the documentation items. And this you can change depending when you start this job, so dynamically basically. So, when I start this one now, it starts this ABAP. So, if I look at it, output. I still need to wait a bit. My SAP system is not that fast. You see now it has started. Let's check. You can see now it starts only from B to item D. So, only a fewer set is displayed. So, this dynamic variance start also worked. Okay, so this is just starting a standard ABAP. Of course you can do much more than running ABAP and variants from here. You can do all kinds, maybe I can show you what functionalities else you can do. So basically you can run a job that means you can run a job that you just see, you can just submit a job. That means you're just putting the job in the SAP system in status scheduled. You can modify a job, you can modify a variant, so everything you can do from here. You can purge a job from the SAP system, you can raise an SAP event, you can display event tables, you can generate a variant, generate a job definition, but also you of course, you can run a process chain, restart a process chain, start a process chain, wait for a process chain, run info packages, and so on. So all which is required to maintain SAP ABAP jobs and process chain is supported by our system and also certified by SAP. And the certification process works like this, that we have to prove that we can cover all the scenarios from SM36, that we cover them via our tool. Okay, so now you have seen how to start an SAP job. Of course, now you also need how to trigger it. Let's say, because you have this nice job that runs this ABAP, but now you need to also trigger it. So to trigger it, we have different triggers. So if I go to the trigger items, and the nice thing is triggers are independent of the job. That means you can have the same job and trigger it many different ways. This reduces the number of jobs really a lot. So we have customers that have reduced by factor eight the number of jobs when they use our controller by distributing or by just having a different object for the trigger and the task. So you have different triggers. You have time triggers, you have the manual trigger, file monitor triggers, SAP event monitor trigger, and so on. In this case, just wanna show you the time trigger, the most simple one first. So I'll call this, for example, webinar time trigger Trigger. So you select the calendar, so in the calendar it's defined the business days and so on. Of course the calendar you can import from SAP. So you can import all your SAP calendars maybe on a daily basis and then use them here in scheduling. So you don't need to use your calendars from Stonebranch. You can use really your SAP calendars and this is also done by a lot of customers. So then you assign a job which you want to trigger. So I think we call it webinar, our job. Which one? I think this is the one that we just created. So I will take this one. You can start multiple jobs if you want with the same trigger, then you define what you want to do with. For example, if you want to start at a certain time or if you want to start at a time interval, let's say I want to start at every, let's say, twenty seconds, So you can also do seconds not only minutes like an SAP, so a second is also possible. You can say daily or you can say on business days, specific days, but you can also give nice complex criteria like on the let's say last, for example, last business day of the month, and then you can even say no, don't do it at the last business day, do it less two days, so not the last but two days before for example, so you can do say minus one for example, etcetera. I will not do this now. So we have a nice mathematician, our company that really have figured out all possible scenarios, you can be sure there's nothing on time scheduling that we cannot do. You can restrict what will happen that you're not running this job during certain hours, You can do special restrictions what should happen on holidays. So maybe on holidays you don't want to trigger on holidays you want to, I don't know, say move to the next business day and so on, and you can even have here complex restrictions. So in our case I just want to run it every twenty seconds. And then let's say maybe let's put it every ten seconds because otherwise we have to wait so long. Must be at least so I think I've done something wrong. So okay, I think now it should Let me just create a new one, I think. No clue what I've done. Think I've done something. So then we say every time interval, every ten seconds. Okay, so now I have the time. So now I have my trigger. So now what I can do is, what I can say, can list the qualifying times. This will tell me when this trigger should run. And of course I can put results on the dashboard. So this one would run every ten seconds as you can see. And if I enable it, now the trigger is active and the drop should be started every ten seconds. So now I can have my activity monitor. In the activity monitor you can really just set up what you want to see. So in this case, it displays which jobs are running and so on. You can set quick filters, maybe you only want to see the jobs from the last fifteen minutes. And you can see our job webinar run is already running automatically. You can define what you want to see here, so you can add columns here for example, if you're interested not only in the start time, but you're maybe also interested in the end time of a job, then you can just add it here. Can add statistics to your criteria and so on. This whole dashboard is in real time, so it's updated automatically. Yeah, so you can see the trigger is working. So every ten seconds there's a new job generated and you can see it ran twenty seconds in this case and now another two are started. So I will just disable this trigger again, otherwise it will create me every ten seconds the job. Instead of time triggers you can have also a file trigger, so you can start a workflow based on a file, you can start a workflow based on an event, on another task, and so on. Okay, so last thing which I want to show you is now you have a workflow before I show you the transition. So in this workflow let's say you want to create a workflow task. The workflow represents basically business process, so I call this webinar workflow. So, inside a workflow, first of all, have my workflow editor. So basically I can put some stuff in. For example, I want to start now an SAP job based on an event. SAP Event Monitor, so I put an SAP Event Monitor in here. Then I put some, I don't know, SAP jobs in. For example, I put this one here that it should then start a commission run. Then I will put some more complex one, SAP Bonus. So I put a multi step job in here with multiple step and maybe some last thing, maybe some Linux job, some nice things. So, for example, a monthly and weekly and maybe some manual tasks to approve something. Maybe you have an approval step. And yeah, maybe that's fine. Okay, then I can connect it. So I say, if a certain event is identified in the SAP system, then I run these SAP tasks which start some ABAP, Then I start a sub workflow which contains a multi step ABAP program. Once this is all done, then I might start two in parallel two reports, two Linux tasks which are reports. And once these are successful, then there's an approval task for this workflow. So what does this event monitor do? Let's have a quick look. So this event monitor checks actually if there's an event called UAC test rates in the SAP system. As soon as this SAP event is identified on this application server with this client and the system number, so the event is there, the SAP event, then this event monitor goes to success, and success means go to the next task, which is an SAP task, it runs an ABAP program. When this ABAP program is finished, it goes to these workflow tasks, which starts three steps one after the other. So that's a multi step job. And once this is done, then we are starting in parallel to Linux jobs which run-in GL report and there's approval at the last thing. One last thing I want to do is because you can see this job, you can define so called run criteria. So for example, this job should only run if it's the last business day of the month. So you can add here run criteria and say this job should only run on the last business day of the month. That's also one of the key nice functionalities we have. Because like this you can have multiple workflows in one. And this one we say, if you run Cartier, we say this one should only run on Wednesdays. So today is Wednesday, so it should run. So I say specific day and I say on Wednesday. So like this you can put in your single workflow a lot of tasks, but depending on the date this workflow started they will run or not. So now let me run this workflow. I go to my activity monitor and you see the workflow is running. And you can see it waits for the SAP event. So the SAP event UAC. So now I go to my SAP system. I go to select NSM62, so erase an SAP event. Normally this is of course done by another program, but I can also do it here manually. So I erase the event in SAP, for example, event trigger, so I trigger the event UAC with parameter UAC, then say trigger. If I look in the event history, then you can see the event is new and you can see in a second you can see it's already confirmed, because the confirmation was done by our system, and you see the event when I went to success, because it identifies the event and it starts the SAP process to run the commission run. This task here I put actually on held. So now I can say, for example, release it. So you can that what I want to show you that you can interact with the workflow while it's running. This one will actually generate an error. So you can have always this view or you can always have the list view, so both is possible. This takes some time. You can also still look here. Look in the workflow, okay. Ah, set set release. Once release. Ah, sorry, I put them all on hold. This was a bit So when I'm back in my activity monitor, then you see that there's no problem. So there's an error. So as you see immediately when there's an error, so then you can jump to the workflow where the error is in. In this case you can see in this multi step ABAP job in step number three there was an error. So you can now directly jump into the step. Look at the error. The error actually says log on incomplete data. So this is an error I constructed. So now you can fix the error. So, for example, I use the correct credentials in this case, so it's the BC user in this case. BC user. And now I can say rerun the job. And now you can see it's running fine. So what I wanted to show you, if you have multi step jobs, you can individually, if there's an error in one step, it will automatically show it to you in the dashboard, and then you can either do a rerun, you can do a false finish, but you can also add a predecessor or successor job before you do the rerun. So you can really do all kinds of actions with these multi step jobs. Yeah, I think the workflow is now through. So let's have a look at the workflow again. So now it's asked for an approval. And this approval is of course visible here, but the approval is also visible on the dashboard. And you can also send it to a customer via email to approve it. So I say it looks all fine. So I say set completed. And now if I look at the workflow, it's successful, Sean. So like this you can model your entire business process with approvals, with Linux tasks, SAP tasks, event monitors, file monitors, and so on. Okay, so this was the workflow. Now I want to show you so you've seen how you can trigger an SAP or you can set up a workflow. Now if you still have five minutes time, I just want to show you how you can transition your SAP jobs, your current SAP jobs in SM36 directly to our solution, that you can immediately do what I've been doing without any job configuration, because it takes over all your jobs which you have at the moment in your SAP system. So basically what I'm doing is I'm quickly logging in. See there are some such speeds, some of them. Now let me quickly, very quickly create a new job so that you can see it all works fine. So I can call this ZAP, I call it MultiWeb. So that's just an SAP job that I create. I just want to run a small ABAP program, so just this BTC test one, this simple one. I add another step to it that is a bit more interesting, and maybe I call this abapdoculus, my favorite one, with maybe this variant, then I say continue. And one last step, maybe the Abapdoco list without any variant, so this is also possible. Then I add some nice scheduling criteria. So, for example, I say start this at eighteen hundred, so that's German thing. Then I say it's a period job, so I should see that it all works. I use some special periods, so I say every minute. So, sorry, there's no seconds like we have, so I said every minute. Then I say create and then continue, complete. So if I look now at own jobs, you can see there is my new these are my current jobs and this is my job that I just entered. Now I want to transition all jobs starting with the name SAP, because I want to just select the subset to my Universal Controller. So the only thing that I do is I go to my dashboard. So this is my SAP conversion monitor. And there's a little workflow, which I want to show you too, what it does. For this workflow, actually what it does, it reads out all the job definition based on criteria from your SAP system. And the criteria which you can give, for example, you can say how the jobs should start, which job IDs it should select, from date and a to date, you can select, you can say from which application server you want to select it, from which user and so on. In this case, I want to select all jobs from my application server which starts with Zapstar. So this job actually reads all the job definitions and it's an official SAP interface code, so it's nothing great bus, it's part of our certified interpreter, it reads all the job definitions. And then this next task here, it actually formats this data, the output data, so that I can read it with our conversion tool. So, I just launched this workflow, go to my activity screen, and then let's have a look at it. And you can see it's actually now has already extracted all the data from SAP. Now it creates the input data for my Express conversion toolkit. I already go now to the let's wait another minute, it's almost done. And then you have all the jobs inside our solution. You see success. So now I go to my local SAP system and then you could just to show you, this is just to give you some example how this looks like. So, if I go to my system now here, you can see under job definitions, it has extracted all the jobs from SAP. And this was the one that we just created, a multi web ID. So, is actually the job. So, we started the SAP BTC test, step one, step two was wireless duku, and step four was super list. This is actually SAP file notation. So this is not from us, this crazy format, this is from SAP. So now the only thing what I need to do is I just need to import these jobs into our transition tool, and then actually I can load them to our system and then the whole conversion process is done. So that should work. SAP. So, it's work CTK. So, yeah, SAP. And then it's here. So, I start the conversion toolkit, which is a Java based toolkit. So this basically this toolkit works for every system if it's the SAP SM36 scheduler, but you can also transition your Control M, your CA7, so all kinds of schedules you have you can convert. In this case, we just convert the SAP files. So I say the ABAP definitions are lying in this folder that you just saw, because these are the ones we extracted. The only thing I'm doing, I say generate one task per ABAP. So it means if there's a multi step job, I automatically convert it into a workflow that you have just seen before, that I can individually restart job steps. I also add for the connection, the SAP connection and the SAP credential add a variable, because like this I'm able to transition my job to different environments. So now I start the conversion. So now it has converted thirty two tasks. So these are the tasks which are in my SAP system. So now I just say save as USC XML. So now it saves the job definitions. Oh, now it's done. So now the only thing that I need to do is job definitions. So if you go to job, you see there's now a new folder. And these are now XML files which I can load. So So now I just need to go to my controller and say load these XML files that you have just extracted. So I go to task and then say import. All these things you can do automatically with REST calls. Now I just want to show you the process that you first extract and then load a transit, you start the transition tool, but the transition tool is also REST API. Yeah, then I can import it. You see import was successful. And now if I go to tasks, you should have this job, this was the one that we imported, maybe remember, and you can see it has three steps. It has automatically transformed this MultiStep job that we created into a workflow and these are the steps that we have defined. So the first one was is a VTC test, then the local list, and then the another local list without the variant. Okay, to start this, the only thing that we need to do and then we are done, because if you look at this job, the job itself, maybe remember I put the connection as variable and also the credentials variable, because if I promote this job to another environment, then automatically the correct credential connection is used from that environment. So I only need to go to my variables. This only needs to do once per traditional, this setting these variables. So I go to my XTC. So this I did for myself. So I just set SAP connector. So this is the one that connects to the SAP system, the agent. This agent is not installed on the SAP system, this is just an agent which is installed on my cloud controller. Then I set the SAP connection for my task which I imported. And this I need to do once for each environment where I transfer the stuff. And I need to put the credentials. Yeah, now if I go back to this workflow task that we had, so this multi step one, there's already a trigger, you see. And the trigger, maybe you remember what we set in SAP, we set every minute, I think every day, every minute. So you can see every day, every minute, so one hundred percent transition without any problems. But the only thing that I need to do now is to enable this stuff. So I enable my trigger, list qualifying times, and then we are done with the webinar. So let's see, it should start at fifty six twenty five. So sorry, we need to wait now this one minute, but this is due to SAP, because SAP doesn't have seconds. Of course, can have here change this now with our system two seconds. Yeah, if I now go to the activity monitor, and then say last five minutes, then you should soon see that our jobs get started. Okay, so what you have seen is that you can automatically transition so five minutes over that you can automatically transition all your SAP jobs within, let's say, minutes into our system, and you don't have to transition all the jobs, you can define criteria which jobs you want to transition. This goes almost one hundred percent for SM36 scheduling. If you have a different enterprise scheduler, then of course the transition tool will also work, but it would require some more manual. You see now exactly twenty twenty the job starts and this is a job we have just defined before in SAP. Okay, so last thing, then I'm done, because this job that you are seeing here let's have a look at how it runs View workflow. We want to transfer this workflow when it was successful. We want to transfer it to another environment because that's the last thing I've missed to show you. So what you can do is you can say right mouse button on the workflow and say promote. And this means I promote this workflow to my production controller. So I just say promote it to the production controller, follow references, and so on, and then I say submit. And now this workflow that you have just seen is transferred automatically to my other system, and there you can automatically start. This is my other system, this is my production receipts in red. So if I go in there now and go to workflow tasks, then I should have now this workflow. Maybe I can just order by time. And you can see that it's also now fake. You can see the date. So it's sixty, sixty five, seven, so it's just now. And you see here is the workflow that you had in the other system you have now in the production system. And the nice thing is why these jobs would now immediately work here, because here, these variables of course would have different values, connection credentials, and it would take now these values from this system here. So like this on the production system you don't need to configure anything anymore. Okay, let me summarize what we have seen. So basically, you have seen that you can schedule with our system everything from the cloud, if you want from a single web client. The web client is self-service enabled, so you define the client exactly as your need. So if you're a reporting user, application user, administrator, you will only see your jobs and you will only see be able to do the functionalities you're required to do. We support all the major areas like ERP, business warehouse, BI, data services. Also system copies is standard support in our system. We support all scheduling types. You can start a job file based, task based, SAP event based, time based, rests via rest web service. Cloud event can happen. So you can do public and subscribe, so we have also monitor for this. Yeah, and you can model your end to end business process consisting of SAP, non SAP tasks, and of course you have not seen many of the functionality which we have in addition you have not seen the reporting engine and so on. But this of course I'm happy to show you in one demo if you want. And you have seen the automatic conversion of SM36, thirty seven jobs. Yeah, I hope you enjoyed this webinar. It was all really on live systems and you've seen we had also some hiccups, but I think that's normal when you connect to so many different servers in a live demo. Thank you so much, Nils. Yeah, thank you. We do have a couple questions, if you wouldn't mind answering them before you Yeah, yes, sure. So, we have one question from an attendee. He asks or she asks, Hi, can we schedule monitoring SAP IBP jobs from Stonebranch? Okay. Yeah. So okay, so if you want to schedule IBP jobs, SAP provides an interface script. So they provide a predefined script for IBP jobs. What I would need to do is I would need to create you a distinct task for IBP scheduling, but I'm happy to do this for you. And I think it would take, let's say, around maximum a week to provide this. Great. Good. And then we had one more question from the same attendee: Can we set priority in taskworkflow level, like critical or noncritical or low, medium, high? Yeah. Okay. So let me just see how you can how I can explain this to you. So I think it's possible. I need to check this. I think it's not an out of the box functionality. Mean, we have a resource priority, so you have a priority for a job that you can give. So if multiple jobs run into a queue, then you can say which one should be taken first. But it's not that this job is named critical or not, but let me just give me one second. Yeah, for the notification we have this. So if something happens, for example, a job runs late, then you can define if it's a critical notification but not for the job itself. Okay, good. Oh, I think we have one more question. Let's see. Last question from the same attendee: Do we need to contact SAP each time for IBP job setup or is it a one time setup? No, this would be a one time setup. So we have already identified the script that should be executed, but what I want to avoid is that you execute a script. So it should be really when you run the IBP job, it should be a new task type where you only enter the information that is required for the application user, and then in the background the script runs. And to create these so called, we call it Universal Tasks, there we would need usually it takes around three days to write it and then maybe another two days to test it. I think it's not for sure not more than a week to provide you this IBP task. Perfect, good. Think is that We've just done it for example for Informatica big data platform also for one And this, I think the same, attendee also asked if we'd be able to share information, the process to enable the functionality for the priority of task and workflow levels. But I think, you'll probably need to take some time and maybe speak with him additionally after this because he sounds or she sounds quite interested. Yeah, yeah, neither. Neither, that's fine. Yep, we have their email so you can email them later. Anyone else have any questions for us? Looks like no new questions. Wonderful, well one more time I wanted to thank you, Nils, so much for doing this for us. If anyone has any questions we weren't able to answer, we will respond to you after the webinar closes. Thank you again everyone for attending. We look forward to seeing you in our next webinar and please, if you are interested in any of the functionality that Nils demoed, please reach out to us. We're happy to do a demo specifically based on your needs and we look forward to hearing from you. Have a wonderful day.
In this on-demand webinar recording we explain what SAP automation is, and demonstrate SAP job scheduling and SAP automation. In addition, you will learn how to improve the value of your SAP investments and reduce complexity. Achieve end-to-end visibility, accessibility, and manageability of complex, mission-critical SAP jobs with Stonebranch’s enterprise-wide and seamless workload automation and job scheduling integration for SAP.
Topics covered include:
- Introduction Universal Automation Center (UAC) in the Cloud Architecture (SaaS)
- SAP Job Scheduling - Live demo utilizing UAC
- Stonbranch Xpress Conversion Tool (XCT). How to easily convert from SM36 to UAC.
- and more
Duration: 62 min