SAP SuccessFactors platform Archives - ERP Q&A https://www.erpqna.com/category/sap-successfactors/sap-successfactors-platform/ Trending SAP Career News and Guidelines Thu, 11 Dec 2025 09:06:40 +0000 en-US hourly 1 https://wordpress.org/?v=6.9 https://www.erpqna.com/wp-content/uploads/2021/11/cropped-erpqna-32x32.png SAP SuccessFactors platform Archives - ERP Q&A https://www.erpqna.com/category/sap-successfactors/sap-successfactors-platform/ 32 32 Fast-Track Your Career with the SAP C_THR92_2505 Exam https://www.erpqna.com/leverage-sap-c_thr92_2505-certification-for-career-growth/?utm_source=rss&utm_medium=rss&utm_campaign=leverage-sap-c_thr92_2505-certification-for-career-growth Wed, 18 Jun 2025 09:39:05 +0000 https://www.erpqna.com/?p=91090 Boost your career with SAP C_THR92_2505 certification—master People Analytics, gain global recognition, and unlock higher earning potential.

The post Fast-Track Your Career with the SAP C_THR92_2505 Exam appeared first on ERP Q&A.

]]>
SAP certifications are globally recognized as pivotal stepping stones in career advancement. Among these, the SAP C_THR92_2505 certification stands out, offering a specialized pathway into the world of SAP SuccessFactors People Analytics. This certification not only validates your skills but also opens up new vistas of career opportunities. In this comprehensive guide, we’ll explore the manifold benefits of achieving this certification and how it can be a game-changer in your professional journey.

What is SAP C_THR92_2505 Certification?

The SAP Certified Associate – Implementation Consultant – SAP SuccessFactors People Analytics: Reporting (C_THR92_2505) is designed for professionals seeking to prove their expertise in deploying and managing SAP’s innovative analytics solutions. This certification examines your skills in setting up and customizing SAP SuccessFactors People Analytics, making you a valuable asset to any enterprise using SAP HR solutions.

Benefits of SAP C_THR92_2505 Certification

Achieving the SAP C_THR92_2505 certification can be transformative for your professional career in multiple ways. This certification not only confirms your expertise in SAP SuccessFactors People Analytics but also sets you up for continued success and stability in the dynamic field of human resources and data analytics. Let’s delve into the tangible and strategic benefits of obtaining this prestigious certification:

1. Recognition of Expertise

  • Industry Credibility: Certified individuals are often viewed as more credible and knowledgeable, making you a preferred candidate for potential employers.
  • Professional Validation: This certification serves as an official endorsement of your technical skills and understanding of SAP systems, which is crucial in a competitive job market.

2. Career Advancement

  • Access to Higher Roles: Statistics show that individuals with specialized certifications like C_THR92_2505 are more likely to be considered for senior and managerial roles within organizations.
  • Career Mobility: With this certification, you are better positioned to take advantage of career opportunities across various industries that utilize SAP SuccessFactors, thus broadening your career path.

3. Increased Earning Potential

  • Salary Boost: According to industry surveys, SAP certified professionals can see a salary increase of up to 20% compared to their non-certified peers.
  • Job Security: In a survey by Pearson VUE, 91% of hiring managers stated that certification is a crucial factor for hiring decisions, which enhances job security for certified professionals.

4. Networking Opportunities

  • Professional Networking: Becoming SAP certified opens doors to exclusive networking groups and professional communities that can provide support, insights, and opportunities.
  • Global Recognition: The SAP certification is recognized worldwide, which means you can leverage it for opportunities and professional connections globally.

5. Continuous Learning and Development

  • Stay Current: This certification ensures that you are up-to-date with the latest functionalities and best practices in the field of people analytics.
  • Professional Growth: It encourages continuous learning and professional development, which is essential for staying relevant in the fast-evolving tech landscape.

6. Enhanced Confidence and Credibility

  • Personal Achievement: Achieving a certification can significantly boost your confidence in your professional abilities.
  • Enhanced Credibility: It also increases your credibility among peers and management, making you a key player in strategic decision-making processes.

How is SAP Certification a Fate-Changer?

Earning the SAP C_THR92_2505 certification can dramatically transform your career trajectory. Here’s how this certification can be a game-changer:

Career Advancement

  • Opens Doors to New Opportunities: Certified individuals are often preferred for advanced roles in analytics and HR, accelerating career progression.
  • Enhanced Job Roles: Certification qualifies you for specialized roles that are integral to strategic decision-making in organizations.

Increased Earning Potential

  • Higher Salary Prospects: On average, SAP certified professionals earn up to 20% more than their non-certified counterparts.
  • Greater Job Security: Being certified can significantly enhance job security, with many employers viewing SAP certifications as a mark of genuine expertise and commitment.

Strategic Influence

  • Decision-Making Impact: With specialized knowledge in People Analytics, you’ll play a crucial role in shaping your organization’s strategic initiatives through data-driven insights.
  • Improved Business Outcomes: Your skills will directly contribute to optimizing workforce strategies and improving overall business performance.

Professional Recognition

  • Industry Credibility: This certification is recognized globally, enhancing your professional credibility and visibility in the industry.
  • Networking Opportunities: Access to a network of other SAP professionals, which can lead to mentorship opportunities and deeper industry connections.

Need Help Prepping for the SAP C_THR92_2505 Exam?

Preparing for the SAP C_THR92_2505 exam effectively requires a structured approach and access to the right resources. Here’s a strategic plan to help you gear up for this pivotal certification:

1. Official Training Course

  • Course Title: Configuring SAP SuccessFactors People Analytics
  • Duration: This official training is 20 hours long, designed to provide in-depth knowledge and hands-on experience with the software.
  • Purpose: It equips you with the necessary skills and understanding to implement SAP SuccessFactors People Analytics successfully.

2. Review the Official Syllabus:

  • Detailed Study: Begin your preparation journey by thoroughly reviewing the official syllabus, which outlines all the critical areas you need to master. Access it here.

3. Take Online Practice Exams:

  • Simulation Tests: Regularly taking online practice exams, such as those offered by ERPPrep, will help you assess your readiness and identify areas where further study is needed. Prepare to succeed!

Conclusion

The SAP C_THR92_2505 certification is more than just an exam; it’s a gateway to new professional heights. By earning this certification, you not only prove your expertise in SAP SuccessFactors People Analytics but also enhance your potential for career growth. Start your journey today and shape a triumphant professional future.

FAQs

1. What is the SAP C_THR92_2505 Certification?

  • It is a certification for SAP SuccessFactors People Analytics: Reporting, aimed at consultants implementing this solution.

2. How can the SAP C_THR92_2505 Certification advance my career?

  • It recognizes your expertise, leading to better job prospects and higher salaries in the field of HR analytics.

3. Where can I find resources to prepare for the SAP C_THR92_2505 Exam?

  • Resources are available at ERPPrep, including practice tests and exam syllabus details.
Rating: 5 / 5 (2 votes)

The post Fast-Track Your Career with the SAP C_THR92_2505 Exam appeared first on ERP Q&A.

]]>
Filtering Data Dynamically in SAP CPI using XSLT Mapping https://www.erpqna.com/filtering-data-dynamically-in-sap-cpi-using-xslt-mapping/?utm_source=rss&utm_medium=rss&utm_campaign=filtering-data-dynamically-in-sap-cpi-using-xslt-mapping Sat, 19 Aug 2023 06:16:58 +0000 https://www.erpqna.com/?p=76912 You may have encountered various scenarios where you configured more than three filters and created different paths yet performed the same task in all these paths. The first filter has the department equal to HR, while the others correspond to Finance, Sales, and Audit, respectively. Even though the data processing occurs in different paths, the […]

The post Filtering Data Dynamically in SAP CPI using XSLT Mapping appeared first on ERP Q&A.

]]>
You may have encountered various scenarios where you configured more than three filters and created different paths yet performed the same task in all these paths. The first filter has the department equal to HR, while the others correspond to Finance, Sales, and Audit, respectively. Even though the data processing occurs in different paths, the same task is being executed in each path.

Complex Integration

As you can see above, the integration appears complex. The architect responsible for the integration would be able to debug it, but it might be a bit time-consuming for other architects to understand the process of the above integration. Validating all the integration steps, by reviewing each one and either removing or adding filter criteria, would also increase the complexity of the integration.

It will also impact the performance of the integration, as it involves multiple steps that need to be executed. This will subsequently increase the processing time of the integration. The API calls made by the above integration will raise the load on the SuccessFactors system due to multiple API calls being made for performing the same task.

Simplified Integration

Solution:

To reduce the complexity of integration and decrease the processing time, as well as to alleviate the load on the SuccessFactors API, we can utilize the ‘XSLT Mapping’ function within the integration. This function enables us to filter data, map fields, and execute necessary distinct functions.

