Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
ThomasSchneider
Product and Topic Expert
Product and Topic Expert
Already 1 ½ years ago, I published a blog post on Business Configuration for SAP Cloud Platform ABAP Environment (Business Configuration for SAP Cloud Platform ABAP Environment | SAP Blogs). In this blog post, I want to revisit the topic of business configuration in the SAP BTP ABAP Environment and start with a new series of blog posts that describe the current state of the topic.

First, let us look at the question what makes business configuration different from other apps that you create as part of your solution?

  1. BC maintenance apps are less often used, and they are usually very simple in comparison the apps for master or transactional data. On the other hand, application often have come with a higher number of BC maintenance apps compared to the apps for master and transactional data. This calls for a highly standardized maintenance UI, a standardized authorization management, etc. BC maintenance apps also share some standard pattern, for example the maintenance of language-dependent texts or standardized authorization handling.

  2. Business Configuration content is normally not directly maintained in a production environment, but it is created in a content development environment and transported/deployed to the test and production environment. Here different transport/deployment patterns are used depending on the use case.


In this blog post I deal with the first point and describe the current state of the topic. In a upcoming next blog post, I will share details on point no 2, the transport and deployment of BC content.

Two Programming Models for Business Configuration Apps

The ABAP platform provides two programming models for business configuration apps:

  • SAPGUI-based BC apps (SM30 runtime, SM54 design time)

  • Fiori/RAP-based BC apps


Customers and partners in SAP BTP ABAP Environment can implement Fiori/RAP-based apps only. SAPGUI/WebGUI is not supported. For this purpose, SAP published a tutorial that describes in detail how to develop a Fiori/RAP-based BC maintenance apps. We will come back to this tutorial in a moment.

Generic BC File Upload/Download

In addition, the ABAP platform provides capabilities for generic file upload/download. File upload comes in handy for data that are maintained only once or very seldom and the investment for a dedicated UI app is not required. The generic file upload app supports the file format that can be downloaded from SAP ERP or SAP S/4HANA systems, which supports an easy migration of data from SAP on-premise systems. You can read more about the generic file upload/download in the documentation (https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Cloud/en-US/c8ca7bec802a4ebcbd9444a9b18...). You also can find the instruction on how to enable your custom tables for generic upload/download.

Properties of Business Configuration Apps

But let us come back to Fiori/RAP-based BC maintenance apps. As mentioned, SAP published a tutorial (Create a SAP Fiori based Table Maintenance app with SAP BTP, ABAP Environment) with a step-by-step description. Here, I want to give you an overview and some addtional background information on the features that are covered by the tutorial.

The tutorial describes how to develop a BC maintenance apps as a Fiori/RAP app. In principle it is a “normal” RAP app (for RAP apps in general, see the RAP tutorials linked at the end of this blog post). It consists of CDS views, behavior definitions (BDEFs) and implementation for the business object layer and the projection layer). But it has some BC- specific features. Some special features are:

  1. Generic UI: As mentioned in the introduction, BC maintenance UI should be highly standardized: Therefore, a Fiori Elements-based UI will be sufficient in most cases. For this purpose, SAP provides a generic UI that can be used instead of creating an own Fiori project. The generic UI is part of the ABAP platform and can be used by just registering your RAP object (i.e. the OData service of your RAP object). For details see the documentation (https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Cloud/en-US/76384d8e68e646d6ae5ce897741...)

  2. Table delivery types: The ABAP provides a classification of table, which includes the so-called delivery class. While application tables are classified as “A”, configuration tables are classified as “C”, which indicated that the content in these tables can be transported between tenants (also a prerequisite for the generic upload app that I mentioned before). System configuration tables are classified a “S” and are client-independent. You can switch on table logging in the technical settings of the table so that changes are generically tracked. We will come to delivery types and client behavior for tables in the second blog post.

  3. Text handling: BC maintenance apps typically allow maintenance of language-dependent texts. A recommendation on how to handle this is provided in the tutorial

  4. Authorization handling: You can use a common authorization object (S_TABU_NAM) for your BC maintenance apps that makes it easier to define the roles for business configuration users.

  5. Deletion: Deletion of business configuration can be a problem if the content is already used by business applications. The tutorial provides guidance to implement a “logical deletion” that prevents that new business documents can use an outdated configuration, but keeps the configuration still in the system (e.g. for auditing purpose)

  6. Multi-edit/multi-create: Business configuration data are often entered as lists of entries. Entering and saving them one by one can be a time-consuming process. The tutorial provides guidance to enable the app for edit/creation of multiple entries in one transaction. This capability was added in 2108.

  7. Transport handling: As mentioned in the introduction, business configuration content is normally not directly maintained in a production environment, but it is created in a content development environment and transported/deployed to the test and production environment. The transport handling is also part of the tutorial. I will dig deeper into this topic in my next blog post


The Fiori apps for generic BC file upload, the Fiori UI for generic BC maintenance and the Fiori UI for change logging are contained in the Configuration Expert – Business Process Configuration (BPC_EXPERT) role template that is delivered by SAP. (Important note: When creating a role based on this template in the Maintain Business Role UI, do not forget to set “Write, Read, Value Help” to “Unrestricted”. The default is “No access” when you create the role from the template.)

Generating a Business Configuration Apps

To create a RAP application, several objects must be created. The creation can be simplified using the generator option in the ABAP development tools (ADT). This generator generates a full RAP-based BC maintenance application based on the input about the base tables etc. Check the tutorial Create a SAP Fiori based Table Maintenance app with SAP BTP, ABAP Environment for further details.

In the next blog post, I will share details on the transport and deployment of BC content.

Related Links:
5 Comments
peter_walcz79
Explorer
0 Kudos
Hi Thomas,

 

you write:

"5. Deletion: Deletion of business configuration can be a problem if the content is already used by business applications. The tutorial provides guidance to implement a “logical deletion” that prevents that new business documents can use an outdated configuration, but keeps the configuration still in the system (e.g. for auditing purpose)"

 

by "tutorial" you meant the factory calendar tutorial?

Unfortunately I couldn't find the correspondent part in it regarding logical deletion, can you please point me to the right direction?

 

Thank you,

Peter
ThomasSchneider
Product and Topic Expert
Product and Topic Expert
Hi Peter,

the section on logical deletion was removed when the tutorial was updated. We are planning to add it with 2111 again.

Best regards, Thomas

.

 
junwu
Active Contributor
0 Kudos

Hi Thomas,

@ThomasSchneider 

I want to add a new currency to the tcurx table for my btp abap system, is it supported by the upload business configuration app?

for now I can only see a few objects which are allowed for me to do the upload. how to make my user to have access for more configuration table?

Thanks,

Best regards,

Jun

 

ThomasSchneider
Product and Topic Expert
Product and Topic Expert

Hi Juri, 

the following currency objects are available for upload: V_TCURF Currencies: Translation Ratios, V_TCURN Currencies: Notations, V_TCURR Currency Exchange Rates, V_TCURV Currency Translation Exchange Rate Types, TCURW Usage of Exchange Rate Types. 

They are part of the BPC_EXPERT role template. If you need additional objects for upload added, then please raise a influence request: https://influence.sap.com/sap/ino/#campaign/2911

 

junwu
Active Contributor
0 Kudos

Thanks Thomas for looking into it.

we raised the ticket to support team for adding new configuration to table tcurx table.