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: 
Andre_Fischer
Product and Topic Expert
Product and Topic Expert
25,353

Introduction


Since there is no SAPGUI access to the ABAP Environment of SAP Business Technology platform the classic table maintenance using transaction SM30 and SM31 cannot be used.

Instead it is possible to create SAP Fiori UI's as a maintenance UI for a customizing table. This process is called Business Configuration for SAP Cloud Platform ABAP Environment and has been nicely described by Thomas Schneider in the following blog post Business Configuration for SAP Cloud Platform ABAP Environment .

This blog post describes how you can use my openSource based RAP Generator to generator to generate such apps.

Please note:

In SAP BTP ABAP Environment an ADT based wizard is available to generate SAP Fiori table maintenance dialogs as described in the following tutorial:

Create a SAP Fiori based Table Maintenance app with SAP BTP, ABAP Environment | Tutorials for SAP De....

so this blog post is nowadays only of interest for customers running SAP S/4HANA 2021 where the above mentioned ADT based generator is not supported.

As of version 2021 of the SAP S/4HANA we have in principle all the bits and pieces that are needed to create table maintenance dialogs that offer the following:

  • Draft support for convenient data maintenance

  • Multi Inline capabilities that allow to edit several lines of your table at once

  • An enhanced transport API that provides a nice "Transport request" button in your SAP Fiori app


But ... how to create SAP Fiori UI based on one table or a table with a second table that contains some texts with the above described features is not self explaining and the information is scattered across multiple locations.

Developing Transactional Apps with Multi-Inline-Edit Capabilities - SAP Help Portal

Since it requires a lot of manual steps to create all the repository objects needed it would be nice to have those being generated also on SAP S/4HANA 2021.

Generating SAP Fiori table maintenance apps


A while ago I published my RAP Generator that is able to generate a RAP business object based on one or more tables.

With the latest update of my generator there is now support for all the features needed to generate a SAP Fiori app that supports multi-inline capabilities, self registration in the Business Configuration App and code generation so that changes are automatically recorded in customizing transports.

In addition I have added a SAP Fiori Elements UI that can be started via the Fiori Elements Preview.

 

Prerequistes


You have to use an ABAP environment system in SAP BTP where you have to install the RAP Generator as described here:

https://github.com/SAP-samples/cloud-abap-rap/blob/main/README.md#download-and-installation

How to section


In this section I will describe how to generate the same app as described in the above mentioned tutorials that allows to maintain data for a holiday factory calendar alongside with description texts.

In addition this app is registered in the Business Configuration App and muti-inline support is added.

Last not least the code for persisting your changes to a transport request can be generated as well.

This however cannot be tested in the trial systems.

 

Step 1 - Create a package


We start by creating a package Z_RAPGEN_BUSINESS_CONF with ZLOCAL as the superpackage. Don't forget to check the Add to favorite packages check box




Step 2 - Run the RAP Generator


Open the service binding of the RAP Generator


and press the New Project button.


In the popup enter the name of the root entity (here: Holiday) and the name of the package (here Z_RAPGEN_BUSINESS_CONF).




  • On the object page of the RAP Generator project enter the implementation details:


Implementation type: managed semantic


Datasource type: table


Binding type: odata_v4_ui


Draft enabled: X


Then refresh the browser or simply press RETURN so that the additional fields become editable:


Multiinline Edit: X


Customizing table: X


Register for Business Configuration App: X




  • Then click on the root entity Holiday to maintain the details for this entity.


 


 

Enter the name of the table zdmo_fcal_holi in the field Data Source and press RETURN.

You will notice that the mapping for the field names is performed automatically and that appropriate repository object names are being generated.

The press Apply.


In the object page of the RAP Generator project

  1. Select the root entity

  2. Press the button Add Child.



In the popup enter the name of the child entity (here: HolidayText).


Now maintain the details of the child entity and enter the name of the data source. This is the table zdmo_fcal_holi_t.

You will see that all the field names are mapped to your needs and that appropriate repository object names have been generated.

Press Apply.


Now being on the object page of the RAP Generator project press the Create button and then the Generate Repository Objects button..


Your will notice that in the screen section RAP Generator the generation status is shown which is actually Scheduled.


The status of this field now changes from Scheduled to In Process and finally to Finished.



When you click on the ADT link you will navigate back to your ADT and you can refresh the package and check that the following objects have been generated:


 

 

Step 7 - Publish the service binding locally


Open the generated service binding ZUI_HOLIDAY_S_O4 and press the Publish button.


You will now see that the service contains four entities

Holiday - which contains the holdiday days

HolidayText - which contains the language dependend descriptions

Holiday_S - which is the Singleton entity that has been generated in order to enable the multi inline edit feature. The RAP Generator simply takes the name of the actual root entity and adds a "_S" which denotes "Singleton" to the name it.

Language - The RAP Generator adds an entity Language as a value help if a field of type SPRAS is part of any of your entitites. Likewise it would add an entity for Currency or Unit of Measure if needed.

Step 8 - Test your service


You can start the Business Configuration App simply from whithin ADT. For this you have to right-click on your project and select Properties.


 

On the following screen click on ABAP Development and there on the URL that is denoted as System URL.

 


 

By clicking on this URL the SAP Fiori Launchpad of your ABAP environment opens. Here you have to select the tile Maintain Business Configuration.

 


 

This now opens the Business Configuration App where you should see the app Holiday_S_01 maintenance that you have just generated and published.

Please note:
When you do not see the app listed here please check if you have published your service locally. By publishing the service locally the appropriate authorizations for viewing it are added to the business catalog that is part of your Developer role.


When clicking on the list entry a SAP Fiori Elements app (similar to the preview app) will be started. But since multi edit is enabled it automatically will skip the "virtual" entity Holiday_S which is based on the singleton entity.

Here you can add mulitple rows to the Holiday entity. All the data you enter is saved automatically as a Draft. And it is possible to download the data as an Excel and paste multiple new values from such a Excel template back into your system.



Paste multiple entries


Pasting multiple entries works as follows.

  1. Select the data from your Excel

  2. Press the button Paste.

  3. This opens the following dialogue

  4. Paste the selected data using Ctrl+V


 

Save data to a customizing transport


When you have chosen the parameter

"isCustomizingTable": true

in your JSON configuration file you will see a button in your app that will allow you to select a customizing transport request.


 

 

 
35 Comments