What is XSLT Mapping?

XSLT (Extensible Stylesheet Language Transformations) mapping in SAP CPI refers to the process of using XSLT to transform and map data between different formats during integration scenarios. XSLT is a language used to transform XML documents into various formats.

In the context of SAP CPI, XSLT mapping allows you to:

  1. Transform Data: Convert XML data from the source format to the target format using XSLT templates. This is particularly useful when you need to map data from one XML structure to another.
  2. Perform Complex Mapping: XSLT provides a powerful way to perform complex transformations, conditional mapping, and data enrichment during integration.

Overall, XSLT mapping is a powerful tool in SAP CPI that enables you to manage complex data transformations and mappings in integration scenarios, easing seamless communication between different systems with varying data formats.

Methodology:

In this scenario, we are going to filter out cost centers and calculate the sum of course costs for all the users, storing it as Total Cost. Generally, most customers have multiple cost centers within their organization, and many new cost centers are created and removed from the system at regular intervals.

Ideally, it is not feasible to have multiple filters and add them manually when new cost centers are created or deleted post Go-Live.

We are going to use “group by” function which is a mechanism in XSLT mapping that allows you to group and aggregate data based on specific criteria. This is particularly useful when you’re dealing with XML data and need to perform operations on grouped data sets.

Here’s how the “group by” function works in XSLT within the context of SAP CPI:

  1. Grouping Data : The “group by” function lets you group XML elements based on a common attribute or element value. This means that elements with the same value for the specified attribute or element are treated as a group.
  2. Aggregating Data : Once the data is grouped, you can use aggregate functions (like sum, count, average, etc.) to perform calculations on the elements within each group. This allows you to calculate values for each group separately.
  3. Output Transformation : After grouping and aggregating, you can define how the resulting grouped and aggregated data should be transformed into the desired output format.

Here’s a simplified example of how you might use the “group by” function in XSLT within SAP CPI:

<!-- Group employees by Cost Center -->
<xsl:for-each-group select="{Entity Name} /{Entity Name}" group-by="{Enter Field to Filter}">
                <CostCenter ><xsl:value-of select="current-grouping-key()" /></CostCenter>
<!-- Calculate the Total Cost within the Cost Center -->
                <Total_Cost><xsl:value-of select="sum(current-group()/{Enter Field to Sum})"/></Total_Cost>

Suppose you have the below input XML data having Cost Center Details:

Input XML :
<CostDetails>
    <CostDetails>
        <externalCode>1982</externalCode>
        <cust_costcenter>3748</cust_costcenter>
        <course_cost>960</course_cost>
    </CostDetails>
    <CostDetails>
        <externalCode>1984</externalCode>
        <cust_costcenter>3748</cust_costcenter>
        <course_cost>850</course_cost>
    </CostDetails>
    <CostDetails>
        <externalCode>1986</externalCode>
        <cust_costcenter>3746</cust_costcenter>
        <course_cost>740</course_cost>
    </CostDetails>
    <CostDetails>
        <externalCode>1988</externalCode>
        <cust_costcenter>3746</cust_costcenter>
        <course_cost>630</course_cost>
    </CostDetails>
</CostDetails>

If you want to group the cost centers and calculate the cost of the course for each user, you could use the following XSLT code for your requirements.

Code :
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
        <output>
            <xsl:for-each-group select="CostDetails/CostDetails " group-by="cust_costcenter">
                <Center><xsl:value-of select="current-grouping-key()"/></Center>
                <Total_Cost><xsl:value-of select="sum(current-group()/course_cost)"/></Total_Cost>
                <employees>
                    <xsl:for-each select="current-group()">
                        <employee>
                            <userId><xsl:value-of select="externalCode "/></userId>
                            <cost><xsl:value-of select="course_cost"/></cost>
                            <costcenter><xsl:value-of select="cust_costcenter"/></costcenter>
                        </employee>
                    </xsl:for-each>
                </employees>
            </xsl:for-each-group>
        </output>
    </xsl:template>
</xsl:stylesheet>	

The response payload below has filtered 2 cost centers, calculated the cost of the course, and provided us with the required output.

Output XML :
<?xml version="1.0" encoding="UTF-8"?>
<output>
    <Center>3748</Center>
    <Total_Cost>1810</Total_Cost>
    <employees>
        <employee>
            <userId>1982</userId>
            <cost>960</cost>
            <costcenter>3748</costcenter>  
        </employee>
        <employee>
            <userId>1984</userId>
            <cost>850</cost>
            <costcenter>3748</costcenter>   
        </employee>
    </employees>
    <Center>3746</Center>
    <Total_Cost>1370</Total_Cost>
    <employees>
        <employee>
            <userId>1986</userId>
            <cost>740</cost>
            <costcenter>3746</costcenter>   
        </employee>
        <employee>
            <userId>1988</userId>
            <cost>630</cost>
            <costcenter>3746</costcenter>
        </employee>
    </employees>
</output>

Scenario 2:

If you want to apply a filter within another filter, you can perform a ‘group by’ operation on both the cost center and status in XSLT mapping. To achieve this, you can utilize nested ‘’ elements for each level of grouping.

<!-- Within each Cost Center, group by Status -->
          <xsl:for-each-group select="current-group()" group-by="{Enter Field to Filter}">
                    <Status><xsl:value-of select="current-grouping-key()" /></Status>

Suppose you have the below input XML data having Cost Center Details and Status:

Input XML :
<CostDetails>
    <CostDetails>
        <externalCode>1982</externalCode>
        <course_status>Active</course_status>
        <cust_costcenter>3748</cust_costcenter>
        <course_cost>960</course_cost>
    </CostDetails>
    <CostDetails>
        <externalCode>1984</externalCode>
        <course_status>Active</course_status>
        <cust_costcenter>3748</cust_costcenter>
        <course_cost>550</course_cost>
    </CostDetails>
    <CostDetails>
        <externalCode>1981</externalCode>
        <course_status>Completed</course_status>
        <cust_costcenter>3748</cust_costcenter>
        <course_cost>950</course_cost>
    </CostDetails>
    <CostDetails>
        <externalCode>1983</externalCode>
        <course_status>Completed</course_status>
        <cust_costcenter>3748</cust_costcenter>
        <course_cost>250</course_cost>
    </CostDetails>
    <CostDetails>
        <externalCode>1986</externalCode>
        <course_status>Completed</course_status>
        <cust_costcenter>3746</cust_costcenter>
        <course_cost>740</course_cost>
    </CostDetails>
    <CostDetails>
        <externalCode>1988</externalCode>
        <course_status>Completed</course_status>
        <cust_costcenter>3746</cust_costcenter>
        <course_cost>630</course_cost>
    </CostDetails>
    <CostDetails>
        <externalCode>1987</externalCode>
        <course_status>Active</course_status>
        <cust_costcenter>3746</cust_costcenter>
        <course_cost>330</course_cost>
    </CostDetails>
    <CostDetails>
        <externalCode>1989</externalCode>
        <course_status>Active</course_status>
        <cust_costcenter>3746</cust_costcenter>
        <course_cost>430</course_cost>
    </CostDetails>
</CostDetails>

The XSLT code will group employees first by cost center and then within each cost center, group them by status. It calculates the total cost for each status within the cost center and outputs a structured XML accordingly.

Code :
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
        <output>
            <xsl:for-each-group select="CostDetails/CostDetails " group-by="cust_costcenter">
                <Center><xsl:value-of select="current-grouping-key()"/></Center>
                <xsl:for-each-group select="current-group()" group-by="course_status">
                    <Status><xsl:value-of select="current-grouping-key()"/></Status>
                    <Total_Cost><xsl:value-of select="sum(current-group()/course_cost)"/></Total_Cost>
                    <employees>
                        <xsl:for-each select="current-group()">
                            <employee>
                                <userId><xsl:value-of select="externalCode "/></userId>
                                <cost><xsl:value-of select="course_cost"/></cost>
                                <costcenter><xsl:value-of select="cust_costcenter"/></costcenter>
                                <status><xsl:value-of select="course_status"/></status>
                            </employee>
                        </xsl:for-each>
                    </employees>
                </xsl:for-each-group>
            </xsl:for-each-group>
        </output>
    </xsl:template>
</xsl:stylesheet>

As you can see below, the XSLT performed the ‘group by’ function for both the Cost Center and Status successfully.

