Using Workload Automation integrated with SAP®, you can create, schedule, and control SAP jobs and monitoring you SAP landscape.
SAP jobs run on application servers that host work processes of type batch. Critical batch jobs are run in specific time frames, on specific application servers. With SAP Basis version 6.10 and later, application servers can be assigned to server groups. With Workload Automation, you can assign a server group to a job and leveraging the Job Throttling feature it can manages all SAP background processes from several applications on one or more servers in heterogeneous environments. In this way, when a job is launched, the SAP system runs it on an application server that belongs to the specified group, balancing the workload among the various application servers.
The Job Throttling feature helps you to improve the efficiency of your scheduling on SAP systems and reduces the batch window for your SAP jobs to a minimum. Using advanced XBP 2.0 and 3.0 functions, such as the job interception and parent-child, the job throttling ensures that the SAP system is not overloaded and the number of released jobs does not exceed the total number of free SAP background work processes in the system.
This criteria-driven process is suitable for any size of organization in any industry.
Workload Automation launches jobs in SAP using jobs defined to run on a dedicated agent. An SAP extended agent or dynamic workstation is defined as a Workload Automation workstation that is hosted by a fault-tolerant agent, master workstation or broker, which uses the r3batch access method. The SAP agent workstation uses the access method r3batch to pass SAP job-specific information to predefined SAP instances.
If you need to run hundreds of jobs daily you need to keep the jobs from killing the other systems, so a mechanism should be put in place to disallow running at the same time more than a defined number of jobs of certain types on certain environments. This is called a “throttling” mechanism and it allows an administrator to control the flow of jobs through the system. These throttling policies work as filters allowing or disallowing a job to be considered for scheduling by specifying limits regarding system usage for any given moment.
On SAP system, when the number of released batch jobs exceeds the number of background work processes, the SAP system gets overloaded and reduces the overall execution responsiveness.
The Workload Automation Job Throttling feature queues intercepted jobs and releases them when the background work processes that they need on the SAP server or SAP server group are available. The queue of intercepted jobs is sorted by scheduling time and priority of SAP jobs. When the SAP parent-child feature is enabled, children jobs inherit their parent’s priority so that new urgent jobs are run before other planned jobs.
The job throttling feature uses RFC SDK 7.50 libraries, which are supported on several operating systems (for the complete list please refer to SAP Note 825494) and you must have the SAP JCo 3.0.2 libraries installed (for the complete list of the operating systems supported by JCo, refer to SAP Note 1077727).
To operate the job throttling you need to follow the steps below:
Step1. Setting the options in the options file
Step2. Enabling and configuring the job interception feature
Step3. Enabling job class inheritance
Step4. Configuring the logging properties
Step5. Starting and stopping the job throttling feature
Please, to get details on how to perform those steps refer to the Workload Automation Guide
Step1. Setting the options in the options file
To define the behaviour of the job throttling feature, set the following options accordingly:
- throttling_enable_job_class_inheritance
- throttling_enable_job_interception
- throttling_interval
- throttling_max_connections
- throttling_release_all_on_exit
Step2. Enabling and configuring the job interception feature
As a prerequisite, the job throttling feature requires that the job interception feature is enabled in the SAP system, so enable the job interception, either automatically or manually.
Then, in the SAP system, configure the job interception criteria by setting the job name, creator, and client related to the jobs you want to intercept. Save your settings.
SAP will intercept all the jobs matching the selection criteria, and the job throttling will release all the jobs that were intercepted.
Step3. Enabling job class inheritance
Based on your business case, you can configure the job throttling to have the intercepted job inherit the priority class from its progenitor (the top-level job in the hierarchy), if the progenitor class is higher than the intercepted job class. This will result in the priority queue scheduled jobs order.
Step4. Configuring the logging properties
You can configure the trace properties of the job throttling by editing the logging configuration file. You can also configure the name, number, and size of the trace file.
Step5. Starting and stopping the job throttling feature
To start and stop the job throttling, run the executable file related to the operating system you are using. Optionally, you can create a Workload Automation job that starts the job throttling.
Scenario 1 – Performance Comparison
Environment
- SAP System with 3 Background process.
- A parent job that spawns 15 children jobs.
- Each children job runs for 1 minutes.
Scenario
- Inspection of Job Interception table see that INTER* jobs are intercepted.
- Submission of a parent job that submits not intercepted children.
- Submission of a parent job that submits intercepted children.
- Comparison between intercepted and not intercepted children total time.
Scenario 2 – Another Priority Inheritance
Environment
- SAP System with 3 Background process.
- A class ‘A’ parent job that spawns 9 children jobs.
- A class ‘B’ parent job that spawns 9 children jobs.
- Each children job runs for 10 seconds.
Scenario
- Submission of both class ‘A’ and ‘B’ parent jobs without the throttler:
- No order for child execution
- Daly in overall execution time
- Submission of both class ‘A’ and ‘B’ parent jobs with the throttler.
- Class ‘A’ job’s children are executed before class ‘b’ ones.
- No delay in overall execution time
Author’s Bio
Marco Borgianni, Enterprise Architect
I’m currently an Enterprise Architect working in HCL services team for Workload Automation, an IBM + HCL product.
I’m been working in the Workload Automation area since 2000 as a developer, test, Level 3 support and Customer Service Specialist.
Covering several aspect of this product.
A long customer experience as part of services team, I have acquired a deep knowledge of customers’ needs in that area.
I’m interested in everything that is strongly related to supporting customers in their technological challenges. I have a background in computer science technologies, in the design and development of integrations with ERP and Business Intelligent and Analytic tools.
LinkedIn Profile – https://www.linkedin.com/in/marco-borgianni-b7a1833/
Start a Conversation with Us
We’re here to help you find the right solutions and support you in achieving your business goals.