Enterprise Resource Planning Blog Posts by SAP
Get insights and updates about cloud ERP and RISE with SAP, SAP S/4HANA and SAP S/4HANA Cloud, and more enterprise management capabilities with SAP blog posts.
cancel
Showing results for 
Search instead for 
Did you mean: 
0012anirban
Contributor
5,003

Hi All,

As SAP moves towards clean core with various key user extension tools, a significant part of any customer project remains the use of custom tables to cater to very particular business requirements. Some common use cases can be fixed value tables which will maintained in each environment directly by the business team or some custom configuration tables which will maintained through a customizing request.

So in this blog post i hope to share my experience on working with custom business configuration app in S/4 HANA private cloud edition.

OVERVIEW

As per the best practices suggested by the SAP ABAP cloud development model, the maintenance of custom business configuration objects which was previously done using SM30 or SM54 should be moved to RAP based BC objects.

Below is the availability matrix of what is available today till S/4 HANA 2023 FPS01. The custom business configuration app is only available from S/4 HANA 2023 onwards

0012anirban_0-1724167394704.png

MAIN CONTENT

Prerequisites: The custom table on top of which the custom BC set has to be created should be a customizing type of table.

1. Create a Z se11 table of customizing type. To create the custom BC objects it's mandatory to add 3 fields in the table, refer to the screenshot below.

0012anirban_0-1724231462020.png

2. Once the table is created we go to ADT tools and try to generate the RAP objects. Select the business configuration management options to generate the necessary artifacts.

0012anirban_1-1724231637153.png

 

0012anirban_3-1724231720931.png

3. Provide the necessary names to the artifacts, the service definition, binding, transport object, behavior implementation and the underlying CDS views. The name of all the objects are auto-generated by the wizard, you can change it if you want it.

0012anirban_4-1724231917517.png0012anirban_5-1724231929984.png0012anirban_6-1724231979963.png0012anirban_7-1724231996088.png0012anirban_8-1724232005521.png

4. Once all these objects are created, we should be able to test it app locally, but before that we need to activate the Odata service. 

Note: By Default this a Odata V4 service, and it can't be published locally from ADT. Please use t.code /IWFND/V4_ADMIN to activate the service group.

0012anirban_0-1724232568067.png

5. Once the service group is published, your service binding will show a local endpoint which can be tested.

0012anirban_2-1724232653999.png

6. Lets go to the FIORI launchpad and open the custom business configuration app. Please note the steps for activating the app can be found by referring to the fiori app library.https://fioriappslibrary.hana.ondemand.com/sap/fix/externalViewer/#/detail/Apps('F4579')/S28OP

0012anirban_3-1724232873122.png

7. Click on the row and it will open the table , which can then we edited to create new entries.

0012anirban_4-1724232981045.png

This concludes on how to create a basic Custom business configuration object.

Now time for some TIPS & TRICKS:

Saving without transport

1. All these tables by default expect a transport while saving. However there might be numerous cases where table has to maintained directly in production by the IT team or the business user. In that case you follow the below steps.

  • In transaction SOBJ, set "Current Settings" = true and "Transport" = "No Transport" in the header data of the generated transport object. Save your entries.

  • Edit the behavior definition, delete the action "SelectCustomizingTransptReq" and all validations "ValidateTransportRequest". Remove annotation "with additional save". Save and activate.0012anirban_0-1724233601105.png

     

    0012anirban_1-1724234000961.png0012anirban_2-1724234015748.png
  • Edit the behavior implementation class:Delete the method "SelectCustomizingTransptReq".

    0012anirban_3-1724234294540.png0012anirban_4-1724234308745.png
  • Delete all methods "ValidateTransportRequest"

    0012anirban_5-1724234375611.png0012anirban_6-1724234399638.png
  • Remove all occurrences of "%ACTION-SelectCustomizingTransptReq"0012anirban_8-1724234449540.png

  • clear the method "SAVE_MODIFIED", i.e. leave the method implementation empty.

  • Delete the variable "selecttransport_flag" and its occurrences in method "GET_INSTANCE_FEATURES" of local class LHC_<singleton entity>.

0012anirban_0-1724234805266.png

  • In the metadata extension of the singleton entity, remove the field TransportRequestID. Save and activate.

Select all entries on the UI

By default there is only a de-select all button, to select all the entries select the first and the last record of the selection by pressing SHIFT+A.

Please note a maximum of 200 entries are allowed at a time.

Transporting the custom business configuration object

All the ADT artifacts are already captured in a workbench TR during creation, however the service group activation and the service group need to be captured in a TR manually using /IWFND/V4_ADMIN t.code.

0012anirban_0-1724235359225.png

0012anirban_1-1724235383849.png

For S/4 HANA 2022

Since the custom business configuration app is not there for each maintenance object a custom FIORI app needs to be developed using BAS and deploy it to FIORI launchpad.

CONCLUSIONS:

Custom business configuration provides an alternative to classic GUI based SM30 views to maintain custom tables. As we move towards S/4HANA public cloud where GUI based transactions are not supported, RAP based apps will be the cornerstone for all customer implementations.

There is also a tutorial if you like to do it step by step in a Trial system.

https://developers.sap.com/tutorials/abap-environment-business-configuration-object.html

Hope you like this blog and provide your comments.

Feel free to reach out to me if you any questions

SAP BTP ABAP environment

SAP S/4HANA SAP S/4HANA Cloud Public Edition Extensibility SAP S/4HANA Cloud, extended edition 

Regards

Anirban

 

 

 

4 Comments