Output XML :
<?xml version="1.0" encoding="UTF-8"?>
<output>
    <Center>3748</Center>
    <Status>Active</Status>
    <Total_Cost>1510</Total_Cost>
    <employees>
        <employee>
            <userId>1982</userId>
            <cost>960</cost>
            <costcenter>3748</costcenter>
            <status>Active</status>
        </employee>
        <employee>
            <userId>1984</userId>
            <cost>550</cost>
            <costcenter>3748</costcenter>
            <status>Active</status>
        </employee>
    </employees>
    <Status>Completed</Status>
    <Total_Cost>1200</Total_Cost>
    <employees>
        <employee>
            <userId>1981</userId>
            <cost>950</cost>
            <costcenter>3748</costcenter>
            <status>Completed</status>
        </employee>
        <employee>
            <userId>1983</userId>
            <cost>250</cost>
            <costcenter>3748</costcenter>
            <status>Completed</status>
        </employee>
    </employees>
    <Center>3746</Center>
    <Status>Completed</Status>
    <Total_Cost>1370</Total_Cost>
    <employees>
        <employee>
            <userId>1986</userId>
            <cost>740</cost>
            <costcenter>3746</costcenter>
            <status>Completed</status>
        </employee>
        <employee>
            <userId>1988</userId>
            <cost>630</cost>
            <costcenter>3746</costcenter>
            <status>Completed</status>
        </employee>
    </employees>
    <Status>Active</Status>
    <Total_Cost>760</Total_Cost>
    <employees>
        <employee>
            <userId>1987</userId>
            <cost>330</cost>
            <costcenter>3746</costcenter>
            <status>Active</status>
        </employee>
        <employee>
            <userId>1989</userId>
            <cost>430</cost>
            <costcenter>3746</costcenter>
            <status>Active</status>
        </employee>
    </employees>
</output>
Rating: 0 / 5 (0 votes)

The post Filtering Data Dynamically in SAP CPI using XSLT Mapping appeared first on ERP Q&A.

]]>
Principal Propagation (Run a Step on Behalf of) in SAP Build Process Automation https://www.erpqna.com/principal-propagation-run-a-step-on-behalf-of-in-sap-build-process-automation/?utm_source=rss&utm_medium=rss&utm_campaign=principal-propagation-run-a-step-on-behalf-of-in-sap-build-process-automation Wed, 28 Jun 2023 11:08:32 +0000 https://www.erpqna.com/?p=75833 Introduction: With the latest release of SAP Build Process Automation, you can now allow other business users who participate in the business process to perform an action on external systems, such as S/4HANA, Ariba, or SuccessFactors. This feature also provides clear information on who triggered a business process in the system . Pre-requisites: You can […]

The post Principal Propagation (Run a Step on Behalf of) in SAP Build Process Automation appeared first on ERP Q&A.

]]>
Introduction:

With the latest release of SAP Build Process Automation, you can now allow other business users who participate in the business process to perform an action on external systems, such as S/4HANA, Ariba, or SuccessFactors. This feature also provides clear information on who triggered a business process in the system .

Pre-requisites:

You can enable principal propagation by setting Run step on behalf of field of Action and Subprocess activity with preceding step. Details will be explained subsequently.

What is Principal Propagation?

Principal propagation forwards the identity of cloud users to a remote system or service (Cloud Foundry environment).

The Destination services let you forward the identity of a cloud user to a remote system. This process is called principal propagation (also known as user propagation or user principal propagation). It uses a JSON Web token (JWT) as exchange format for the user information.

The Destination service provides a secure way of forwarding the identity of a cloud user to another remote system or service using a destination configuration with authentication type OAuth2SAMLBearerAssertion. This enables the cloud application to consume OAuth-protected APIs exposed by the target remote system.

Supported scenarios:

  • Cloud to on-premise (using the Connectivity service)
  • Cloud to Cloud (using the Destination service).
  • Scenario: Cloud to On-Premise: The user is propagated from a cloud application to an on-premise system using a destination configuration with authentication type Principal Propagation.
  • Scenario: Cloud to Cloud: The user is propagated from a cloud application to another remote (cloud) system using a destination configuration with authentication type OAuth2SAMLBearerAssertion.
    In this blogpost ,I would cover the use cases related to the scenario Cloud to Cloud.

Scenario Cloud to Cloud:

Use Cases: Cloud to Cloud

  • User Propagation from the Cloud Foundry Environment to SAP S/4HANA Cloud
  • User Propagation between two Cloud Foundry Applications
  • User Propagation from the Cloud Foundry Environment to SAP SuccessFactors

Configuration steps:

Now ,let’s see the use cases in detail.

Use Case- 1: Execute Principal propagation end to end in from CF to SAP S/4HANA Cloud

Steps:

Configure Destination in SAP BTP cockpit

Configured OAuth2SAMLBearerAssertion Destination
  • Create a business Project.
Create Project
  • Create a process with a subprocess, which will be configured to be executed by the preceding approver using principal Propagation mechanism.
Model a process
  • Click on the subprocess and select Form user as ‘Run step on behalf of’ section in Subprocess’s side panel.
map Run step on behalf of field
  • Configure the subprocess to create business partner by connecting to S4 system. Click on the action in the subprocess and select ‘Process Start’ as ‘Run step on behalf of’ section.
Add an action to connect to S4 system
  • Release and deploy the project with the below destination (as configured above)
Deploy process
  • Trigger the process from Monitor tab with relevant payload.
  • Open ‘Process and Workflow’ section and search for the triggered process instance.
Workflow instance in Monitor tab
  • Check if the subprocess is executed by the user who submitted the form as ‘Run step on behalf of’ was selected as ‘Approver’.
Subprocess started by the propagated Approver user
Action inside subprocess executed by Propagated user

Use Case- 2: Execute Principal Propagation E2E from One Cloud Foundry environment to another Cloud Foundry environment

Concept:

  • User logs in to the cloud application. Its identity is established by an identity provider.
  • When the application retrieves an OAuthSAMLBearer destination, the user is made available to the Destination Service by means of a user exchange JWT.
  • The service then wraps the user identity in a SAML assertion, signs it with the SubAccount’s private key and sends it to the specified OAuth token service.
  • The OAuth token service accepts the SAML assertion and returns an OAuth access token. In turn, the Destination service returns both the destination and the access token to the requesting application.
  • The application uses the destination properties and the access token to consume the remote API.

Logical Flow of execution:

  • Ensure BTP Cockpit access in Source (Sub-account 1) for Configuring destination, download trust certificate.
  • Ensure BTP Cockpit access in Target (Sub-account 2) for adding trust, spa instance to get Client ID & Secret.
  • Create, release, deploy a process in Target account. Fetch workflow instance api endpoint and payload from monitor tab.
  • Create an action using the below json file in Source SubAccount (which will be triggered using the above fetched payload in runtime).
  • Create destination in source sub-account same way as mentioned in earlier hyperlink.
  • Add trust configuration in Target Sub-account and add the user’s ID as user with required roles in the trust profile.
  • Set PP user from source account to the action’s Side Panel.
  • Create, release, deploy process with the created destination with above action setup in Source account.
  • Start WF instance with the above fetched payload.
  • Watch over the execution log in Source account monitor tab.

Logical flow of Setting up outbound communication channel access for the user:

  • Create Administrator account
  • Create Communication user [e.g Client ID & Secret]
  • Setup communication system using the trust certificate from Source cloud environment.
  • Specify inbound/outbound communication mode.
  • Setup communication arrangement, to what service I want access.
  • Setup Authentication- OAuth
  • Update destination with OAuth details

Steps:

Configure destination in SAP BTP Cockpit

Configured destination of type ‘OAuth2SAMLBearerAssertion'
  • Create a business project.
Create project
  • Create a process and select Run step on behalf of field as preceding approver.
Model process and set Run step on behalf of
  • Configure an action to create workflow instance. This action will be used to call a deployed project instance in another CF environment.
Action editor to create workflow instance
  • Release and deploy project with the below destination.
Deploy the process
  • You can look for principal propagation reference in the deployed model for the activity where user has been propagated to execute the activity on behalf of.
principalPropagationRef in deployed workflow model
  • Create any process in ‘Another environment’ and release, deploy it.
  • Note down the workflow definition ID from TRIGGER section in Monitor tab.
  • Trigger the process by submitting the trigger form and provide relevant inputs.
Submit the trigger form
  • The propagated user from the action’s ‘Run on behalf of’ section has successfully executed the workflow definition corresponding to a deployed process in other CF environment using the configured destination.
Propagated user executed the workflow definition for a deployed process from other CF environment

Use Case- 3: Principal Propagation from Cloud foundry environment to SAP SuccessFactors

Business user want to propagate the identity of the user mapped for Principal Propagation to an action that invokes API of SAP SuccessFactors.

Rating: 0 / 5 (0 votes)

