Exploring the Data Structure of SAP Systems Based on ABAP Platform

Objectives

After completing this lesson, you will be able to:
  • Explain the data structure of SAP systems based on ABAP Platform
  • Discuss adjustment options to the data structure in SAP systems based on ABAP Platform with respect to the concept of clean core
  • List tools needed for adjusting the data structure

Data Structure of SAP Systems Based on ABAP Platform

An SAP system based on ABAP Platform or its predecessor AS ABAP (such as SAP ECC or SAP S/4HANA Server) has a specific data structure. The data can be divided into client-specific data and cross-client data.

Two clients (007 and 008) with user data, application data, and client-specific customizing each on top of cross-client customizing and the repository which is divided into packages.
  • Client-specific data include application data, user data, as well as business settings (client-specific Customizing). Access to client-specific tables is carefully restricted to the currently active logon client.

    Note

    Technically, this is realized in a way that each time a client-specific table is accessed, the database interface implies an additional selection of the active logon client, meaning that the WHERE clause WHERE <client-field> = <login-client> is added to the SQL statement.

  • Besides of these data, which are only relevant for a specific client, there are also cross-application settings (cross-client Customizing) and development objects (repository object). This section focuses on cross-client data.

Aside from the client-specific Customizing, there are also settings you only have to make once, and they are then valid for all clients within the related SAP system. These Cross-Client Customizing settings include the public holiday calendar and settings for the system change option, for example.

The Repository is the totality of all the objects you can access using the ABAP Workbench. The repository is also cross-client. It contains all dictionary objects (table definitions, data elements, domains), and also all ABAP programs, menus, and screens. Because of the repository's cross-client nature, any repository objects developed or changed in any one client are used in exactly the same form in every client in that SAP system.

Caution

Do not confuse table structures with table content.

For example, the table definition for table KNA1 (General Data in Customer Master) is cross-client (in SAP S/4HANA Server 2021, table KNA1 contains 269 fields, the second field KUNNR is of type CHAR10 and denotes the customer number, and so on). The content of this table (that is the general data of customers) is client-specific, however, in this case it belongs to application data.

Repository objects are grouped together to form packages. Packages are containers that group semantically linked development objects (programs, table definitions, and so on). Packages belong uniquely to a certain software component. The repository contains packages from all software components. The repository objects can be accessed with the tools from the ABAP Workbench or with the help of the ABAP Development Tools based on the Eclipse platform.

Hint

Example: In an SAP S/4HANA 2021 Server system, table KNA1 belongs to package VSCORE (application development – sales master data), which in turn belongs to software component S4CORE.

Besides of creating and working on application data and user data, customers can also adapt the data structure according to their own needs: they need to perform Customizing (both client-specific and cross-client), but they can also makes changes to the repository. When you use SAP systems to run your business processes, you therefore need to make sure that changes to the data structure that you perform in your development environment has no influence on your productive environment before they have been extensively and successfully tested.

Although the application data are separated / isolated on client level as described above, this is not valid for the cross-client data such as programs, function modules or table definitions. As soon as you want to change also cross-client data, you need to have multiple SAP systems to separate the development environment from the production environment.

Note

In this sense, the need for a multi-system landscape is a consequence of the data structure of SAP systems based on ABAP Platform or AS ABAP.

Options to Adjust the Data Structure: Customizing

SAP ships SAP Best Practices that are tailored to accelerate and simplify the adoption of SAP S/4HANA for faster time to value. They provide pre-configured content ("scope items") for core business processes for jump start your SAP S/4HANA implementations and to configure your system quickly by using the automatic activation of SAP Best Practices.

Hint

SAP Knowledge Base Article 3393679Jump Start Your SAP S/4HANA 2023 Implementation by Activating SAP Best Practices provides more information and a step-by-step process to implement SAP S/4HANA 2023 using SAP Best Practices.

Note

SAP Process Navigator as part of SAP for Me offers a complete documentation on SAP Best Practices for SAP S/4HANA (on premise).

To suit your specific requirements, you need to change the SAP Best Practice configuration. For example, you need to define your own company codes, sales organizations and distribution channels for Sales and Distribution, or you need to define storage locations and purchasing organizations (including their assignment to company codes) for Material Management. This is known as Customizng.

Graphic showing the interaction of configuration settings in Sales and Distribution, Materials Management, and Production Planning including a hierarchical structure from a company code down to a sales organization and two distribution channels.

For on-premise SAP systems based on ABAP Platform or AS ABAP, and for SAP S/4HANA Cloud Private Edition, SAP ships the SAP Reference Implementation Guide (SAP Reference IMG, transaction SPRO) which is used to perform Customizing in the development system. These Customizing changes are recorded in a transport request that can later be imported into the test system and finally into the production system.

Note

The IMG provides a hierarchical list with Customizing activities in that SAP system. This Customizing is grouped by applications and is ordered in the sequence in which the individual activities have to be performed.

To learn more about Customizing with the SAP Reference IMG, complete the following exercises.

Adjustments to the Repository

In contrast to necessary Customizing settings, changes to repository objects are not required to use an SAP system, but you can create or change individual objects if needed. Depending on the deployment option of your SAP solution (on premise, SAP S/4HANA Cloud Private Edition, or SAP S/4HANA Cloud Public Edition), changes or enhancements to the repository may be possible in various ways:

Two clients of the SAP system DEV on top of the repository. The repository is divided into an 'SAP namespace' and a 'customer namespace'. 'Modification' refer to the SAP namespace, 'customer development' to the customer namespace and 'enhancement' refers to a puzzle piece in the customer namespace that fits to another piece in the SAP namespace.
Customer Development

In the SAP system, you can create separate repository objects such as table definitions, programs, or transactions. All customer development happens in the customer namespace. In other words, all object names that you created as a customer form a preset name space that typically starts with the letters Y or Z. This applies to ABAP programs, table definitions, and so on.

Hint

SAP offers you the option to assign separate and globally unique individual namespaces. Such a customer namespace could be, for example, /<companyname>/.

Customer Enhancement

Enhancement points and enhancement sections are positions in the source code where you can attach source code plug-ins which enhance the source code at these positions. While a source code plug-in at an enhancement point is processed in addition to the original code, the code of an enhancement section is substituted by the respective source code plug-in.

In addition, you can enhance the interface of a function module by additional parameters using function group enhancements. For classes, you can add additional methods, optional parameters, or pre- and post-methods to existing methods. Finally, the use of Business Add-Ins (BAdIs) offer object-oriented enhancement options.

Modification

Changes to SAP objects, such as programs and table definitions, that are delivered by SAP, are called modifications. The repository delivered by SAP is not only enhanced, but changed. During the next release, or when you apply SAP Support Packages, you need to check these modifications against the new repository (modification adjustment).

The Concept of Clean Core

As you have seen in the previous sections, the customer may perform changes to the SAP repository. However, SAP as well frequently wants to change the SAP repository, for example, when shipping SAP Support Package stacks or when the customer performs an upgrade to a newer product version.

In the course of the update process, the customer needs to test (and maybe adapt) all their customer developments and all their extensions to check whether they still work as intended after the update. This test often is time-consuming. In the case of modifications, the update process stops and asks for the adjustment of modified objects. This modification adjustment is time-consuming and error-prone: choosing the wrong adjustment option for a table definition may result in data loss.

In addition, customer changes to the repository may prevent customers from adapting their business processes quickly. However, the need for a quick adaption of business processes becomes more and more important in today's fast-paced and ever-changing business environments. Consequently, companies need to be able to rapidly adjust their key applications to meet changing market demands and customer needs. This is where the concept of clean core comes into play.

A Circle with 'Clean Core' in the center, surrounded by the four keywords 'avoid', 'be aware', 'cloud ready' and 'decouple'. Each keyword is accompanied with additional information.

The clean core concept is a mindset and philosophy, supported with governance and guidelines, that lay the foundation for a flexible and future ready ERP software. It describes a modern approach to extend functionality in a stable, upgrade safe and transparent manner, along with SAP Business Technology Platform as a separate platform to innovate. A clean core allows faster software deployment as well as easier adoption of both SAP innovations and the regulatory changes to software.

Note

For more information, see the document Clean Core - Preparing for and maximizing the value of the Cloud.

Tools for Adjusting the Data Structure

Changes to Customizing can be performed with the help of SAP Reference IMG (transaction SPRO). For changes to the repository, SAP offers the integrated ABAP Development Workbench and the Eclipse-based ABAP Development Tools:

Screenshots of SAP Reference IMG for changing customizing and of ABAP Development Workbench and ABAP Development Tools for changes to the repository.

An SAP system provides a huge variety of different business processes that can be adapted to the individual needs of a customer by Customizing. An SAP S/4HANA Server 2023 for example contains many tens of thousands of Customizing tables. The customer is guided through this Customizing with the help of the Implementation guide (IMG). An SAP system is delivered with a complete IMG for all processes available in the SAP system. This IMG is known as the SAP Reference Implementation Guide. The IMG can be accessed using transaction SPRO.

Hint

For more information on SAP Reference IMG, see the corresponding section in the application help for ABAP Platform on SAP Help Portal.

The ABAP Workbench is a graphical programming environment, where you can use programming tools, push buttons, the context menu (secondary mouse button) or the forward navigation (double-click object names).

Note

In the SAP Easy Access menu, you can find the ABAP Workbench tools at ToolsABAP Workbench. You can access a range of tools, including the ABAP Editor (transaction SE38) to write ABAP programs, and the ABAP Dictionary (transaction SE11) to define table definitions, or data elements. The Object Navigator (transaction SE80) acts as a central entry point for the developers.

The ABAP Development Tools (ADT) is SAP’s state-of-the-art IDE for ABAP development on the open Eclipse platform. They are designed to increase developer productivity significantly by using the tried-and-trusted user friendliness, speed, and flexibility of the Eclipse platform. They combine powerful ABAP Platform functions from SAP such as Application Lifecycle Management, server-based development, complete integration, and effective tests and tools for troubleshooting with the powerful Eclipse UI.

Note

ABAP Development Tools offer a series of open, language- and platform-independent APIs that developers can use to build new user-defined tools for the ABAP environment as well as support for the creation of Core Data Services (CDS) entities in ABAP development for SAP HANA scenarios.

Summary

You can now explain the data structure of an SAP systems based on ABAP Platform. Also you should be aware of the adjustment options to the data structure in SAP systems based on ABAP Platform with respect to the concept of clean core. Finally, you now can list the tools you need to adjust the data structure.

Log in to track your progress & complete quizzes