Describing Key User Extensibility

Objectives

After completing this lesson, you will be able to:

  • Learn about the concept of adding extensions without development experience

Key User Extensibility

Introduction

You want to enhance your SAP S/4HANA Cloud system and store your goods-receipt check results in your SAP S/4HANA Cloud system. No one with development experience is available. Therefore, as a Business Expert, you must create the database table. Thus, you want to use the key user extensibility application to create the custom database table.

Key User Extensibility

Key user extensibility enables business professionals to add extensions into SAP solutions, without requiring an in-depth understanding of the technical implementation aspects of the underlying SAP application. It empowers key users to use their deep knowledge of business processes and challenges to individualize their SAP systems to their business needs.

You use it for smaller low or no code extensions such as changing the user interface from already existing applications by adding custom forms or templates, adding new fields, or creating analytics from existing data.

Key user extensibility comprises a set of different applications and tools that you can use to create extension items:

  • Custom fields app and custom logic: Add and edit custom fields.
  • Custom CDS views: Model company-specific data access on top of public CDS views.
  • Custom business objects: Create and manage custom business objects.
  • ...

In the extension of this Learning Journey, we use the custom business object application.

The Custom Business Object

With the custom business objects application, you can create database tables, services, UIs, and applications based on custom business objects. It enables you to enhance your application with a custom hierarchical database table for storing data. Alternatively, you can use the created database to create some business logic. The created business object is exposed and accessible with an OData service, enabling you to maintain the values from outside of the SAP S/4HANA environment.

Features

  • Determination and Validation: After publishing the business object, you can use this feature to implement custom logic. The pattern recalculates the data immediately after node instances are created or updated. You can use it to confirm the field values and display error messages.
  • User Interface: This feature generates an SAP Fiori based UI for your custom business object.
  • Back end Service: The back end service feature enables you to maintain the custom business object from outside. It generates an OData API that you can expose and access from outside.
  • System Administrative Data: This feature automatically generates standardized fields to store data such as Created On, Created By, Last Changed On, and Last Changed By.

Data Structure

In the custom business object application, you can create unique data structures through a user interface. You can structure the content of your content in a hierarchy and create a parent node, which has multiple subnodes.

Then, you can add different fields to the nodes. If you check the System Administrative Data checkbox, some fields are already autogenerated for you. You can enhance the structure with custom fields and adjust it to your use case.

Summary

In this lesson, you learned about the concept of extensibility, which allows customers and partners to personalize standard business software such as SAP S/4HANA Cloud to meet their business requirements. Key user extensibility enables non-technical business professionals to add low or no code extensions to SAP solutions, such as custom forms, templates, and analytics. The custom business object application is one of the key user extensibility options that enable users to create a custom hierarchical database table. You can use them to store data or create business logic. The created business object is accessible outside of the SAP S/4HANA environment through an OData service.

Build a Custom Business Object in SAP S/4HANA Cloud

Business Scenario

For further validation and for a historization of the results of the goods receipt checks you can store them in your SAP S/4HANA system. A way to do this without any coding is to create a custom business object.

Task Flow

In this exercise, you perform the following tasks:

  1. Create a custom business object using the Custom Business Object application.
  2. Create a custom communication system for this business object.
  3. Assign a business catalog to the custom business object.

Prerequisites

  • You have an SAP S/4HANA Cloud system.
  • The Key User Extensibility (1N9) scope item must be active. You can check this in the Manage Your Solution app under View Solution Scope. If the scope item is not active, request the activation through BCP–Ticket Component: XX-S4C-OPRSRV.
  • You must be assigned to one of the following roles:
    Business RoleBusiness Role ID as Delivered by SAP
    Administrator (or the following)SAP_BR_ADMINISTRATOR
    Configuration ExpertSAP_BR_BPC_EXPERT
    PurchaserBR_PURCHASER
    Master Data Specialist - Product DataBR_PRODMASTER_SPECIALIST
    Configuration Expert - Business Process ConfigurationBR_BPC_EXPERT1
    Note
    These roles are provided as example roles from SAP. If required, you can use these roles as a template to create your own role.

How to Obtain Support

To get support during the exercises, add your question in our SAP BTP Learning Group: https://groups.community.sap.com/t5/sap-btp-learning/gh-p/SAP-BTP-Learning.

Exercise Options

You can perform this exercise in two ways:

  1. Live Environment: Use the instructions below.
  2. Simulation: Follow the step-by-step instructions within the simulation.
Note
We strongly recommend you perform the steps in the live environment first.

Task 1: Create the Custom Business Object