The post Principal Propagation (Run a Step on Behalf of) in SAP Build Process Automation appeared first on ERP Q&A.

]]>
SAP Build App to Present Data from Multiple Source Systems https://www.erpqna.com/sap-build-app-to-present-data-from-multiple-source-systems/?utm_source=rss&utm_medium=rss&utm_campaign=sap-build-app-to-present-data-from-multiple-source-systems Mon, 19 Jun 2023 11:54:05 +0000 https://www.erpqna.com/?p=75539 The SAP Build portfolio combines our low code solutions which enable users of all skill levels to easily create and augment business applications. The unified low-code solution portfolio empowers users to create applications, automate tedious processes, and design engaging business sites with drag-and-drop simplicity. What is SAP Build Apps? SAP Build Apps is SAP’s low-code […]

The post SAP Build App to Present Data from Multiple Source Systems appeared first on ERP Q&A.

]]>
The SAP Build portfolio combines our low code solutions which enable users of all skill levels to easily create and augment business applications. The unified low-code solution portfolio empowers users to create applications, automate tedious processes, and design engaging business sites with drag-and-drop simplicity.

What is SAP Build Apps?

SAP Build Apps is SAP’s low-code no-code platform to create apps for the Web and native mobile use. As an evolution of SAP AppGyver, it now has multiple backend capabilities. Business users can confidently build enterprise-grade apps that work seamlessly across all operating systems – all without writing a single line of code. Professional developers will reduce coding effort in the creation of complex data models and business logic and enjoy a significant boost in productivity.

What scenario we are covering?

Best Run Bikes company has multiple systems like the SAP Gateway server, SAP SuccessFactors and other odata based backend systems to run their day-to-day business operations. The company now has requirement to consume all of this data through a simple mobile App.

We can build such Apps quickly now with low-code! Yes, you heard it right!

This simple blog post helps you get an understanding into how data from multiple sources can be fetched and presented using a simple SAP Build App on SAP Business Technology Platform (BTP). By bringing data from SAP Gateway system, SAP SuccessFactors, Odata / Rest based sources and Visual cloud functions, we can enable enterprise-wide processes, experiences, and insights all at one place using SAP Build Apps.

This blog post covers –

  • Creating Visual cloud Functions backend and consume them in a SAP Build Apps frontend.
  • Consume Data from SAP ES5 Gateway server.
  • Bring data from Odata based sources.
  • Present Data from SAP SuccessFactors.
  • Create an App that presents all this data from different sources at one place.

Below are the high-level steps involved in realizing this App.

Let’s get started to see how we can build this App in a few simple steps.

Section I: Create a Homepage(Landing Page) for the App

Let’s create a landing page for our App. The Lading Page will have the Company Name as the heading, an image of the company or a logo along with four buttons. The layout of the lading page is given below –

The App fetches Customer details from the Visual Cloud Functions backend, Business Partners details from ES5 Gateway system, Orders details from northwind odata service and Employee Details from SAP SuccessFactors.

To Create the lading page, go the Build Apps Lobby, then select Build an Application tile.

Specify a name and description to the project.

The Page by default, will have a title and a text element.

Remove the Text element and adjust the title to “Best Run Bikes all in one App”.

Add an image component into the page and specify the image source as shown below –

Add a button component.

Change the Button property to display “BR Customers”. Adjust the button’s height and width to make it look like a tile.

Similarly, add 3 more buttons and change the properties for BR Business Partners, BR Orders and BR Employees buttons.

Section II: Create Visual Cloud Functions backend and link it to customers tile on the Home Page

It’s time for us to create a visual cloud functions backend in SAP Build Apps for referencing it as a backend for customers page.

Go to the SAP Build lobby and click on the create button.

Select the option Build an Application.

From the available options, select Application Backend to start the creation of Visual cloud functions.

Specify a name and description to the project.

I have entered the project name as BestRun_VCF_Backend and a description as shown in the screenshot.

Click create button upon entering the name and description.

Click on the create new button to add a New entity.

Specify a name and description for the new entity.

Click on Add new to add a field to the Customers entity. I have added CustID of field type Text as the first filed.

Specify a title to the field and choose a field type as applicable.

Similarly add other fields to the entity. I have added CustID, CustName, CustCountry and CustAmount fields.

Save the entity created.

Similarly, based on the requirements you can add more entities.

Finally deploy the entity to be able to consume it in the Build Apps front-end.

Deployment will take some time.

Upon successful deployment, we will see the message indicating the entity is deployed.

Let’s enter sample data into our customers entity. To achieve this, click on the browse data option present in the options against the entity.

Click on the button New Record.

Enter the values for the entity.

You can see the row entered upon adding the new record.

Repeat this process to add multiple rows based on your requirements.

To use the Visual Cloud Functions backed as Data source for our customers page, go to the Data tab in SAP Build.

Both Cloud Functions and BTP destinations buttons are greyed out. To use the Visual Cloud functions backend and BTP destinations as data sources, we need to enable SAP BTP Authentication. Head to the Authentication tab to accomplish this.

After Clicking on Enable Authentication, we will see the below authentication methods.

Select SAP BTP Authentication and then click on OK button.

Go to the Data tab again to add the Integration. Click on Add Integration.

Now the buttons Cloud functions and BTP destinations are enabled as we have set up the BTP Authentication.

Click on Cloud Functions to see the BestRun_VCF_backend – Visual Cloud functions based backend that we have created.

After Clicking on the BR cloud function, we will see the Customers Entity. Click on Install Integration.

Now select the Customers entity and then click on Enable Data Entity.

The customers entity gets enabled as shown below.

Let’s add a page for Customers now. Click on Add New Page.

Specify a name to the Page and then click OK.

Adjust the page title to display BestRun Customers.

Go to the components marketplace and look for Basic list component.

Select Basic List and then click on Install.

Add the Basic list from the installed components tab into the BR Customers page. Select the basic list and then click on the Configure button to bind it to the Customers entity.

Select the Customers entity.

Do the field configuration of basic list using the fields from Customers entity.

Save the page settings.

Add a Back button below the basic list on click of which we will get navigated to the home / landing page.

Now we need to link the BR Customers button on the Home page to the BestRun Customers page.

Click on the Add Logic to Home PAGE option to add this navigation between the pages.

Add Open Page component from the Logic Canvas and link it to the BR Customers Page.

Save the page, click on the launch option to test the working of the home page to BestRun Customers Page navigation.

Section III: Configure Destination for SAP ES5 Gateway system and link it to Business Partners tile on the Home Page

Now let’s get the Business Partner data from ES5 Gateway system.

Refer to this Developer Tutorial to get an account on the SAP Gateway Demo System

To fetch business partners list from ES5 system, Create a destination for ES5 system in SAP BTP Cockpit.

Go to the data tab of SAP Build Apps, to Add Integration to this ES5 destination.

From the available options, select BTP destinations.

You will get to see the destination that was created for ES5.

Click on ES5_VR destination to see all the available Data entities in ES5. From the list of entities, select BusinessPartner Set and then click on Install Integration.

Select the BusinessPartners Set and click on Enable Data Entity.

BusinessPartner Set entity gets enabled.

Let’s add a new page to present Business Partners Data. Click on Add new Page.

Specify a name to the page and then click on OK.

Remove the text element and then adjust the title to display BR Business Partners.

Install table component from the components marketplace.

Add the table component into the Businees Partners Page.

Select the table component and then select configure button in the properties section to bind the table to the Business Partners Set.

Select Business Partner Set.

Select the columns to be displayed in the table and order them based on your requirements.

Add a Back button below the table on click of which we will get navigated to the home / landing page.

Now we need to link the BR Business Partners button on the Home page to the BestRun Business Partners page.

Click on the Add Logic to Home PAGE option to add this navigation between the pages.

Link Home page to the BestRun Business Partners page using Open Page component.

Click on the Launch tab to test the working of Business Partners Page.

Select preview your App to see the Business Partners details.

Section IV: Integrate Northwind Odata as a backend and link it to Orders tile in the Home Page

It’s now time to set the configurations for Orders Page in our App.

Go to the Data Tab.

Select Odata Integration under Build Apps classic data entities.

Add northwind odata url under Base API URL.

Verify URL.

Select Orders entity.

Click on save data resources.

Let’s add a new page to display order details in our App.

Set the title for the page as BetRun Orders.

Add a basic list into the page.

Click on configure to bind the orders entity and the basic list.

Select Orders.

Complete the necessary field Configuration.

Add a Back button below the basic list on click of which we will get navigated to the home / landing page.

Now we need to link Orders page and Home page. Click on the Add Logic to Home PAGE option to add this navigation between the pages.

Let’s preview the app by clicking on the launch tab.

Click on Open Preview Portal to display the order details.

Section V: Configure SF Destination to fetch employee details and link it to Employees tile in the Home Page

Now lets get the Employee data from SAP SuccessFacators.

To fetch Employees list from SAP SuccessFacators, create a destination for SF system in SAP BTP Cockpit.

Go to the data tab to add the integration.

Select BTP Destinations.

Select the SF Destination created.

Click on install integration.

