Client Concept

Objectives

After completing this lesson, you will be able to:
  • Describe the data structure of an AS ABAP based SAP system
  • List different client roles and explain their use
  • Illustrate an example of a multi-system landscape

Data in an SAP System

Data in an SAP system can be divided into two categories:

  1. Client-specific data:

    Application, customizing, and user master data, which only affect one client. Here client refers to a self-contained unit in an SAP system, in commercial, organizational, and technical terms, with its own user master data and set of table key ranges.

  2. Cross-client data:

    Customizing data and all repository objects, which affect the whole SAP system environment.

Note

The ABAP dictionary is a data dictionary that is part of the ABAP repository.

Clients in an SAP System

A client is a self-contained unit in commercial, organizational, and technical terms. It has its own user master data and set of table key ranges.

The data of different clients is separated both in the database and at the kernel level: Open SQL statements executed by an SAP application use the client number in the WHERE clause. A table may contain data from several different clients, however the WHERE clause limits access to particular clients.

Client-specific data types are as follows:

  • User master data, such as parameters and user groups.
  • Customizing data, such as organizational units, assignments, and document types.
  • Application data, such as business transaction data and material master data.

The SAP client concept can integrate several companies or subsidiaries in a single client. It does so using the following methods:

  • Company Codes

    Company codes define the smallest corporate organizational units, for which a complete self-contained set of accounts can be drawn up for external reporting.

  • SAP Authorization Concept

    The SAP authorization concept enables the parent company to access all subsidiaries for report purposes, while subsidiary-specific data is protected against access from other subsidiaries through company code definition.

Standard client roles fulfill the optimal minimum requirements of your SAP system.

The standard clients are as follows:

  • Client CUST: Development and Customizing

    The central customizing client, where complete adaptation of the SAP system to customer-specific needs takes place. All changes performed in this client are recorded so that they can be supplied to other clients using the Transport Management System (TMS).

  • Client QTST: Quality Assurance

    Used to test and verify the new customizing settings in the application.

  • Client PROD: Production

    The client for production activities, that is, where your company's business is carried out. Customizing changes that are imported into this client have to first be tested carefully in the QTST client. This ensures that production operation is free of disruption.

To realize the full benefits of a multi-system landscape, every critical client should be located in a separate SAP system.

Note

The (logical) roles shown here are not identical to the (technical) client roles that can be chosen in transaction SCC4 (Client Maintenance). For example, the (logical) role QTST correspondents to the (technical) role Test. The (technical) client roles that can be selected in transaction SCC4 are Customizing, Test, Production, Demo, Training/Education and SAP Reference.

Additional clients within an SAP system landscape may include:

  • Client PREP: Pre-Production

    Client for the final integration and validation test, located on a separate pre-production system: The pre-production system is the environment for the final integration test once the scope of the release has been fixed (release test), for regression test, technical system test including performance test and volume test and user acceptance test. Furthermore, production support changes are tested here (particularly while the QTST client is being used for integration testing of a new development release).

    Note

    The pre-production environment typically is owned by the production support organization.

    Caution

    The pre-production system must not be "corrupted" with new release functionality or new Support Packages until the appropriate time (ideally as close to Go Live as possible).

    All pre-production systems should be regularly refreshed from the production system, if possible.

    The overall setup of all pre-production systems should mimic the production as closely as possible, including hardware-architecture, to ensure that the testing performed is valid. In detail this means:

    • Same high-availability and fail-over solutions
    • Same hardware architecture, processor types and storage subsystem
    • Same disk size and data volume (due to system copy)
    • The number of additional application servers can be reduced and possibly enhanced on demand by means of virtualization (only needed when a full and exact simulation of the productive workload is possible).
  • Client TRNM: Training Master

    Client to build training sources and to act as source client for the client copy of the training execution client.

    In this client, exercises and demos are prepared including sample data.

  • Client TRNG: Training Execution

    An end-user training environment. This client will be refreshed from the training master client. Training takes place here.

  • Client SAND: Sandbox

    A sandbox client allows you to experiment with transaction data and configuration settings. This client contains application data.

    Sandbox environments are made available for testing specific functionality and in particular system-wide or "non-removable" changes (such as the activation of Business Functions).

    Caution

    The transport of changes out of the sandbox should not be permitted. The sandbox is a purely standalone landscape with no connections to other environments. However, the sandbox may receive changes from the development in order to stay up-to-date.

  • Client TEST: Unit Test

    The goal of a unit test client is to verify customizing changes against sample data in a more stable environment. This can be done by copying customizing settings from the customizing client to the TEST client. This is called a unit test. In case that the test data has been destroyed during the tests, this client can be refreshed from the test data backup client (not included in this list).

  • Client GOLD: Golden Client

    The golden client is the "ultimate" reference client for all the good, complete and final configuration that is being used in the implementation. This client does not contain any application data, so you cannot perform any transactions here. This is a sensitive client and access needs to be restricted.

Example for a Transport Landscape

The following figure shows a four-system landscape including two supporting systems together with the clients in each of the systems as an example. Let us assume that the customer performs agile software development with the help of sprints.

In this example, development and customizing is performed in the DEV system, client 100. A separate client (300) in the DEV system is used for unit tests by the developers (who test code changes) and consultants (who test customizing changes). Transport requests are released only after a successful unit test and a sprint review meeting.

Client 100 of system QAS then is used for functional tests of the new functions from the sprint. In addition,

  • functional integration tests are executed to check the new functions in the context of the overall business process.
  • regression tests can be executed to test whether or not the new functions will have no negative impact.
  • user acceptance tests can be performed by the business key users.

Client 100 of system PRE then can be used for volume tests, performance tests of the business processing including the new functions, additional user acceptance tests and for the final integration test before – after final sign-off / approval – the changes are imported into the productive client in the PRD system.

The export of transport requests from the DEV system must be planned carefully both because this fills the import queues of both the QAS system and the DEV system and because transport requests should not be deleted from any import queue as this may result in inconsistencies.

Note

The content of the transport requests should at least be tested in the TEST client before they are released. To transfer the content of the transport request(s) to be tested to the TEST client, transaction SCC1 (Copy by Transport Request) or SCC1N (Copy Data from Transports – available as of SAP S/4HANA 1909) can be used.

In this four-system landscape, once a transport request has been released from the development system, it can be imported more or less immediately into the clients of the QAS system – provided that there is no conflict with ongoing (functional) tests.

Caution

The import into the pre-production system should take place as late as possible, however. Only changes that are supposed to go to production with the next Go Live should be allowed to enter the pre-production system.

The SBX system is required for the initial testing of Support Packages or other solution components (such as the activation of Business Functions) without impacting the development environment.

Log in to track your progress & complete quizzes