Steps

  1. Create a new custom business object. Use the following data:

    FieldValue
    NameGRCHECK
    ScenarioStandard
    1. Access the Custom Business Objects application.

    2. Choose New.

    3. For Name, enter GRCHECK.

    4. For Scenario, choose Standard.

    5. Choose Create.

  2. Create the business object nodes and fields.

    1. Select the General Information tabulator and check the following features:

      • Determination and Validation
      • User Interface
      • Back End Service
      • System Administrative Data
    2. Select the Nodes tabulator and select the GRCHECK line.

    3. To add a new subnode GRCHECKITEM, choose the New button.

  3. Add fields to the GRCHECK node. Use the following data:

    LabelIdentifierTypeLengthKey
    Purchase OrderPurchaseOrderText10x
    Purchase Order ItemPurchaseOrderItemNumeric Identifier4x
    1. Select the GRCHECK node at the Fields tabulator.

    2. Choose New and add the provided data.

  4. Add fields to the GRCHECKITEM node. Use the following data:

    LabelIdentifierTypeLength
    Check NameCheckNameText100
    Check StatusCheckStatusText1
    Check ResultCheckResultText500
    1. Select the GRCHECKITEM node.

    2. Choose New and add the provided data.

  5. Publish the custom business object.

    1. Save your configuration.

    2. Choose Publish.

      This process takes some time.

    3. Check the publishing succeeded.

      Result

      If there is a green Published tag at the business object, then the publishing succeeded.

Task 2: Create a Custom Communication Scenario

Steps

  1. Create a custom communication scenario to expose the Custom Business object.

    1. Open the Custom Communication Scenario application.

    2. Select New.

    3. Add the scenario name GRCHECK and add a description, for example GR Checklist API.

    4. Select New.

  2. Select the custom business object.

    1. Select the Inbound Services tabulator and choose Add.

    2. Choose YY1_GRCHECK_CDS and choose Select.

  3. Publish the communication scenario.

    1. Save your changes and then choose Publish.

    2. Check that, after some time, the status of the communication scenario switches to Published.

Task 3: Assign a Business Catalog to the Business Object

To access the GRCHECK API in a secure manner with user propagation, we must assign a business catalog to it. For our scenario, we use the Material Management - Purchase Order catalog. You require this to access the Purchase Order API used in a later exercise.

Steps

  1. Maintain the catalogs.

    1. Return to the Custom Business Objects application.

    2. Choose the GRCHECK business object.

    3. In the General Information tabulator, choose Maintain Catalogs.

      Result

      The Custom Catalog Extension application starts.
  2. Assign a business catalog for YY1_GRCHECK_SCBO.

    1. In the Custom Catalog Extension table, select YY1_GRCHECK_SCBO.

    2. In the Used in Business Catalog window, select Add .

    3. In the Add Business Catalog dialog box, search for the Material Management - Purchase Orders catalog and select it.

    4. Choose OK.

    5. In the Used in Business Catalog window, select the Material Management - Purchase Orders catalog and choose Publish.

  3. Assign a business catalog for YY1_GRCHECK_CDS_IBS.

    1. In the Custom Catalog Extension table, select YY1_GRCHECK_CDS_IBS.

    2. Repeat all the substeps from step 2 except for the first substep.

      Result

      You have created a custom business object to store the results of a goods receipt check, defined a communication system so the data could be exposed, and added a business catalog for secure access.

      In the next exercise, you will create another custom business object to store the data of checklists.

Build a Custom Business Object for Checklist Data in SAP S/4HANA Cloud

Business Scenario

To store the data of checklists used in material classification, we can create another custom object. It provides a simple user interface (UI) for key users to enter the data of checklists like the name, description, checks information, instructions, and precautions data.

Task Flow

In this exercise, you perform the following tasks:

  1. Create a custom business object using the Custom Business Object application.
  2. Create a custom communication system for this business object.
  3. Assign a business catalog to the custom business object.

Prerequisites

  • You have an SAP S/4HANA Cloud system.
  • The Key User Extensibility (1N9) scope item is active. Check this in the Manage Your Solution app under View Solution Scope. If the scope item is inactive, request the activation through BCP–Ticket Component: XX-S4C-OPRSRV.
  • You must be assigned to one of the following roles:
    Business RoleBusiness Role ID as Delivered by SAP
    AdministratorSAP_BR_ADMINISTRATOR
    Configuration ExpertSAP_BR_BPC_EXPERT
    Analytics SpecialistSAP_BR_ANALYTICS_SPECIALIST
    Note
    These roles are provided as example roles from SAP. If required, you can use these roles as a template to create your own role.

How to Obtain Support

To get support during the exercises, add your question in our SAP BTP Learning Group: https://groups.community.sap.com/t5/sap-btp-learning/gh-p/SAP-BTP-Learning.

Exercise Options

You can perform this exercise in two ways:

  1. Live Environment: Use the instructions below.
  2. Simulation: Follow the step-by-step instructions within the simulation.