Select PerPerson entity and click on Enable Data Entity.

PerPerson Entity gets enabled.

Let’s add a new page in our App for listing Employees.

Adjust the title to BestRun Employees.

Add a table component to the page.

Select the table and then click on configure button under the component’s properties.

Select and order the fields to be displayed in the table from PerPerson entity.

Add a Back button below the table on click of which we will get navigated to the home / landing page.

Click on the Add Logic to Home PAGE option to add the navigation between home page and Employees page.

Save the page and then click on Preview your app option under the launch tab.

Wait for the preview of the employees page.

Rating: 0 / 5 (0 votes)

The post SAP Build App to Present Data from Multiple Source Systems appeared first on ERP Q&A.

]]>
How to Avoid Accidental Data Deletion in MDF Portlets https://www.erpqna.com/how-to-avoid-accidental-data-deletion-in-mdf-portlets/?utm_source=rss&utm_medium=rss&utm_campaign=how-to-avoid-accidental-data-deletion-in-mdf-portlets Tue, 14 Mar 2023 10:41:44 +0000 https://www.erpqna.com/?p=72836 The frequent occurrence of accidental data deletion is largely attributed to human error and can result in the loss of critical employee or system data which may cause dominoes effect across the system landscape, and other consequences. While there are remedial measures such as running audit reports and data retrieval to address such incidents, it […]

The post How to Avoid Accidental Data Deletion in MDF Portlets appeared first on ERP Q&A.

]]>
The frequent occurrence of accidental data deletion is largely attributed to human error and can result in the loss of critical employee or system data which may cause dominoes effect across the system landscape, and other consequences. While there are remedial measures such as running audit reports and data retrieval to address such incidents, it is essential to acknowledge that prevention is preferable to cure.

Therefore, organizations should take a proactive approach to prevent such incidents from occurring. Both technical and non-technical measures can be employed, but this article focuses on a technical solution that can prevent accidental data deletion

In this blog post, we’ll discuss how to remove delete option for any custom portlet to avoid accidental data deletion

Let’s delve into two scenarios under each of the options – RBP and Configuration UI – to help you find the best fit for your needs.

Role Based Permissions (RBP):

Let’s start with the RBP option. This option is perfect if you want to grant different permissions for different roles, allowing you to keep the delete option for a few roles and remove it for others. However, keep in mind that this option can be time-consuming as you’ll need to update all the concerned roles with the required permission for the concerned objects.

Scenario 1: Portlet with base object which has effective dating

Lets go through the steps to remove the “Delete” button of the portlet highlighted below

First, make sure to secure your MDF object, head to “Configure Object Definitions,” choose the required object, and update the security section’s fields as highlighted in the screenshot and save the object

Once you’ve secured the object, go to “Manager Permission Roles” to remove the delete option for the concerned role. Open the required role, click on the permission button to see permission settings, and uncheck the delete option in the selected permission category before saving the role.

You’ll no longer see the “Delete” button for the people who have that role.

In scenario 2: Portlet which has a base object with no effective dating

For the portlet which has composite association you can see “Trash” icon for each child record along with the “Delete” button at the bottom portlet as in scenario one

You’ll need to secure both the parent and child objects using “Configure Object Definitions” as in scenario 1

Following parent object has effective date as none and has composite association with child object

Child object has effective dating from parent

Update the security section of both objects as below

Once securing the object go to “Manager Permission Roles” to remove the delete option for concerned role as in scenario 1

As you can see there is no delete option for parent object as it has no effective dating ,its only available for child object. Uncheck delete option for child object and save the role

Unfortunately, the delete permission of the child object only works for the “Trash” icon and not for the “Delete” button of the portlet, as it’s one of the limitations under RBP option for objects without effective dating.

Configuration UI:

If you’re looking for an easier option, the Configuration UI option is the way to go. This option removes the delete option for all roles, saving you the time and effort of updating individual roles. Here we don’t need to perform any of the two steps which performed under RBP option

Scenario 1: Portlet with base object which has effective dating

Go to “Manage Configuration UI,” search for the UI ID created for the base object, click on edit properties and set the delete record field to “No” under control options section and save

This will remove the “Delete” button for all the roles as this change is at the UI level

In scenario 2: Portlet which has a base object with no effective dating

Go to “Manage Configuration UI” and search for Id the UI which you have created for the base object.

Click on edit properties and set the delete record field to “No” under control options section for both parent and child objects

You’ll no longer see both “Trash” icon and “Delete” button for the portlet.

In conclusion, by using one or both of these options, organizations can rest assured that their MDF portlets are safe from accidental deletions. This can help prevent data loss, reduce downtime and ensure that the applications run smoothly. It is important to assess the specific needs and requirements of the application to determine which option or combination of options will provide the best protection for the MDF portlets.

Rating: 0 / 5 (0 votes)

The post How to Avoid Accidental Data Deletion in MDF Portlets appeared first on ERP Q&A.

]]>
Learning License User Types in SAP SuccessFactors Learning https://www.erpqna.com/learning-license-user-types-in-sap-successfactors-learning/?utm_source=rss&utm_medium=rss&utm_campaign=learning-license-user-types-in-sap-successfactors-learning Mon, 13 Feb 2023 10:40:09 +0000 https://www.erpqna.com/?p=72089 SAP SuccessFactors licenses for Learning classify the users into two License user types, “Active” or “Functional”. It is important to classify the users into right type for compliance with the licenses purchased by the customer. Difference between Functional user and Active user: The Learning management system does not differentiate between an Active and Functional User. […]

The post Learning License User Types in SAP SuccessFactors Learning appeared first on ERP Q&A.

]]>
SAP SuccessFactors licenses for Learning classify the users into two License user types, “Active” or “Functional”. It is important to classify the users into right type for compliance with the licenses purchased by the customer.

Difference between Functional user and Active user:

The Learning management system does not differentiate between an Active and Functional User. The License type classification is only used for licensing and reporting reasons.

Who is an Active Learning User?

Employees with active profiles in the system that are not classified as functional are classified as ACTIVE

Who is a Functional Learning User?

Employees and non-employees whose learning history records are recorded within Learning but are not given access to the Learning management system are classified as FUNCTIONAL

Below are few examples of how customers can categorize the users under the two License types.

  • Functional User: Users who are Seasonal, Mastered in SAP HCM, Contractor, Retirees, Former employees with access
  • Active Users: Users who are Full time, Part time, Leave of Absence

A customer can categorize any user as Functional user only if they have purchased the Functional licenses.

How are the Active/Functional users measured?

The License User type is measured by SAP as below:

Active User –

Active user count includes the below criteria :

  • All the users who have ACTIVE status and are not classified as Functional user and not using Learning market place in the LMS
  • ALL users who have one learning history recorded in the Learning system for an external or internal course or have a course enrolled or launched a course on their learning plan

Functional User –

Functional user count includes the below criteria :

  • All the users who have ACTIVE status and are classified as Functional user and not using Learning market place in the LMS
  • All users who have one learning history recorded in the Learning system for an external or internal course or have a course enrolled or launched a course on their learning plan

Methods of updating the License user type

The License User type field on the User record can be updated using any of these methods:

  1. Manual update of License User Types in Learning Administration
  2. Importing License User Types in Learning Administration (Batch Import)
  3. Importing License User Types in Learning Administration (using User Connector)
  4. Updating the Succession data model with Standard element-“LearningLicenseUserType” for sending the License information from Bizx to Learning

1. Manual update of License User Types in Learning Administration

If customers have purchased SAP SuccessFactors Learning external or functional licenses and are using shopping account type or any other custom field in the system to classify the users as external, the user license types must be assigned to the External users as Functional.

Procedure to set License user type:

  • Go to Learning Administration> People> Users
  • Search for the user to find the user with the incorrect license user type and edit the record.
  • In License User Type, select the license type of the user:
    • Active
    • Functional

Search for users and their status

Search Users by Learning License User Type

2. Importing License User Types in Learning Administration (Batch Import)

To update multiple user license types in learning, you may import the user records with the license types .

Procedure:

  • In Learning Administration> System Administration >Tools> Import Data.
  • Select the Record type of User and then select Download Template to download the latest import template.
  • Add the users in the User ID column and add the correct License User Type for the users and save your changes.
  • Select Import Data to import the file updated with records
  • You may import as a background job or choose to run the job immediately or to schedule to run the job.
  • Select Finish.

Note: When adding new users, if license user type value is left blank, the system will default the type to Active.

Import User Data

Download the Import data Template for User import

Import User Data

3. Importing License User Types in Learning Administration (using User Connector)

If the license user type is not maintained in your HRIS, and you would like to update it directly in LMS, you may use the User connector to update the license user type in LMS

