PUBLIC Document Version: 1H 2022 – 2022-09-13 © 2022 SAP SE or an SAP affiliate company. All rights reserved. Using Batch Rules Processing with the Off Cycle Event Batch in SAP SuccessFactors THE BEST RUN Content 1 Change History. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2 Off Cycle Event Batch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 3 Implementation of Off Cycle Event Batch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.1 Creating a Business Rule for an Off Cycle Event Batch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.2 Creating an Off Cycle Event Batch Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.3 Setting Up an Off Cycle Event Batch Job. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4 Additional Configurations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.1 Optimize Offcycle Event Batch Object Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.2 Monitoring Jobs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 5 Use Cases. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2 PUBLIC Using Batch Rules Processing with the Off Cycle Event Batch in SAP SuccessFactors Content 1 Change History Learn about changes to the documentation for Batch Rules Processing with Off Cycle Event Batch in recent releases. 1H 2021 Type of Change Description More Info What's New Description More Information Updated the topic about creating a busi­ Added a note about rules with 'CREATE' ness rule for an Off Cycle Event Batch. conditions not supported by Off Cycle Creating a Business Rule for an Off Cycle Event Batch [page 6] New / Added / Changed New / Added / Changed 2H 2020 Event Batch. Using Batch Rules Processing with the Off Cycle Event Batch in SAP SuccessFactors Change History PUBLIC 3 2 Off Cycle Event Batch Off Cycle Event Batch is a native Employee Central feature that offers key automation capabilities to help you manage your employee data better. An Off Cycle Event Batch is a Metadata Framework (MDF) object that you can use to create an automated process for modifying the following employee data: • • • • Job Information Employment Details Employee Time Work Order Information (for Contingent Workers) With the help of an Off Cycle Event Batch, you can configure your system to execute a customized set of instructions in the background for transactions that are recurring. As a result, the periodic requirement for manually updating the employee records is practically eliminated. What are these "recurring transactions" an Off Cycle Event Batch can handle? Recurring transactions are events that periodically occur in your company, and therefore can vary accordingly. Some of them include, but not limited to: • • Processing probation periods of employees • • Processing seniority-based compensation updates to employee master data Processing changes in pay scale level of employees eligible to the next pay scale level on a specified effective date Generating Intelligent Services How does an Off Cycle Event Batch work? A fully configured Off Cycle Event Batch typically performs the following set of tasks: 1. Generate a list of employee records. Note This task is executed only if you've configured your Off Cycle Event Batch to generate a list of employee records to update. Otherwise, all the employee records in the system are considered. 2. Apply filter criteria as defined in your Off Cycle Event Batch object. 3. Execute the attached business rule to update the corresponding user records. 4. Import the data into the system. 4 PUBLIC Using Batch Rules Processing with the Off Cycle Event Batch in SAP SuccessFactors Off Cycle Event Batch 3 Implementation of Off Cycle Event Batch Understand the basic implementation sequence of an Off Cycle Event Batch. To get an Off Cycle Event Batch up and running is a three step process. 1. Creating a Business Rule: In this step, you define the logic and the acceptance criteria following which the system will prepare data to process. 2. Creating an Off Cycle Event Batch object instance: In this step, you select the base object (which is the applicable employee data type), select the business rule you created in the previous step, apply additional filter criteria as required, so on and so forth. 3. Setup a job schedule: In this step, you configure the background job which will process your Off Cycle Event Batch object. This step is performed through Provisioning. Remember As a customer, you don't have access to Provisioning. To complete tasks in Provisioning, contact your implementation partner or Account Executive. For any non-implementation tasks, contact Product Support. Creating a Business Rule for an Off Cycle Event Batch [page 6] Identify the employee records to be processed by the Off Cycle Event Batch by creating a business rule. Creating an Off Cycle Event Batch Object [page 7] Before you schedule a job to be executed on a periodic basis, you must have an instance of Off Cycle Event Batch configured in place. Setting Up an Off Cycle Event Batch Job [page 11] After creating a business rule and an off cycle event batch object, setting up a scheduled job is the final step in the process. Using Batch Rules Processing with the Off Cycle Event Batch in SAP SuccessFactors Implementation of Off Cycle Event Batch PUBLIC 5 3.1 Creating a Business Rule for an Off Cycle Event Batch Identify the employee records to be processed by the Off Cycle Event Batch by creating a business rule. Context With business rules, you can implement comprehensive sets of instructions to identify and process the exact employee records. Procedure 1. Go to Admin Center Configure Business Rules . 2. Create a business rule by selecting (Create New Rule) 3. Select Basic rule scenario under Basic rule category. 4. Enter the Rule Name, Rule ID, and select a Start Date. The Rule ID automatically picks up the value entered in the Rule Name field. However, it can be changed. 5. Select a Base Object. A Base Object corresponds to the data objects available in the system, and provides you with inputs for defining the rule. You must select the same Base Object while creating an Off Cycle Event Batch event definition. 6. Click Continue. 7. Set up the business rule as per your requirement. Note The SET action is supported only for the HRIS employee entities (and not MDF entities) and the rule will modify only a single type of employee entity. Note that updating multiple types of entities in a single rule is not supported. The effective date of the modified record will be set to the date on which the Off Cycle Event Batch processed this record. Providing effective date as user input is not supported. Caution Ensure that you don't add 'CREATE' conditions of your rule, as Offcycle Event Batch doesn't support rules with 'CREATE' conditions. 8. Save the configuration. Results You’ve successfully created a business rule to work with your Off Cycle Event Batch. 6 PUBLIC Using Batch Rules Processing with the Off Cycle Event Batch in SAP SuccessFactors Implementation of Off Cycle Event Batch Next Steps Create an instance of the Off Cycle Event Batch object. Task overview: Implementation of Off Cycle Event Batch [page 5] Related Information Creating an Off Cycle Event Batch Object [page 7] Setting Up an Off Cycle Event Batch Job [page 11] 3.2 Creating an Off Cycle Event Batch Object Before you schedule a job to be executed on a periodic basis, you must have an instance of Off Cycle Event Batch configured in place. Prerequisites A business rule applicable to the process is created. For more information about creating a business rule, refer to the Related Information section. Context The primary requirement to schedule a rule processing job in Provisioning is to have an Off Cycle Event Batch object. This helps the system to identify the batch and execute it according to schedule. It will pick all the records that match the filter criteria defined in the Off Cycle object. Remember As a customer, you don't have access to Provisioning. To complete tasks in Provisioning, contact your implementation partner or Account Executive. For any non-implementation tasks, contact Product Support. Procedure 1. Go to Admin Center Manage Data . Using Batch Rules Processing with the Off Cycle Event Batch in SAP SuccessFactors Implementation of Off Cycle Event Batch PUBLIC 7 2. Select Off Cycle Event Batch from the Create New dropdown. 3. Fill out the form with details as appropriate. Field Action Code Ener a label to identify your off cycle event batch. Associated Rule Select the business rule from the dropdown. Base Object Select the target MDF object from the dropdown. Note To execute batch rules, select one of the following: • • Job Information Employment Details The following base objects are not supported by Com­ pensation, but can be used to trigger further events: • • • • Job Information Employment Details Employee Time Work Order Off Cycle Event Batch User Group (Applicable for Job Select a user group from the dropdown to specify a target Information and Employment Details base objects.) population. Remember Select a user group only if you want to run the off cycle batch for a particular group of employees. To include all employees, skip this field. Include All Matched Records in Every Run (Applicable for Job Select Yes if you want to update user records with recurring Information, Employment Details, and Work Order base ob­ event information. To update non recurring event informa­ jects.) tion, select No. Example • Events like changes to an employee's pay scale are recurring and happen periodically. Select Yes in such cases. • Events like employee eligibility for company assets like a car are non recurring and happen only once. Select No in such cases. Include Inactive Records (Applicable for Job Information and Select Yes, if you want to process inactive user records. Employment Details base objects.) 8 PUBLIC Using Batch Rules Processing with the Off Cycle Event Batch in SAP SuccessFactors Implementation of Off Cycle Event Batch Field Action Include Only Current Record (Applicable for Job Information Select Yes to consider only the current effective record of base object.) employees. This prevents creation of unnecessary records. Status Select Active from the dropdown. Frequency Select a value from the dropdown to define the frequency of the batch. • • • • No Selection Daily (default selection) Weekly Monthly Note This schedule will take precedence over the schedule defined in Provisioning. Day of Execution (Appears when Frequency is selected as Select the preferred day of the week or month, as applicable, Weekly or Monthly) for executing the job. 4. OPTIONAL: Set a filter criteria to further streamline the list of user records to process. Field Description Filter Field Select the field from the dropdown. Example: Start Date. Operator Select an operator. Offset Enter a number appropriate for the offset unit. This means, how much time after the begin date should the batch run. Note You can use all the dates from Job Information in the off­ set filter. Offset Unit Depending on the selected base object, the offset may differ or may not be supported at all. If you create multiple filters, the system will filter records matching each filter criteria, and add them to the final list of matching records. Example Result when batch runs Filter Field Operator Offset Offset Unit on 01/01/2019 hireDate is equal to 1 Year(s) The batch will pick up all records which have Using Batch Rules Processing with the Off Cycle Event Batch in SAP SuccessFactors Implementation of Off Cycle Event Batch PUBLIC 9 Result when batch runs Filter Field Operator Offset Offset Unit on 01/01/2019 a hireDate equal to 01/01/2018. hireDate is before 1 Year(s) The batch will pick up all records which have a hireDate before 01/01/2018. hireDate is on or before 1 Year(s) The batch will pick up all records which have a hireDate on or before 01/01/2018. hireDate is after 1 Year(s) The batch will pick up all records which have a hireDate after 01/01/2018. hireDate is on or after 1 Year(s) The batch will pick up all records which have a hireDate on or after 01/01/2018. The Off Cycle Event Batch also filters records by Last successful run date, which is configured in job details and is recommended for jobs meant for daily execution. The Off Cycle Event batch will only filter records whose [last successful run date minus offset]< date field. The last successful run date could be the last successful job run date or a specified date. 5. Save your changes. Results You have successfully created an Off Cycle Event Batch object. To check the progress of the job, go to Admin Center Monitor Jobs page. Next Steps Set up a schedule job in Provisioning. Remember As a customer, you don't have access to Provisioning. To complete tasks in Provisioning, contact your implementation partner or Account Executive. For any non-implementation tasks, contact Product Support. Task overview: Implementation of Off Cycle Event Batch [page 5] 10 PUBLIC Using Batch Rules Processing with the Off Cycle Event Batch in SAP SuccessFactors Implementation of Off Cycle Event Batch Related Information Creating a Business Rule for an Off Cycle Event Batch [page 6] Setting Up an Off Cycle Event Batch Job [page 11] Optimize Offcycle Event Batch Object Configuration 3.3 Setting Up an Off Cycle Event Batch Job After creating a business rule and an off cycle event batch object, setting up a scheduled job is the final step in the process. Prerequisites You’ve created and configured an off cycle event batch object. Context By setting up a job schedule, you can configure your system to process the off cycle event batch object on a periodic basis. BizXDailyRuleProcessingBatch is a primary handler for all the jobs scheduled in your application. It picks up all active off cycle event batch records and executes them. However, you can’t preferentially select which offcycle events batches be picked up by the job. Setting up a job schedule requires Provisioning access. Remember As a customer, you don't have access to Provisioning. To complete tasks in Provisioning, contact your implementation partner or Account Executive. For any non-implementation tasks, contact Product Support. Procedure 1. Log in to Provisioning and select the required company. 2. Create a new job request of type BizXDailyRuleProcessingBatch and configure it to run on a daily basis. For more information about how to create a job request for a given job type and configure it according to the customer requirement, refer to the Related Information section. 3. Save your changes. Using Batch Rules Processing with the Off Cycle Event Batch in SAP SuccessFactors Implementation of Off Cycle Event Batch PUBLIC 11 Results You’ve successfully created an off cycle event batch job. Task overview: Implementation of Off Cycle Event Batch [page 5] Related Information Creating a Business Rule for an Off Cycle Event Batch [page 6] Creating an Off Cycle Event Batch Object [page 7] Scheduling Jobs 12 PUBLIC Using Batch Rules Processing with the Off Cycle Event Batch in SAP SuccessFactors Implementation of Off Cycle Event Batch 4 Additional Configurations Here are some important actions and settings that you can perform based on your requirement. Optimize Offcycle Event Batch Object Configuration [page 13] Improve the performance and reduce the job execution time by modifying your off cycle event batch object settings. Monitoring Jobs [page 14] Check the execution details and other statistics of each job associated with your primary batch. 4.1 Optimize Offcycle Event Batch Object Configuration Improve the performance and reduce the job execution time by modifying your off cycle event batch object settings. Your off cycle event batch taking a long time to complete may be most likely due to your existing configuration. Here are a few checks and configuration settings that you can make to improve performance. • User Record Filtering: Verify that your off cycle event batch is properly filtering user records. If user records are not filtering appropriately, its possible that the batch is executing business rules against all the records in the system. • Dynamic User Group: If your requirement is to process a specific group of user records, you can create a dynamic user group. A dynamic user group ensures that only the required user records are process and invalid user records are are filtered out accordingly. • Include only current record: If there are multiple time slices linked to a valid user record, the batch will iterate through all the time slices. If there are a large number of similar user records, the process may take a longer time to complete. To skip iterating through all the time slice records linked with a a given user record, enable Include only current record option while setting up your off cycle event batch object, unless it is specifically required that all the time slice records be processed. By making this setting, you can rest assured that only the current effective dated record of the user will be filtered and reach the rule stage for further processing. • Include all matched records in every run: Use this option very carefully. Enable this option while configuring your off cycle event batch object only if you want to process all the records in every run. If not, the disable this option so that only newly matched records are processed during each run. • Add inactive records: Set this option to No, while configuring your off cycle event batch object unless you want to process inactive user records for a specific use case. • Business Rules: Business rules can be a major contributing factor when a job is reporting a longer execution time. Please consider the volume of rules and the complexity of the rule configuration while configuring your off cycle event batch. Tip Setup your business rule so that If condition has the most possible matching criteria first followed by the least possible matching criteria. This reduces the rule iteration time on each user record. Using Batch Rules Processing with the Off Cycle Event Batch in SAP SuccessFactors Additional Configurations PUBLIC 13 • Scheduling BizXDailyRuleProcessing job: Find a suitable time slot to schedule your job when the server load is less. For an optimum performance, avoid scheduling all the jobs in that instance at same time, unless it is specifically required. 4.2 Monitoring Jobs Check the execution details and other statistics of each job associated with your primary batch. Context After you have created and initialized your primary batch, you can monitor each job to track its status and download the job execution report if required. Procedure 1. Go to Admin Center Monitor Jobs . The Monitor Jobs page appears, which list all the jobs (of type BizX Daily Rules Processing Batch) that you have submitted. For each product in your SAP SuccessFactors HXM Suite, there will be a job available. Example Off Cycle Event Batch will have a job called BizXDailyRuleBatch:Processor:OFFCYCLE_EVENT This job will pick all active Off Cycle Event Batch records and execute them. You cannot select which off cycle events batches should be picked up by the job as they are all collectively picked up and executed in the order of creation. The system will trigger the rule for each Off Cycle Event Batch record, and log the last successful run for each rule triggered. 2. Identify the job that you want to monitor. 3. Click Download Status corresponding to your job, if you want to download a copy of the job execution report. A popup window appears prompting you to save the status file in a CSV format. 4. Save the file on your computer. Related Information Monitoring Scheduled Jobs 14 PUBLIC Using Batch Rules Processing with the Off Cycle Event Batch in SAP SuccessFactors Additional Configurations 5 Use Cases Possible use cases for Off Cycle Event Batch processing. Following examples illustrate how you can configure your Off Cycle Event batch to address some of the most common business scenarios. Absence Configuring a rule to execute changes related to employee absences. Example Configuring your Off Cycle Event batch. Using Batch Rules Processing with the Off Cycle Event Batch in SAP SuccessFactors Use Cases PUBLIC 15 Example Anniversary Configuring a rule to generate notification on the event of an employee's work anniversary. Example Configuring your Off Cycle Event batch. 16 PUBLIC Using Batch Rules Processing with the Off Cycle Event Batch in SAP SuccessFactors Use Cases Example Annual Fixed Salary Increase Configuring a rule to execute changes related to compensation information of employees. Using Batch Rules Processing with the Off Cycle Event Batch in SAP SuccessFactors Use Cases PUBLIC 17 Example Configuring your Off Cycle Event batch. Example Manager Change Configuring a rule to execute changes related to Job Information of employees. In this case, we are considering a change of an employee's manager. 18 PUBLIC Using Batch Rules Processing with the Off Cycle Event Batch in SAP SuccessFactors Use Cases Example Configuring your Off Cycle Event batch. Example New Hire Configuring a rule to execute changes in the Job Information for new hires. Using Batch Rules Processing with the Off Cycle Event Batch in SAP SuccessFactors Use Cases PUBLIC 19 Example Configuring your Off Cycle Event batch. Example Wage Progression Configuring a rule to execute changes related to the automatic transition of employees to the next higher pay level. 20 PUBLIC Using Batch Rules Processing with the Off Cycle Event Batch in SAP SuccessFactors Use Cases Example Configuring your Off Cycle Event batch. Example Managing Employee Termination Details Restriction As of Q3 2019, updating termination details of employees using Offcycle Event batch is not supported. Using Batch Rules Processing with the Off Cycle Event Batch in SAP SuccessFactors Use Cases PUBLIC 21 As a work around, you can update termination details of employees by: 1. Creating an business rule. The business rule has to be created on the Job Information element, and in the If condition you can check for termination event reason and set the fields accordingly. For more information about creating business rules, refer to the Implementing Business Rules in SAP SuccessFactors guide on the SAP Help Portal. 2. Associating the rule with the Job Information HRIS element (jobInfo) with an onSave event. For more information about configuring HRIS elements, refer to the Setting Up and Using Business Configuration UI (BCUI) guide on the SAP Help Portal. As a result, when the Off Cycle batch is in progress and job information entity is invoked, the business rule will be executed. 22 PUBLIC Using Batch Rules Processing with the Off Cycle Event Batch in SAP SuccessFactors Use Cases Important Disclaimers and Legal Information Hyperlinks Some links are classified by an icon and/or a mouseover text. These links provide additional information. About the icons: • Links with the icon with SAP) to this: • • • : You are entering a Web site that is not hosted by SAP. By using such links, you agree (unless expressly stated otherwise in your agreements The content of the linked-to site is not SAP documentation. You may not infer any product claims against SAP based on this information. SAP does not agree or disagree with the content on the linked-to site, nor does SAP warrant the availability and correctness. SAP shall not be liable for any damages caused by the use of such content unless damages have been caused by SAP's gross negligence or willful misconduct. : You are leaving the documentation for that particular SAP product or service and are entering a SAP-hosted Web site. By using such links, you Links with the icon agree that (unless expressly stated otherwise in your agreements with SAP) you may not infer any product claims against SAP based on this information. Videos Hosted on External Platforms Some videos may point to third-party video hosting platforms. SAP cannot guarantee the future availability of videos stored on these platforms. Furthermore, any advertisements or other content hosted on these platforms (for example, suggested videos or by navigating to other videos hosted on the same site), are not within the control or responsibility of SAP. Beta and Other Experimental Features Experimental features are not part of the officially delivered scope that SAP guarantees for future releases. This means that experimental features may be changed by SAP at any time for any reason without notice. Experimental features are not for productive use. You may not demonstrate, test, examine, evaluate or otherwise use the experimental features in a live operating environment or with data that has not been sufficiently backed up. The purpose of experimental features is to get feedback early on, allowing customers and partners to influence the future product accordingly. By providing your feedback (e.g. in the SAP Community), you accept that intellectual property rights of the contributions or derivative works shall remain the exclusive property of SAP. Example Code Any software coding and/or code snippets are examples. They are not for productive use. The example code is only intended to better explain and visualize the syntax and phrasing rules. SAP does not warrant the correctness and completeness of the example code. SAP shall not be liable for errors or damages caused by the use of example code unless damages have been caused by SAP's gross negligence or willful misconduct. Bias-Free Language SAP supports a culture of diversity and inclusion. Whenever possible, we use unbiased language in our documentation to refer to people of all cultures, ethnicities, genders, and abilities. Using Batch Rules Processing with the Off Cycle Event Batch in SAP SuccessFactors Important Disclaimers and Legal Information PUBLIC 23 www.sap.com/contactsap © 2022 SAP SE or an SAP affiliate company. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP SE or an SAP affiliate company. The information contained herein may be changed without prior notice. Some software products marketed by SAP SE and its distributors contain proprietary software components of other software vendors. National product specifications may vary. These materials are provided by SAP SE or an SAP affiliate company for informational purposes only, without representation or warranty of any kind, and SAP or its affiliated companies shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP or SAP affiliate company products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty. SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP SE (or an SAP affiliate company) in Germany and other countries. All other product and service names mentioned are the trademarks of their respective companies. Please see https://www.sap.com/about/legal/trademark.html for additional trademark information and notices. THE BEST RUN