Note
We strongly recommend you perform the steps in the live environment first.

Task 1: Create the Custom Business Object

Steps

  1. Create a new custom business object. Use the following data:

    FieldValue
    NameCHECKLIST
    ScenarioStandard
    1. Access the Custom Business Objects application.

    2. Choose New.

    3. Enter the provided data.

    4. Choose Create.

  2. Create the business object nodes and fields. Use the following data:

    FieldValue
    Determination and Validationcheck
    User Interfacecheck
    Back End Servicecheck
    System Administrative Datacheck
    1. Select the General Information tabulator and, using the provided data, check the features.

    2. Select the Nodes tabulator and select CHECKLIST line.

    3. Choose the New button to add a new CHECKLIST_ITEM subnode.

    4. Select the CHECKLIST node at the Fields tabulator.

    5. In addition to the autogenerated fields, choose New and add the following fields:

      LabelIdentifierTypeLengthKey
      NameNameText10x
      IsDefaultIsDefaultCheckbox  
      DescriptionDescriptionText500 
      InstructionsInstructionsText500 
    6. Select the CHECKLIST_ITEM node.

    7. Choose New and add the following fields:

      LabelIdentifierTypeLength
      CheckTextCheckTextText500
  3. Publish the custom business object.

    1. Save your configuration and select Publish.

      This process takes some time.

    2. When the publishing succeeds, check the green Published tag at the business object.

Task 2: Create a Custom Communication Scenario

Steps

  1. Create a custom communication scenario to expose the Custom Business object.

    1. Open the Custom Communication Scenario application.

    2. Select New.

    3. Add the Scenario name CHECKLIST and a Description, for example Checklist API.

    4. Select New.

  2. Select the custom business object.

    1. Select the Inbound Services tabulator and choose Add.

    2. Choose YY1_CHECKLIST_CDS and choose Select.

  3. Publish the communication scenario.

    1. Save your changes.

    2. Choose Publish.

      The process takes some time.

      Result

      The status of the communication scenario switches to Published.

Task 3: Assign a Business Catalog to the Business Object

To access the checklist API in a secure manner with user propagation, we must assign a business catalog to it. For our scenario, we use the Material Management - Purchase Order catalog. You also require this to access the Purchase Order API used in a later exercise.

Steps

  1. Maintain catalogs.

    1. Return to the Custom Business Objects application and choose the CHECKLIST business object.

    2. In the General Information tabulator, select Maintain Catalogs.

      Result

      The Custom Catalog Extension application starts.
  2. Assign a business catalog for YY1_CHECKLIST_SCBO.

    1. Select YY1_CHECKLIST_SCBO at the Custom Catalog Extension table.

    2. Select Add in the Used in Business Catalog window.

    3. In the Add Business Catalog dialog box, search for the Material Management - Purchase Orders catalog and select it.

    4. Choose OK.

    5. In the Used in Business Catalog window, select the Material Management - Purchase Orders catalog and choose Publish.

  3. Assign a business catalog for YY1_CHECKLIST_CDS_IBS.

    1. Select YY1_CHECKLIST_CDS_IBS at the Custom Catalog Extension table.

    2. Repeat all the substeps except for the first substep from step 2.

Task 4: Enter the Initial Data

Steps

  1. Open the generated UI.

    1. Return to the Custom Business Objects application and choose the CHECKLIST business object.

    2. In the General Information tabulator, select Go To Generated UI.

  2. Create header data. Use the following data:

    FieldValue
    NameDEFAULT
    IsDefaultChecked
    DescriptionDefault checklist
    InstructionsFollow the general rules of your organization.
    1. Select the Create button at the new screen.

    2. Enter the provided data.

    3. Choose the Create button.

  3. Create item data.

    1. Select the Create button in the CHECKLIST_ITEMs section.

    2. Enter Have the goods been ordered? in the CheckText field.

    3. Choose the Create button.

    4. Return to the checklist by selecting it's name on the top.

    5. Create a new item with the text Is the packaging undamaged?.

  4. Create two more checklists. Use the following data:

    Checklist 2

    FieldValue
    NameDANGER
    DefaultFalse
    DescriptionDangerous goods
    InstructionsUse safety gloves.
    Checklist itemIs the UN number recognizable?

    Checklist 3

    FieldValue
    NameCHEMICAL
    DefaultFalse
    DescriptionChemical product
    InstructionsFollow respiratory hygiene principles
    Checklist itemIs an MSDS enclosed with the goods?
    1. Using the provided data, repeat the previous steps twice.

      Result

      You created a custom business object to store the checklists data, defined a communication system so the data can be exposed, and added a business catalog for secure access.

      In the next exercise, you define the communication systems and communication arrangements for external access to the necessary APIs.

      Further Reading/Reference Links

Log in to track your progress & complete quizzes