For updating license user type of users using User Connector, follow the below steps:

  1. Update the Connector configuration here -System administration > Configuration > System Configuration > Connectors = user.field.mapping.data. LICENSE_USER_TYPE=FUNCTIONAL
  2. Identify User records – Identify the user records to update the Correct License user type
  3. Download the User connector template here-System administration > Connectors > Download connector template> Select User connector
  4. Create the user connector input file with the users and the license type(values are FUNCTIONAL & ACTIVE) and other required fields
  5. Import the User data by placing the input fule in SFTP folder as per the Connector configuration
  6. Run the user connector
  7. Verify the status of the import and the connector results
  8. Check a user record to confirm the user license type is updated as per the file

4. Updating License User Types in SuccessFactors Learning using Employee export job (provisioning)

The Standard element “Learning License User Type” is optional in the Succession Data model by default, hence it must be added to the Succession data table and imported in Provisioning and sync the license user type data with LMS using User connector SF.

There are two options for creating the Learning License User Type in Foundation:

  • Create a custom field in Employee profile
  • Or enable the Standard element “Learning License User Type” in Succession data table.

While you could use custom fields in the SAP SuccessFactors employee profile and map it to the SAP SuccessFactors Learning license user type. However, you cannot use a custom field in SAP SuccessFactors Learning for license type.

Steps to configure:

1. In Provisioning:

Configure the Succession data model by adding the standard element named “Learning License User Type” ) in provisioning as below:

</standard-element>

<standard-element id=”LearningLicenseUserType” max-length=”255″ required=”false” matrix-filter=”false”><label>Learning License User Type</label>

When you import Learning license types, the supported values are “active” and “functional” and their variations. If you enter values other than the listed ones below, they won’t be saved.

ACTIVE, Active, and active.

FUNCTIONAL, Functional, and functional.

2. In SuccessFactors Learning:

To set license type for internal users with the data flows between Foundation (Bizx) and Learning LMS, the new connector parameters have to be set up as below :

System Configuration> Connectors

sfuser.field.mapping.data.LICENSE_USER_TYPE=ACTIVE or FUNCTIONAL (case sensitive!)

sfuser.field.transform.data.LICENSE_USER_TYPE.ACTIVE=Active, active

sfuser.field.transform.data.LICENSE_USER_TYPE.FUNCTIONAL=Functional,functional

sfuser.connector.defaultValue.LICENSE_USER_TYPE=ACTIVE

Learning Analytics for measuring the Active and Functional users

LMS Usage Metrics Report in LMS shows the number of Active /Functional users in the system along with users using Opportunity marketplace. This report can be used for audit purposes and comparing the Number of user types against the license user types purchased by the customer.

All Functional users with active profiles in the system are audited against the number of Functional licenses purchased by the customer

All Active users with active profiles in the system are audited against Full licenses purchased by the customer.

If the customer only has Full licenses, then all internal or functional users with active profiles in the system will be audited against Full licenses purchased by the customer

An Administrator with permissions for this report can run this report to see whether the number of users in the system match your license agreement. It is a good practice for a designated admin to check for compliance by running the Learning usage metrics report periodically.

If you have multiple productive instances, then the report must be run in all the instances and calculate the cumulative number to compare with the licenses purchased.

Note: The report is based on data collected each weekend and stored in LMS. It is not a real time report. Inactive or deleted users are not included in the report.

LMS Usage Metrics Report

I created this blog to present few options available for customers to stay within the license permits and to change the Learning License User Types when they exceed the licenses subscribed to with Partner’s help.

Rating: 0 / 5 (0 votes)

The post Learning License User Types in SAP SuccessFactors Learning appeared first on ERP Q&A.

]]>
Auto Generate Career Path External Code https://www.erpqna.com/auto-generate-career-path-external-code/?utm_source=rss&utm_medium=rss&utm_campaign=auto-generate-career-path-external-code Sat, 11 Feb 2023 04:58:48 +0000 https://www.erpqna.com/?p=72073 Purpose: In this blog, the user will learn how to create system-generated external code for a career path in SAP SuccessFactors Career Development Planning. Career Path: The Career Path displays information about the expected path for a position or various positions. HR managers and HR administrators can create multiple new career paths and associate them […]

The post Auto Generate Career Path External Code appeared first on ERP Q&A.

]]>
Purpose:

In this blog, the user will learn how to create system-generated external code for a career path in SAP SuccessFactors Career Development Planning.

Career Path:

The Career Path displays information about the expected path for a position or various positions.

HR managers and HR administrators can create multiple new career paths and associate them to a given role, as well as restrict employee access to the career paths displayed in the Career Worksheet based on criteria such as role, department, or division. The career paths created are instance wide.

However, many clients need system-generated external code while creating a career path as it’s confusing for the end user to enter a value in the external code field. To meet this requirement, I have found a solution which is explained below in detailed steps, so that if anyone has the same request by the client, they can also benefit from this and fulfill the client’s request.

Create Career Path Screen
Detailed Career Path Screen

Auto-Generated External Code Configuration Steps:

  • Create Sequence: Initially, we need to create a number sequence based on the client’s requirements.

Below are the steps to configure the approval workflow in SAP SuccessFactors:

Admin Center>Employee Files>Manage Data.

Manage Data Screen
Create Sequence Screen
  • Create Business Rule: Once the Sequence is created, the next step is to link this sequence to the business rule.

Below are the steps to create a business rule in SuccessFactors:

Admin Center>Company Settings>Configure Business Rules

Business Rule Screen
Business Rule
  • Assign Business Rule to Career Path Object: The final step is to assign the business rules to the Career Path object.

Below are the steps to assign a business rule to the Career Path object in SuccessFactors:

Home>Company Settings>Configure Object Definition>Select Career Path Object>Edit the object

Configure Object Definition Screen

Go to the “Initialize Rule” field and select the created business rule from the drop-down and hit the “Save” button.

Rule Mapping

Now, as we have completed all the configuration steps. Users can access the Career Path from the Home Navigation drop-down>Development>Career Path

Career Path Screen

Click on the “Create New Career Path” button to see the system-generated external code based on the above configuration.

Create New Career Path Screen

This workaround might keep the client happy since this has been a common ask to generate external code automatically.

Note: These same steps can be followed to auto-generate external code for the talent pool in Succession Planning.

Rating: 0 / 5 (0 votes)

The post Auto Generate Career Path External Code appeared first on ERP Q&A.

]]>
SuccessFactors Alert Message & Message Definitions: Enhance User Experience https://www.erpqna.com/successfactors-alert-message-message-definitions-enhance-user-experience/?utm_source=rss&utm_medium=rss&utm_campaign=successfactors-alert-message-message-definitions-enhance-user-experience Wed, 08 Feb 2023 10:31:51 +0000 https://www.erpqna.com/?p=72042 Introduction User experience has become a critical part of a successful implementation of SuccessFactors projects. One way to help customers increase the user experience is by enhancing alert messages and message definitions. These two functionalities are used to throw error messages, warning messages, or info messages during HR Transactions. Alert messages are highly used to […]

The post SuccessFactors Alert Message & Message Definitions: Enhance User Experience appeared first on ERP Q&A.

]]>
Introduction

User experience has become a critical part of a successful implementation of SuccessFactors projects. One way to help customers increase the user experience is by enhancing alert messages and message definitions. These two functionalities are used to throw error messages, warning messages, or info messages during HR Transactions. Alert messages are highly used to remind certain employees about a specific system event that may require their attention.

In this blog, I’ll provide some examples that you can use or adapt to your current configuration.

Details

Before jumping to the samples, it’s important to understand what can be used in both features to format the text.

  • Alert messages support HTML tags. HTML stands for HyperText Markup Language – it is the standard markup language for web pages. HTML elements are composed of opening tags, content, and closing tags.
  • On the other side, message definitions support BBCode (“Bulletin Board Code”). It is similar to HTML in the sense that BBCode also uses tags to format a specific text or word, but with a different convention.

Sample 1 – E-mail address in Alert Message:

E-mail addresses are defined as per the below tags:

<a href=mailto:”people@bestrun.com”>people@bestrun.com</a>

Let’s decode the above expression:

  • The <a> tag defines a hyperlink, which is used to link from one page to another. In our case, we want to open a new e-mail of our default mail client
  • Next we have the attribute href (stands for “Hypertext Reference”) – this attribute indicates the relationship between pages to search engines. In this case, we want to activate the default mail client on the computer for sending an email – so we use the “mailto” link.
  • The last part is the content that would be displayed in the alert message with the embedded link (marked in bold). For this example, I have used the e-mail itself, but you could have used any other text.
Image from Demo

Sample 2 – URL in Alert Message:

HTML links are defined as per the below tags (HTML):

<a href=”https://www.google.com/” target=”_blank”>here</a>

Let’s decode the above expression:

  • The <a> tag and href element were already clarified above
  • target=”_blank” is used to open the link in a new browser window or tab
