The software product SAP® ERP has become the software backbone of today’s global business. With this product, SAP architects and developers have succeeded in implementing functional and quality requirements that many companies around the world have been looking for. SAP® ERP and its predecessor SAP R/3® were the main reason for success and growth of SAP in the last 20 years.
SAP coined the term “business standard software” for this type of enterprise software. Business standard software combines standardization and flexibility in order to cover the requirements of many companies and organizations. On the one hand, SAP delivers standardized processes and standardized software. On the other hand, the software’s flexibility allows tailoring the processes to the individual company’s needs. A number of concepts have been developed and combined in SAP ERP to allow both, standardization and flexibility.
When I was chief architect of SAP ERP in 2005, we extended this concept of “standardization and flexibility” to the management of SAP ERP releases. From 2005 on, there is a “standardized” stable core release of SAP ERP, which can be extended with new functionality by installing enhancement packages. Companies can decide on feature level, which new function of an enhancement package they want to activate and use. This is flexibility.
In companies’ IT landscapes, SAP ERP has become center of an ecosystem of integrated software applications. Also, many products and solutions use SAP ERP functionality via interfaces, either directly or indirectly. In addition, the in-memory technology of SAP HANA will impact future business software. Therefore, basic knowledge about the architecture concepts of SAP ERP and SAP ERP on HANA as described in this book – is a prerequisite to develop new products in time and ready for the market.
Documenting architecture is much more than just abstracting source code in various types of diagrams. Source code and data type definitions contain no information about development or architecture decisions, and it is very hard to recognize business abstractions in the implementation. This book provides these reasons and business abstractions and fills the gap between user documentation and implementation.
Acknowledgements
The documentation of software architecture has a long tradition at SAP. More than twenty years ago, in 1990, work on the first architecture bluebooks about the SAP R/3 basis system started. Since then, an impressive number of internal technical reports about products and technology from SAP were written by skilled writers with deep technical and architectural backgrounds. This book relies on their work.
Our big thanks go to the four authors, Sagar Joshi, Sathish Karthik R, Wolfram Kleis, and Sushil Kumar, for their excellent work and strong commitment to make this book reality. We also thank the board members Vishal Sikka and Gerhard Oswald as well as senior management at SAP, especially Uma Rani and Gordon Mühl, who support our long-term goal to spread the SAP ERP architecture knowledge.
We owe a debt of gratitude to the many experts and reviewers who helped to collect and correct all the architectural facts of a software system grown over more than a decade:
Vinodh A R, Richa Agarwal, Martin Arzt, Edwin Bach, Volker Barth, Andreas Baur, Stefan Bäuerle, Christian Behrens, Artur Berlinger, Martin Beykirch, Robert Bieber, Holger Bohle, Rüdiger Buck-Emden, Peter Buendgen, Sidhartha Chakravarty, Srikanth Chandru, Puspen Chattopadhyay, Thomas Christ, Uwe Dieckbreder, Iris Dopfer-Hirth, Hagen Eck, Sven-Eric Eigemann, Holger Ulrich Eisele, Dietmar Engelmann, Michael Eyd, Thomas Fritzsche, Vishwanath G, Dieter Gietl, Matthias Grimm, Thomas Gruber, Thomas Haertlein, Jörg Heitmann, Peter Himmighoefer, Manfred Hirn, Steffen Hoffmann, Ralf Humbert, Kannan K R, Andreas Kasper, Reiner Kastner, Andreas Kemmler, Thomas Kessler, Marcel Kieser, Volker Kleinhenz, Wolfram Kleis, Christian Klensch, Arndt Koester, Alla Ralf Müller, Ursula Nani, Frank Nuxol, Bernd Oberdorf, Vidya Omprakash, Carsten Pluder,
Korchminskaya, Hari Krishna K, Wolfgang Kuhn, Aruna Kumari S, Sundaresan LN, Michael Lang, Thomas Lehnecke, Seshatalpasai Madala, Biraj Mandavilli, Ankush Mane, Andreas Martin, Andreas Mirbach, Klaus Moser, Alexander Mueller, Klaus Mueller, Ravi Murthy,
Copyrighted material
Figure 1-1: Overview of SAP ERP.
SAP ERP – earlier named SAP R/3 – is SAP’s software for enterprise resource planning. It supports all core business processes and functions required by today’s enterprises and embraces SAP ERP Operations, SAP ERP Financials, and SAP ERP Human Capital Management, complemented by common corporate services. Industry-specific enhancements make the software fit requirements specific for one industry, such as automotive, healthcare, high tech, retail or insurance.
1.1.1 SAP ERP Operations
SAP ERP Operations is SAP’s core solution for procuring, selling, producing, stocking, shipping, and transporting material. It contains the following functions:
Sales and distribution (SD), which includes the creation of sales orders, checking the availability of the requested products, price calculation, and finally delivery and billing
Materials management (MM), which includes the creation of purchase orders for procuring material and services from external vendors, verifying incoming invoices, and managing the inventory
Production planning (PP), which includes planning the production of the materials and execution
Logistics execution (LE), which controls and organizes the movement of material
Quality management (QM), which includes quality planning, quality inspection, and quality control during sales, production, and procurement
These functions are closely integrated using database integration. This ensures reliable business processes across the different SAP ERP Operations components based on consistent data. Based on the same mechanism, SAP ERP Operations communicates with SAP ERP Financials. All components share the same material master data.
The functional scope of SAP ERP Operations can be extended by integrating it with the other SAP Business Suite applications, such as SAP Customer Relationship Management, SAP Supply Chain Management, and SAP Supplier Relationship Management.
1.1.2 SAP ERP Financials
SAP ERP Financials is SAP’s core solution for financial accounting, controlling, financial supply chain management, and treasury functions. SAP ERP Financials consists of the following application components:
The financial accounting (FI) component records, classifies, and summarizes the financial transactions of a company. For this purpose, financial accounting provides general ledger, accounts payables and receivables, and asset accounting. Financial accounting records business transactions, such as customer invoice, vendor invoice, payment, and clearing, as financial documents. Based on transaction figures/balances in these documents, financial accounting periodically generates the balance sheet as well as profit and loss financial statements, which are then reported to the government, investors, and other interested parties.
The management accounting (CO) component is used for internal accounting within a
company to prepare operating data such as product costing, cost of goods sold, overheads, and actual costing of inventory. This operative data is used for the business analysis of the company and to support management decisions.
The financial supply chain management (FSCM) component processes accounts receivables and accounts payables to help ensure a smooth inflow of funds. In addition, it contains collection management, dispute management, online payment facilities for customers (biller direct) and vendors (payer direct), and credit management to check on credit awarded to a customer.
Treasury applications from SAP help ensure proper cash flow and liquidity of the company for smooth day-to-day operations. Funds, derivatives, securities, loans, financial stocks, and market risks are also managed within the treasury applications.
1.1.3 SAP ERP Human Capital Management
SAP ERP Human Capital Management (SAP ERP HCM) is the SAP solution for managing the people working for an organization. SAP ERP HCM is part of SAP ERP, but it can be deployed separately from the other SAP ERP solutions to protect sensitive employee data.
SAP ERP HCM is split into three layers. The foundation consists of the SAP ERP HCM core components, which implement the core HR processes, such as organizational management, personnel administration, payroll, personal development, and time management. They provide data and functions that are reused by SAP ERP HCM extension components, which support additional processes such as e-recruiting and enterprise learning. On top reside the SAP ERP HCM service delivery components, which enable users to interact with the SAP ERP HCM components via different channels and media for example, self-services, employee interaction center, and online forms.
The SAP ERP HCM data model is based on “infotypes.” One infotype defines the data structure for semantically related data, which is stored together on the database and also displayed together on the user interface. Infotypes support the time-dependent storage of data, which is important in HCM processes.
HCM processes are typically country-specific and have to comply with many legal requirements. Infotypes support different country-specific variants of user interface (UI) logic. Also, the business logic can be extended for processing country-specific logic. In payroll, country-specific payroll drivers have been introduced to provide corresponding payroll runs.
1.2 SAP ERP and SAP Business Suite
Over time SAP ERP got support by a collection of enterprise applications specifying on certain use cases. This collection is the SAP Business Suite (see figure 1-1). Its most prominent members are the following:
SAP CRM (Customer Relationship Management) supports all processes involving direct customer contact throughout the entire customer relationship life cycle from market segmentation, sales lead generation and opportunities to post-sales and customer service. SAP CRM includes business scenarios such as field sales and service, Internet Sales and Service and the Customer Interaction Center.
SAP SRM (Supplier Relationship Management) is a comprehensive approach to managing the flow of information between a company and its suppliers. Purchasing data is consolidated and classified to develop efficient procurement strategies that lead to more effective negotiations with suppliers and lower costs.
SAP SCM (Supply Chain Management) provides the planning, fulfillment, regulation, and tracking of
supply chain activities in order to add value, build competitiveness, strengthen logistics, match supply
with demand, and measure performance.
SAP BW (Business Information Warehouse) provides data warehousing functions, a business intelligence platform, and a suite of business intelligence tools. These tools enable businesses to integrate, transform, and consolidate relevant business information in SAP BW. SAP BW facilitates the reporting, analysis and distribution of this information. On the basis of this analysis, businesses can make well-founded decisions and determine target-oriented activities. With the comprehensive predefined information models delivered for different roles in a business (BI Content), SAP BW increases the usability of analysis functions and facilitates a quick and cost-effective implementation. SAP BW is a core component of SAP NetWeaver.
• SAP GRC (Governance & Risk Compliance) offer organizations with solutions that address risk management, corporate governance and regulatory compliance.
• SAP MII (Manufacturing Integration and Intelligence) provides a direct connection between shop-floor systems and business operations. It ensures that all data that affects manufacturing is visible in real time – including information about orders, materials, equipment status, costs, and product quality.
Many more systems integrate with SAP ERP that are not bundled in the SAP Business Suite, such as mobile device integration or cloud applications. Of course many non-SAP systems also integrate with SAP ERP, using public interfaces defined by SAP. Refer to section 1.3.5 for an overview of the technologies used for integration.
1.3 Technical Architecture of SAP ERP
The runtime and design time environment of SAP ERP is the technology platform SAP NetWeaver. All parts of SAP ERP are developed using the SAP NetWeaver Application Server ABAP (formerly known as SAP Basis) which provides a specific design time environment for developing business applications and a robust runtime environment for operating them.
In addition the following SAP NetWeaver infrastructure components are used together with SAP ERP (see figure 1-2):
• SAP NetWeaver Process Integration is a messaging middleware for integrating SAP ERP processes with processes running on other SAP applications or legacy software.
• SAP NetWeaver Portal to provide role-based views on business functionality and information provided by multiple applications. It allows implementing a company intranet portal which integrates functionality from SAP ERP, such as employee self-services for address maintenance and vacation requests as well as purchasing.
• SAP NetWeaver Business Warehouse to provide data warehouse capabilities for business data extracted from SAP ERP
• The SAP Solution Manager is a tool to set up, manage and monitor the system landscape. Many administrative and operational tasks can be done using this tool, which is aware of all three dimensions.
Among others, SAP Solution Manager offers the following services:
• Documentation of technical landscape and business processes
Implementation support including downloading and installing software updates for SAP software,
Global rollout templates and workflow-based management of changes.
Monitoring system availability and key processes
• Central application incident management
• Offering secure remote access for SAP support consultants
SAP Solution Manager is the backbone of SAP support services and therefore part of each SAP system landscape.3
In the following we give a short introduction to the technical architecture of SAP ERP with focus on the SAP NetWeaver Application Server ABAP. Readers who want to dig deeper into this topic, find details about the technical architecture of SAP R/3 and SAP Basis at [Buc99].
Portal
ERP Portal Content
SAP NetWeaver Portal
ERP
PI
BW
ERP BW Content
SAP NetWeaver Business Warehouse
SAP ERP
ERP PI Content
SAP NetWeaver Appl. Server ABAP
SAP NetWeaver Process Integration
SAP Solution Manager
Figure 1-2: SAP ERP Running on SAP NetWeaver Infrastructure
During software development, the main purpose of software architecture is to guarantee that the resulting software fulfills given quality requirements (see [BCK06]). Among the qualities which made SAP ERP a tremendous success, scalability, robustness, portability and adaptability are crucial ones. They rely to a large extent on the underlying SAP technology.
Scalability and robustness are given by using the three tier client/server architecture. In a nutshell, data is stored in a central database system, while processing is performed in an open number of application servers that communicate with the user interface (UI) clients. This cluster architecture allows for scalability to a high degree (see chapter 1.3.1).
Portability is ensured by abstracting the SAP NetWeaver Application Server from the underlying operating systems and databases. Aspects such as transactions and enqueues (logical locks) are managed on application server level, not on database level (see chapter 1.3.2).