You are on page 1of 252
THE ARCHITECTURE OF SAP ERP Table of Contents 1 Architecture of SAP ERP _ 11 SAP ERP Overview a T11_SAPERP Operations 1.1.2 SAP ERP Financials 4.1.3 SAP ERP Human Capital Management 1.2__SAP ERP and SAP Business Suite 1.3 Technical Architecture of SAP ERP 1.3.1. Three Tier Client Server Architecture Customizing and Extending the System Integration _2_ SAP ERP Powered by SAP HANA — _21 SAP HANA Architecture Overview 2.1.1 In-Memory Database 21.2 Columnar Data Storage : 2. Data Structures and Compression for Columnar Tables 2.1.4 Efficient Write Operations on Columnar Tables 2.1.5 SAP HANA Database Architecture Overview 22 SAP NetWeaver ABAP on SAP HANA 23 Application-Level Optimizations for SAP HANA. 24 SAP HANA Live aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. Foreword 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. Gordon Muhl Head of Architecture Communication and Chief Architect of SAP ERP 2005 SAP AG Preface Do you know what organizations as different as the car manufacturer BMW, the food producer Nestle, the National Australia Bank, the online marketplace eBay, Coca Cola, the Oxford University Press, and the chemical company BASF have in common with 248.000 others? They all run their business with Enterprise Resource Planning (ERP) software from SAP. With 64.000 employees and yearly revenue of 13.2 billion Euro, SAP - which stands for Systems, Applications and Products in Data Processing - is the market leader in enterprise application software [SAP13]. All this began in 1972 when five former IBM employees - Dietmar Hopp, Hans-Werner Hector, Hasso Plattner, Klaus Tschira and Claus Wellenreuther - launched the company SAP. Their vision: to develop business standard software for real-time data processing. In 1973 they finished the first accounting software. This software forms the basis for the continuous development of other software modules in what later came to be known as the R/1 System. During the 1980s, the R/2 system. was shaped and sold. In 1992 SAP’s global success started with the general release of the SAP R/ 3 system. Its client/server concept, the uniform structure of graphical interfaces, consistent use of relational databases and the ability to run on computers from different manufacturers meets with tremendous approval. 9000 SAP R/3 installations in 1996 increased to 36 000 installations in the year 2000 (see also [Mei99]). In 2003 the product SAP R/3 was renamed to SAP Enterprise Resource Planning (SAP ERP). The product is available in 37 languages, in 120 countries, on more than 8 different database management systems, supporting more than 10 different operating systems. SAP ERP is enhanced by products for customer relationship management (SAP CRM), supply chain management (SAP SCM), and supplier relationship management (SAP SRM) which together form the SAP Business Suite. Nowadays around 74% of all business transactions worldwide touch at the one or the other point in time an SAP system. For this reason we think that it is time to describe how this software works. About this Book Software architecture has been defined as “the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them” [BCK06]. Within this book we describe the software architecture of SAP ERP and focus on the “structure”, “software elements” and “relationships” which make its business functionality work. We will explain for example the interaction of different software parts to make a payroll run or how different software components are integrated when processing a quotation which becomes a sales order which then leads to production and delivery. Surely you cannot expect to learn all details of these applications that embrace 229 million lines of code in the latest release SAP ERP 6.0 EhP7. Nevertheless, you will learn a lot about core business processes of today’s companies and how the software architecture of SAP ERP addresses them. The appendix provides more technical details and references to further literature. This book includes a large number of architecture diagrams visualizing structure, components, and interfaces, All architecture diagrams show models following the TAM (Technical Architecture Modeling) notation which is SAP’s UML-compliant standard for visualizing software architecture (see appendix 6.4). This book is divided in six parts: + Part 1 - “Architecture of SAP ERP”, provides an architecture overview of SAP ERP and its main components as well as a short introduction to the technology they use. * Part 2 - “SAP ERP Powered by SAP HANA” introduces the SAP HANA technology and how it is used to accelerate some SAP ERP functionality. * Part 3 - “SAP ERP Operations” describes how sales, production, logistics, and quality management work from software perspective * Part 4 - “SAP ERP Financials” explains the core modules and components involved in financial and management accounting * Part 5 - “SAP ERP Human Capital Management” describes concepts of the core HR functions and their implementation * Part 6 - “Appendix” provides additional technical information for each SAP ERP component, such as concrete program names or database tables. This book focuses on the business application part of SAP ERP. This means we will not discuss the architecture and technologies of the underlying SAP NetWeaver® infrastructure, such as SAP NetWeaver® Application Server, SAP NetWeaver® Portal, and SAP NetWeaver® Process Integration. However, a reader will require some basic knowledge of SAP technology, such as the SAP NetWeaver® Application Server, the ABAP™ programming language, or the Enqueue mechanism. Therefore, these technology topics will be introduced first (see chapter 13). Who Should Read This Book? This book is written for everyone interested in the conceptual architecture of SAP ERP: Students/scientists will get to know how the complex world of current business processes is mapped to and executed by software systems. This may be interesting for students of computer science as well as for student of economics. Consultants who are working on SAP implementation projects and need to get insight in how SAP ERP works. This book does not tell how to set relevant customizing settings to adapt business processes, but tells the structure of SAP ERP in principle and how the different components work together to execute business processes. ClOs and IT managers who already run SAP ERP and always wanted to know what it does and how it works. This book is not a user manual explaining how to work with a specific screen but introduces the basic functions of SAP ERP and how they are executed in the system. 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 Muhl, 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 Bauerle, Christian Behrens, Artur Berlinger, Martin Beykirch, Robert Bieber, Holger Bohle, Rudiger 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, Jorg 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 Korchminskaya, Hari Krishna K, Wolfgang Kuhn, Aruna Kumari $, Sundaresan LN, Michael Lang, Thomas Lehnecke, Seshatalpasai Madala, Biraj Mandavilli, Ankush Mane, Andreas Martin, Andreas Mirbach, Klaus Moser, Alexander Mueller, Klaus Mueller, Ravi Murthy, Ralf Miiller, Ursula Nani, Frank Nuxol, Bernd Oberdorf, Vidya Omprakash, Carsten Pluder, Kartik R, Uma Rani T M, Susanne Richter, Sven Richter, Gerhard Rupp, Vijaya Sarathi Durvasula, Friedrich Schattmaier, Horst Schnérer, Martin Scholz, Juergen Alfred Seyfried, Andreas Siebel, Ralph Stadter, Tobias Stein, Thomas Steiner, Sreeram Subram N, Scott Sun, Balaji Sundaram S., Silke te Uhle, Winfried Teltscher, Georg Tewes, Marco Valentin, Shrikant Varma, Rolf Walthemathe, Pranav Wankawala, Lai Wei, Olaf Wellm, and Markus Wolf. A special thank you to Andreas Huppert (//hupperts.de/) for providing the cover photo. The Editors Jochen Béder, Bernhard Grone SAP AG 1 Architecture of SAP ERP Authors: Jochen Béder, Bernhard Gréne 1.1 SAP ERP Overview [SAP NetWeaver BW (Business Warehouse) SAP CRN (Customer Reiation- Operations z Soiveaer i Sales ang Datibuton [IM] Financial Acountng SAP SAM (s0) FD) HEM Service Dalvery ea, Materia’s Management (€SS,..) Management) _ Moragenet ‘SAP SCH poccarieng CO) HOM Extensions (Supply Chain re E-recnsting, .) Management) (rey Financial Supply Chain ake ‘Managernent (SCM) eu TAP GRE Logisics Execution are (Le) Payl,.) (Govenance & Risk a =; oreo! ‘Guay Management — SAP Wil (ara (au) 1g etegration and oveligence) : SAP NetWeaver Pl (Precezt Integration) 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. 11.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. 11.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.* 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 PI ERP Fortsl Content & SAP NetWeaver Poral aw ERP ERP BW Content SAP ERP ERP PI Content ‘SAP NetWeaver SAP NetWeaver req Business SAP Netiveaver _, Process 2 warehouse EB Appt Sener ABAP [2 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). * Efficient development is supported by the tailored programming language ABAP that abstracts from technical details and allows focusing on business logic. A built-in transportation mechanism allows transferring software changes from one system to another, such as from development system to test system to productive system. With SAP ERP Operations, SAP ERP Financials, and SAP ERP Human Capital Management, business functionality has been separated in components which however share one common database. By this, all business processes are integrated with each other. This enables for example sales processes to trigger financial processes and vice versa. 13.1 Three Tier Client Server Architecture While the predecessor system SAP R/2 used mainframe architecture, SAP R/3 (and thereby SAP ERP with its underlying SAP NetWeaver Application Server) uses a scalable three tier client-server architecture. Figure 1-3 shows the overall architecture. In the client layer, a generic user interface player such as the SAP GUI or a WWW Browser interacts with the user. The graphical user interfaces are typically form- based with a number of extensions (for example file transport to and from the user’s machine). The actual business data is exclusively processed in the application layer. Application servers keep user sessions, cache database data, but can also be used for administrative or development tasks. Interactive sessions are called dialog sessions, but other roles of sessions are also possible within one application server: Batch or scheduled job processing (without user interaction), RFC (Remote Function Call) / Web service handling (interaction with other systems), or Update Task (see chapter 1.3.2). The database layer finally implements a common database shared among all application servers. This database also includes metadata and source code of all programs. No data processing aside from store, search and retrieve is happening at the database layer. One of the major advantages of this cluster architecture is scalability. If more computing power is required or the number of concurrent users increases, the administrator just has to add an application server to the system. Since the programs are located in the central database, only a basic machine-dependent installation procedure is necessary on a new machine. After registering the machine in the cluster using the message server, it quickly becomes a further application server of the system. x] OK ) ] Browse oi oi 3 ) ‘Aoplcalion Server 1 mappetrminahal ‘Day a rer |. Appleason oF oF , message || Enqueue ‘Sener ‘sever Ters ot | atansetayee (og Locis arvoss) Figure 1-3: Three Tier Client-Server Architecture of SAP ERP* Please note that the programming model differs significantly from the technical client-server architecture: Data processing is done exclusively on application servers, the same is true for the implementation of user interaction, A database abstraction together with a data dictionary (DDIC) integrates all database operations in the programming language used on the application server. This language is called ABAP (see chapter 1.3.3), and is compiled at run-time when a program is started for the first time. The user interface is abstracted as well: Here, the Dynpro (“Dynamic Program”) concept allows building graphical form- based user interfaces quickly that use the data types from the data dictionary (DDIC) and integrate with the ABAP Programs. Web Dynpro is similar, but uses a WWW browser as generic UI client. Furthermore, ABAP programs are single threaded. With this technical architecture application developers can focus on applications, while basic tasks such as database connection handling or network communication are covered by the SAP NetWeaver Application Server. 1.3.2 Transaction Concept As a consequence of the three tier architecture, a number of sessions on various application servers need access to shared data on one common database. This is typically solved on database level with a transaction concept and locks. Due to performance reasons, it was not reasonable to span a single database transaction over multiple dialog steps® within one session. In addition, using automatic database locks lead to longer lock duration than necessary from business side, which could lead to massive performance problems in larger installations. _ Oo Enqueue Dequeve ba Enqueves: Apelcation Enqueve Server copia iosks) cal Functon hn Update Tack © fee 4 | | commit iors - Roback Wore Update Task Local Update bs t (uw saa) Registered DB Operations + Dats LUW: Bundled DB Direct ese DB Operations ¥ OV upaste sti = O © (05 Transaction) Database Management System t Figure 1-4: Enqueue Server and Update Task The solution was to lift the transaction and lock mechanism from database level to the SAP NetWeaver Application Server: Transactions are called Logical Unit of Work (LUW), modifying database operations are handled by the Update Task, Locks, called Enqueues, are handled by an Enqueue Server and have to be used by convention, not automatically. By convention, applications register modifying, database operations in the update task by using the ABAP statement call function in update task. In case an application needs exclusive access to a shared resource (such as a record in a database table) it acquires a logical lock (Enqueue). With the commit work statement, the applications request closing the LUW; the update task performs all registered database operations and then informs the enqueue server which releases the logical locks. Consequently, a rollback work statement discards all registered database operations and releases the logical locks as well. Figure 1-4 shows the system’ with focus on the transaction concept. Please note that the number of applications and update tasks varies, while only one database management system and only one enqueue server are allowed in the system. Database] Bf § = Satm |5 $y T ofa! i (3 8 I Loot I | i i | | | | | | | i U 08 Operator | | 1 | | | | ae | It Figure 1-5: Enqueue Server and Update Task: Typical Sequence In figure 1-5, the difference between Enqueues and (automatic) database locks becomes obvious: While an enqueue can be set at the start of a series of dialog steps, the records in the database will be locked in the end, when the update tasks performs the database operations that had been registered before. 13.3. ABAP The majority of software that makes an SAP ERP system, be it on the business level or on framework level, is written in ABAP (Advanced Business Application Programming). The roots of ABAP are in a macro assembler language used in R/2 to create reports. Until now, the language has undergone many iterations and enhancements, for example the support of object oriented programming (ABAP Objects). In general, ABAP is optimized to work on database tables, for example by sharing a common data dictionary to use the database types in the applications and vice versa, or by offering tables as local variables on application level (called internal tables). In contrast to library-oriented languages such as C/C++ or Java, ABAP provides a wide set of statements and modifiers to integrate a big number of framework features directly in the programming language. Examples of Framework features in the ABAP Language Move-Corresponding allows copying a subset of fields among, two different records (with different types!). At execution time, it checks for each field of the source record whether a field with same name exists at the destination record, and copies the selected content only, leaving the rest untouched. The advantage is that the record types can be extended without having to touch the code. Call Function .. Destination ... implements a remote function call (RFC, see below). It uses the same syntax as the call of a function module; the additional keyword “Destination” is used to identify the remote system via customization settings. There are several books about the programming language ABAP, for example [Kel05] and [HeJ11]. 1.3.4 Customizing and Extending the System As standard software, SAP ERP has to be adapted to the specific situation of an enterprise, including its organization structure or locations. The general term for configuring the system is customizing*, defined as “the entries made by the customer to implement an SAP System”. Several thousands of parameters control the behavior of the SAP ERP system. They are stored in a special set of tables, the so-called IMG tables (IMG stands for Implementation Guide). A separate set of user interface transactions can be used to set the parameters, i.e. customize the system. To extend an SAP ERP system with own functionality, a number of technologies have been offered since the first SAP R/3 releases. The recommended one is called BAdI (Business Add-In). BAdIs are a mechanism for planned extensibility’. Planned means that the developer of the standard software already anticipates that others may want to change or enhance the standard behavior at certain points in the application. BAdlIs are used to plug in custom behavior either in an additive way or by replacing the standard behavior. The purpose can be to implement a custom variant of some calculation or to override a default strategy. 13.5 Integration Concepts From a software perspective it is a characteristic of business processes that business data is continuously changed by different process steps. To manage this, the different software parts which implement the process steps have to communicate or phrased differently - the software components have to be integrated. SAP ERP uses multiple integration concepts offered by the underlying SAP NetWeaver infrastructure. For application-to-application (A2A) communication between the different subcomponents, database integration is used. In database integration, the sending and receiving components share database tables. To transfer data, the sending component creates records in these tables, which then triggers follow-up processing in the receiving component. The sending component creates the records in the transfer tables within the same logical unit of work (LUW) as it stores the business data processed in the transaction. This makes database integration very reliable. Data transfer only happens when the business transaction can be processed successfully (see chapter 1.3.2). In principle all SAP ERP components share one common database. However, it is possible to deploy SAP ERP HCM on a separate system with its own database. SAP ERP Financials, SAP ERP Operations, and SAP ERP Corporate Services typically run on one system. In a typical deployment scenario, the SAP ERP Operations share one system with a common database with SAP ERP Financials. But in distributed deployment scenarios, SAP ERP Operations and SAP ERP Financials also use the same master data, such as material, customer, and vendor. Typically SAP ERP HCM is operated on a separate system and integrated with SAP ERP Financials using the application link enabling (ALE) integration technology and IDoe. At a customer site, an SAP ERP system doesn’t stand isolated from the rest of the world. As explained in chapter 1.2, SAP ERP integrates with SAP Business Suite, but also with other software systems. A number of technologies are available as well The basic technology to communicate with an SAP ERP system is called RFC (Remote Function Call). A programmer marks an ABAP Function Module as enabled to be called remotely. The interface of the function module is exhibited as a remote interface. It can be called from any RFC client!” that can authenticate against the called SAP ERP system. BAPI (Business Application Programming Interface) is a standardized programming interface that enables external applications to access business processes and data in an SAP ERP system. BAPIs are defined in the business object repository (BOR) as methods of SAP business object types that carry out specific business functions. BAPIs are implemented as RFC-enabled function modules and are created in the Function Builder of the ABAP Workbench. IDoc (Intermediate Document) is a standard SAP format for electronic data interchange between systems. An IDoc type can contain multiple message types, for example both purchase order and order confirmation. [Docs are used for example in Electronic Data Exchange (EDI) or in data distribution in a system group. ALE (Application Linking and Enabling) supports distributed, yet integrated processes across several SAP systems using IDocs and RFC calls. Enterprise Services are SOAP-based Web services which provide access to the business functionality of SAP systems. Enterprise services are structured according to a harmonized enterprise model based on process components, business objects and global data types". SAP ERP provides synchronous and asynchronous A2A and B2B'? enterprise services. Synchronous services are point-to-point, whereas asynchronous services are mediated through SAP NetWeaver Process Integration which supports exactly-once-in-order and forward error handling. Business object events and delta update mechanisms are provided for several scenarios. Lately SAP introduced the infrastructure hub SAP NetWeaver Gateway which provides access to SAP ERP using REST-based OData services. Especially mobile applications use OData services to access SAP ERP functionality’. 1.3.6 System Landscapes Several dimensions have to be considered to derive the system landscape and the number and role of server machines (physical or virtual ones) used ina typical SAP ERP installation. First of all, an SAP ERP system provides the so-called clients. A client is an organizational unit identified by an ID (three digits, e.g. 001). When users log on to the system, they have to select the client to work on. Clients have separate business data, users and authorizations, but they share the same programs and database structure. Companies can, for example, set up separate clients for business tasks, for testing, or for education. There are also preconfigured clients, such as the reference client (000), which is reserved for settings and data delivered by SAP. First dimension is the structure of a single SAP ERP system, which is typically set up as a cluster of servers. As described in chapter 1.3.1, SAP ERP scales with the number of application servers. Therefore the server instances of an SAP ERP system can be installed on separate machines: one database host and one or more application server hosts, depending on the role and the expected load. As figure 1-3 shows, software is deployed centrally via the database; only the kernel has to be installed on each application server host separately. Second dimension is the role of the SAP ERP system in the Software Lifecycle. The SAP ERP system which is used for the business is called the production system. Depending on the amount of configuration and in-house development of extensions, SAP recommends setting up one or more development systems and one quality assurance system with identical software version and customizing as the production system. Extensions are developed in the development system(s). The code is then transported to the quality assurance system where it is thoroughly tested. If everything works fine, a code transport between quality assurance system and productive system finally activates the extension for the business. Each development and quality assurance system is a full SAP ERP system, potentially as cluster (following the first dimension). The same transport mechanism is used for configuration settings. Third dimension is the role of the SAP ERP system in the business. For example, many companies choose a setup where the HCM component of ERP (to manage employees) is separated from the logistics or financials components. This is depicted in figure 1-6. ‘OPS+FIN-Developmentt (OFD) i i Appicatic ||| *2eicaten| FRepteston | [Angin Le || oes || see | 2 (OPS+FIN Productive (OFP) | . coe i Database Server OFD_OB Trrsect bs? ! CPSeFINCom Gairar]||[aaoon]) | ator | eae slidaion (OFC) [Senices|||| AS as ! Angi Ay cates ippicaton|| Apsicaton| _ | Aopicaton I ER ‘Server ‘seer || Sewer [>>] Sener \ (OFE) oFet corer || ore OFF \ Tepeat]| > ‘Sever Database Server | OFE2 Oro oe Database Server OFP_OB TEESE ! Database Server OFE_OB ‘on MaxDB on SAP ERP 6.0 ERPS on NaxO8 on Windows \ Windows Sener x64 Senor ! ‘SAP ERP 8.0 EhPS on MaxDB | ‘on Windows Server ve | ere ERPHuman CapitaManagenet HCM-Develapment (HCD) HICM-Consclidaton (HCC) HEM Productive (HCP) I | | SAP ERP 6.0 EhP5 on MaxDB SAPERP 6.0 EhPS on MaxDB ‘SAP ERP 6.0 EhPS on MaxDB on IPS cs Windows Sener it tn Windows Sewer x65 Windows Server 4 el Figure 1-6: Server Machines in an SAP ERP System Landscape: Three dimensions "This book describes SAP ERP 6.0. At the time this book was written, the latest SAP enhancement package for SAP ERP, released in 2013, was enhancement package 7. 2 In this context, “material” is the general term. It includes products (material that is built from pieces to be sold), goods (material to be shipped), and raw material and parts (material as input for production). If a dedicated type of material is intended, we use the corresponding term. ° For details on SAP Solution Manager, see [Sch12] * Programs are compiled on demand on the applications servers when an application is called for the first time. The compiled executable (the “load”) is then stored in the database and used until the source code is modified. 5 The TAM block diagram notation which is used in this and many other diagrams is explained in appendix 6.4.1. © In a form-based user interface, a number of different forms may have to be filled until a consistent data set can be stored in the database. A dialog step is a roundtrip between UI client and server, for example submitting a filled form and receiving a new form to be presented to the user. 7 In this context system means the complete installable and patchable SAP ERP instance consisting of one or more application servers and one database management system (DBMS). * For more information about Customizing SAP ERP, please refer to product documentation at http://help.sap.com ° Planned extensibility implies that there is a contract between developers of the standard software (SAP) and developers of Add-Ins, defining stable interfaces and compatibility of future versions. Unplanned extensibility would be modification of the SAP code at customer site, resulting in possibly incompatible changes during an update. 1° SAP provides a library called librfc that can be used to program RFC clients in a variety of programming languages. "| For available Enterprise Services and their assignment to process components and business objects, see the Enterprise Services Workplace at http://esworkplacesap.com ? Integration among (local) applications is called A2A (Application-to- Application), among different companies is called B2B (Business-to-Business). ‘3 OData (Open Data Protocol) was released by Microsoft under the Microsoft open specification promise and was submitted in 2012 as an OASIS standard. For information about OData see http://www.odata.ore. For further information about SAP NetWeaver Gateway see the SAP Community Network [scn]. 2 SAP ERP Powered by SAP HANA Author: Wolfram Kleis In 2010 SAP released the SAP HANA platform with the SAP HANA database at its core. It is an innovative in-memory database system that supports transaction processing as well as analytic applications. In January 2013 SAP announced the availability of SAP Business Suite powered by SAP HANA. SAP customers now have the option to optimize application performance and to simplify their system landscape by running SAP ERP powered by SAP HANA. A variety of scenarios have been optimized for SAP HANA - including financial close and material resource planning. In addition, operational reporting and analytics specifically benefit from SAP HANA technologies. The system landscape can be simplified because SAP HANA makes it possible to create, process, and analyze business data in real time ina single system, without the need for additional analytical systems and data replication processes. Using SAP HANA as the data layer for SAP ERP is optional. SAP continues to support and optimize SAP ERP for all other major database management systems. To understand why SAP ERP benefits from running on SAP HANA, the following aspects need to be considered: ¢ SAP HANA technology itself improves the performance of database operations. The technical concepts of SAP HANA are introduced in section 2.1. To benefit from this technology, SAP ERP needs to be migrated to SAP HANA. For many scenarios this does not require any changes in the SAP ERP application. The reason is the architecture of the SAP NetWeaver AS ABAP, which provides a database abstraction layer. This architecture is discussed in 2.2. * Specific SAP ERP scenarios have been optimized for SAP HANA on application level. This category is discussed in 2.3. 2.1 SAP HANA Architecture Overview The core part of a SAP HANA system is the SAP HANA database. Database clients, such as the ABAP application server, use the Structured Query Language (SQL) to interact with the SAP HANA database. SAP HANA extends SQL with various additional features, for example HANA specific-views such as analytic views for aggregations and calculation views that are either implemented as database procedures or with graphical data flow models. In addition, SAP HANA includes Advanced Application Services (XS), which adds a web application server and programming model for web-based access. With XS, new SAP HANA-based applications can be developed that run completely on SAP HANA. XS also hosts web- based system tools, for example for administrating SAP HANA and for XS-based development. Part of the SAP HANA database is a repository for storing application artifacts such as definitions of data models and program code that runs inside SAP HANA. The SAP HANA studio includes development tools for SAP HANA content as well as tools for monitoring and administration. SAP NetWeaver AS ABAP (orcther database cient) eau [SAP HANA eee im Z| sap HANA [7O] stucio Figure 2-1: SAP HANA System" SAP HANA can be configured as a distributed cluster for high availability and scale-out’’. High availability is supported on several levels, for example with standby hosts in the same system, and with replication to a complete secondary SAP HANA system. The SAP HANA database is a high performance database management system that is designed to take full advantage of current hardware technologies by combining inmemory technology, columnar data storage and massively parallel processing. It is a relational database system that supports Structured Query Language (SQL) and the ACID (Atomicity, Consistency, Isolation, and Durability) properties. This section introduces the most important concepts behind this technology. 21.1 In-Memory Database The SAP HANA database is an in-memory database management system. All tables are loaded into memory either on-demand or during system startup. All processing, such as aggregating and searching, is done on data that is completely located in memory. This way the performance of these operations is no longer limited by slow disk accesses. Even though all processing is done in memory, disks are still needed for persisting changes, for example to recover the system after a power failure. After system startup data is loaded into memory again. For columnar tables (see 2.1.2) it can be specified on column level whether data is loaded immediately or on first access. 2.1.2 Columnar Data Storage The SAP HANA database is a relational database management system that stores data in tables. Internally, two types of table implementations are supported, row-based and columnar tables (see figure 2-2). They differ in the way they store the two-dimensional table structure in linear computer memory. In a row-based table, the cells of the table are stored row-by-row. In a columnar table, the elements of each column are stored in contiguous memory. Columnar storage can lead to significant performance improvements for column operations such a scanning or aggregating the values in a column. With columnar data organization, operations on single columns work on data stored in contiguous memory locations. This means that these operations have high spatial locality and efficiently uti the CPU caches. With row-oriented storage, the same operation would be slower because data of the same column is distributed across memory locations and the CPU is slowed down by CPU cache misses. SAP ERP powered by SAP HANA uses column-based tables for most business data. Row-based tables are used mainly for system data such as metadata, programs and administrative data. The concepts and advantages of column-based in-memory data management are discussed in detail in [PZ12] and [Pla13]. Table “EMPLOYEE” Row Based Columaar tepresentstion fepresertation row. § Cohan“ 248825 frasasze fammer [zoe © lane easise2 lessroea [sman __[asc0 [zoos levsisos [Anderson [seca | row? jessise2 frresei2 [Onega _[es00 [Sra = Cota —Tmer rows > “Name” lerereas etn lanaercon oe pees fonesa oma =F [7768912 nega courn—Tepa9 jesoo ms 4500, 3580 es00 Figure 2-2: Row-based and column based representation of a table 2.1.3 Data Structures and Compression for Columnar Tables SAP HANA uses efficient compression algorithms that help fitting all relevant application data in memory. Columnar data storage helps achieving efficient data compression, as contiguous memory locations contain data of the same type. One example for such a compression method is run length coding which stores ranges of the same value by just storing the value and the number of occurrences, Column-based storage is especially efficient for storing columns that contain only one distinct value. Such a column can be stored by just a few metadata and the single value. As research by the Hasso Plattner Institute shows, this is actually relevant for SAP ERP systems. The analysis of data from a productive SAP ERP system showed for example that 72% of the 98 columns in the financial accounting document header table of a typical productive system contained only one distinct value [KG+09] . SAP HANA stores the columnar tables using dictionary coding. The distinct values occurring in a column are stored in a sorted dictionary. The actual column is stored as vector of integers (value-IDs) that indicate a position in the dictionary. Figure 2-3 shows an example with a column that contains names of cities. The value-IDs are stored using the minimum number of bits, to use memory most efficiently. Dictionary coding not only saves memory, it can also speed up operations. Operations such as searching can be executed on the integer values, which is significantly faster than comparing long string values. Since the dictionary is sorted, comparisons and selection of ranges can also be executed on the value [Ds. With this storage structure, values can be found fast: A given value is first looked up in the sorted dictionary using binary search. The resulting value-ID can then be found by scanning the value-ID vector, which is typically done in parallel for different parts of the vector. As all data is in memory, scan speed is so fast that additional index structures are often not required. Columa: Coe Internal Storage Structure Being b amsterdam i [Algiers a Being 2 jo Aigers Paris [23456 = 7 [amsteraam 2 Be; [Quebec lesaer [peing _|eem Berin 3 Paris 23456 - P pes [Pars a F 23487 [Ousbes vee Dictionar Vector wl Figure 2-3: Dictionary coding In addition to dictionary coding, SAP HANA provides several compression mechanisms for the value-ID vector, for example the run- length coding mentioned above. For a detailed discussion of the compression mechanisms see [Pla13]. 2.1.4 Efficient Write Operations on Columnar Tables Write operations on compressed columns with sorted dictionaries would be costly as they would require reorganizing the storage structure and recalculating the compression. Therefore write operations on columnar tables do not directly modify compressed data. All changes are written into a separate data structure called the delta buffer (see figure 2-4). Write opera Operation ||_triry \Write-optimized Read optimued Figure 2-4: Delta Buffer for Columnar Tables The delta buffer is optimized for writing, and changes are just appended at the end of the buffer. For example, when the application updates a record, the write operation just appends the new version of the changed record to the delta buffer. The original version is not changed physically during the write operation, but marked as invalid. Read operations need to access both the delta buffer and the main data structures of the columns, called the main storage. From time to time, the content of the delta buffer is merged into the main storage. This merge operation happens asynchronously to the write transactions either automatically or triggered by an administrator. The merge operation is implemented in a way that allows both read and write operations while the merge process is running. 2.1.5 SAP HANA Database Architecture Overview The architecture of the SAP HANA database server! is shown in figure 2-5. To send requests, the client opens a database connection. In the case of SAP ERP powered by HANA, the database client is the ABAP application server. Requests are always executed in the context of a database transaction. Incoming requests are analyzed by the request parser. The request parser also dispatches the request based on its type. Normal SQL statements are translated into a parse tree which is forwarded to the optimizer and execution control. Calls of procedures written in SQLScript are handed over to the SQL Script Processor. ‘SAP NetWeaver Application Server ABAP (or other SQL client) SAP HANA Database ‘Connection And Session Management OF Request Parser 5 ® 5 ® } * v v v * SQL Script Planning MDX ‘ Processor Engine Processor OF oF OF Optimization and Execution Control OF Relational || _OLAP ce Text || Spatial Operators |} Operators | | Operators || Operators || Operators || Functons| C2 C2 in-Met In-Mee OD 0) Persistence Layer Figure 2-5: SAP HANA Database Architecture SQLScript is SAP HANA’s programming language for writing database procedures and user-defined SQL functions. SQLScript extends the standard SQL type system with the possibility to define table types for parameters and variables. Table variables are implicitly defined temporary tables that are used to store intermediate results. SQLScript code may contain SQL statements, procedure calls, and control flow statements such as if/else or loops. Cursors are available for iterating through result sets. SQLScript code can also call built-in functions called calculation engine operators. These operators include relational operators optimized for column-based tables and additional operators such as vertical union. SAP HANA also includes a planning engine that allows financial planning applications to execute basic planning operations in the database server. Examples for planning specific operations are disaggregation, which distributes aggregate values from higher to lower aggregation levels, and a copy operator that creates a new version of existing data and applies filters and transformations, for example to advance the date to a new year and modify certain figures. Database clients invoke the planning commands using a SQL extension The SQL connection is also used to send requests in the MDX language (multidimensional expressions), the de-facto standard for querying analytical cubes. The request parser forwards this type of request to the MDX processor. The SQLScript processor, the planning engine, and the MDX processor use a common infrastructure for further processing. They generate a common representation called calculation graph from the SQLScript procedures, planning models, and MDX queries, which they hand over to the optimizer and execution control. The optimizer applies rule-based and cost-based optimization and creates an execution plan that is forwarded to the execution control. The execution control orchestrates the parallel and - in case of a scale- out cluster - distributed execution of this plan. It invokes the actual operators which belong to the following categories * Implementation of relational operators such as projection, join, selection (for example scan), and union. * Special operators for columnar data, including © OLAP operations optimized for columnar in-memory data, using parallel aggregation © The calculation engine operators mentioned above © Text operations such as fuzzy and linguistic full text search. © For columnar tables SAP HANA natively supports spatial data types, such as points and polygons. Spatial operators are provided on this data, for example for computing area, distance, and intersection, and for checking whether an object is within another one. © Business functions that can be called as built-in procedures. Examples are functions from the domains of financial mathematics and predictive analytics. A powerful procedure language and built-in business function are important for building high-performance applications based on SAP HANA, as they enable the execution of business logic in the database server. This helps minimizing data transport to the application server and ensures that SAP HANA’s capabilities for optimized and parallelized execution can be fully exploited. To ensure durability, SAP HANA persists all changes to disk. The persistence layer ensures that redo log entries are persisted when a transaction is committed. By replaying the redo log, the most recent committed state of the database can be recovered after a crash. To shorten log replay time during startup, SAP HANA periodically performs save point operations during which snapshots of the complete in-memory data are written to disk. At startup only the redo log entries written after the last save point need to be replayed. 2.2 SAP NetWeaver ABAP on SAP HANA An important feature of the ABAP application server is the support for different database management systems from different vendors. This flexibility is provided by the interface architecture of the ABAP application server as shown in figure 2-6. ABAP programs are executed by the ABAP virtual machine, which calls the database interface component for processing database-related operations. The database interface (DBI) component is for example responsible for managing database connections and for managing table buffers. In ABAP, database access is usually programmed using OpenSQL, a vendor- independent subset of standard SQL embedded in the ABAP language. OpenSQL is implemented using the OpenSQL module of the DBI. In addition, ABAP programmers can use vendor-specific SQL, called native SQL. The DBI itself is independent of the database management system used. It builds upon a database vendor independent abstraction provided by the DBSL interface. The database shared library (DBSL) is an adapter component that maps the vendor-independent abstractions to the characteristics of a concrete database management system. It uses a vendor-specific database client library to connect to the client. The DBSL exists in different variants - one for each supported database management system. Because of this abstraction layer, it is possible to connect SAP HANA Database to the ABAP server by implementing a specific version of DBSL. The HANA-specific DBSL implementation helps increasing performance by choosing the most efficient HANA features for implementing the abstract operations, and by minimizing data transfer and conversions. Database intertace (DB!) Native SQL Module SAP HANA-specific implementation of DB! 0 Figure 2-6: Database Interface Architecture of the ABAP Application Server With a HANA-specific DBSL, the ABAP application server can use the SAP HANA Database as its system database. However, to make better use of SAP HANA, ABAP code of some SAP ERP functions has to be optimized. To make this task easier, the ABAP language was also enhanced. Procedures and specific views are important elements of the SAP HANA programming model. To allow developers to consume these in an efficient way, ABAP was enhanced, for example with the option to call database procedures and to declare ABAP database views that act as an interface to externally created views. 2.3 Application-Level Optimizations for SAP HANA For selected scenarios, SAP ERP applications were optimized for SAP HANA. One of the principles behind these optimizations is moving data-intensive processing from the ABAP application server to the database server. For example: ABAP code that combines data from multiple tables using nested loops was replaced by SQL queries that use join and union operations to do the processing in the database system. In other cases, application logic was moved to database procedures and views in SAP HANA. Moving processing to the database improves performance for two reasons: It minimizes data transport between application server and database server and it enables optimized in-memory processing in SAP HANA. A second principle is to remove persisted results, for example aggregations. With the high scanning and aggregation speed of SAP HANA, the results can be computed from the operational data on the fly with each request with sufficient performance. This simplifies application code and data model, and it speeds up write operations, as the aggregated values need not be maintained any more Examples for functions optimized for the initial release of SAP ERP powered by SAP HANA are intercompany reconciliation (4.3.9.2) and incoming payment clearing in Financials, purchase order history in Materials Management (3.6.1), resolving document bill-of-materials in Product Lifecycle Management, and rule execution in the business rule framework BRFplus. Another example is material requirements planning (MRP) in Production Planning and Control (3.5.3.5). As material supply and demand can be selected faster, MRP runs can be executed more frequently, ensuring that users work with current data. An example for eliminating persisted intermediate results and aggregates is rebate processing in Sales and Distribution. Here an application-managed indexing table could be eliminated, as SAP HANA an select and aggregate the data on the fly with good performance. As the eliminated table can become very big, the main benefit of this optimization is a reduction of the database size, resulting in lower cost of ownership. In many cases the optimizations do not use SAP HANA specific features but are based on standard SQL. In cases where SAP HANA- specific extensions are used (such as SQLScript procedures or SAP HANA-specific database views), alternative implementations are provided to support other database management systems. This is also required when, although standard SQL is used, the optimized version does not perform well on other database systems. 2.4 SAP HANA Live The data model of SAP Business Suite is historically grown and not uniform across applications. Interpreting it correctly requires expert knowledge, both of the application domain and of the database design. SAP HANA Live introduces a virtual data model made of SAP HANA views, which makes it much easier to develop SAP HANA-based applications that read SAP Business Suite data. It can be used with SAP Business Suite systems running on SAP HANA (such as SAP ERP powered by SAP HANA), and also with replicated data in a separate SAP HANA system running side-by-side with the source system. sat eeae Generic Giants (SAPGUL Browser, Application specitc Web Uls {SAP BI Toa, wleroeat Exc) ‘SAP ERP Powered by SAP HANA ABAP Appileatione [See HANA XS ‘OData services sa] (Sap mana imal Tappiisation ‘SAP HANA Date Made! Live ess res Dita Mee Figure 2-7: SAP HANA Live SAP HANA Live provides several benefits: * Real-time analytics applications can be built on the operational data. * The virtual data model hides the complexity of the SAP Business Suite data model. It embeds, for example, the knowledge which tables need to be joined to get meaningful and complete information. * A uniform data modeling approach and common naming conventions make it easier to understand the data model and enable, for example, common reporting across applications. * The virtual data model is independent of a specific client technology. Its views can be consumed via SQL, MDX, or via HTTP based on SAP HANA XS. * The virtual data model can be easily extended by adding additional views on top, for example for joining additional fields or for renaming fields to match industry- or company-specific terms. At the beginning of 2013, the virtual data model of SAP HANA Live for SAP ERP contained hundreds of database views from various areas such as financial accounting, sales, delivery, billing, customer data, manufacturing, inventory management, purchasing, and plant maintenance. Figure 2-7 shows a setup where SAP HANA Live is co-deployed with SAP ERP powered by SAP HANA. SAP ERP applications write data to tables in the SAP HANA Database. The same SAP ERP tables are read by SAP HANA Live to provide the virtual data model to analytical applications for operational reporting on SAP ERP data. The virtual data model is consumed by application-specific user interfaces or by domain-independent generic applications. Examples for generic applications are Microsoft Excel and SAP Business Intelligence tools such as SAP BusinessObjects Explorer, SAP Crystal Reports for Enterprise, SAP Business Objects Dashboards and SAP Business Objects Analysis. The SAP Business Intelligence tools access SAP HANA via SQL, Microsoft Excel uses MDX. Application-specific user interfaces are web applications running in a web browser or native mobile applications. They connect to SAP HANA XS via HTTP. SAP HANA XS. supports OData, a standardized protocol for web-based data access. SAP HANA XS makes it easy to provide OData services based on SAP HANA views and tables by creating a declarative mapping. Technically, the SAP HANA Live virtual data model consists of calculation views. Calculation views are SAP HANA-specific views that are implemented either as SQLScript procedures or modeled graphically as a data flow graph. SAP HANA Live uses mainly graphical calculation views. With respect to their purpose, the views belong to three different categories: query views, reuse views, and private views (figure 2-8). At the top of the virtual data model are the query views, which are intended to be used by the analytical applications. The query views form the client interface of the virtual data model and provide the granularity and format needed by the application. They contain, for example, field values in a format that is consumable by the user interface, with correct decimals, conversions, texts, and so on. This is also the layer where authorizations for business users are managed. Query views are not meant to be re-used for building other views. Reuse views expose the business data in a well-structured, consistent, comprehensible way, covering all relevant business data. They are designed for re-use and can also be used for building other reuse views. Reuse views are not meant for direct consumption by applications. A query view is always needed, at least for managing authorizations. As an example, figure 2-8 shows the dependency structure of a sample query view from procurement”. The query view is based on several reuse views, which are based on other reuse views and on database tables. Figure 2-8: Sample View Hierarchy The virtual data model also contains private views, which are not meant for re-use, as they do not carry business semantics. They are only used for internal structuring. Private views in SAP HANA Live are for local use only and are not accessed by applications. As shown in figure 2-7, applications can consume the query views provided by SAP HANA Live. This is typically the case for generic analytical applications. Other applications often extend the virtual data model with their own query views and private views on top of the reuse views of SAP HANA Live. This ensures that the query views provide the right combination of data for their application. SAP Invoice and Goods Receipt Management and SAP Working Capital Analytics are examples for SAP HANA-based applications that are built on top of SAP HANA Live and provide analytics on SAP ERP data. In addition, SAP HANA Live is a platform that can be used by customers to build their own applications. “ The TAM block diagram notation which is used in this and many other diagrams is explained in appendix 6.4.1. 1 Running SAP ERP on a distributed SAP HANA system for scale-out scenarios is not generally supported at the time of this writing. 16 The technical name for the SAP HANA database server is “indexserver”. 7 The purpose of the dependency graph is to illustrate the concept of a layered virtual data model. For accurate and up-to-date reference information, see the documentation of SAP HANA Live for SAP ERP at help.sap.com. 3 SAP ERP Operations Author: Sathish Karthik R 3.1 Introduction to SAP ERP Operations Enterprises want to provide the right products and services at the right price to the right customer at the right time. To achieve this kind of operational excellence, business processes in procurement, logistics execution, product development, manufacturing, and sales and service have to work hand in hand. To support end-to-end processes across these areas, SAP provides SAP ERP Operations as part of the SAP ERP application, as shown in figure 3-1. Figure 3-1: Architecture Overview of SAP ERP. The functionality of SAP ERP Operations is bundled into the following components (see figure 3-2): Using the sales and distribution (SD) component, products are sold and sent to business partners or services are performed for them. Data about products, services, and business partners are the basis for sales processing. The sales process is based on a set of business documents, such as customer inquiry, quotations, and, most important, the sales order. These business documents are maintained and stored by SD. Follow-up activities are triggered based on them. The calculation of prices for material and services is based on the condition technique. The production planning (PP) component supports the development and execution of efficient production plans, which takes warehouse, material, and production capacity information as well as sales planning into account. When the production plan is transformed to a production order in order to trigger execution, PP reserves and procures required raw material using the materials management (MM) component. MM provides the functions that are necessary to deal with the inbound flow of goods and services. It supports procurement using the business documents purchase requisition and subsequently purchase order. The arrival of the ordered goods results in a goods receipt and is handled by the inventory management. MM maintains the central inventory for the complete enterprise, which means that outgoing material movements are also communicated to MM. MM provides a pattern-based user interface implemented in Dynpro technology. The purchase requisition functionality is based on a framework. The logistics execution (LE) component controls and organizes the movement of material within the enterprise (warehouse management) and also the transportation between enterprises. The central business documents that are maintained and stored by LE are the delivery, the shipment document, and the transfer order. They are used to trigger and control material movement. The quality management (QM) component allows for planning and conducting inspections to check the quality characteristics of material. Itis integrated in procurement, production, and sales processes. 3.1.1 Master Data and Reuse Within SAP ERP Operations, the most important master data is the material as it is shared across SD, MM, and LE (see figure 3-2). The material master data has a set of attributes that are common and separate sets, to cover the specific requirements of sales, logistics, and procurement. Figure 3-2: Architecture Overview of SAP ERP Operations.”® Business partner information, such as vendor or customer master data, is not shared. So MM and SD store their own master data versions of their respective business partners. Besides the material master data, the most important master data for PP is the bill of materials (BOM), which lists all components required to manufacture a certain product. Routing master data is also used by PP, which has information about the operations that need to be performed to produce the finished product. Reuse components that are used across all of SAP ERP Operations are provided either by the general functions, by the cross-application components, or within the basis that is part of the SAP NetWeaver® Application Server ABAP (see figure 3-2). * General functions provide additional functions to support specific processes in the supply chain. Examples are batch management, variant configuration, handling unit management, and _ logistics information systems. * Cross-application components provide reuse components for all SAP ERP functions. This includes the classification system, which allows for maintaining characteristics of a material, and the document management system for attaching documents (for example, design or engineering diagrams) to objects (for example, material master or business documents). + The basis component provides central address management, workflow, change document functions for writing the change documents in the transactions, and archiving functions. * Enterprises adapt the software of SAP ERP to their individual requirements by maintaining customizing settings. At runtime the customizing data influences the execution of SAP ERP Operations. All application data, master data, and customizing data created and used by SAP ERP Operations is stored in the central database of SAP ERP. 3.1.2 Integration with SAP Business Suite To support end-to-end business processes, SAP ERP Operations is closely integrated with the other SAP Business Suite applications using remote function calls (RFC) (see figure 3-3). The functionality of SD can be extended by SAP CRM, which provides additional pre-sales functions and supports marketing and sales order management. Sales orders created in SAP CRM are transferred to SD for further processing, such as delivery and billing. In addition SD can be extended by the SAP Global Trade Services application, which automates global trade processes in imports and exports. SAP Global Trade Services provides tools to exchange required information with government and customs authorities electronically. MM can be integrated with SAP Supplier Relationship Management (SAP SRM), which provides additional procurement functionalities such as shopping cart, maintaining catalogs for products, contract management, and sourcing. MM and SD can also be integrated with the SAP Advanced Planning & and Optimization (SAP APO) component. SAP APO provides additional planning functionalities, such as demand planning, forecasting the requirements for materials, and global availability check for materials. SAP CRM ‘SAP SRM (Customer Relationship | | (Supplier Relationship Management) Management) ‘SAP SOM (Suppy BAP ECC (ERP Cental Componerd| |__| SAP Neitieaver 8 cieniMemoeses) ‘SAP ERP Operatif Warehouse) ‘SAP SNC (Sueely Network Cofaborabon) = SAP APO (Advanced Ss Planing ara Oper) i ‘sing i (Sales and (Materials me x ‘SAP GTS Distributen) Management) NetWeaver (Giobal Trade Services) ro aM (Process integration (Qusity SAP EN (Gamat Management) (Fidza Warehouse Managem.) canoe 5 es [SAP Nil (Manufacto ‘SAP TM (Transpora- LE (Logistics Executon) fg Icegration ana tion Management) Inteligence) Lo t ‘Cross Application Components BASIS Components 5 ; 5 rege Figure 3-3: Integration Overview of SAP ERP Operations. The SAP Extended Warehouse Management (SAP EWM) application, a part of SAP Supply Chain Management (SAP SCM), enhances LE with functionalities to effectively manage the operations in a warehouse. The SAP Transportation Management (SAP TM) application is a part of SAP SCM that provides functions to support the planning and the execution of the transportation of the goods or materials from the shipper to the consignee (party who receives the goods; usually the buyer). Some of the functions include, for example, service provider management, transportation forecasting, freight order tracking, freight cost calculation and settlement. The SAP Supply Network Collaboration (SAP SNC) application is a part of SAP SCM that provides a platform for vendors to manage the inventory and handle special processes like subcontracting and consignment stocks. Consignment stock is any stock that the vendor has placed in the warehouse of the manufacturer without charge until the stock is used. For analyzing SAP ERP Operations data, the SAP NetWeaver Business Warehouse component can be connected to the solution. Business data is replicated to the business information warehouse, where it is prepared for analysis and reporting. SAP ERP Operations provides business application programming interfaces (BAPI®) and enterprise services to access the functionality from outside. Non-SAP applications can be integrated with SAP ERP Operations using SAP NetWeaver Process Integration technology (formerly known as SAP NetWeaver Exchange Infrastructure (GAP NetWeaver XI)) for message transfer, routing, and mapping. The SAP Manufacturing Integration and Intelligence (SAP MII) application can be used to integrate external devices such as barcode scanners to track material along the supply chain. 3.2 Material Master Almost all business operations in a company deal with material. Material is procured, produced, stocked, sold, delivered, and transported. As it is typically always the same material that is produced, stocked, sold, and so on, it has been decided to maintain common material master data to be used by MM, SD, PP, LE, OM, and SAP ERP Financials (financials, controlling; see figure 3-4). This approach avoids redundant storage and maintenance of material data and helps ensure consistency within end-to-end business processes. In addition, industry or company-specific extensions to the material master data structure can be done at a single place. 3.2.1 Architecture Overview The material master data record consists of common attributes shared by all applications and processes, such as material ID, name, base unit of measure, and application-specific attributes that are used only ina certain context - for example, the cost price of the material that is maintained in the material master is used by the pricing application; the country-specific tax details that are maintained in the material master is used by SD for tax calculation. Similarly, production planning makes use of certain attributes of material master, like goods receipt processing time and whether the material should be produced in-house during the planning phase. sapcrw | | sap sou om 0 “wm | Pe aon) SAP ERP Operatons se ma Figure 3-4: Overview of Material Master. In SAP ERP Operations, material master is a set of database tables for storing material master data together with a set of read interfaces and maintenance transactions. The common attributes are stored in a set of tables that are separated from the tables that store sales-relevant data, purchasing-relevant data, and so on. Creation and update of material master data can only be performed using the maintenance transactions of material master. These transactions provide the necessary user interface screens, validate the input data, and manage the database access for creating and updating material master data. In general the different components that make use of material master have only read access using the corresponding interfaces. They are only allowed to update some context-specific attributes of material master data - for example, MM updates the stock and price information and PP maintains the forecast and consumption data. When SAP ERP is used at an enterprise together with other SAP applications, such as SAP SCM and SAP CRM, material master data is created and updated centrally in SAP ERP and the data is replicated to SAP CRM and SAP SCM. The material master data in SAP ERP corresponds to the product master data in SAP CRM and SAP SCM. In both cases, the exchange of material master data is performed using the plug-in, which exchanges IDocs (intermediate documents) with SAP CRM and synchronous RFC calls to communicate with SAP SCM. When material master data is updated in SAP ERP Operations, business transaction events (BTEs) are called, which trigger communication with the external systems. 3.2.2 The View Concept of Material Master As mentioned, material master data has a set of common attributes as well as application context-specific attributes. Altogether, to create one material master data instance, a lot of attributes have to be maintained. For displaying and maintaining the attributes on the user interface, they are grouped in views. One view embraces a set of semantically related attributes - for example, a set of sales-specific attributes or a set of common attributes. Every view is implemented as a Dynpro” screen and displayed as a tab in a tab strip control. 3.2.2.1 View Sequence Determining which views and which fields need to be maintained to create a material master data record depends on the intended usage of the material, which is influenced, for example, by the following factors: * Material type” to which a material is assigned - If, for example, the material is a raw material, the sales screens are not displayed because raw materials are not sold. * Industry sector of the enterprise - For example, in the chemicals industry, different attributes need to be maintained than in the automotive or retail industries. + Organizational level at which data is entered - If, for example, data is entered at plant level only, storage location-specific fields are hidden. * Used SAP application components - In case a company does not use the warehouse management (WM) component, the warehouse management views do not appear. So, when creating a material master data record, the maintenance transactions need to determine which views need to be maintained. As certain attributes depend on each other, the sequence in which the views are displayed also needs to be evaluated. Both are done by the view sequence controller. It determines the next view that needs to be displayed based on the specific material type and the industry sector. “Tabs fee Mutpie Views (rg, Unt-epeetne UI [yineeieate> BEB ue =i ‘Viens Selecton Popup ‘Wan Mantensnee Sersen Figure 3-5: Screen Sequence in Material Master Maintenance. The material master maintenance transactions provide the following view sequence (see figure 3-5): 1. First the initial screen is displayed for entering basic material data, such as material type and industry sector. This information influences which additional views need to be maintained. 2. The view sequence controller triggers the display of the view selection pop-up. The user can select multiple views that should be maintained for the material. 3. The view sequence controller checks whether the selected views require the maintenance of additional organization-specific data. If yes, a corresponding maintenance view is displayed. For example, if the purchasing view is selected, plant data needs to be provided, for sales views, a sales organization is required. 4. Now the view sequence controller displays the main maintenance screen, which consists of a sub-screen for material master header data and a tab strip offering multiple views. Each view is implemented by a Dynpro screen, which consists of one or more sub-screens, The sub-screens are used to group fields. The relationships between the views, screens, and sub-screens are defined in customizing tables. The customization also allows for the creation of industry-specific materials, such as an article in retail. When displaying a view, the field selection logic determines the properties of the fields. In customization, every field is assigned to a field selection group, which defines whether the field is hidden, displayed, mandatory, optional, and so on. 3.2.2.2. Authorizations Typically in enterprises the material master data maintenance is distributed across different departments. For example, the sales department maintains the sales attributes and the purchasing department maintains the purchasing views of material master. User = 1 Veew Sequence t 7 i oF aos am View |}, = 1 1 n Ss Screen Container Status es 7 i 1 1 Progam ‘Standard Program or Extensions Figure 3-6: Views and Maintenance Status. Thus it is required that certain views and even attributes are maintained only by certain users. To do so, all views and attributes that should be accessible altogether must share the same maintenance status aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. Figure 4-12: Figure 413: Figure 4:14: Figure 4-15: Figure 4-16: Figure 4.17: Figure 4-11 Figure 4-19: Figure 4-20: Figure 4-21: Figure 4.22: Figure 4.23: Figure 4-24: Figure 4.25: Figure 426: Figure 4-27: Figure 4-28: Figure 5-1: Figure 52: Figure 53: Figure 54: Figure 55: Figure 5.6: Figure 5.7: Figure 5.8: Figure 5.9: Figure 5-10: Figure 5-11: Figure 5-12: Figure 5-13: Figure 5-14: Figure 5-15: Figure 6-1: Figure 6-2; Figure 6-3: Figure 6-4: Figure 6-5: Figure 6-6: Figure 6-7: 6.9 Index Clearing, Tax Accounting Foreign Currency Valuation Intercompany Reconciliation Asset Accounting, Special Purpose Ledger Cost Objects Relation Management Accounting Profitability Analysis, Profit Center Accounting Collections and Dispute Management - SAP Biller Direct SAP Credit Management ‘Treasury and Risk Management ‘Cash Management Liquidity Planner In-House Cash Architecture Overview of SAP ERP Architecture Overview of SAP ERP HCM Architecture of Time Management Application Architecture of Payroll Appliéation Schema and Rules Relationships Architecture of the AFS Engine Adobe Flash Islands in Web Dynpro iavtitbctina Ovasview of Carcenand Biscasion Mianapdsnsat Architecture Overview of Compensation Management Architecture of SAP E-Recruiting Architecture of SAP Enterprise Learning Architecture of WD ABAP Application Based on BOL Architecture of HCM Processes and Forms Architecture of Integrated Employce Interaction Center Architecture of Employee Interaction Center Using SAP CRM. T Accounts Software Components used in SAP ERP HCM PD Objects in SAP ERP HCM and Organizational Management PD Objects in SAP E-Recruiting | : TAM Block Diagrams TAM Activity Diagram TAM Class Diagram aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. Enterprise Learning, 214 Enterprise services, 25 ERecruiting, 212 ESS (Employee self-services), 217 EWM, 82, 98 Exposure management, 180 Fl (financial accounting), 128, 139 FI document, 141 Fl interface, 142 FI-AP (accounts payable), 151 FL-AR (accounts receivable), 150 FI-CA (contract accounting), 130 Financial accounting (Fl), 128, 139 Financial document, 96, 140 Financial Supply Chain Management (FSCM), 132, 174 Foreign currency valuation, 159 forex (foreign exchange), 180 FSCM (Financial Supply Chain Management), 132, 174 G/L (general ledger), 64, 130 General ledger (G/L), 64, 130 Global Trade Services (GTS), 65 Goods issue, 81, 90,96 Goods issue processing, 63 Goods movement, 92 Goods receipt, 81, 92, 94, 96 GRC, 16 Group company, 185 GTS (Global Trade Services), 65 HANA Analytics Foundation, 40 HANA Database, 31 Hedge management, 180 ICR (intercompany reconciliation), 161 Toe, 25,73 IHC (in-house cash), 185 Infotype, 193 In-house cash (IHC), 185 Inquiry, 62 Intercompany reconciliation (ICR), 161 Internal table, 23 Inventory, 92, 95 Inventory management, 92, 98 Invoice, 53, 94 Invoice verification, 95 Knowledge provider (KPro), 214 KPro (Knowledge provider), 214 aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book. aa You have either reached a page that is unavailable for viewing or reached your viewing limit for this book.

You might also like