Image from Demo

Sample 3 – Tables in Alert Message:

Tables are defined as per the below tags (HTML):

<table style=”width:100%”>
  <tr>
   <th>Document Type</th>
   <th>Renew Start Date</th>
  </tr>
  <tr>
   <td style=”text-align:center”>Permanent Resident </td>
   <td style=”text-align:center”>6 months before exp date</td>
  </tr>
  <tr>
   <td style=”text-align:center”>Conditional Permanent Resident </td>
   <td style=”text-align:center”>90 Days before exp</td>
  </tr>
 </table>

Let’s decode the above expression:

  • <table> – this tag defines the overall table
  • width is an HTML attribute that specifies the width of the element – since I have chosen 100% – it means this table will occupy all available width within my page
  • <tr> – this HTML element defines a row of cells in a table
  • <th> – this HTML element defines a cell as the header of a group of cells
  • <td> – this HTML element defines a standard data cell in a table
  • The text-align property specifies the horizontal alignment of text in an element – since I have used center – it means my content will be displayed horizontally centered in the standard cells
Image from Demo

Sample 4 – Background images in Alert Message:

A background message is defined per the below tags (HTML):

<p style=”background-image: url(‘https://www.sap.com/dam/application/imagelibrary/photos/291000/291639.jpg/_jcr_content/renditions/291639_homepage_3840_1200.jpg.adapt.1920_600.false.false.false.false.jpg/1644994056676.jpg’);”>

(…remaining content…)

</p>

Let’s decode the above expression:

  • The <p> tag defines a paragraph in a webpage and indicates a line change.
  • Next we have the tag <style> – this tag is usually used to define the style of the area or document that you’re currently working on.</p>
  • The last part is the background-image (which is a property that we can define in an HTML element) and the image URL that we would like to display in our HTML element (please be aware that this image should be placed in a public directory accessible through the Public Internet).
Image from Demo

Sample 5 – URL in Message Definition:

Now, let’s take a quick look at how the message definitions can be enhanced using BBCode.

In the below example, I have enhanced the message definition with the following:

  • set the risk level in bold and with a different color;
  • add links to external sites to share more information.

Here you can find the different codes that I used in my example:

Be aware that the country you are visiting has a [b][color=#FF9B4F]moderate[/color][/b] COVID-19 risk. Please check the local guidelines [xurl=https://google.com]here[/xurl] and regulations [xurl=https://www.google.pt]here[/xurl] or reach out to HR.

Tags:

  • [b] – this tag set the specific text in bold
  • [color] – this tag defines the colour of the text. I have used the hexadecimal colour value, but you can use also the colour name
  • [xurl] – this tag creates a hyperlink with the value defined, and it opens it in a new web browser. If you want to open the link on the same web page, you can use the BBCode tag [url].
Image from Demo

Sample 6 – Dynamic Fields in Message Definition:

Another option to increase the user experience in Message Definition is by adding dynamic fields. The dynamic fields can be defined in the Parameters section of the Message Definition creation page.

In my example, I have added the country in curly brackets (since it is my dynamic field) and I have added the parameter country in the Parameters Section.

Image from Demo

The next step is to create a business rule. Once you define the Then statement, the parameter defined in the message definition will be displayed in bold. You just need to select the field that you would like to display – in my case I am picking the name of the GO Country.

Image from Demo

Here you can find the code that I add in the message definition text:

Be aware that {country} has a [b][color=#FF9B4F]moderate[/color][/b] COVID-19 risk. Please check the local guidelines [xurl=https://google.com]here[/xurl] and regulations [xurl=https://www.google.pt]here[/xurl] or reach out to HR

Image from Demo
Rating: 0 / 5 (0 votes)

The post SuccessFactors Alert Message & Message Definitions: Enhance User Experience appeared first on ERP Q&A.

]]>
SuccessFactors 1H 2022 Release in terms of Latest Home Page https://www.erpqna.com/successfactors-1h-2022-release-in-terms-of-latest-home-page/?utm_source=rss&utm_medium=rss&utm_campaign=successfactors-1h-2022-release-in-terms-of-latest-home-page Mon, 25 Apr 2022 09:51:08 +0000 https://www.erpqna.com/?p=62379 SuccessFactors 1H 2022 Release in terms of Latest Home Page There are few notable changes in terms of Latest Home Page in SuccessFactors 1H 2022 release. In this blog we are going to discuss few of the new changes/functionalities in the latest Home Page as per 1H 2022 release. Functionality 1: Addition of new Quick […]

The post SuccessFactors 1H 2022 Release in terms of Latest Home Page appeared first on ERP Q&A.

]]>
SuccessFactors 1H 2022 Release in terms of Latest Home Page

There are few notable changes in terms of Latest Home Page in SuccessFactors 1H 2022 release. In this blog we are going to discuss few of the new changes/functionalities in the latest Home Page as per 1H 2022 release.

Functionality 1: Addition of new Quick Actions – Five new Quick actions have been included. List of new Quick Actions are below.

Sample Home Page Layout for new Quick Actions:

Functionality 2: Custom Cards Grouping – For the custom cards (Organizational Updates) all the custom cards can be grouped into sections. Different folder(s)/Section(s) can be created & under the folder/section different cards can be added. In the below sample Test Folder Group has been created & there are two cards “Card 1” & Test “Card 2” under this folder.

Configuration Screenshot for the custom folder:

Sample Output of the folder:

Functionality 3: Size of custom card – Two different sizes (Full Size & Half Size) are available for the custom cards.

Sample of Full Size & Half Size Cards.

Functionality 4: Use of Icon on custom cards – Icon can be used for the custom cards. Icon based cards are available as half sized cards only.

Sample Icon based Custom card:

Configuration step for Icon based Cards.

Functionality 5: Date Dependent Custom Cards for New Hire (ONB 1.0)– Based on New Hires start date custom card can be made available in the latest home page.

Configuration Screen:

Functionality 6: Supplemental Tasks: supplemented to do items or supplemental task are supported now in the latest home page. Also, there is a functionality which can be used to import the legacy supplemental to do items in the latest homepage.

Categories supported for Supplemental Task under Latest Home Page:

Sample Configuration for Business Approvals Category:

Home Page layout for Supplemental Task:

Functionality 7: Target Group for custom content – Permission Role & Permission Group can now be used as target group for latest home page. Until release 2H 2021 only Dynamic Group was supported. As of now below mentioned contents supports use of permission role/group.

  • Custom cards
  • Custom links available as Favourites
  • Supplemental tasks
  • Custom folders

Sample Screen for Assignment of Role/Group

Functionality 8: As per H1 2022 release it supports 16 instead of 12 visible custom cards in the Latest Home Page.

Rating: 0 / 5 (0 votes)

The post SuccessFactors 1H 2022 Release in terms of Latest Home Page appeared first on ERP Q&A.

]]>
Choosing the Right Budget Configuration for Your Organization https://www.erpqna.com/choosing-the-right-budget-configuration-for-your-organization/?utm_source=rss&utm_medium=rss&utm_campaign=choosing-the-right-budget-configuration-for-your-organization Sun, 27 Mar 2022 07:19:48 +0000 https://www.erpqna.com/?p=61340 Introduction Budgets are arguably one of the most important elements of the Compensation Module configuration. It is where the business needs and requirements meet the module to define set rules that affect downstream guidelines and eligibility for the entire program. The budget can make or break the entire success of the program to ensure that […]

The post Choosing the Right Budget Configuration for Your Organization appeared first on ERP Q&A.

]]>
Introduction

Budgets are arguably one of the most important elements of the Compensation Module configuration. It is where the business needs and requirements meet the module to define set rules that affect downstream guidelines and eligibility for the entire program. The budget can make or break the entire success of the program to ensure that it is compliant with what your organization needs are. Therefore, it is important to understand the options that the system has, along with the limitations, when making configuration decisions with your implementation partner such as Veritas Prime. Additionally, as our organization changes, we may find that we need to shift budget configurations for our templates year to year as things change.

We are going to focus on some of the most common budget configurations we have seen clients pursue and the pros and cons of each to help your organization better determine which is right for you. For some, a pro may be a con and visa versa. Keep all considerations mentioned in mind when researching and discussing options with your implementation partner. The top budget configurations that will be focused on in this blog are:

  • Percent of Current Salary
  • Custom Fields
  • Target Amounts
  • Direct Amounts
  • Budget by Groups
  • Budget on Guidelines

In addition, we will dive into the Guideline Modeling tool in reference to the Budget by Guidelines option.

Budget Options

Before we dive into the various configurations mentioned above, I want to dive into some additional options to consider that are relevant to any budget set up to keep in mind.

