This is a test message to test the length of the message box.
Login
|
BTP Business Configuration
Created by Software-Heroes

BTP - Business Configuration (Creation)

4196

This article is about creating maintenance views in the ABAP environment to maintain data and later transport the settings.

Advertising


How do you actually maintain settings and tables if there is no SAP GUI and therefore no SM30? In this article we will go into the creation of care objects in more detail.

 

Introduction

The maintenance and distribution of customizing has always been a central part of the maintenance and expansion of the system in the SAP ecosystem. To ensure that only settings that have already been tested enter the production system, the settings are distributed via transports. To do this, we use maintenance views in the system so that we can change and record the data using transaction SM30 or our own transaction.

The ABAP Environment has the new Business Configuration (BC) functionality for this purpose. A RAP model is created on a table in order to make the data maintainable via a Fiori app. In this context, there are a number of new objects that we would like to discuss in more detail in this article.

 

Table

To do this, in the first step we define a table for which we want to create maintenance. We now create the new table on the package using the ABAP Development Tools. By right-clicking on the package and using “New -> Other Repository Object” we start the system and search for “Database table”.

 

Now we fill in the name and description and create the tables.

 

This table has its own key and some fields for maintenance.

@EndUserText.label : 'Business Configuration'
@AbapCatalog.enhancement.category : #NOT_EXTENSIBLE
@AbapCatalog.tableCategory : #TRANSPARENT
@AbapCatalog.deliveryClass : #C
@AbapCatalog.dataMaintenance : #ALLOWED
define table zbs_dmo_bc {
  key client            : abap.clnt not null;
  key config_id         : zbs_dmo_config_id not null;
  description           : abap.char(60);
  is_used               : abap_boolean;
  is_mandatory          : abap_boolean;
  processes             : abap.int1;
  working_class         : abap.char(32);
  configdeprecationcode : config_deprecation_code;
  last_changed_at       : abp_lastchange_tstmpl;
  local_last_changed_at : abp_locinst_lastchange_tstmpl;
}

 

The following requirements apply to the table before the generator can generate the corresponding objects:

  • dataMaintenance - Attribute must be set to #ALLOWED so that data maintenance is possible.
  • Fields - Key field must be equipped with data element and domain. Furthermore, some fields are required that serve as a technical basis (LAST_CHANGED_AT, LOCAL_LAST_CHANGED_AT).

 

Generation

Similar to the RAP Generator, we can now have all relevant objects generated. To do this, we select the "Generate ABAP Repository Objects..." option from the table's context menu.

 

In the next step, the wizard starts, where we also find the other generators for the RAP objects. Since we want to create the business configuration, we select the generator for "Maintenance Object" and confirm the selection.

 

The individual steps are now displayed, where you still have the opportunity to adjust the names and labels of the objects. In "Scenario Options" options can be selected, for example whether the copy action is offered or whether consistency checks are generated. Here the name of the abstract entity for copying is also changed.

 

In the "BC Maintenance" section, the name of the transport object and the maintenance object is specified; these can also be customized.

 

The "Data Model" section includes the main objects of the data model. The selected table is currently located in the lower section, but additional tables can be specified here. Further information about draft objects and texts is maintained here.

 

The “Behavior Implementations” section defines the classes in which the logic, such as determinations and validations, can later be developed.

 

In the last section “Business Service” the name of the service binding and the service definition are stored. These provide external access as an API.

 

Finally, we receive a list of the objects that should be generated and we can check the various objects before they are created in the system.

 

 

Maintenance Object

This object is a new object that controls the functions of the BC. Different things can be set and configured here.

 

The configuration options are quite extensive, so we will go through them in a later article. At the moment we don't have to make any settings here, the generator has already taken care of the most important points for us.

 

Transport Object

The Transport is a new object with the configuration from the transport settings. Actually the object is only visible via JSON view in Eclipse and only some settings can be changed.

 

Authorization

However, before we can work with the business configuration, we have to create the appropriate authorizations, otherwise the settings cannot be maintained.

 

IAM App

To do this, the first step is to create an IAM app and use the type with the ending MBC.

 

In the next step, we assign the created service from the business configuration in the “Service” tab. The service is always created as an OData v4 and UI service.

 

After the assignment, the service is visible in the tab.

 

In the next step we need the authorizations to access the data, which we assign in the “Authorizations” tab. We assign two entries. We need permissions to read the table's change documents as the change documents are also stored here. And display, as well as editing, for tables and the Core Data Service, which is released to the outside.

 

Business Catalog

In the next step we need a business catalog, the actual role, which we can then assign to the user. Accordingly, we give the catalog a name and a description.

 

In the “Apps” tab we assign the IAM app with the ending MBC. Don't forget to release the catalog in the system using "Publish Locally" so that you can then assign it to a role.

 

Usage

Can we now maintain the data in our table? To do this, we go to the “Custom Business Configurations” app (F4579), which we can find in the Business Catalog “Customizing - Business Configuration” (SAP_CA_BC_IC_LND_PC).

 

There we find all the BC objects for which we also have permissions. We can use the search to limit the objects to find our care/table.

 

When we select our object, we are taken to the table display and can start editing in the app using the “Edit” button. If the button is not clickable, it is very likely that the appropriate permissions are still missing.

 

The first checks are already active in the app and alert us to errors or missing information.

 

Conclusion

By creating the table and providing some information, we already have a simple maintenance interface for our table. This saves us from having to create our own UI via an app and provides additional convenient functions for working with the data.


Included topics:
BTPABAP EnvironmentBusiness Configuration
Comments (6)



And further ...

Are you satisfied with the content of the article? We post new content in the ABAP area every Tuesday and Friday and irregularly in all other areas. Take a look at our tools and apps, we provide them free of charge.


RAP - Draft Query

Category - ABAP

In this article, we'll look at the Draft Query in RAP and how you can use it to control entries and their visibility. We'll also look at a practical example.

04/03/2026

RAP - Importance

Category - ABAP

Let's look at the importance of information within an SAP Fiori application and how we can use it to control visibility in the RAP application.

03/24/2026

RAP - Criticality

Category - ABAP

What do you actually need criticality for in your application, and what can you achieve with it? Let's look at different forms and scenarios.

03/21/2026

RAP - Icons

Category - ABAP

How do you find the right icons in the UI5 environment, and how can you integrate them into your Fiori Elements application using ABAP? Let's answer this question in this article.

03/13/2026

RAP - Grouping of Actions

Category - ABAP

How can you group your various actions in RAP under a single button, especially if the actions are quite similar? This article will look at the details of implementing this with ABAP.

03/10/2026