Budget Components: the components allow us to select which fields on the worksheet will affect the budget spend. This can be simply the merit field, bonus amount, or any other element you have built into your worksheet for planning. There is the ability to also multiselect which allows us to have multiple fields affect the spend of any single budget. Sometimes we see the same budget for Merit and Adjustments so we can select them both from the component options to accomplish this.

Sample Budget Components

Include Ineligible: Simply put, this option allows us to include ineligible employee data in the budgeted amount. This is specific to each organization and is something to keep in mind to turn on and off based on your requirements.

Prorating: If you are using proration in your template, it is possible to flag whether the proration will affect the budgeted amount given for anyone who is prorated.

Hide Percentage: If there is a need, you can always hide the actual budgeted percentage and only show the amount on the budget pod in the compensation worksheet.

Highlighted Configurable Options

Budget Configurations

Percent of Current Salary

Possibly the most common and SAP best practice configuration, the percentage of current salary allows you to simply take a percentage of all the current employee populations salaries to build a budget amount. It is a very basic and easy set up that allows for quick changes to the percentage year over year by the basic admin.

The configuration is simply setting the mode to PercentofCurSal and entering in the percentage in the budget value as a whole number (i.e., 2 would indicate a budget of 2% of current salary).

Sample Percent of Current Salary Configuration

The configuration is simply setting the mode to PercentofCurSal and entering in the percentage in the budget value as a whole number (i.e., 2 would indicate a budget of 2% of current salary).

Custom Fields

The custom field option allows for a large range of options for that actual output of the budgeted amounts. Typically, we would set up a field, it can be visible or hidden, on the worksheet and point to that field to pick up 100% of that field for the budget. It is important to consider that the amount we are granting is on the employee level, not the planner level. A common use of this is to use a lookup table to find a percentage based on a specific data point (such as country), then multiplying that by current salary. This is a good way to have varying budget percentages based on the varying employee data. One of the biggest considerations is that you will never be able to display the exact percentage for the budget (such as 3%) in the budget pod. With this set up the percent will always display as 100%, alternatively, we can use the hide percentage field and only display the amounts.

The configuration requires us to create a field on the template via Design Worksheet that we can point to for the budget. This can be a calculated field such as the lookup table method described above or an import field if you want to control the amounts via the UDF import per employee. The field should always be of Money type and Reportable. Again, we can choose to display or hide this column on the worksheet.

Sample Custom Field Configuration

Once the field is created and set up, we can use the Column ID from the field to configure the budget and point the field. We will want to set the Mode to PercentOfCustomField and the value to 100 indicating that we want to take 100% of the value coming from the custom field. We will then need to set the Column ID of the field in the Base Custom Field input on the budget to connect to our budget field.

Sample Custom Field Budget Configuration

Target Amounts

To budget based on targets allows us to load a target increase or lump sum amount per employee and use that as the baseline for the budget. This allows for large-scale variation by the individual employee as each employee is loaded with their own target amount. There are standard fields on the User Data File available, such as MERIT_TARGET, that the admin would load with an amount. Based on this amount, we can set the percentage of that amount to be used for the budget. Typically, we would give the exact budget amount and set the budget value percent to 100. This option should only ever be used if we need to get to the granular level of setting budget per employee as it is admin intensive to load and validate the values every process.

The general set up is straightforward for this option as we just need to set to the target mode. There are four different standard target fields and corresponding modes available to be used, Merit Target, Lump Sum Target, Lump Sum 2 Target, and Bonus Target. The standard fields in the User Data File must be used and generated for the configuration to work.

Sample Target Budget Configuration

Direct Amounts

The direct amount feature allows us to set an amount, per compensation planner, to be distributed. This allows for flexibility of varying budgets at the planner level. It is particularly helpful for organizations that follow a top-down budget methodology. There is a lot of set up and work on the admin side to assign individual budgets per planner. If you have a large population of planners intended for the compensation cycle, this can be particularly time consuming. Once the actual budget is set up for the direct amount option, there is an additional budget distribution tool that needs to be utilized to set the budget per planner.

From the basic configuration level, the budget needs to be set to Mode DirectAmount and given a value of 100 and Based On the planner.

Sample Direct Amount Budget Configuration

Once this general configuration is set up, you can dive into the budget distribution options. The tool is located by following Compensation Home > Plan Template > Manage Worksheets > Budget Assignment. You will need to use the plus button in the upper right corner to add each of the planners to assign their budget. You will see the ability to add budget for each planner based on amounts and percent.

Sample Budget Assignment Screen

Budget by Groups

The budget by group feature really combines the ability of the different budget modes while allowing the variation ability of custom field budgets. From a basic perspective, it allows you to create groups, whether that be countries, business units, etc. to give these groups varying budget percentages. The biggest benefit of this option is that you can display the budget percent in the pod unlike the custom field option. When you are displaying the budget from a higher level, you can see a combined budget or break the budgets out by group. Below you can see where we have distributed varying budgeted amounts based on countries and then split those into the country groups.

Sample Budget Display by Groups

The configuration requires us to create the Family and Groups that we assign the budgets for. This is done in the Action For All Plans >> Group Assignment tool. You create the family as the overall budget group to be assigned then the individual groups that employees will be assigned to.

Sample Manage Families and Roles Assignment Page

When you create a new group, you can select it and set the individual budget value assignments.

Sample Budget Group Assignment Page

There are some options to manually assign the groups or do a mass import for the groups. I recommend using groups names for data that can be easily extracted for each employee to make the import option for the groups easy to work with. Once the groups assignment and budget values are set up, we can set the options for the budget assignment on the template. The flexibility comes in here with the ability to do different modes. For this example, we are doing percent of current salary. The budget value should always be 100 to indicate 100% of the group assigned percent. Based on should be set as group and we will then need to use the Family Name field to indicate the family we have just created.

Sample Budget by Group Configuration

Budgets by Guidelines

Guidelines help moderate a program and ensure that planners are staying within the policies set by the compensation team and leadership. Guidelines are typically a range of increase recommendations based on a set of criteria such as the employees Performance Rating and Range Penetration. When we talk about using these guidelines that are set to create a budget, we are referring to the default value of the guideline table to establish budget values by employee. The table must be created first in the tool to then drive the budget. As an example of how this works, you can have a guideline of 3-5% increase for a specific employee and say the default value is 4% of their current salary. One of the biggest challenges when you enter in a default value, is that the field will populate with this recommendation. What this means is our remaining budget for this option will ALWAYS display as $0 upon launching the program. There is one work around to this which requires us to re-enter the values as 0 after launch for every user via Executive Review Import feature.

The configuration is very easy given that the table is created and generated by the admin team with default values. We will talk shortly about the Guideline Modeling tool that can be used to assist the admin in creating guidelines. The key set up of the budget includes setting the mode to Guideline, the value to 100% of the guideline default, and Based on User. One consideration, you do not need to set the value to 100, you could inflate it to give extra budget to give the sense of input and not have the budget default to zero as discussed above.

Sample Budget by Guidelines Configuration

Guideline Modeling

Guideline modeling is a tool that can be used regardless of which budget option you choose. However, I want to highlight the use case particularly when using the budget by guidelines option as this tool can help you drive your budget using the guidelines to get an exact budget amount. The tool at its core for this use case is to set an overall budget amount for your organization and use real employee data to create guidelines that equal up to that intended budgeted amount. The tool allows you to set an intended budgeted amount based on one of the guideline criteria such as Rating.

Sample Guideline Modeling Budget Setting

Once you have your budget set, you can then enter the tool to adjust your guidelines based on where your real employees fall within the guidelines. This will help you adjust the guidelines to hit your targeted budget. The system will additionally provide you with some recommendations that you can auto select to automatically update the guidelines for you. Once you have created your ideal guideline model, you can push it back to the template table automatically and thus create the budget for the system based on guidelines.

Sample Guideline Modeling

We could talk about guideline modeling for days, but it is important to note here the key limitations with guideline modeling. This is simply an additional available tool for you to utilize but should not drive which budget you go with as none are dependent on this tool.

Key Limitations:

  • Models can only be made on one budget type at a time, meaning, if you have a combined budget for Merit and Adjustment, you won’t be able to get a true model
  • Sorting and assignment of budgets can be only on one pivot point. If you have guidelines based on rating and salary benchmarks, you will need to set the budget percent on only one of those criteria.
  • The tool itself can be difficult to get started and working, there has been little to no improvement on the tool from SAP in years and nothing indicated on the road map

Wrap Up

There are plenty of ways to get creative and find a budget solution that works for your organization. It is always important to keep in mind and fully test and discuss any limitations the solution presents. Keep in mind that if you go with an approach one year and it doesn’t work out, there is always an opportunity to change to something new!

Rating: 5 / 5 (1 votes)

The post Choosing the Right Budget Configuration for Your Organization appeared first on ERP Q&A.

]]>