SAPTEC Technology Fundamentals for SAP S/4HANA and SAP Business Suite . . PARTICIPANT HANDBOOK INSTRUCTOR-LED TRAINING . Course Version: 19 Course Duration: 4 Day(s) e-book Duration: 24 Hours 50 Minutes Material Number: 50147793 SAP Copyrights and Trademarks © 2018 SAP SE or an SAP affiliate company. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP SE or an SAP affiliate company. SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP SE (or an SAP affiliate company) in Germany and other countries. Please see http://global12.sap.com/ corporate-en/legal/copyright/index.epx for additional trademark information and notices. Some software products marketed by SAP SE and its distributors contain proprietary software components of other software vendors. National product specifications may vary. These materials are provided by SAP SE or an SAP affiliate company for informational purposes only, without representation or warranty of any kind, and SAP SE or its affiliated companies shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP SE or SAP affiliate company products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty. In particular, SAP SE or its affiliated companies have no obligation to pursue any course of business outlined in this document or any related presentation, or to develop or release any functionality mentioned therein. This document, or any related presentation, and SAP SE’s or its affiliated companies’ strategy and possible future developments, products, and/or platform directions and functionality are all subject to change and may be changed by SAP SE or its affiliated companies at any time for any reason without notice. The information in this document is not a commitment, promise, or legal obligation to deliver any material, code, or functionality. All forward-looking statements are subject to various risks and uncertainties that could cause actual results to differ materially from expectations. Readers are cautioned not to place undue reliance on these forward-looking statements, which speak only as of their dates, and they should not be relied upon in making purchasing decisions. Typographic Conventions American English is the standard used in this handbook. The following typographic conventions are also used. This information is displayed in the instructor’s presentation Demonstration Procedure Warning or Caution Hint Related or Additional Information Facilitated Discussion User interface control Example text Window title Example text © Copyright. All rights reserved. iii © Copyright. All rights reserved. iv Contents vii Course Overview 1 Unit 1: 2 13 SAP Systems Lesson: Describing the Architecture of SAP Systems Unit 2: Navigation 15 Lesson: Describing SAP GUI and SAP LOGON 25 Lesson: Describing SAP GUI Functions, Help, and Personalization 36 Lesson: Describing Navigation using a Web Browser 39 Lesson: Describing SAP Business Client 44 Lesson: Describing SAP Fiori 50 Lesson: Describing the SAP Enterprise Portal 63 Unit 3: SAP System Kernel 64 Lesson: Explaining the Basic Architecture of SAP NetWeaver AS 74 Lesson: Describing AS ABAP 96 Lesson: Describing AS Java 108 Unit 4: 110 Software Development in SAP Systems Lesson: Describing the Data Structure of an SAP System and Software Logistics 119 Lesson: Accessing and Editing ABAP Repository Objects 133 Lesson: Importing Transport Requests 138 Lesson: Introducing SAP NetWeaver Development Infrastructure (NWDI) and the Transport Process for non-ABAP Applications 147 158 Lesson: Describing SAP UI Technologies Unit 5: Communication and Integration Technologies 159 Lesson: Describing Remote Function Calls and BAPIs 166 Lesson: Explaining Cross-System Business Processes 169 Lesson: Explaining HTTP Based Communication 172 Lesson: Describing Web Services 177 Lesson: Describing SAP Gateway 190 Unit 6: Application Lifecycle Management 191 Lesson: Describing Application Lifecycle Management 197 Lesson: Implementing Business Processes and Installing SAP Systems 207 Lesson: Describing Business Process Operations 211 Lesson: Maintaining SAP systems © Copyright. All rights reserved. v 226 Unit 7: SAP Portfolio Overview 227 Lesson: Explaining the Role of SAP NetWeaver 232 Lesson: Describing the SAP Software Portfolio 259 Lesson: Describing the SAP Release Strategy 267 Unit 8: SAP Support Portal and SAP Community 268 Lesson: Describing SAP Support Portal 272 Lesson: Describing the SAP Community © Copyright. All rights reserved. vi Course Overview TARGET AUDIENCE This course is intended for the following audiences: ● Systems Architect ● Technology Consultant ● Developer IT Adminstrator IT Support ● Developer © Copyright. All rights reserved. vii © Copyright. All rights reserved. viii UNIT 1 SAP Systems Lesson 1 Describing the Architecture of SAP Systems 2 UNIT OBJECTIVES ● Describe the architecture of an SAP system © Copyright. All rights reserved. 1 Unit 1 Lesson 1 Describing the Architecture of SAP Systems LESSON OVERVIEW Business processes can be carried out with the help of SAP software. These business processes are mapped in SAP systems and are called there. This lesson explains the basic architecture of SAP systems. LESSON OBJECTIVES After completing this lesson, you will be able to: ● Describe the architecture of an SAP system Solutions and SAP Systems In SAP systems, business processes are mapped in applications (solutions). These solutions collect and group related business processes together by subject. From a technical point of view, these business processes run on SAP systems (components). Therefore, SAP systems are the technical view of the functions, and solutions are the process-oriented view. It is possible for the same SAP systems to be integrated in different solutions. A solution is therefore a type of logical container around a set of SAP systems. Solutions SAP S/4HANA SAP S/4HANA (SAP Business Suite for SAP HANA) is the latest collection of business applications from SAP. As this product offers many business processes that are already © Copyright. All rights reserved. 2 Lesson: Describing the Architecture of SAP Systems optimized for use on the innovative in-memory platform SAP HANA, your enterprise can quickly benefit from the evaluation speed possible with SAP HANA. With SAP Fiori, SAP S/4HANA offers an innovative technology for designing user interfaces, which helps you to provide your employees with easier and faster access to the functions relevant for them. The use of SAP HANA enables your enterprise to create new applications in the Big Data environment and the Internet of Things. Note: For more information, seehttp://discover.sap.com/hana and http:// go.sap.com/product/enterprise-management/s4hana-erp.html . SAP ERP SAP ERP (SAP Enterprise Resource Planning) is a market-leading solution for optimizing business processes in your enterprise and optimizing your IT landscape by reducing IT complexity. The application supports business-critical, integrated business processes for financials, human capital management, asset management, sales and distribution, purchasing, and other important business functions. SAP ERP also supports industry-specific processes, because it includes industry-specific business functions that can be selectively activated through the Switch Framework. This keeps the application core stable. Note: For more information, seehttp://go.sap.com/product/enterprise-management/ erp.html. SAP CRM SAP CRM (SAP Customer Relationship Management) offers marketing, sales, and customer service employees a comprehensive platform for complete customer intelligence, which can be used to manage customers and customer-related processes effectively. SAP CRM permits customer interaction through multiple channels, including smartphones, the Internet, and social media, and also offers a dedicated communication infrastructure that can be used to connect up all users at any time, any place. Hint: For more information, seehttp://go.sap.com/product/crm.html. SAP SCM SAP Supply Chain Management (SAP SCM) enables enterprises to adapt their supply chain processes in line with a constantly changing competitive environment. SAP SCM converts conventional supply changes from linear, sequential processes into configurable and open supply networks. In these networks, customer-oriented, demand-driven companies can identify the dynamics of supply and demand more intelligently and quickly in a globallydistributed environment, and they can respond appropriately. © Copyright. All rights reserved. 3 Unit 1: SAP Systems Hint: For more information, seehttp://go.sap.com/product/scm.html. SAP SRM SAP Supplier Relationship Management (SAP SRM) provides a procurement platform that helps organizations in all industries improve their centralized sourcing and contract management. It also enables organizations to interact with suppliers through multiple channels. SAP SRM accelerates and optimizes the complete, end-to-end procurement process by supporting integrated processes and ensuring contract compliance, which leads to viable savings. Hint: For more information, seehttp://go.sap.com/product/srm.html. SAP PLM SAP Product Lifecycle Management (SAP PLM) helps enterprises to manage, track, and control all product-related information, both during the product and asset lifecycle and in the extended supply chain. SAP PLM promotes creativity and frees the product innovation process from organizational restrictions. Hint: For more information, seehttp://go.sap.com/product/plm.html. SAP Systems and SAP NetWeaver Application Server (SAP NetWeaver AS) Most SAP systems are based on the SAP NetWeaver Application Server (SAP NetWeaver AS) and use it as the runtime environment. © Copyright. All rights reserved. 4 Lesson: Describing the Architecture of SAP Systems Figure 2: SAP NetWeaver AS as the Basis for SAP Systems Figure 3: SAP NetWeaver Application Server SAP NetWeaver AS is the logical result of the further development of the SAP Application Server technology (previously: SAP Basis), with particular attention on web-based applications. © Copyright. All rights reserved. 5 Unit 1: SAP Systems SAP NetWeaver AS Features SAP NetWeaver AS offers the following features: ● ● ● ● A reliable and thoroughly-tested runtime environment that has been regularly developed for more than 10 years A framework for executing complex business processes that meet the highest security standards A reliable and user-friendly development environment Support for open standards such as HTTP, HTTPS, SMTP, WebDAV, SOAP, SSL, SSO, X. 509, Unicode, HTML, XML, and WML ● High scalability ● Support for different operating systems and database platforms Since the applications delivered by SAP do not usually require both runtime environments, that is, ABAP and Java, there are different installation options for SAP NetWeaver AS. These are: ● ● ● SAP NetWeaver AS ABAP:Complete infrastructure in which ABAP-based applications can be developed and used. SAP NetWeaver AS Java:Complete infrastructure in which JEE-compliant applications can be developed and used. SAP NetWeaver AS ABAP+Java (dual stack): Complete infrastructure in which both ABAPbased and JEE-based applications can be developed and used. Introduction SAP systems are used for mapping business processes or business applications. Implement these applications independently of the hardware environment used (operating system, database) to the greatest extent possible. SAP NetWeaver provides two different runtime environments for this, an ABAP runtime environment (usage type AS ABAP), and a Java runtime environment (usage typeAS Java). Note: If you use an SAP S/4HANA system, you must use the SAP HANA database, and a Linux operating system is required for SAP HANA. ABAP ABAP (Advanced Business Application Programming) is a programming language developed by SAP. Many business applications of an SAP system are written in ABAP. ABAP has been optimized for developing highly scalable business applications. Customers can use the ABAP Workbench for developing completely new applications as well as enhancing and modifying SAP standard applications. In doing so, the entire infrastructure of the AS ABAP can be used. The infrastructure also supports the creation of the most complex applications by large groups of developers. The Application Server ABAP provides the runtime environment for programs written in ABAP. SAP not only provides a runtime environment for ABAP programs but also a runtime environment for Java programs. AS Javais an application server according to the Java Enterprise Edition (JEE) standard. © Copyright. All rights reserved. 6 Lesson: Describing the Architecture of SAP Systems Java ™ The Java programming language was introduced in 1995 by Sun Microsystems Inc. . Java is an object-oriented and platform-independent programming language that has spread across many areas. The Java concept enables the development of a large range of different application types — from classical applications to applets used in websites to client/server applications. Java Platform Enterprise Edition (Java EE, previously J2EE) is a vendor standard for a whole range of software components that are primarily created in the Java programming language. Sun/Oracle uses the Java EE compatibility tests to ensure that the specifications of Java Enterprise Edition are observed. The purpose of this specification is to provide a generally accepted framework for using modular components to develop distributed, multi-level applications. With the Java EE specification, Sun/Oracle wishes to ensure that Web applications that conform to the specification run on all Java EE-compatible servers. According to the Java EE specification, the application logic is packaged in Enterprise JavaBeans (EJB). They represent Java program components. A container implicitly provides the components with the services of the runtime environment. Client/Server-Based Architecture Before we discuss various client/server configurations in the context of SAP systems, we first need to define the concepts client and server. There are two ways of doing this. ● ● In the hardware-oriented view, the term server means the central server in a network that provides data, memory, and resources for the workstations (clients). In the software-oriented view, client and server are both defined at the process level (service). A service in this context is a service provided by a software component. This software component can consist of a process or a group of processes (such as an SAP NetWeaver Application Server) and is then called a server for that service. Software components that use a service are called clients. At the same time, clients can also be servers for other specific services. The figure“Hardware-Oriented View and Software-Oriented View” clarifies the two approaches to the definitions. © Copyright. All rights reserved. 7 Unit 1: SAP Systems Figure 4: Hardware-Oriented View and Software-Oriented View In the context of SAP systems, the terms client and server are generally used as defined in the software-oriented view. Client/Server Configuration for SAP Systems The following processes are often used for operating business application software: ● Presentation processes (for example, for displaying screens) ● Application processes (for example, for executing application programs) ● Database processes (for example, for managing and organizing database data) When you are installing and configuring an SAP system, decide how you are going to distribute the required processes among the available hardware. Configurations are either single-tier or multi-tier, depending on the number of hardware layers used (see the following graphic). The SAP ECC system is an example of business application software. The following list the various ways to distribute the required processes among the available hardware: ● ● ● In single-tier configurations, all processing tasks (database, application, and presentation processes) are performed by one computer. This is classic mainframe processing. Two-tier configurations are usually implemented using special presentation computers that are responsible solely for formatting the graphical interface. In a three-tier configuration, each layer runs on its own host. Many different application servers can simultaneously work with the data of a database server. © Copyright. All rights reserved. 8 Lesson: Describing the Architecture of SAP Systems Figure 5: Simple Client/Server Configurations Single-tier configurations are generally used for tests and demonstrations (for example, an SAP system on a laptop). If many users want to work on a system configured in this way, then the extra hardware costs for each additional user become greater than the costs associated with implementing additional hardware levels (for example, moving the presentation processes to other hosts). The two-tier configuration with distributed presentation processes (as shown in the figure “Simple Client/Server Configurations” ) can maintain good performance for a significantly higher number of users, without substantially increasing the hardware costs. The load resulting from the presentation processes is distributed to the various front-end computers and so does not influence the performance of the database host. However, if the number of users exceeds a certain upper limit, the central host, on which both application and database processes run, risks becoming a bottleneck. To prevent this, you can improve the performance of the SAP system by distributing the application-layer processes to several hosts. Another advantage of adding a hardware layer specifically for application processes is that it facilitates scalability. If the number of SAP users in an SAP system increases over time, negatively affecting SAP system performance, then this problem can, in most cases, be solved simply by adding another host for application processes. An alternative two-tier configuration is to install powerful desktop systems and to use these for presentation and applications (two-tier client/server). These configurations are especially suited to applications with high processor demands (for example, simulations or for software developers), but are not implemented in the SAP environment, other than for test purposes, due to the additional administration required. In the SAP Business Suite environment, more complex client/server configurations consisting of more than three tiers are both theoretically possible and used in practice. An additional level could be a Web server, for example. © Copyright. All rights reserved. 9 Unit 1: SAP Systems LESSON SUMMARY You should now be able to: ● Describe the architecture of an SAP system © Copyright. All rights reserved. 10 Unit 1 Learning Assessment 1. Which (process) layers exist in client/server based SAP-Systems (such as SAP ECC or SAP S/4HANA)? Choose the correct answers. X A Database Layer X B Communication Layer X C Application Layer X D Presentation Layer X E Fiori Layer © Copyright. All rights reserved. 11 Unit 1 Learning Assessment - Answers 1. Which (process) layers exist in client/server based SAP-Systems (such as SAP ECC or SAP S/4HANA)? Choose the correct answers. X A Database Layer X B Communication Layer X C Application Layer X D Presentation Layer X E Fiori Layer You are correct. Client / server-based SAP systems consist of a presentation layer, an application layer and the database layer. © Copyright. All rights reserved. 12 UNIT 2 Navigation Lesson 1 Describing SAP GUI and SAP LOGON 15 Lesson 2 Describing SAP GUI Functions, Help, and Personalization 25 Lesson 3 Describing Navigation using a Web Browser 36 Lesson 4 Describing SAP Business Client 39 Lesson 5 Describing SAP Fiori 44 Lesson 6 Describing the SAP Enterprise Portal 50 UNIT OBJECTIVES ● List the different variants of the SAP GUI ● Log on to the SAP system successfully ● Log off from the SAP system successfully ● Use various methods to start SAP system functions ● Create a list of favorites ● Use the help functions ● Describe the standard menus "System" and "Help" ● Successfully log on to an AS ABAP-based SAP system using a web browser ● Successfully log on to an AS Java-based SAP system using a web browser © Copyright. All rights reserved. 13 Unit 2: Navigation ● Describe SAP Business Client ● Explain the concept of SAP Fiori ● Use apps in the SAP Fiori launchpad ● Describe the purpose of SAP Enterprise Portal ● Describe the screen elements of SAP Enterprise Portal © Copyright. All rights reserved. 14 Unit 2 Lesson 1 Describing SAP GUI and SAP LOGON LESSON OVERVIEW In this lesson, you will learn basic navigation commands using the SAP GUI for Windows as the example. Business Example You want to find out what types of SAP GUI are available to you and use these to log on to an AS ABAP based SAP system. LESSON OBJECTIVES After completing this lesson, you will be able to: ● List the different variants of the SAP GUI ● Log on to the SAP system successfully ● Log off from the SAP system successfully SAP GUI Overview The presentation level, the SAP GUI (Graphical User Interface), enables you to interact with SAP systems that are based on AS ABAP. The SAP GUI implements the graphical user interface using the functions provided by the relevant presentation environment. The SAP GUI is based on the Windows Style Guide and is available for several platforms, providing the same functions for each. There are different variants of the SAP GUI, which can all be operated in the same way, irrespective of the underlying platform. The following types of SAP GUI are available: ● SAP GUI for the Windows environment ● SAP GUI for the Java environment ● SAP GUI for HTML Note: In the previous list, the official terms of the SAP GUI are used, these terms are only available in English. Colloquially, the following terms are used synonymously (in the same order):S AP GUI for Windows, SAP GUI for Java, or Java GUIand Web GUI. These terms are not“official SAP”terms but are nevertheless widespread. © Copyright. All rights reserved. 15 Unit 2: Navigation Caution: The variants of the SAP GUI are suitable only for working with AS ABAP-based SAP systems. SAP GUI for Java does not permit access to AS Java-based SAP systems. The name merely refers to the implementation technology: SAP GUI for Java was implemented in Java and can therefore be used on front-end systems on which a Windows operating system is not running (and Mac OS X or Linux, for example, is running instead). AS Java-based SAP applications are accessed through a browser. SAP GUI for the Windows environment (SAP GUI for Windows) is the implementation of the SAP GUI in a Microsoft Windows environment. SAP GUI for Windows is written in C or C++, runs on Windows-based platforms, and supports all transactions in an SAP system. The data flow between the presentation layer and the application layer does not consist of prepared screens, but rather of logical, compact information about control elements and user input (DIAG protocol). The volume of data transferred for each screen change is generally a few KB. You can therefore easily connect presentation servers over WANs. SAP GUI for the Java environment (SAP GUI for Java) is written in Java and is the platformindependent implementation of SAP GUI. Like the SAP GUI for the Windows environment, this GUI also uses the DIAG protocol, and so the data volume transferred for every screen change is also generally only a few KB and the presentation server can therefore be easily connected through WANs. You can either install SAP GUI on the front-end, or alternatively you can install it on a terminal server and access it using terminal clients. The SAP GUI for HTMLrequires HTML the SAP Internet Transaction Server (ITS) that is part of AS ABAP on the server side and a Web browser on the client side. The SAP ITS provides the services required to generate responses in HTML format (within the SAP system). These responses are transferred to the Web Server or Web Client outside the SAP system using the Internet Communication Manager of the AS ABAP. The primary advantage of the SAP GUI for HTML is the simpler installation on the front end; a browser installation suffices. The figure“Variants of the SAP GUI”shows the various alternatives and the flow of communication with the ABAP dispatcher and Internet Communication Manager (ICM). © Copyright. All rights reserved. 16 Lesson: Describing SAP GUI and SAP LOGON Figure 6: Variants of the SAP GUI Note: You can find further information on the various SAP GUI alternatives in the following SAP Notes: ● ● ● ● SAP Note66971: Supported SAP GUI platforms SAP Note314568: SAP GUI for HTML: Functionality/Limitations/Special Behavior SAP Note146505: SAP GUI for the Java environment (platform-independent GUI) SAP Note138869: SAP GUI on Windows Terminal Server (WTS) SAP System Logon Many of the solutions shipped by SAP can be accessed using the SAP GUI (SAP Graphical User Interface). For the sake of simplicity, further descriptions refer to the SAP GUI for the Windows environment. SAP provides another program for starting the front end: SAP Logon. After you have called SAP Logon, a list of SAP systems displays for which the logon process can be started. This list is taken from a file on the front end: saplogon.ini. The file is usually preconfigured centrally and provided to the end user. © Copyright. All rights reserved. 17 Unit 2: Navigation During logon, SAP Logon also enables logon load distribution using the resources available for the SAP system selected. Figure 7: SAP Logon Program When logging on to an SAP system, you are prompted to enter the user and password, among other things. If you have implemented a Single Sign-On (SSO) solution, you may not need to enter this information. When you log on, you specify a certain client of the SAP system. This field is often already filled appropriately. Hint: A client usually corresponds to the mapping of a company in an SAP system. That is, multiple companies can be mapped and active in parallel in an SAP system with multiple clients. The client has a corresponding key field in the tables of the database used by that SAP system. If you are logged on to a specific client, then you can only access business data for that client. In this way, clients correspond to separate business entities. When logging on, you can select a logon language supported by that SAP system. SAP systems can support many languages, the minimum being English and one other selected language. The number of installed languages determines which languages the system supports. On the logon screen, you also have the option of using the New passwordbutton to change your password, at most once per day. The SAP system administrator can include additional text on the logon screen. For more information, see SAP Note205487: Custom text on the SAP GUI logon screen © Copyright. All rights reserved. 18 Lesson: Describing SAP GUI and SAP LOGON Note: SAP Notes contain detailed information on certain functions or corrections for known errors in SAP products. You can access SAP Notes from, for example, the SAP Support Portal on the Internet, by using a valid user (S-user) and password. https://support.sap.com/notes. In the course of one logon to an SAP system, you can work in several sessions (processing windows of an SAP system) simultaneously. Your SAP system administrator can use a system parameter to define how many sessions are permissible for each logon to the SAP system. For more information, see SAP Note12466: Logon Restrictions in R/3 Figure 8: SAP System Logon Screen The user data in SAP systems is called the user master record. User master records are stored in the SAP system for each client. This means that you can only log on to clients where your user (master record) exists. If you only have a user for client 100, you can successfully log on to client 100. If you can log on to several clients, you have several user master records. These records enable you to execute different activities, depending on which client you are logged on to. For reasons of security and monitoring, multiple logons to SAP systems are logged. If the same user logs on more than once, then for each subsequent logon, the system displays a warning message that offers the user the following options: ● Close all existing sessions and log on again . ● Keep existing sessions open, and open an additional session (this is recorded in the log). © Copyright. All rights reserved. 19 Unit 2: Navigation ● Terminate this logon . The second option can be centrally deactivated for the entire system. Changing the Password The first time you log on to the SAP system, you use the initial password assigned to you. During first-time logon, you are asked to save a new password. For security reasons, it makes sense to change the password occasionally. To Change the Initial Password 1. Enter the new password twice. The SAP system contains numerous rules relating to the structure of a password. 2. To save your new password, chooseOK. To Change the Password Hint: Users can change their password no more than once a day on the initial screen. In contrast, user administrators with authorization for transaction SU01 can change a user's password as often as they want. In fact, the administrator can only assign newinitial passwords. An initial passwordmust be changed the next time the user logs on. 1. On the SAP system log on screen, enter the logon data with the old password. 2. On the top left, choose theNew Passwordbutton. 3. Enter the new password twice. The SAP system contains numerous rules relating to the structure of a password. 4. To save your new password, chooseOK. Screen Structure Once you have logged on successfully, the initial screen of the SAP system appears. This screen is also known as theSAP Easy Accessscreen. The SAP Easy Accessscreen is the default initial screen in SAP systems. The left side of the screen contains a tree hierarchy of the menus available to you in the SAP system. You can use the right side of the screen to display your company logo. This graphic is made available centrally by your SAP system administrator and cannot be customized by individual users. © Copyright. All rights reserved. 20 Lesson: Describing SAP GUI and SAP LOGON Figure 9: SAP Easy Access You can find a detailed description of how to configure the graphic SAP in Easy Accessunder Extras→ Administration information(if you have the necessary authorization). Please note that the graphic is stored in the SAP system and transported to the front end every time a user logs on. Although it is transported in compressed form, the graphic should not exceed 20 KB. You can prevent the graphic being displayed by either choosing the Low Speed Connection setting in the SAP Logon program (see S AP Note161053: SAP Note Using SAP GUI in WAN), or by deactivating the display of the picture on the SAP Easy Access screen under Extras→ Settings. A typical screen (with some common elements) appears when you choose the Defaults tab page underSystem → User Profile→ Own Data. You then see the screen shown in figure “Screen Elements in SAP GUI”with the data for your own user. © Copyright. All rights reserved. 21 Unit 2: Navigation Figure 10: Screen Elements in SAP GUI An SAP user interface can contain the following screen elements, for example: ● Command field ● Menu bar, system function bar, title bar, application toolbar, status bar ● Checkboxes ● Radio buttons ● Tab pages You can start applications directly by entering their transaction code in the Commandfield. You can hide and show the field by choosing the small triangle icon to the right of the command field. You can find the transaction code for an application in the SAP menu on the SAP Easy Accessscreen, in the status bar (if not hidden), or in the application itself under System → Status. The menu baris the top line of any dialog window in the SAP system. The menus shown here depend on which application you are in. The buttons in thestandard toolbarare shown on every SAP screen. If they are not available in an application, buttons that you cannot use on that screen are deactivated. If you place the cursor over a button for a short time, the system displays a flag with the name or function of the button. If appropriate, the corresponding function key setting is also displayed. The title bar gives the name of the function that you are currently using. The application toolbarshows the buttons available in the application that you are currently in. © Copyright. All rights reserved. 22 Lesson: Describing SAP GUI and SAP LOGON The status bardisplays information on the current system status, such as warnings and errors. You can also change the display variant to show, for example, the transaction code of the transaction you are currently in. Within a field group, checkboxes allow you to select several options at the same time. In the case of radio buttons, you can only select one option. Tab pages are used to arrange several subscreens clearly. Input fields and buttons are additional screen elements. Logging off from the SAP System You should log off from the SAP system when you have finished your work in the SAP system. There are several ways to do this. To Log off via the Menu Bar 1. Choose System → Log Off. Hint: Alternatively, you can choose in the SAP Easy Accessmenu or enter the / NEND command in theCommandfield. If several sessions are open, the yellow arrow only closes the active window. The dialog field for logging off only appears in the last window. Caution: The /NEX command immediately terminates your logon without querying the dialog windows first. All sessions of your terminal session are closed and entries that have not been saved are lost! 2. A Log Offdialog appears and informs you that you will lose data that has not been saved when you log off. © Copyright. All rights reserved. 23 Unit 2: Navigation Figure 11: Log Off Dialog Box The Log Offdialog appears. 3. To log off, choose Yes . Hint: From the perspective of the Windows operating system, an SAP session is a normal application. Hence, you can also close SAP sessions via the operating system, such as by using the key combinationAlt+F4. When you close the last window of your session, theLog Offdialog appears. Related Information ● For more information, see the following online documentation. Help→ SAP Library→ Introduction to the SAP System. LESSON SUMMARY You should now be able to: ● List the different variants of the SAP GUI ● Log on to the SAP system successfully ● Log off from the SAP system successfully © Copyright. All rights reserved. 24 Unit 2 Lesson 2 Describing SAP GUI Functions, Help, and Personalization LESSON OVERVIEW In this lesson, you learn about various ways of calling functions in SAP systems. You also learn about the help options that are available in AS ABAP-based SAP systems. Business Example You want to know how functions can be started in the SAP system and what help the system provides you with. LESSON OBJECTIVES After completing this lesson, you will be able to: ● Use various methods to start SAP system functions ● Create a list of favorites ● Use the help functions ● Describe the standard menus "System" and "Help" User Menu and SAP Menu The SAP Access menu automatically displays after logging on. It represents the standard access point to an SAP system for the SAP GUI for Windows. The navigation bar in the left part of the screen contains a clear tree structure, consisting of menu entries, and favorite entries. You can adjust the Favorites area to your own particular needs. The entries of the SAP menus and the user menus can only be changed by system administrators. © Copyright. All rights reserved. 25 Unit 2: Navigation Figure 12: Favorites List and User Menu The end user can switch from therole-based user menuto the SAP standard menu(provided the system settings permit this). Hint: System administrators can use tableUSERS_SSMto determine whether or not users are allowed to switch between the SAP menu and their user menus. The availability of the user or SAP menu does not affect a user's authorizations. This means that a user can always call authorized functions using a transaction code, independent of the menu structure. The role-based user menu is created based on the roles assigned to the user, and is transferred to the front end. Therefore, it makes sense to keep roles as small as possible because large roles can take a long time to transfer to the front end. If a user has several roles assigned, then some functions can be repeated in different parts of the role-based user menu. If you do not want these functions to appear twice, see SAP Note 357693: Redundancy Avoidance in Easy Access(and the other SAP Notes listed in this SAP Note) for information on identifying and deleting duplicates and related questions. Hint: As long as you have the appropriate authorization, you can also display user menus other than the ones assigned to you in your user master record. To do this, choose Other menu. Use Create role to start the role maintenance transaction,PFCG. © Copyright. All rights reserved. 26 Lesson: Describing SAP GUI Functions, Help, and Personalization The user and SAP menus can be structured in quite a complex way. It is, therefore, difficult to remember the exact path for the transaction you are looking for. As long as the transaction has not been copied into the favorite area, you can find it more easily with special search transactions. The transactionsSEARCH_SAP_MENU and SEARCH_USER_MENU search the corresponding menus for the predefined text pattern. The search result is in a list view from which you can take the navigation path. The transactions found cannot be started directly with a double-click. Favorites Management In addition to the area menu or SAP menu, the user is also provided with functions in the Favorites area. Links to frequently used transactions, web links, or files can be stored in the Favorites area. The favorites list contains references to SAP system functions or links to internet content or to files on the end user's front-end computer. The favorites list, which is initially empty, can be edited by each end user according to their preferences. You can only view your own favorites list. Since data on the favorites is stored within the SAP system, each user might have different collections of favorites in different SAP systems. Hint: Complete favorites menus, including the folder structures, can be easily copied by uploading or downloading from one SAP system to another. The downloaded favorites menus are stored temporarily on the front-end PC. To improve the structuring, sort the favorites in separate folders. You can edit favorites in the SAP Easy Accessscreen using the menu optionFavorites. The Favorites menu gives you the option of adding a function from the user (or SAP) menu to your personal favorites list by selecting the function and choosing Favorites→ Add. Here, the menu path is also written with the text of the favorite entry to a limited extent. If you have highlighted a menu option by using the mouse, you can copy the selected node in the Favorites area by right-clicking the node. Alternatively, you can also drag the elements from the menu area by using the mouse and store them in theFavorites area. You can add URLs or links to files to your list of favorites by choosing Favorites → Add other objects. Click the triangle symbol to the left of the file symbol to expand or collapse the list of favorites. Hint: To change the name of a transaction in favorites, highlight the corresponding favorite entry and select the menu path Favorites→ Change. You can change and save the text in the dialog box that opens. You can delete favorite entries that you no longer need. In doing so, the link to the corresponding function is deleted from your favorites list. If you want to delete the entire Favorites menu, highlight the entryFavorites and right-click to call up the available context menu, then chooseDelete all favorites. Calling Functions You have several options for navigating in an SAP system: © Copyright. All rights reserved. 27 Unit 2: Navigation ● By entering transaction codes in theCommandfield ● By selecting entries from the SAP menu ● By selecting entries from the user menu ● By selecting entries from the list of favorites ● By choosing items from menus in the menu bar Figure 13: Various Navigation Options You can reach the menus in the menu bar using the key combination Alt+<#> (# corresponds to the underlined letter of the selected menu item) or Alt and cursor navigation using the arrow keys on the keyboard. You can use the keyboard to access theSAP Easy Accessscreen or theCommandfield and call SAP system functions from there. Hint: Use the following keys to navigate using the keyboard: ● ● TAB key moves from one field element to the next within a field group. Ctrl + TAB goes from one field group to the first element of the next field group. You can find further shortcuts by usingCustomizing of local layout (Alt + F12)→ SAP GUI Help. © Copyright. All rights reserved. 28 Lesson: Describing SAP GUI Functions, Help, and Personalization Press F1 in theCommandfield to display the input options for this field. The following entries are possible: Possible Entries in the OK Code Field ● ● /n to cancel the current transaction /nXXXX to call transactionXXXX directly from another transaction. Without the prefix, you can only callXXXX from the SAP Easy Accessscreen. ● /o to display an overview of sessions ● /oXXXX to call transactionXXXX in a new session directly from another transaction ● /nend to end the logon session with a confirmation dialog box ● /nex to end the logon session without a confirmation dialog box ● /i to delete the session you are currently using Note: The Commandfield is an exception, because when you select F4, the input help is not displayed. The input help in the command field only lists the last 15 different entries made in this field on the front end. This list is stored in the registry on the front end and is valid for all sessions on the front end (regardless of the system used). Help Options The SAP system provides you with various help options, which are introduced in the following section. The F1 Help You can use the F1 key to display an explanation of fields, menus, functions, and messages. The F1 help also displays technical information on the relevant field. It contains the parameter ID, which you can use when defining user-specific default values for input fields that also refer to this parameter ID. You can also display interesting information by, for example, calling the F1 help for the command field. © Copyright. All rights reserved. 29 Unit 2: Navigation Figure 14: The F1 Help You can also use other buttons in thePerformance Assistantdialog box to display information on the selected field. One of the most important pieces of information, besides the link to the context-sensitive Application Help, is the link to theTechnical Information. Choose this option to display detailed information, such as the parameter ID assigned to the field. You can use parameters to set defaults for frequently used input fields. To do this, the parameters are stored with the desired values in the user master record. Note: You may need to activate the Performance Assistant first using the menu Help→ Settings→ F1 Help. Input Help You can choose F4 to display possible input values. You can also call up the input help for a field using the button immediately to the right of the selected field. If a field contains a checkmark symbol, you can only proceed to the next step in that application after entering a permitted value (required entry). You can use transaction or screen variants, or Customizing to mark fields as mandatory or optional, hidden, or filled with hidden standard values. © Copyright. All rights reserved. 30 Lesson: Describing SAP GUI Functions, Help, and Personalization Figure 15: The Input Help The input help displays a list of possible entries for a field. If there are many possible entries, a separate selection screen displays. If there is a long hit list, the input help only displays as many entries as the user has specified on the F4 Help tab page underHelp → Settings. The default value for this is 500. Hint: If there are more than 500 hits, you can use the button shown in the figure once to increase the number of hits for this selection, or change the search variant. Hint: Users can also create personal values lists. An S&D employee who is only responsible for customers in Bavaria wants to see the Bavarian customers, and defines a corresponding personal value list. However, despite this (depending on the authorizations assigned) the employee still has the option at all times of switching to the total view of all customers or of updating or completely deleting the values list. SAP Help Portal The SAP help documentation is a useful aid in getting to know system functions. It also explains system architecture concepts, gives examples of how you can configure various processes, and warns you about possible user errors and their consequences. The online documentation also contains several tips and tricks to help you carry out common tasks in the SAP system more easily and quickly. © Copyright. All rights reserved. 31 Unit 2: Navigation Figure 16: The SAP Library Hint: You can also access the SAP documentation on the Internet. To do this, go to http://help.sap.com. You can access the full product documentation for all releases here. A user-friendly full-text search-by-solution is also available. The System and Help Menus The System and Help menus are always available with the same options on every screen in an SAP system. The System menu allows you to access various system functions. This menu also contains functions that you can only access using this menu (and not in any other way). You can log off using System→ Log Off, and display useful information on your system and the function you are currently using, such as the transaction code, by choosing System→ Status. © Copyright. All rights reserved. 32 Lesson: Describing SAP GUI Functions, Help, and Personalization Figure 17: The Menus System and Help You access the SAP system documentation from theHelp menu. You can also display the Release Notes and configure the standard settings for the input help. However, you mostly use the Help menu to navigate to the specific section of the documentation relevant for your current work in the current context. The context-sensitive help is also called Application Help. The tool for accessing the documentation as a whole is the SAP Library. Personalization of the SAP GUI The SAP-system contains a wide variety of personalization options. You can choose Extras→ Settings to influence the design of the initial screen of the SAP system, for example by including a picture in the right-hand area of the view or including the technical names (transaction codes) on the S AP Easy Accessscreen. In the standard toolbar, use the following button to adapt the local layout: Using the Customizing of local layoutbutton, you can manage the input history by choosing Options...→ Local Data. If it is activated, the input history creates a small database on the front end containing the last x entries made in input fields in transactions. You can specify the value for “x” yourself. These entries display as input help for fields that are declared accordingly. There is a slight delay on the input history. To minimize this display, chooseOptions→ Local Data→ History→ Immediate. The Options also enable you to set the speed of quick info, and to display system messages in dialog boxes (O ptions...→ Messages). Various other aids and settings are available here, for instance, you can choose a color scheme for your GUI. © Copyright. All rights reserved. 33 Unit 2: Navigation Note: Using the Customizing of local layouts, you can choose Design Settings→ General to adapt the font size in the SAP GUI window. However, you need to close the SAP Logon program, open it up, and log on to the system again before your changes to the settings take effect. Figure 18: Two Possible Personalization Options You can choose System→ User Profile→ User Data can set personal default values. You can choose between theAddress, Fixed Values, and Parameterstab pages. Hint: You can use parameters to enter default values in the fields that you use regularly. The prerequisite for you to be able to do this is that the input field has been assigned a parameter ID. To find the parameter ID, select the input field for which you want to define a default value, and choose the F1 help, followed by the Technical Information button. This calls up a dialog box that displays the corresponding parameter ID under Field Data (as long as a parameter ID is assigned to the field). If, for example, you enter parameter ID XUS in your user profile on the Parameters tab page, and assign a value to this, all fields with XUS as their parameter ID now have the value you entered as a default. This is the case in transaction SU01, for example. The favorites list on theSAP Easy Accessscreen and the status bar display variants provide additional personalization options. © Copyright. All rights reserved. 34 Lesson: Describing SAP GUI Functions, Help, and Personalization Hint: You can use the information displayed in the status bar on the bottom right edge of the GUI window. There, you can, for example, always display the transaction code of the transaction that is currently being executed. Related Information ● Documentation: You can find extended help forS AP Easy Accessunder Help →Application help. LESSON SUMMARY You should now be able to: ● Use various methods to start SAP system functions ● Create a list of favorites ● Use the help functions ● Describe the standard menus "System" and "Help" © Copyright. All rights reserved. 35 Unit 2 Lesson 3 Describing Navigation using a Web Browser LESSON OVERVIEW In this lesson, you learn about navigation with the AS ABAP-based and AS Java-based SAP systems using a web browser. Business Example You want to use a web browser to work in AS ABAP-based or AS Java-based SAP systems. LESSON OBJECTIVES After completing this lesson, you will be able to: ● Successfully log on to an AS ABAP-based SAP system using a web browser ● Successfully log on to an AS Java-based SAP system using a web browser Navigation with Web Browser: AS ABAP-based SAP System With AS ABAP-based SAP systems you can choose to communicate by either the SAP GUI or a web browser. You can consult theProduct Availability Matrix (PAM), for example, to find out which web browser types are supported. Web browser navigation is used under a range of different conditions: ● ● ● You log on to the SAP system with the SAP GUI for HTML. SAP GUI for Windows is not required. Navigation takes place via the web browser only. You use an SAP GUI for Windows with the SAP system, for example. Some transactions open in a web browser. In a Solution Manager system, for example, this is the case for LMDB (Landscape Management Database). You call a web browser-based web service of an SAP system. The URL for the web browser-based call starts with http(s)://<hostname of application server→ :<Port ppnn>. pp is a number that can be defined by a profile parameter, for example 80 for http,nn is the instance number, for example 42. The URL could therefore begin withhttp://fsdhost.wdf.sap.corp:8042. © Copyright. All rights reserved. 36 Lesson: Describing Navigation using a Web Browser Figure 19: Navigation with Web Browser: AS ABAP-Based SAP System The figure“Navigation with Web Browser: AS ABAP-Based SAP System” shows logon and navigation with SAP GUI for HTML. As users always exist per client in AS ABAP, and are therefore client-dependent, the system prompts you to enter the client at logon. Navigation with Web Browser: AS Java-based SAP System With AS Java-based SAP systems, you cannot navigate with the SAP GUI – even with the SAP GUI for Java or the SAP GUI for HTML. You can use a web browser to navigate. You can consult the Product Availability Matrix (PAM), for example, to find out which web browser types are supported. The URL for the web browser-based call starts with http(s)://<hostname of application server→ :<Port 5ppnn>. pp is a number that can be defined by a parameter, for example 01 for https, nn is the instance number, for example 43. The URL could therefore begin with https://smhost.wdf.sap.corp:54301. © Copyright. All rights reserved. 37 Unit 2: Navigation Figure 20: Navigation with Web Browser: AS Java-Based SAP System The figure“Navigation with Web Browser: AS Java-Based SAP System” shows logon and navigation using a web browser. The AS Java does not have a client concept like AS ABAP. Users are therefore always systemwide. At logon, the system therefore does not prompt you to enter a client. Related Information ● For more information, see the following online documentation. Help→ SAP Library→ Introduction to the SAP System. LESSON SUMMARY You should now be able to: ● Successfully log on to an AS ABAP-based SAP system using a web browser ● Successfully log on to an AS Java-based SAP system using a web browser © Copyright. All rights reserved. 38 Unit 2 Lesson 4 Describing SAP Business Client LESSON OVERVIEW In this lesson, you learn about SAP Business Client and the different variants. Business Example Your company wants to use SAP Business Client and you want to learn more about its functions. LESSON OBJECTIVES After completing this lesson, you will be able to: ● Describe SAP Business Client Overview SAP Business Client provides users with a local client with role-based navigation. It is used as the central point of access for all SAP applications and transactions, and therefore bridges the gap between clients (such as SAP GUI) and browser access. It is available in two versions: ● SAP Business Client for HTML ● SAP Business Client for Windows A comparison of the two versions is provided in the following table: Table 1: Comparison of SAP Business Client (BC) Functions SAP Business Client for HTML SAP Business Client for Windows For normal users For power users No installation required Is installed on the front-end host Integrated in the browser (uses SAP GUI for Includes SAP GUI functionality HTML) Restricted functional scope: no search func- Offers full functional scope tion, no drop-down menus, no drag and drop No SAP Enterprise Portal functionality Can be used for SAP Enterprise Portal including role content Available on Windows, Linux, and Mac OS Available on Windows, only Because navigation is role-based, special navigation roles are often assigned in addition to the standard roles assigned to the user. These navigation roles enable the corresponding functions to be used in the SAP system. © Copyright. All rights reserved. 39 Unit 2: Navigation SAP Business Client (BC) for HTML SAP Business Client (BC) for HTML is a browser-based interface with a restricted functional scope. The SAP GUI for HTML function is used for ABAP transactions in order to access AS ABAP systems. Caution: This variant cannot be used to access SAP Enterprise Portal. Figure 21: SAP Business Clients (BC) for HTML 1. To start the Business Client for HTML, enter transaction NWBC in the SAP system, or start the browser and enter the following URL: https://<fully qualified host name>:<HTTPS-port>/sap/bc/nwbc Hint: Before you can use SAP Business Client for HTML, the service /sap/bc/nwdc must be activated in transactionSICF. 2. The business client for HTML then opens in the browser window. © Copyright. All rights reserved. 40 Lesson: Describing SAP Business Client SAP Business Client (BC) for Windows SAP Business Client (BC) for Windows is a UI intended for power users. If installed, the SAP GUI for Windows itself is used as a rendering engine. It therefore replaces the SAP GUI as the central point of access for SAP applications. SAP Business Client for Windows can access AS ABAP based SAP systems with role-based menus, and can access SAP Enterprise Portal systems with PCD (Portal Content Directory) functions. For more information see SAP Note 2446515 - SAP Business Client 6.5: Prerequisites and restrictions. Figure 22: SAP Business Client (BC) for Windows: Different Types of Logon Entries Choose theNew button (white sheet) to create a new entry. The new entry can be one of the following different types: ● SAP Fiori Launchpad ● SAP Business Client ● SAP Logon ● Shortcut for SAP Logon © Copyright. All rights reserved. 41 Unit 2: Navigation Figure 23: SAP Business Clients (BC): Role Based Navigation SAP Business Client offers a role-based navigation, using a panel, overview pages, and a quick start bar. SAP Business Client and SAP Roles The information displayed with SAP Business Client (BC) depends on the roles assigned to the user. As this can be defined on a very user-specific basis and depends on the application, a few functions have been added to transaction PFCG (role maintenance). © Copyright. All rights reserved. 42 Lesson: Describing SAP Business Client Figure 24: SAP Business Clients (BC) and PFCG Roles The figure“SAP Business Clients (BC) and PFCG Roles” shows the connection between the SAP roles, which are maintained in the SAP system in transaction PFCG, and the display within SAP Business Client. Related Information ● SAP Note2446515 - SAP Business Client 6.5: Prerequisites and restrictions ● SAP Note2455699 - SAP Business Client 6.5 expected releases LESSON SUMMARY You should now be able to: ● Describe SAP Business Client © Copyright. All rights reserved. 43 Unit 2 Lesson 5 Describing SAP Fiori LESSON OVERVIEW In this lesson, you learn about SAP Fiori. Business Example Your company wants to use SAP Fiori and you want to get an overview of the functions. LESSON OBJECTIVES After completing this lesson, you will be able to: ● Explain the concept of SAP Fiori ● Use apps in the SAP Fiori launchpad SAP Fiori Figure 25: What is SAP Fiori? SAP Fiori is a collection of applications that were created based on the rules of SAP User Experience (UX). The first 25 apps for managers and employees for queries and approvals were presented at SAPPHIRE in 2013. Since then, the number of apps has risen sharply. © Copyright. All rights reserved. 44 Lesson: Describing SAP Fiori Figure 26: Implementation of SAP User Experience (UX) Strategy SAP Fiori is an important component of the SAP User Experience (UX) strategy comprising NEW, RENEW, and EMPOWER. NEW and RENEW are implemented directly by SAP through the development of completely new applications (NEW) and the adaptation of existing applications to current standards (RENEW). With EMPOWER, on the other hand, the customers themselves adapt the applications to their own requirements or develop their own solutions. For this, SAP offers not only training courses and best practices but also many tools and technologies, through to UX Design Services, where SAP is directly involved in the customer’s design process. Figure 27: SAP Fiori Design Principles SAP Fiori offers a standardized user experience on a wide variety of clients. Users should have a consistent, coherent, intuitive, and appealing user experience on all devices and therefore complete their work more intelligently and efficiently. The five design principles for SAP Fiori were developed by Design Thinking and are the core properties of every SAP Fiori application to achieve these goals. The role-based approach is the biggest difference to the classic interfaces. © Copyright. All rights reserved. 45 Unit 2: Navigation Figure 28: Role-Based User Experience A role-based user experience means that users are provided with all information and functions for their day-to-day work – but nothing more. The classic SAP user interface (UI) provides a single, complex transaction for many user roles. A single user’s work then means that several of these transactions, or additional applications, need to be used. SAP Fiori splits these large transactions into individual apps for the use roles. All the apps are linked with each other so all tasks of a transaction are possible, but are only executed if the user really wants this. The central point of access for all apps is the SAP Fiori launchpad . Figure 29: SAP Fiori © Copyright. All rights reserved. 46 Lesson: Describing SAP Fiori The SAP Fiori launchpadprovides a coherent user experience across different solutions by making it possible to combine separate apps with the help of user roles. Every app is an individual step in a specific role. Therefore, several apps combined form a complete process across different solutions and systems. Figure 30: SAP Fiori Launchpad The SAP Fiori launchpadoffers many functions to simplify users’ work. Depending on the selected host and port, the launchpad can be accessed via the following URLs: Since AS ABAP 7.40: https://<host>:<port>/sap/bc/ui5_ui5/ui2/ushell/shells/abap/ FioriLaunchpad.html Since AS ABAP 7.50:https://<host>:<port>/sap/bc/ui2/flp Groups of apps display based on the role of the user. Every app is represented by a tile that can be clicked or touched. Tiles can also represent a collection of app data. This can be done using a simple number, additional color coding based on KPIs (key performance indicators), or even charts (trend, comparison, distribution). The integrated search enables you to search not only for apps, but also for data in the apps. However, the Enterprise Search with a connected SAP HANA is required. The most important thing is that you can adapt the S AP Fiori launchpadto your requirements. In addition to general settings such as the language, you can rearrange groups and tiles, create new groups and add additional tiles. The possible options depend on the settings in the user role, and the settings in the SAP Fiori system itself. © Copyright. All rights reserved. 47 Unit 2: Navigation Figure 31: SAP Fiori 2.0 Viewport With SAP S/4HANA 1610, SAP Fiori 2.0 is shipped to customers. The SAP Fiori Launchpad now offers a viewport consisting of theMe Area to the left, theWorkspace in the center, and the Notificationsto the right. TheMe Area is an enhanced user menu providing access to frequently used apps and recent activities. The N otificationson the other side provide fast access to information and tasks including simple actions. The Workspace in between now offers additional possibilities to navigate between apps like the navigation menu at the top, and the option to run apps in overlay mode in front of other apps. The whole design of SAP Fiori 2.0 was rewarded with the Red Dot Design Award in 2015. Figure 32: SAP Fiori App Types All SAP Fiori apps use the SAPUI5 and SAP Gateway technologies. Other technologies may be used depending on the app type: © Copyright. All rights reserved. 48 Lesson: Describing SAP Fiori Transactional apps ● Use of the ABAP options for transactional functions of a business system ● Available for SAP S/4HANA and Business Suite on Any DB Analytical apps ● Use of the analytical options of SAP HANA for insights into the business data ● Available for SAP S/4HANA and Business Suite on SAP HANA Fact sheet apps ● Use of Enterprise Search with connection to SAP HANA for search results ● Available for SAP S/4HANA and Business Suite on SAP HANA An overview of all apps and their details such as the app type is available in SAP the Fiori Reference Library: http://www.sap.com/fiori-apps-library LESSON SUMMARY You should now be able to: ● Explain the concept of SAP Fiori ● Use apps in the SAP Fiori launchpad © Copyright. All rights reserved. 49 Unit 2 Lesson 6 Describing the SAP Enterprise Portal LESSON OVERVIEW This lesson is an introduction to the user interface of SAP Enterprise Portal from the perspective of the end user. Business Example Users want to use the enterprise portal. LESSON OBJECTIVES After completing this lesson, you will be able to: ● Describe the purpose of SAP Enterprise Portal ● Describe the screen elements of SAP Enterprise Portal SAP Enterprise Portal Log On SAP Enterprise Portal provides the core capabilities required to deliver enterprise content to internal and external users in a uniform and consistent manner, on traditional desktops as well as on mobile devices. SAP Enterprise Portal, with its role-based access and a modern web front end, offers a single point of access to the organization’s structured and unstructured content. Such content includes SAP and non-SAP information sources, enterprise applications, information repositories, databases and services, regardless of organizational or technical boundaries. Technically, SAP Enterprise Portal runs on AS Java. You access SAP Enterprise Portal using a normal web browser. Hint: A list of supported web browsers can be found in the Product Availability Matrix (PAM). Since the product is continuously being developed, you are advised to check this information in the current PAM. The PAM is available at SAP Support Portal, Quick Link/pam. To access this online service, you need either an SAP customer ID or SAP partner ID. Log on using a user ID and password is the standard method after a portal installation. The portal can then be configured to use the same credentials that are used to log on to the company network. It is also possible to implement Single Sign-On procedures. SAP supports access to SAP Enterprise Portal via a dial-in connection. Special URLs for logon can be provided for this. © Copyright. All rights reserved. 50 Lesson: Describing the SAP Enterprise Portal Figure 33: Access to SAP Enterprise Portal Proceed as follows to log on to the portal (this is not available in this training): 1. Open your web browser. 2. Enter the URL of SAP Enterprise Portal. The typical format http(s)://<portal is server host name>.<portal server domain>:<ICM http(s) port>/irj, for examplehttp://epdhost.wdf.sap.corp:50000/irj or https:// epdhost.wdf.sap.corp:50001/irj. Note: For employees of a company, this URL can be configured as the web browsers home page. Another option is to access the portal by clicking an image on a company home page, for example. 3. In the User and Passwordfields, enter your user ID and password. 4. Choose Log On, or press Enter on your keyboard. Portal Language In SAP Enterprise Portal, every user has a user master record. The portal language that the user wants can be defined in this user master record. The navigation options and menu texts are displayed in this language, provided they have been translated into it. If the user opens a logon screen and is not yet authenticated, the display language of the logon screen is determined by the browser settings. The portal also contains a default setting for cases when the language settings cannot be read or the defined language is not available. The same also applies after registration if a language was not defined in the user master record. © Copyright. All rights reserved. 51 Unit 2: Navigation Important Screen Elements and Navigation Functions For display in the web browser, the output view of SAP Enterprise Portal, known as the portal desktop, is subdivided into the following areas: ● Header Area ● Page Heading Bar ● Navigation Panel ● Content Area In the standard system, SAP provides several portal desktops (which can be adapted by customers). Two important ones are: ● The standard is now the intuitive, user-friendly Ajax portaldesktop. ● The old default desktop is still available as the Classic portaldesktop. The following figures show the most important screen elements of SAP Enterprise Portal for the two desktops. Figure 34: Structure of the Ajax-Based Portal Desktop © Copyright. All rights reserved. 52 Lesson: Describing the SAP Enterprise Portal Figure 35: Screen Elements of the Classic Portal Desktop Depending on the portal desktop, the use of some functions may differ slightly. The following sections relate to the Ajax portal desktop. Header Area The header area is located at the top of the browser window. This area does not change when you navigate from one page to another. The header area contains a portal header, AFP widgets, and the top-level navigation. The portal header consists of the following: ● Company logo ● Document search ● Link for logoff The header area contains the following functions that can be called via links: ● For navigation (Back, Continue, and History) ● For managing portal favoritesFavorites) ( ● For personalizing the portal or the current pagePersonalize) ( ● For switching to full screen mode or for calling tabsetsView). ( Since one of the AFP widgets, theHistoryprovides a selection of the portal pages last visited and enables you to go to these pages quickly. Pages that you have visited more than once are only stored once in this history. © Copyright. All rights reserved. 53 Unit 2: Navigation You can choose Back and Continue to navigate through the history of the pages you have visited, similar to theBack and Forward functions in your web browser. The Favorites widget provides a list of links that each user can compile, and that permit direct access to objects in the portal, such as portal pages, whole-page iViews, KM objects, and external objects such as websites. Favorites can be organized in a folder structure. In contrast to the browser favorites, portal favorites are client-independent and are therefore available to you on every computer after you have logged on to the portal. The top-level navigationis navigation directly below the AFP widgets. This is the entry point for navigation through the content that was assigned to you. In the standard system, the entries in the top-level navigation are divided into two tab levels (first-level tab page and second-level subtab) and are predefined by your administrator. In the classic portal desktop, the administrator can make simple configuration settings to activate the hover effect. This permits faster navigation, because you merely need to move the mouse over entries in the top-level navigation level and the entries of the second level are immediately visible. Page Heading Bar The page heading bar is below the top-level navigation. It provides you with functions for personalizing the page in the content area and offers you efficient navigation options on the current content page. Note: Your content administrator can define which options you have for a page in the content area. In the (Page) Optionsmenu, you have additional functions, such as page refresh, opening the current page in a new window, or adding the current page to your web browser favorites. If permitted by the content administrator, you can also personalize the current page. This means that you can decide which assigned content is displayed on the page, and how this is laid out. Navigation Panel The navigation panel is located on the left-hand side of your browser window. You can minimize the navigation panel using the arrow symbol to have more space within the window. You can expand it again or change its size to access tools and folders. Based on the content area, the navigation panel can contain the following navigation iViews: Detailed navigation The detailed navigation is the hierarchical continuation of the top-level navigation. It contains all the content below the second navigation level. Dynamic navigation A dynamic navigation iView contains controls for the user interface, for example dropdown lists and links that can be used to call up data on the content displayed in the content area. The iView can consist of a list of customers, orders, regions, or employees, or of data that accesses a database. Every time you select an option in a dynamic navigation iView, you update only the data that is currently displayed in the portal content area. © Copyright. All rights reserved. 54 Lesson: Describing the SAP Enterprise Portal If no dynamic navigation iViews are assigned to the displayed content, the iView for dynamic navigation is not displayed in the navigation panel. Related topics This iView contains a list of links to topics relevant for the iView or portal page you are currently working in. The links are predefined at iView and page level (Portal Content Studio). Click an object underRelated Topics to open the content in a new browser window. If no related topics are assigned to the displayed content, the iView for related topics is not displayed. The navigation panel is only expanded if the iViews contain content to be displayed. By changing the navigation panel, you enlarge or reduce the panel or content area. You can only access the iViews if the navigation panel is expanded. Content Area The actual content you accessed displays in thecontent area of the portal desktop. The content area is filled with data that you access from information sources in your company or on the Internet with the help of small applications known as iViews. The content area displays a page with several iViews or just one iView in full-page mode. iViews can access document files, e-mails, web pages, and data in company applications. They compile a personal view of all elements important for your task area. With iViews, you can extend the scope of your portal to any available information sources – for example SAP system, customdeveloped applications, the Internet, and others. iViews display not only static content, they can also display dynamic content from various applications. Figure 36: Examples of iViews © Copyright. All rights reserved. 55 Unit 2: Navigation A page runs in the content area of your portal and consists of one or more iViews. In addition to iViews, a page contains layout information, that is, information about the arrangement of the individual iViews. Advanced Navigation Functions Further navigation methods are provided in addition to navigation using the menu options of the top-level navigation and in the navigation iViews available in the navigation panel. Sequence of Top-Level Navigation Nodes If you use the Ajax portal desktop, you can (provided the option was not deactivated) easily change the sequence (initially defined by the content administrator) of top-level navigation nodes by dragging and dropping. The portal permanently saves a selected sequence so it is applied the next time you log on. Quick Links Quick links are used to call iViews and pages using a name that indicates the purpose of the iViews or page. It is added directly to the portal URL. A content administrator first defines these quick links at iView or page level. If, for example, the whoiswhoquick link is defined for an iView, the call ishttp(s)://<portal server host name>.<portal server domain>:<ICM http(s) port>/irj/portal/whoiswho. Users can only call quick links to iViews or pages that are contained in their roles. Accessibility in SAP Enterprise Portal SAP is committed to enabling people with motor or vision disabilities to use SAP products and to comply with standards in this area. This includes operation of SAP Enterprise Portal. Not all users with a disability need the same support. People with a vision impairment have different requirements to users who are physically challenged. There is no reason, for example, why physically challenged users who can see well should have to make keyboard entries for non-interactive elements of the user interface or work more slowly because of texts that are not visible for accessibility. For a better understanding of these requirements, some of these functions are also provided on the standard interface to better support physically challenged users who have good vision. All accessibility functions are activated using the Activity Accessibility-Feature switch in the user profile and require a screen reader. The top-level navigation is affected by the Activate Accessibility-Feature switch. If the hover effect was activated, it is deactivated. The following table shows which functions are available with and without the Accessibility option in SAP Enterprise Portal. Table 2: Accessibility in SAP Enterprise Portal User Option With the switch for ac- Without the switch for cessibility accessibility Access all elements of the user interface with the Tab key Trigger all events with the keyboard only Receive text equivalents that the screen reader reads and communicates to the user © Copyright. All rights reserved. 56 Lesson: Describing the SAP Enterprise Portal User Option With the switch for ac- Without the switch for cessibility accessibility Skip navigation links and large elements such as tables, trees, tab pages, and group boxes to access the desired element of the user interface more quickly Navigate using hotkeys If accessibility is activated, users can navigate using hotkeys. Even if accessibility is activated, hotkeys are used to enable the user to go to and select various navigation elements quickly. The following hotkeys are then available for navigation: Table 3: Navigation via Hotkeys Hotkey Action Navigation key ALT+T Go directly to top navigation area ALT+N Go directly to navigation bar area ALT+C Go directly to content area Action key SHIFT+F10 Opens a context menu (in the case of navigation via tree control) ALT+Z Skip large element for example selection button group, table, tray, TLN, and so on, if you are currently in it ALT+B Return to start of large element if you are currently in it Related Information ● SAP NetWeaver 7.4 online documentation, path Getting Started→ Using SAP Software→ First Steps→ Portal LESSON SUMMARY You should now be able to: ● Describe the purpose of SAP Enterprise Portal ● Describe the screen elements of SAP Enterprise Portal © Copyright. All rights reserved. 57 Unit 2 Learning Assessment 1. You can only work in one window (session) at a time in an SAP system. Determine whether this statement is true or false. X True X False 2. Which of the following statements accurately describe a client in an AS ABAP based SAP system? Choose the correct answers. X A A client represents a completely independent business entity. X B A client has its own database. X C A client corresponds to a customer. X D A client may represent an entire company. 3. Which of the following strings are valid entries in the Commandfield? Choose the correct answers. X A /nend X B /nex X C ?SM04 X D /nsm04 X E From SAP Easy Access:SM04 X F From SAP Easy Access:search_sap_menu © Copyright. All rights reserved. 58 Unit 2: Learning Assessment 4. With the help of SAP GUI for HTML, you can log on to both AS ABAP-based SAP systems and AS Java-based SAP systems. Determine whether this statement is true or false. X True X False 5. Which versions of SAP Business Client are available? Choose the correct answers. X A SAP Business Client for Java X B SAP Business Client for HTML X C SAP Business Client for Windows X D SAP Business Client for HANA 6. What is SAP Fiori? Choose the correct answer. X A The successor of SAP GUI for HTML. X B A new software component that allows the integration of SAP Enterprise Portal functions into SAP S/4HANA systems. X C A collection of UX-driven apps renewing enterprise business functions. X D The implementation method for SAP S/4HANA content. 7. Technically, SAP Enterprise Portal is based on AS ABAP. Determine whether this statement is true or false. X True X False © Copyright. All rights reserved. 59 Unit 2 Learning Assessment - Answers 1. You can only work in one window (session) at a time in an SAP system. Determine whether this statement is true or false. X True X False You are correct: Within one logon, it is possible to work in several windows (sessions) in parallel. 2. Which of the following statements accurately describe a client in an AS ABAP based SAP system? Choose the correct answers. X A A client represents a completely independent business entity. X B A client has its own database. X C A client corresponds to a customer. X D A client may represent an entire company. You are correct: The data for all clients in an SAP system is stored within a single common database. This data is nevertheless divided by client so that different companies can be administered and controlled in different clients. A client not is a customer within an SAP system. © Copyright. All rights reserved. 60 Unit 2: Learning Assessment - Answers 3. Which of the following strings are valid entries in the Commandfield? Choose the correct answers. X A /nend X B /nex X C ?SM04 X D /nsm04 X E From SAP Easy Access:SM04 X F From SAP Easy Access:search_sap_menu You are correct. Entering/n in front of a transaction code ends the actual transaction and starts the new transaction in the same session. From SAP Easy Accessscreen, you may also enter the transaction code directly. 4. With the help of SAP GUI for HTML, you can log on to both AS ABAP-based SAP systems and AS Java-based SAP systems. Determine whether this statement is true or false. X True X False You are correct. SAP GUI for HTML can be used to log on to AS ABAP-based SAP systems only. SAP GUI for HTML is not available for AS Java-based SAP systems. 5. Which versions of SAP Business Client are available? Choose the correct answers. X A SAP Business Client for Java X B SAP Business Client for HTML X C SAP Business Client for Windows X D SAP Business Client for HANA You are correct. SAP Business Client provides users with a local client with role-based navigation. It is available asSAP Business Client for HTML(intended for normal users) and as SAP Business Client for Windows(intended for power users). © Copyright. All rights reserved. 61 Unit 2: Learning Assessment - Answers 6. What is SAP Fiori? Choose the correct answer. X A The successor of SAP GUI for HTML. X B A new software component that allows the integration of SAP Enterprise Portal functions into SAP S/4HANA systems. X C A collection of UX-driven apps renewing enterprise business functions. X D The implementation method for SAP S/4HANA content. You are correct.SAP Fioriis a collection of applications that were created based on the rules of SAP User Experience (UX). The implementation method for SAP S/4HANA is called SAP Activate. 7. Technically, SAP Enterprise Portal is based on AS ABAP. Determine whether this statement is true or false. X True X False You are correct. SAP Enterprise Portal is based on AS Java. © Copyright. All rights reserved. 62 UNIT 3 SAP System Kernel Lesson 1 Explaining the Basic Architecture of SAP NetWeaver AS 64 Lesson 2 Describing AS ABAP 74 Lesson 3 Describing AS Java 96 UNIT OBJECTIVES ● Define the term instance/application server ● Name the processes of the SAP NetWeaver Application Server ● Describe how requests to AS ABAP are processed ● List the AS ABAP processes and describe their purpose ● Describe how requests to AS Java are processed ● List the AS Java processes and describe their purpose © Copyright. All rights reserved. 63 Unit 3 Lesson 1 Explaining the Basic Architecture of SAP NetWeaver AS LESSON OVERVIEW This lesson introduces the basic architecture of SAP systems. Based on simple client/server configurations, the individual processes of the SAP NetWeaver Application Server are introduced and the termsinstance and Application Serverare Server defined. We also explain the architecture of the different types of SAP NetWeaver Application Server. Business Example In the course of implementing an SAP system, you need to establish the architecture of SAP systems and how you are going to distribute the required SAP system processes among the available hardware. LESSON OBJECTIVES After completing this lesson, you will be able to: ● Define the term instance/application server ● Name the processes of the SAP NetWeaver Application Server SAP System Architecture Hint: Hardware manufacturers often use the term application server to describe a piece of hardware. Software vendors – like SAP – use it to describe a software solution. This can be confusing. For example, the prompt Please restart the application servercan have two entirely different meanings. An (SAP) instance or (SAP) application server is an administrative unit that combines SAP system components providing one or more services. The services provided by an application server are started or stopped together. You use a common instance profile to set parameters of all the components of an application server. Each application server has its own buffer areas in RAM. An application server runs on a host. Multiple application servers can run on a single host. An application server is identified by its (three-character) SAP system ID (SID) and a (two-digit) instance number. Hint: The terms (SAP) instance and application server are often used as synonyms, but we speak exclusively of a central services instance. © Copyright. All rights reserved. 64 Lesson: Explaining the Basic Architecture of SAP NetWeaver AS Examples of SAP systems include: SAP S/4HANA, SAP ECC, SAP CRM, SAP BW, SAP Enterprise Portal. Figure 37: Instances/Application Servers of an SAP System (Example) When you install an SAP system, you already have the option of separating the processes at application level from processes at database level. Therefore, the database for an SAP system can be installed and operated on a separate host, separated from the application servers of the SAP system. There is (usually) exactly one database for each SAP system. The database usually has the same SAP system ID (DB SID) as the SAP system (SAP SID). The following factors have an influence on the application server design of an SAP system: ● Release of the SAP system (due to architecture changes throughout the releases) ● Installed usage type of the SAP system (AS ABAP or AS Java) ● Decision of the SAP customer (scalability, high availability) The installation options are: ● ● ● AS ABAP-based SAP system:Complete infrastructure in which ABAP-based applications can be developed and used. AS Java-based SAP system:Complete infrastructure for developing and using Java EEbased applications. AS ABAP+AS Java-based SAP system (dual stack): Complete infrastructure in which ABAP- and Java EE-based applications can be developed and used. Such a system should only be installed if explicitly required by the application, for example, for SAP Solution Manager 7.1. © Copyright. All rights reserved. 65 Unit 3: SAP System Kernel Note: Dual stack systems are not supported any longer since SAP NetWeaver 7.5! SAP System Processes The SAP runtime system consists of a large number of parallel processes that work together. Here, you can distinguish between the runtime environment for ABAP (AS ABAP) and the runtime environment for Java (AS Java). AS ABAP Architecture and Processes The figure“AS ABAP Architecture”shows the architecture of an AS ABAP based SAP system: Figure 38: AS ABAP Architecture The Primary Application Server (PAS) is the application server that was first installed for the SAP system. If an AS ABAP-based SAP system does not have a central service instance, then the PAS also includes the enqueue work process and the message server. The PAS is located at file system level at \usr\sap\<SID>\D<instance_number>. Note: In older releases the PAS was located at \usr\sap\<SID> \DVEBMGS<instance_number>. © Copyright. All rights reserved. 66 Lesson: Explaining the Basic Architecture of SAP NetWeaver AS The central services instance provides central services of AS ABAP, the message service, and the enqueue service. The central services instance is optional on AS ABAP-based SAP systems from AS ABAP 7.00 and it is the default installation option as of AS ABAP 7.31. You cannot log on to the central services instance as a dialog user. The central services instance is not called an application server. The central services instance is located at file system level \usr\sap\<SID> at \ASCS<instance_number>. All other application servers of an SAP system are called Additional Application Servers (AAS). An AAS is located at file system level at \usr\sap\<SID>\D<instance_number>. If the PAS and database (and the central services instance, if any) are installed on the same host, this is called a central system. Hint: In AS ABAP 7.0 and later, the enqueue work process and message server can optionally be installed as the central services instance. This is the default installation option in AS ABAP 7.31 and later. The following changes to architecture and terminology were introduced with AS ABAP 7.10: ● The formercentral instancewas renamed asPrimary Application Server (PAS) ● The formerdialog instancewas renamed asAdditional Application Server (AAS) Optionally, an integrated SAP Web Dispatcher and an integrated RFC GW can be installed as part of the central services instance. The application server that is installed first is often referred to as the Primary Application Server or PAS for short. Further application servers for a system are referred to as Additional Application Servers or AAS for short. © Copyright. All rights reserved. 67 Unit 3: SAP System Kernel Figure 39: AS ABAP Processes In AS ABAP, the processes on every application server include the ABAP dispatcher and a number of work processes: ● ● ● ● ● ● The ABAP dispatcherdistributes dispatcher the requests to the work processes. Dialog work processesfulfill all requests for the execution of dialog steps triggered by an active user. Every dispatcher requires at least two dialog work processes. Background work processesexecute programs that run without interacting with the user. You need at least two background work processes for each SAP system. You can configure more than one background work process for each dispatcher. Update work processesexecute update requests. Similarly to spool work processes, you need at least one update work process per SAP system, and you can configure more than one per dispatcher. Spool work processespass processes sequential data flows on to output devices (printers). At least one spool work process is required for each SAP system. It is possible to configure more than one spool work process per dispatcher. The enqueue work processadministers the lock table in the host’s working memory. The lock table contains the logical database locks of the ABAP runtime environment of the SAP system. Only one enqueue work process is needed for each SAP system. If a central services instance is used, then as an e nqueue server, the enqueue is a process of the enqueue central services instance,not not a dispatcher work process. To summarize, the dispatcher of an AS ABAP manages different types of work processes: dialog, background, update, and spool work processes. These work processes take on different tasks when executing the business workflows in the SAP system. © Copyright. All rights reserved. 68 Lesson: Explaining the Basic Architecture of SAP NetWeaver AS The administrator of an SAP system can use profile parameters to configure the number of different work processes. In addition to the work processes, the AS ABAP runtime system provides additional services (these are not work processes) for internal and external communication: ● ● ● ● The ABAP Message Server(MS) handles communication between the distributed dispatchers within the AS ABAP, enabling scalability of several parallel application servers. It is configured exactly once for each SAP system and may be part of the central services instance. The Enqueue Server(ES) Server manages the lock table with the logical database locks of the ABAP runtime environment of the SAP system. It exists once for each SAP system and is part of the central services instance. The RFC gatewayreader gateway (GW) enables communication between SAP systems or between SAP systems and external application systems. There is one per dispatcher. The Internet Communication Manager( ICM) enables the communication with the SAP system using web protocols such as HTTP, HTTPS, and SMTP. The ICM receives requests from the client and forwards them to the SAP system for processing. It can also direct HTTP requests from an SAP system to a Web server and send the response back to the SAP system. There is one ICM process per dispatcher. Note: To display an overview of the application servers of an AS ABAP installation, call transactionSM51. Call transactionSM50 to obtain an overview of the work processes of the SAP system. The initial screen of this transaction only displays the work processes that are configured on the instance on which your logon session is running. The AS ABAP Message Server provides the AS ABAP with a central message service for internal communication (for example, for starting updates, requesting and removing locks, triggering background requests). The message server also provides information on which application servers of the system are currently available. The ABAP dispatchers of the individual application servers communicate via the message server, which is installed exactly once per SAP system. When you log on to the AS ABAP using the SAP GUI for Windows or the SAP GUI for Java using logon groups, the message server performs a load distribution of users to the available instances. This load distribution, which takes place during the logon procedure, is also known as logon load balancing. After the load balancing by the message server, the SAP GUI communicates directly with the dispatcher. The user remains logged on to this application server until log off. © Copyright. All rights reserved. 69 Unit 3: SAP System Kernel Note: To display an overview of users who are logged on to the same application server you are, call transactionSM04. To see which application server you are logged on to, choose System→ Status. As of AS ABAP 7.40, you can also see all the users logged on system-wide in transactionSM04. If you are accessing the AB ABAP via Web protocols such as HTTP using the browser, the Internet Communication Manager (ICM) receives the request. This forwards the request to the dispatcher of its application server. Communication from other SAP systems via Remote Function Call (RFC) is accepted by the Gateway Reader (GW). AS Java Architecture and Processes The figure“AS Java Architecture”shows the architecture of an AS Java-based SAP systems, with AS Java 7.10 and newer: Figure 40: AS Java Architecture The PAS is located at file system level at \usr\sap\<SID>\J<instance_number>. The central services instance is located at file system level \usr\sap\<SID> at \SCS<instance_number>. An AAS is located at file system level at \usr\sap\<SID>\J<instance_number>. © Copyright. All rights reserved. 70 Lesson: Explaining the Basic Architecture of SAP NetWeaver AS If the PAS and database (and the central services instance) are installed on the same host, this is called a central system. The following changes to architecture and terminology were introduced with AS Java 7.10: ● The formercentral instancewas renamed asPrimary Application Server (PAS) ● The formerdialog instancewas renamed asAdditional Application Server (AAS) ● The Java Dispatcher was replaced by the ICM process. ● The SDM process has been eliminated. ● The (Java) central services instance comprises a gateway process. Figure 41: AS Java Processes The following processes exist in an AS Java based SAP system, starting from AS Java 7.10: ● ● ● ● The Internet Communication Manager( ICM) distributes incoming requests to the server processes. In releases before AS Java 7.10, the Java dispatcherperformed Java dispatcher this task. The server processexecutes process the Java applications. Every server process is multi-threaded, which means it can process queries in parallel. Each ICM can have between one and 16 server processes. The Javamessage message servicemanages service a list of server processes. It is responsible for the communication within the Java runtime environment. The Javaenqueue enqueue servicemanages service logical locks that are set by the executed Java application program in a server process. © Copyright. All rights reserved. 71 Unit 3: SAP System Kernel ● The RFC gatewayreader gateway (GW) enables communication between SAP systems or between SAP systems and external application systems. It exists once in each SAP system (in the central services instance). Note: The entirety of the Java environment (all processes and the database scheme) is also referred to aJava cluster, and the individual processes (ICM and server) as nodes of the Java cluster. You can get an overview of started Java processes (Java dispatcher and Java server processes) via thesystem informationof the Java runtime environment ((http://<Host name>:<Java dispatcher HTTP port of the Instance>/sap/monitoring/SystemInfo, for examplehttp://smhost.wdf.sap.corp:59000→ System Information) Analogous to the AS ABAP, the message service of the AS Java provides a central message service for internal communication. The Java message service also provides the information about which application servers and nodes of the AS Java are available. Each node of the Java cluster can communicate directly with the message service. In the AS Java, the enqueue service holds logical locks. Each node of the Java cluster can communicate directly with the enqueue service. When the AS Java is accessed using a browser, the ICM receives requests, which are then processed by the server processes. AS ABAP+Java Processes (AS ABAP+Java 7.03 and older) In the past there were AS ABAP+Java based SAP systems. For the AS ABAP+Java (meaning ABAP and Java processes in the same SAP system, under the same SAP system ID), the same architectural principles apply as for separate AS ABAP and AS Java systems. However, some special features apply. Note: The AS ABAP+Java was also called d aual-stacksystem. © Copyright. All rights reserved. 72 Lesson: Explaining the Basic Architecture of SAP NetWeaver AS Figure 42: AS ABAP+Java (Release 7.03 and Older), such as SAP Solution Manager 7.1 Since both runtime environments are capable of answering requests via Web protocols, the Internet Communication Manager can decide whether the request is addressed to the AS ABAP or the AS Java runtime environment. It decides this with the URL of the request. In a request to the AS ABAP runtime environment, for example, the call of an ABAP Web Dynpro, the ICM forwards the request to the ABAP dispatcher and the work processes respond to the request. If the request is a request for the Java runtime environment, for example, the call of a Java Server Page (JSP), the ICM forwards the request to the AS Java and one of the server processes responds to the request. In an AS ABAP+Java-based SAP system, data is also kept in separate database schemas (but in the same database). That is, only the AS ABAP work processes can access AS ABAP data and only the AS Java server processes can access AS Java data. In the data exchange, both runtime environments then communicate using the SAP Java Connector (SAP JCo). This communication is necessary, for example, if billing data that is stored in the AS ABAP data schema is supposed to be displayed in an AS Java user interface. The SAP JCo is integrated in the AS Java and is also used when an AS Java system needs to communicate with a remote AS ABAP system. LESSON SUMMARY You should now be able to: ● Define the term instance/application server ● Name the processes of the SAP NetWeaver Application Server © Copyright. All rights reserved. 73 Unit 3 Lesson 2 Describing AS ABAP LESSON OVERVIEW This lesson discusses how the SAP NetWeaver Application Server ABAP (SAP NetWeaver AS ABAP) works. The processes are introduced and it is explained how they work. Business Example Your company has decided to implement SAP ERP. The business core functions such as accounting in SAP ERP are processed by the ABAP runtime environment. For the employees in the different, rather technical departments (development, SAP system administration, work preparation, security, and so on) it is therefore important that they understand how SAP NetWeaver AS ABAP works in more detail. LESSON OBJECTIVES After completing this lesson, you will be able to: ● Describe how requests to AS ABAP are processed ● List the AS ABAP processes and describe their purpose Processing of Requests in AS ABAP The users can log on to the SAP system using the SAP GUI or a web client (browser), for example. Request Processing in the SAP GUI Users can log on through the (ABAP) message server (load balancing) or they can log on directly on the ABAP dispatcher, the work processes execute the user entries. The processing of a user request in AS ABAP, as outlined in the figure “Processing a User Request”involves different processes on all three layers (presentation, application, and database layer). © Copyright. All rights reserved. 74 Lesson: Describing AS ABAP Figure 43: Processing a User Request The screen entries of a user are accepted by a front-end software, for example, the SAP GUI (SAP Graphical User Interface), converted to an internal format and forwarded to AS ABAP. The (ABAP) dispatcher is a central process of AS ABAP. It manages the resources for the applications written in ABAP in coordination with the respective operating system. The main tasks of the ABAP dispatcher include the distribution of the requests to its work processes, the integration of the presentation layer and the organization of communication activities. The dispatcher first saves the processing requests in request queues and then processes them according to the first in, first out principle. The ABAP dispatcher distributes the requests one after the other to the available work processes. Data is actually processed in the work process, although the user who created the request using the SAP GUI is not always assigned the same work process. There is no fixed assignment of work processes to users. To process user requests, it is often necessary to read data from the ABAP schema of the database or to write to it. For this, every work process is connected directly to the ABAP schema of the database. Once the process is complete, the result from the work process is sent via dispatcher back to the SAP GUI. The SAP GUI interprets this data and generates the output screen for the user. The buffers help to speed up processing of user requests. Data that is read but seldom changed (for example, programs or customizing data such as currencies or company codes) can be kept as a copy of the database content in the shared memory of the application server. This means that the data does not have to be read from the database every time it is needed, but can be called quickly from the buffer. Each instance has its own buffers. © Copyright. All rights reserved. 75 Unit 3: SAP System Kernel Figure 44: Process Flow for Requests Work processes execute the process logic of application programs. In addition to internal memory, a work process has a task handler that coordinates the actions within a work process, software processors, and a database interface. The dynpro processor executes the screen flow logic of the application program, calls processing logic modules, and transfers field content to the processing logic. The actual processing logic of ABAP application programs is executed by the ABAP interpreter. The screen processor tells the ABAP processor which subprogram are to be executed, depending on the processing status of the screen flow logic. The dialog work process selected by the dispatcher, performs a roll-in of the user context first. That is, the data that contains the current processing status of a running program as well as data that characterizes the user is made known to the work process. The work process then processes the user request, which may involve, for example, requesting data from the database or from the buffers in the shared memory. Once the dialog work process has processed the dialog step, the work process returns the result, rolls the user context back out to the shared memory, and is now available again for a new user request from the request queue. The result is transferred to the SAP GUI and the user sees the new screen. Database Interface of AS ABAP Relational Database Management Systems (RDBMS) are generally used to manage large sets of data. An RDBMS saves data and relationships between data in the form of two-dimensional tables. These are known for their logical simplicity. Data, tables, and table relationships are defined at database level in the database catalog (the data dictionary) of the RDBMS. Within the SAP programming language ABAP, you can use ABAP Open SQL (SQL = Structured Query Language, database query language) to access the application data in the database, regardless of the RDBMS used. The database interface, which is part of every work © Copyright. All rights reserved. 76 Lesson: Describing AS ABAP process of AS ABAP, translates Open SQL statements from ABAP into the corresponding SQL statements for the specific database used (Native SQL). This allows ABAP programs to be database-independent. Note: ABAP Open SQL is a database query language based on the (ISO) SQL standard that also contains enhancements that are not included in the standard. When interpreting Open SQL statements, the SAP database interface checks the syntax of these statements and ensures the optimal utilization of the local SAP buffers in the shared memory of the application server. Data that is frequently required by the applications is stored in these buffers so that the system does not have to access the database server to read this data. In particular, all technical data, such as ABAP programs, screens, and ABAP Dictionary information, as well as a number of business administration parameters, usually remain unchanged in an operational system and are therefore ideally suited to buffering. Figure 45: Database Query Flow In ABAP, it is still possible to send native SQL commands directly to the database. As of AS ABAP 6.10, the ABAP Database Connectivity Framework (ADBC) is available for this. The specified commands are neither checked for correctness by the ABAP interpreter nor processed by the database interface (the local buffers therefore cannot be taken into account). If you use native SQL, the database independence of the used programs is no longer guaranteed. © Copyright. All rights reserved. 77 Unit 3: SAP System Kernel Note: Regardless of the AS ABAP release, you can also use an EXEC SQL.- END EXEC. Container to send native SQL commands to the database. Dialog Request Processing The execution of dialog requests is characterized by the following: ● ● ● A program dialog step is assigned to one specific dialog work process during execution. The individual dialog steps for a program consisting of several screens can be executed by different dialog work processes during program runtime. This is called work process multiplexing. A dialog work process sequentially processes dialog steps for various users and programs. This is illustrated in the figure“Dialog Work Process Multiplexing” . Figure 46: Dialog Work Process Multiplexing SAP application programs differentiate between user interaction and processing logic. The user actions are technically realized using screens, also called dynpros (from dynamic programs), which consist of a screen image and the underlying flow logic. The Dynpro processor of the work process executes the screen flow logic of the application program, calls processing logic modules, and transfers field content to the processing logic. The screen flow logic itself is further divided intoPBO (Process Before Output), which is processed before the screen image is sent, andPAI (Process After Input), which is processed after a user interaction on the screen. The PAI part of a dialog step logically belongs to the preceding screen image, while the PBO part logically belongs to the subsequent screen image. The © Copyright. All rights reserved. 78 Lesson: Describing AS ABAP actual processing logic of ABAP programs is executed by the ABAP interpreter. The screen processor tells the ABAP processor the subprogram that needs to be executed, depending on the processing status of the screen flow logic. If, during a dialog step, data needs to be exchanged with the database or the buffers, then this exchange takes place through the database interface, which enables access to database tables, ABAP programs or the ABAP Dictionary among other things. Transactional Processing in AS ABAP The Term Transaction Transactions are processing units grouped to provide specific units. They have four principal characteristics. The initial letters of these characteristics together form the acronym ACID. ACID A transaction is characterized by the following attributes: ● Atomic ● Consistent ● Isolated ● Durable Atomic means that a transaction is either fully successful or does not have any effects at all. If a transaction-oriented system goes down, you need to ensure that inconsistent, partial results are not stored. Consistent means that the system status changes from one that is accurate and consistent in business terms to another that is also accurate and consistent in business terms. Isolated means that the changes made within a transaction can only be seen by other transactions, even those that run simultaneously, after the final confirmation (Commit). The results of a transaction aredurable durablebecause after the final confirmation they are stored permanently in the database. Database Transactions and ABAP Transactions Every work process is connected to a specific communication partner at database level for the duration of the application server’s runtime. Work processes cannot exchange communication partners at runtime. This is why a work process can only make changes to the database within one database transaction. A database transaction is, in accordance with the ACID principle, a non-divisible sequence of database operations, at the beginning and end of which the dataset on the database must be consistent. The beginning and end of a database transaction are defined by a commit command (database commit) to the database system. During a database transaction (between two commit commands), the database system itself ensures that the dataset is consistent. The database system itself takes on the task of restoring the dataset to its previous state after a transaction has terminated with an error (rollback). Business transactions are processing units grouped to provide a specific function; these processing units execute changes to the database that are consistent and make sense in business terms. Typical examples are credit and debit updates, which only make sense together, or creating an order and reserving the relevant materials. Correspondingly, an AS ABAP transaction is defined as a non-divisible business process that must either be executed completely or not at all. AS ABAP transactions are implemented as sequences of logically related dialog steps that are consistent in business terms. A user dialog step is represented by a screen image. © Copyright. All rights reserved. 79 Unit 3: SAP System Kernel Figure 47: Relationship between Database Transactions and SAP Transactions SAP transactions are not necessarily executed within one single dialog work process. Within a transaction that changes data on the database, the user requests database changes using the displayed individual screens. Once the transaction is complete, the changes must result in a consistent database status. The individual dialog steps can be processed by different work processes (work process multiplexing), and each work process sequentially handles dialog steps for unrelated applications. Applications whose dialog steps are executed by the same work process one after the other cannot run within the same database transaction if they are not related to each other. Therefore, a work process must start a new database transaction for each dialog step. The relationship between database transactions and SAP transactions is illustrated in the graphic“Relationship between Database Transactions and SAP Transactions” . Lock Management To ensure data consistency within an SAP system, you must ensure that data records cannot be accessed and changed by more than one user at any one time. To do this, the SAP system has its own lock management concept. From a database perspective, every dialog step forms a physical and logical unit: The database transaction. The database lock administration can only coordinate this type of database transaction. From an SAP point of view, however, this is not sufficient, because SAP transactions, which are formed from a sequence of logically related work steps that are consistent in business terms, are generally made up of several dialog steps. SAP systems need to have their own lock management. This is implemented using the enqueue process. This also ensures that the platform-independence of lock management is maintained. The SAP lock concept works on the principle that SAP programs make lock entries for data records to be processed in a lock table. Lock entries can only be made if none already exist for the table entries to be locked. © Copyright. All rights reserved. 80 Lesson: Describing AS ABAP The lock table is located in the main memory of the application server with the enqueue process. The enqueue process manages the logical locks of the SAP transactions in the lock table. The enqueue process can be implemented in one of the following ways: ● ● As a work process (default installation option up to AS ABAP 7.30) As part of the ABAP central service instance (ASCS, default installation option as of AS ABAP 7.31) Since AS ABAP 7.0, it has been possible to choose between these two options. The ASCS option is preferred for reasons of high availability, for example. Figure 48: Lock Management in AS ABAP If a user wants change access to data, the executing dialog work process requests a lock (to do so, the application developer must program this request explicitly). © Copyright. All rights reserved. 81 Unit 3: SAP System Kernel Note: The following applies only if the enqueue work process is used as the installation option: If a dialog request is processed on the enqueue work process, the dialog work process can access the lock table directly. It now checks whether a new lock can be generated; that is, whether there is a collision with locks that have already been set. If a lock can be set, the dialog work process creates it and the user (lock owner) is given the lock key. The lock key is kept in the user context in the shared memory. If the dialog work process that processes the user request and the enqueue work process are not running on the same application server, these two processes communicate through the message server. In this case, the lock request is forwarded from the dialog work process to the enqueue work process via the dispatchers and the message server. The enqueue work process now checks whether a lock can be set. If this is possible, the lock is set by the enqueue work process and the lock key transferred to the requesting dialog work process via dispatcher and message server. When the lock is requested, the system checks whether the requested lock conflicts with existing entries in the lock table. If the lock table already contains corresponding entries, the lock request is refused. The application program can then inform the user that the requested operation cannot currently be executed. The application developer can choose between different lock modes: ● ● ● ● Write locks (lock modeExclusive); the lock data can be edited only by one user. The requests for another write lock and another read lock are rejected. A write lock protects the locked objects against all types of other transactions. Only the same lock owner can set the lock again (cumulate). Read locks (lock modeShared); several users can have read access to the locked data at the same time. The requests for additional read locks are accepted, even if they are from other users. A write lock is rejected. Enhanced write locks (lock modeexclusive noncumulative); while write locks can be successively requested and released by the same transaction, an enhanced write lock can only be requested once, even by the same transaction. All other requests for locks are rejected. Optimistic locks (lock modeOptimistic); optimistic locks respond like read lock at first and can be changed to write locks. An optimistic lock is set if the user displays the data in change mode. Optimistic locks on the same object do not collide. If the user wants to save the (changed) data, the optimistic lock must be changed to a write lock (mode E). (This fails if someone set a non-optimistic lock on the object before.) Other optimistic locks on the object are deleted in the process. Locks set by an application program are either released by the application program itself or by the update program once the database has been changed. Locks that have been passed on to an update work process, are also written to a file at operating system level and can therefore be restored if the enqueue server goes down. Transaction SM12 (Tools→ Administration→ Monitor→ Lock Entries) displays the locks that are currently held. If a lock has already been inherited to the update process, the backup flag has also been set. Such a lock will also be included in the lock table again after restarting the enqueue server. © Copyright. All rights reserved. 82 Lesson: Describing AS ABAP There are two ways of deleting locks held by users: ● Ending the user session in the user overview (transaction SM04) ● Manually deleting the lock entries inSM12 The first method (ending the user session) also results in the original lock owner leaving the transaction and releasing all locks held. The second method (manually deleting using SM12) merely deletes the lock entry from the lock table. This theoretically enables several users to change the same data records simultaneously. Caution: Before deleting locks using transactionSM04, the SAP system administrator must first check whether the user who owns the lock is still logged on to the SAP system. Only delete lock entries with transaction SM12 if the lock owner is no longer logged on to the SAP system but still owns the lock (for example, if the connection between SAP GUI and the SAP system has been broken because the user has switched off his or her front-end computer without logging off from the SAP system). Update In the SAP system, a business process is mapped using an SAP transaction that can contain several screen changes (for example, the creation of an order). Data changes effected by this process are supposed to be executed completely or not at all in the database. If the operation is terminated during the transaction or an error occurs, the transaction is not supposed to make any database changes at all. The SAP update system, which is described below, takes care of this. The update system also offers increased security, performance and restorability in the execution of database changes. © Copyright. All rights reserved. 83 Unit 3: SAP System Kernel Figure 49: The Principle of Asynchronous Updates The updating system allows SAP transactions to off-load time-intensive database changes. These are then carried out asynchronously in special update work processes. It also circumvents the roll-back problems caused by the difference in the concept of the logical unit of work (LUW) in an SAP transaction and in the database. If, during a dialog work process, data temporarily stored for processing is passed to an update work process for further processing, the dialog work process does not wait for the update request to be completed: The update is asynchronous (not simultaneous). The asynchronous update process is illustrated in the figure “The Principle of Asynchronous Updates” . The dialog part is completed with the ABAP command COMMIT WORK; the update part of the transaction starts: The update server transfers the update request to an update work process. Here, each dialog step corresponds to a database transaction (which is executed either completely or not at all in the database and they’re completed withCOMMIT a command). The update part of the SAP transaction is executed in a database transaction. It is only then that the data is copied to the application tables. © Copyright. All rights reserved. 84 Lesson: Describing AS ABAP Figure 50: The Asynchronous Update Process If users want to change a data record in an SAP transaction, they call the corresponding transaction in the dialog, make the appropriate entries on the screens and then initiate the update process by saving the data. This process triggers the following steps: 1. The program locks the data record for other users. The program does this by addressing the enqueue work process (using the message server if appropriate). The enqueue work process makes the relevant entry in the lock table or (if another user has already locked the data) informs the user that the data record cannot currently be changed. 2. If the enqueue work process succeeded in writing the lock entry to the lock table, it passes the lock key it created to the user, the program reads the record to be changed from the database and the user can change the record on the screen image of the SAP transaction. 3. In the current dialog work process, the program calls a function module using CALL FUNCTION ... IN UPDATE TASK and writes the update request to database update tables. These are also called VB* tables, because their names begin with “VB”. They act as temporary memory and store the data to be changed until it can be collected and written to the application tables in the database (in a single database transaction). 4. At the end of the dialog part of the transaction (for example, when the user saves the data – possibly after completing other dialog steps), the program initiates the close of the transaction with theCOMMIT WORK statement. The work process that is handling the active dialog step completes the update header and triggers an update work process. 5. Based on the information (key of the update request, lock key) transferred from the dialog work process, the update work process reads the log records that belong to this SAP transaction from the VB* tables. © Copyright. All rights reserved. 85 Unit 3: SAP System Kernel 6. The update work process transfers the changes marked and collected in the VB* tables to the database as an update request and evaluates the database response. If the changes were successfully written to the target tables, the update work process triggers a database commit after the last change to the database and deletes the entries from the VB* tables. If an error occurs, the update work process triggers a database rollback, leaves the log records in the VB* tables and marks them as defective. 7. The lock entries in the lock table are reset. Note: The application developer decides whether and how to use asynchronous updates while programming the transaction. Besides the asynchronous update, there are some other update techniques (for example, synchronous or local). To increase performance further, application developers can configure different types of updates: ● ● ● Time-critical, primaryV1 V1 updates. updates They are relevant to objects that have a controlling function in the SAP system, such as a change to the material stock or an order creation. Non-time-critical, secondaryV2 V2 updatesthat updates depend on the V1 updates. These are, for example, purely statistical updates such as the calculation of results. Non-time-critical updates that are collected and processed at a later point in time (collective collective run). The V1 modules for an SAP transaction are processed sequentially in a single update work process. If your SAP system has a work process for V2 updates (type UP2), then V2 modules will only be updated there. Once it has successfully completed processing, the V1 update work process releases the relevant locks again. This means that the“normal”update work processes are available again more quickly for time-critical V1 updates, and that the relevant lock entries are deleted sooner. If you have not configured any V2 update work processes, then the V1 work process handles all updates. In the collective run, the modules are not updated automatically but only when a special program R ( SM13005) triggers the update. All calls of the function modules are then collected, aggregated and updated at once. In doing so they are handled like V2 update modules. If an error occurs during an update, then processing of the active update component terminates. Users can be notified automatically by express mail when an update terminates. If a dialog work process terminates while writing data to the VB* tables, the tables contain data that will not be updated. These entries can be automatically deleted the next time you start the SAP system or they can be deleted manually. The application tables remain unchanged. An asynchronous update may terminate for various reasons. If, for example, several attempts are made to enter the same data record (using insert) in a table, this triggers the exception condition “Duplicate Key”in the coding because an entry already exists in the table under this key. Therefore, the corresponding data record cannot be written to the database table more than once. © Copyright. All rights reserved. 86 Lesson: Describing AS ABAP When an update terminates, the system sends an express mail to the user who triggered the update. Any additional steps must be carried out by the SAP system administrator. Transaction SM13 (update requests) provides system administrators with analysis tools to handle the terminated updates. Once the error that caused the termination has been corrected (for example, hardware damage repaired), the end user should restart the processing. Printing SAP systems provide a wide variety of options for representing business and other data. This data, created and formatted in a dialog step, can then be sent to printers and other output interfaces (fax, e-mail, and so on). A printer must first be set up in the SAP system before it can be addressed. You can select a printer that has already been set up by choosing the print icon (Ctrl + P), then using the input help. A standard printer is usually set as default in your user profile. Once a printer has been set up, the SAP system has all the information it needs to be able to create a spool request. A spool request contains information about data to be output, its formatting, and the printer model used. The spool request generated is stored in the TemSe (temporary sequential file). Hint: Spool requests can be created by dialog work processes or by background work processes. Spool work processes do not create spool requests. Figure 51: Printing in AS ABAP © Copyright. All rights reserved. 87 Unit 3: SAP System Kernel As you can see from the figure“Printing in AS ABAP”, a spool work process formats the data specified in the spool request and creates an output request. The output request contains all data in an appropriate format for the printer. This data can either be passed on to an appropriate operating system spool process locally (on the same computer) or remotely (over a network connection). Note: In an SAP system, the connection between a spool work process and the operating system spool process is known as the access method. There are more access methods than the two displayed above. These are the two most commonly used access methods for connecting printers to SAP systems. In this context, remote or local do not refer to the physical location of the output but to the place where the spool work process is connected to the operation system spool process. For print processing, the best performance is achieved by sending the data to be printed to the operating system as soon as possible. You do this using the local access method. The operating system then performs all remaining tasks, such as queuing and data transfer to the selected printer. Hint: One minor but indispensable requirement for printing from SAP systems is that each selectable printer allows printing at operating system level. You can display your spool and output requests by choosing transaction SP02. You can specify personal settings for printing on the Defaults tab page in theSpool Control section, by choosingSystem → User Profile→ Own Data(transaction codeSU3). Background Processing SAP background processing is a method for automating routine tasks and for optimizing the use of your organization’s SAP computing resources. In background processing, you instruct the SAP System to run programs for you. You can use background processing to execute long-running or resource-intensive programs at off peak times. As a result, you can assign the SAP system the task of executing programs. There is no strain on your dialog resources and programs running in the background are not subject to the runtime restrictions of dialog processing (termination of the program after a runtime of, for example, ten minutes). The segregation of background processing to special work processes gives you an additional dimension for separating background processing and interactive work. Normally, background processing and interactive work in the SAP system take place at different times. For example, the SAP system is used interactively during the day and background processing takes place at night. You can use background work processes to separate background processing and interactive work also by application servers because background jobs are only executed on application servers that offer background processing. © Copyright. All rights reserved. 88 Lesson: Describing AS ABAP Figure 52: Scheduling Background Tasks (Jobs) The end user can usually schedule the program to be started in the background as a job from the application transaction. The job thenwaits for the planned execution time in the job scheduling table. If the time has come and free background work processes are available, the job is distributed to a background work process by the background scheduler and then executed. User can display the result in the application transaction or, in case of list generating programs, look at the spool request belonging to the job (see Printingsection). To display your own jobs, chooseSystem→ Own Jobs(transaction codeSMX). The SAP System Administration and the work preparation have access to a tool for scheduling various background tasks with transaction SM36. The system-wide monitoring of jobs takes place with transactionSM37. For cross-system scheduling and monitoring of background tasks, you can use SAP Central Process Scheduling and other licensed partner products. Communication Through the RFC Gateway Each application server of an AS ABAP-based SAP system contains an RFC (Remote Function Call) gateway. It is used for the communication between work processes of different application servers or SAP systems as well as work processes and external programs. The gateway reader (usually just called RFC gateway or gateway) is the main process of the gateway system. The dispatcher starts it and checks it periodically. © Copyright. All rights reserved. 89 Unit 3: SAP System Kernel Figure 53: RFC Gateway Communication When Remote Function Call (RFC) or CPIC (Common Program Interface Communication) is used to communicate between application servers of an SAP system or between SAP systems themselves, the gateway is always involved. If a dialog work process has to establish an RFC connection to a remote SAP system in the context of a request (for example, to retrieve customer data), it uses a gateway to communicate with the remote SAP system. The gateway forwards the request to the gateway of the remote SAP system. The remote gateway then transfers the request to the dispatcher, which, in turn, forwards the request to one of its work processes, which then communicates directly with its gateway. Inbound RFC connections are therefore always received by the gateway while outbound connections are initiated by the work process. Processing Web Requests The Internet Communication Manager (ICM) enables SAP systems to communicate using the protocols like HTTP, HTTPS and SMTP. The ICM can process requests from the Internet whose URLs contain its combination of server and port. HTTP(S) requests can be processed in the ABAP work process (for example, ABAP Web Dynpro applications). The ICM can use the URL to decide to where it forwards the request (if it cannot reply to the request from its cache). If data is needed from the AS ABAP database, “memory pipes” are used to establish a connection to a work process. The ICM forwards it to the ABAP dispatcher, which then handles it like a typical SAP GUI request (see previous section). The work process that processes the inquiry now communicates directly with the ICM. The ICM returns the response to the user who sent the request. © Copyright. All rights reserved. 90 Lesson: Describing AS ABAP Figure 54: Communication between the ICM and the Work Processes Since AS ABAP 6.10, the work processes have been able to directly generate Web-enabled content, which can then be transferred to the inquiring browser front ends via the ICM. The ICM enables various UI technologies to be used, for example SAPUI5, Web Dynpro ABAP or Business Server Pages (BSP). The more recent technologies come at the top of this list. Administration Tasks for AS ABAP The transactions shown in figure“Common Administration Transactions”help you to deal with daily SAP System Administration work. SAP system administrators should be familiar with the use and interpretation of these transactions. Figure 55: Common Administration Transactions © Copyright. All rights reserved. 91 Unit 3: SAP System Kernel Transaction SM51 lets you display the application servers that are logged on to the SAP message server. They represent the application servers of the SAP system. Their status indicates which application servers are active in the SAP system. Information in the application server display is as follows: The following functions are available as menu items; important menu items also display as buttons on the screen. You can navigate to other transactions from here: ● Display and manage work processes (transaction SM50) Display and manage user sessions (transaction SM04) ● System logs (transactionSM21) The following transactions are also available: ● The gateway monitor (transactionSMGW) ● The ICM monitor (transactionSMICM) ● The OS monitor (ST06) to name just a few. Hint: The application server used to call these transactions depends on which application server is selected from the list: Transaction SM50 shows a snapshot of the work process status of the application server where you are logged on. You refresh the display to receive updated information. The process overview is intended primarily for information-gathering. For example, you can monitor processes to determine whether the number of work processes in your system is adequate, to assess whether the application server is working to full capacity, to gather information for troubleshooting, or for tuning. Hint: Since AS ABAP 7.40, you can also display all the work processes system-wide in SM50: Goto → System-Wide List. This now corresponds to transactionSM66. Note: A new feature as of AS ABAP 7.40 is the priority of queries: ● High: Priority for online sessions and internal system processes ● Normal: Priority for RFC calls from within online sessions ● Low: Priority for background processing (batch) and RFC calls of background programs (batch jobs) Transaction SM04 enables you to display all the users who are logged on to this application server in the SAP system. As of AS ABAP 7.40, you can also use transaction SM04 to display all the active users system-wide. © Copyright. All rights reserved. 92 Lesson: Describing AS ABAP Hint: As of AS ABAP 7.40, you can also display all users that are logged on to the system in transactionSM04: Goto → System-Wide List. This now corresponds to transactionAL08. The user maintenance transactionSU01) ( enables you to maintain individual master records. The user administrator can use it to create new user master records or administer existing user master records, for example, assign new roles and authorization profiles. For the mass maintenance of users, you can use transaction SU10. You can use transactionSM36 to create background jobs in the SAP system. Transaction SM37 enables you to display an overview of the background jobs in the SAP system. You can use transactionSM21 to analyze the system log. You can manage lock entries in the lock table of the enqueue work process using transaction SM12. Lock management is used to monitor the lock logic in the SAP system. It lets you determine which locks are currently set. Update management (transactionSM13) lets you perform the following tasks: ● Display update requests ● Analyze problems relating to the update ● Test and clean up canceled update requests ● Display and reset the status of update requests ● Delete update requests ● Display statistics for the update task This function provides you with an overview of the update requests and a tool to investigate any problems that may have occurred. It does not display requests that have been updated successfully. In addition to the alerts, the SAP system sends express mails to each user whose updates are canceled, indicating the update error. The mail is sent in the SAP system in which the problem occurred. If you want to send a message to all users in your SAP system, you can use transaction SM02 to send a system message. It is also possible to restrict the recipients to users of a certain client, or users that are logged on to a particular application server. A message is only displayed to the recipient once a day. The SAP system displays messages: ● When a user logs on to the SAP system ● As soon as a logged on user performs the next dialog step Functions of the Computing Center Management System (CCMS) The Computing Center Management System (CCMS) is a collection of integrated tools for managing, running, and monitoring SAP systems. The functions of the CCMS include: © Copyright. All rights reserved. 93 Unit 3: SAP System Kernel ● Background processing and job monitoringSM37) ( ● Configuration of the printer landscapeSPAD) ( ● Tuning of the main memory areas of the SAP systemST02) ( ● Database management (such as backup)DBACOCKPIT) ( ● Configuration of SAP system profilesRZ10) ( ● Dynamic load balancing SMLG) ( ● SAP System Monitoring R ( Z20) The call of these functions is located in the SAP menu tree under Tools→ CCMS and is structured in categories such as management and monitoring, configuration, DB administration, printing, and background processing. The previous list shows only a few of the available functions. SAP system administrators use many of these functions on a daily basis. Addendum: ABAP Message Server A single message server runs in each SAP system. It performs the following tasks in the SAP system: ● ● ● Central communication channel between the individual application servers of the SAP system. This enables certain work process types to be used across all application servers Load balancing of logons using SAP GUI and RFC with logon groups Information point for the SAP Web Dispatcher and the application servers. Each application server of the SAP system logs on to the message server first. When an application server is started, the dispatcher process contacts the message server so that it can announce the services it provides (DIA, BTC, SPO, UPD, and so on). If the connection set up to the message server fails, an entry is made in the system log (syslog), which you can analyze with transactionSM21. If the message server stops working, it must be restarted as quickly as possible to ensure that the SAP system continues to operate smoothly. In some situations it can be important to check the (ABAP) message server of an SAP system more precisely. There are several options for doing so. One is transaction SMMS (Message Server Monitor) in the AS ABAP, to monitor the message server. The initial screen of this transaction displays the status of all active application servers, similar to transaction SM51. You can check and change all the important settings, generate and view trace files, read statistics, and so on. The following functions are available as menu items; important menu items are also displayed as buttons on the screen. ● ● ● Initial screen: The initial screen of this transaction displays the status of all active application servers, similar to transaction S M51 SM51. Goto→ Logon Data→ Display: You will find information here about the available communication logs and ports (for example, dialog, RFC, HTTP, SMTP, and so on) Goto→ Hardware Keys shows the hardware key (also called the “customer key”) of the message server hardware. © Copyright. All rights reserved. 94 Lesson: Describing AS ABAP ● ● Goto→ Parameters→ Display provides comprehensive information about the message server being used Goto→ Trace→ File→ Display displays the trace file d ( ev_ms). In addition, a number of programs are provided and available at the operating system level. You can normally find the test programs in the kernel directory. The msmon monitoring program provides the same functions as transaction SMMS in the SAP system. You can use the lgtst test program to check the connection to the message server and to display the active application servers and logon groups that the message server can currently see. You can use the msprot program to monitor the message server. The program continuously issues the status of the application servers logged on the message server, and stops when the message server is stopped. You are notified of the termination of the message server and can respond to it. LESSON SUMMARY You should now be able to: ● Describe how requests to AS ABAP are processed ● List the AS ABAP processes and describe their purpose © Copyright. All rights reserved. 95 Unit 3 Lesson 3 Describing AS Java LESSON OVERVIEW This lesson discusses how the SAP NetWeaver Application Server Java (AS Java) works. The processes are introduced and it is explained how they work. Business Example To consolidate your heterogeneous SAP system landscapes, your company has decided to migrate Java EE applications, which were previously executed on a third-party Java EE server, to AS Java. LESSON OBJECTIVES After completing this lesson, you will be able to: ● Describe how requests to AS Java are processed ● List the AS Java processes and describe their purpose Definition of Terms As part of the SAP NetWeaver AS, SAP NetWeaver AS Java implements a Java EE server. The following table shows the release dependencies: Table 4: AS Java Release Dependencies AS Java Enterprise Edition JDK SAP JVM 7.50 Java EE 5 8 (1.8.0) 8.1 7.20, 7.30, 7.31, 7.40 Java EE 5 6 (1.6.0) 6.1 7.10, 7.11, 7.20 Java EE 5 5.0 (1.5.0) 5.1 7.00, 7.01, 7.02, 7.03 J2EE 1.3 1.4.2 4.1 6.40 J2EE 1.3 1.4.2 4.1 Concerning the explanation: SAP NetWeaver SAP's integration and application platform AS Java SAP NetWeaver AS Java, part of the SAP NetWeaver Application Server Enterprise Edition Officially Java Platform, Enterprise Edition : Specifications for developing and operating company-specific application JDK © Copyright. All rights reserved. 96 Lesson: Describing AS Java Java Development Kit: Software development kit developed by Sun/Oracle Java applications JRE Java Runtime Environment: Runtime environment Java applications SAP JVM SAP Java Virtual Machine: Certified JVM/JDK provided by SAP for SAP applications Request Processing in AS Java The processing of a user request in AS Java, as outlined in the figure “Request Processing in AS Java”involves different processes on all three layers (presentation, application, and database layer). Figure 56: Request Processing in AS Java A web browser is the standard user interface for AS Java. A user request for AS Java is usually an HTTP(S) request that is received by the ICM. The ICM process forwards the processing requests to one of the server processes of its application server. The actual processing takes place in the server process, whereby the user who sent the request is usually assigned the same server process again for the next request. The server processes of AS Java are also called nodes. All processes of AS Java together with the database schema form the Java cluster. In contrast to the work processes of the AS ABAP, the server processes of the AS Java are multithreaded. This means that a server process consists of many threads and one request can be processed in each thread. One server process can therefore process many user request in parallel. To process user requests it is often necessary to read data from the Java schema of the database or to write to it. To do so, each server process is connected multiple times to the Java schema of the database via a connection pool (DB pool). © Copyright. All rights reserved. 97 Unit 3: SAP System Kernel Once processing is complete, the processing result from the server processes is returned to the web browser via the ICM. The buffers help to speed up processing of user requests. This means that the data does not have to be read from the database every time it is needed, but can be called very quickly from the buffer. Each server process has its own buffer. Figure 57: Processing a Request The server processes are split into different functional modules called managers and services. The managers form the Java Enterprise Runtime. The Java Enterprise Runtime provides basic core functions of AS Java. Alternatively known as a kernel. Together with the interfaces and libraries, the services are called Java EE Engine Components. The Java EE Engine Components provide programming interfaces (APIs) to the applications; the applications can then use these APIs to access the AS Java functions. In the case of an HTTP request, the ICM process uses a Java EE handler, to forward the request to a server process of this application server. The cluster manager of the server process receives the request and forwards it to the HTTP provider service. In the web container service, the presentation logic of the application is then processed. The Web container service provides the processing of servlets and JavaServer Pages (JSP). The business structure logic of the application is processed in the form of EJB beans in the EJB Container Service. If, in the processing of the request, data from the database is required, the JDBC Connector Service is used to establish a connection to the database, and the data is requested there. If the same table content has already been queried by this server process, the content of the table buffer can be queried at application level (if buffering is permitted for the table). The response to the web browser using HTTP is then returned in the same way. © Copyright. All rights reserved. 98 Lesson: Describing AS Java Transactional Processing in AS Java The ACID concept has now been implemented in AS Java in the same way as in AS ABAP. In AS Java, the Transaction Service is responsible for managing transactions. The two Java EE standards Java Transaction API (JTA) and Java Transaction Service (JTS) are implemented using the Transaction Service. Applications (application developers) can use the Java Transaction Service with the JTA interface. In the Java EE standard, much of the implementation of the transaction logic is left to the respective database used. Hence, a transaction at application level often corresponds exactly to one database transaction in the Java EE standard. The figure “Transactions in AS Java” illustrates the correlation using a JSP application as the example. Figure 58: Transactions in AS Java In AS Java, changes and entries in the user interface (in the web browser) are not made persistent immediately in the database. When the user saves their entries, the Java transaction is completed immediately and the data is made persistent in a database transaction. A Java transaction thus consists of a database transaction. Persistence SAP has created Open SQL for Java framework for AS Java. Hence, Java application developers have access to various database-independent programming techniques as well as important functions for improved performance and trouble shooting. © Copyright. All rights reserved. 99 Unit 3: SAP System Kernel Figure 59: Open SQL for Java If the Java program is supposed to be portable, that is, run with a database other than the one used originally, developers can choose between Open SQL/JDBC, Open SQL/SQLJ, EJB (Enterprise JavaBeans) and JDO (Java Data Objects). If developers use Native SQL in the program, they loose the portability and cannot use the table buffer of Open SQL Java Frameworks. Lock Management The lock concept of the database is used in the Java EE standard. So if application developers make sure that they implement database-independent database accesses, the application will be portable but will respond semantically different on different database platforms. For this reason and to improve response times, SAP introduced the concept of the enqueue service analogous to AS ABAP. © Copyright. All rights reserved. 100 Lesson: Describing AS Java Figure 60: Lock Management in AS Java If a user wants change access to data, the executing server process requests a lock (to do so, the application developer must program this request explicitly). The application developer uses the interface of the Application Locking Service to request a logical lock. The request is forwarded to the Enqueue Server via the Locking Adapter Service and the Locking Manager. The enqueue server now checks whether a new lock can be generated; that is, whether there is a collision with locks that have already been set. If a lock can be set, the dialog work process creates it and the user (lock owner) is given the lock key. When the lock is requested, the system checks whether the requested lock conflicts with existing entries in the lock table. If the lock table already contains corresponding entries, the lock request is refused. The application program can then inform the user that the requested operation cannot currently be executed. AS Java Administration There are also various administration tools available for AS Java, some of these tools are listed in the figure“Tools for AS Java Administration”. © Copyright. All rights reserved. 101 Unit 3: SAP System Kernel Figure 61: Tools for AS Java Administration SAP NetWeaver Administrator combines the most important administration and monitoring tools for AS Java systems in a browser-based user interface. For AS Java, SAP NetWeaver Administrator marks the changeover from various different expert tools to an integrated, simple, and clear solution. In addition to this, SAP NetWeaver Administrator completes the integration of the data sources for monitoring. To start the SAP NetWeaver Administrator, you can enter the following URL in the Web browser: Http://<host name>:<port number>/nwa. ● ● <host name>: The fully qualified server name of on which the AS Java is installed. <port number>: The HTTP port of the ICM (Internet Communication Manager. Syntax: 5<Java instance number>00. If the number of the Java instance is 60, for example, the port number will be 56000. The application server you use to call SAP NetWeaver Administrator is irrelevant. It can be used to administer the entire AS Java system. SAP NetWeaver Administrator is divided into the following functional areas: Functional Areas of SAP NetWeaver Administrator ● Availability and performance (for example system overview, resource monitoring, process monitoring) ● Operations (for example application manager, start and stop) ● Configuration (for example licenses, AS Java system properties, log configuration) ● Error analysis (for example SAP system information, Java class loader, viewer) ● SOA (for example destinations, JCo RFC provider) © Copyright. All rights reserved. 102 Lesson: Describing AS Java Hint: To work with SAP NetWeaver Administrator, the system user requires the following authorizations: ● ● NWA_READONLY (read authorization) NWA_SUPERADMIN (write authorization for starting and stopping, configuration changes, and so on) In AS Java, the User Management Engine (UME) provides the required functions for managing user master records. You can use the UME to set up and operate user and authorization concepts for AS Java. The UME has its own administration console for user management (UME console, see figure above). It allows the administrator to perform the routine tasks of user administration, such as creating users and groups, role assignment, and other actions. Security settings can be used to define password policies, such as minimum password length and the number of incorrect logon attempts before a user is locked. Note: The Visual Administrator is a graphic user interface (GUI) that enables the administration of all Java cluster elements (Java dispatcher, Java server) and all the modules running on them. It enables remote monitoring and remote configuration of Java's manager, services, interfaces, and libraries in one single interface. This tool is no longer available as of AS Java 7.10. The Visual Administrator has been replaced by the SAP NetWeaver Administrator. The Config Tool enables the offline configuration of the cluster elements of Java. It enables you to add and configure the properties of the individual Java cluster elements. For more information, see the online documentation which is available on SAP Help Portal (http://help.sap.com). Related Information ● SAP Education course: ADM800: AS Java – Administration LESSON SUMMARY You should now be able to: ● Describe how requests to AS Java are processed ● List the AS Java processes and describe their purpose © Copyright. All rights reserved. 103 Unit 3 Learning Assessment 1. What are the advantages of a three-tier client/server configuration as compared to a single-tier or two-tier configuration? Choose the correct answers. X A Simpler scalability X B Simpler administration X C Load balancing possible 2. Which AS ABAP process receives the user request? Choose the correct answers. X A Work process X B ABAP dispatcher X C Server process X D SAP GUI 3. Which work process types are there in an AS ABAP system? Choose the correct answers. X A Dialog work process X B Message Server X C Update work process X D Internet Communication Manager (ICM) X E Background work process X F Spool work process © Copyright. All rights reserved. 104 Unit 3: Learning Assessment 4. Which process enables the AS ABAP to communicate using the HTTP and SMTP protocols? Choose the correct answer. X A Dispatcher X B Gateway X C Internet Communication Manager 5. Which tool combines the most important administration and monitoring tools for AS Javabased systems in a browser-based user interface? Choose the correct answer. X A Config Tool X B SAP NetWeaver Administrator X C Visual Administrator X D SAP Computing Center Management System © Copyright. All rights reserved. 105 Unit 3 Learning Assessment - Answers 1. What are the advantages of a three-tier client/server configuration as compared to a single-tier or two-tier configuration? Choose the correct answers. X A Simpler scalability X B Simpler administration X C Load balancing possible Implementing an additional hardware layer for application processes makes it easier to adapt an SAP system if the number of users changes (scalability), and to assign user groups to specific application servers (software-oriented view), (load balancing). The additional hardware layer does not, however, reduce the administrative workload. 2. Which AS ABAP process receives the user request? Choose the correct answers. X A Work process X B ABAP dispatcher X C Server process X D SAP GUI The ABAP dispatcher receives the user request on the AS ABAP and passes it on to an available work process. The SAP presentation program, SAP GUI, is not part of the application server (software-oriented view), and the server process is an AS Java process. © Copyright. All rights reserved. 106 Unit 3: Learning Assessment - Answers 3. Which work process types are there in an AS ABAP system? Choose the correct answers. X A Dialog work process X B Message Server X C Update work process X D Internet Communication Manager (ICM) X E Background work process X F Spool work process All of the above processes can in theory be configured on an AS ABAP. However, not all of the above processes are work processes. The message server and ICM process are not work processes. 4. Which process enables the AS ABAP to communicate using the HTTP and SMTP protocols? Choose the correct answer. X A Dispatcher X B Gateway X C Internet Communication Manager You are correct. The ICM supports communication using the protocols HTTP(S) and STMP. The Message Server does not support SMTP and the Gateway is used for RFCbased communication. 5. Which tool combines the most important administration and monitoring tools for AS Javabased systems in a browser-based user interface? Choose the correct answer. X A Config Tool X B SAP NetWeaver Administrator X C Visual Administrator X D SAP Computing Center Management System You are correct.SAP NetWeaver Administrator (NWA)combines the most important administration and monitoring tools for AS Java-based systems in a browser-based user interface. TheConfig Tool enables the offline configuration of the cluster elements of Java. The Visual Administratoris a graphic user interface (GUI) that enables the administration of all Java cluster elements. As of AS Java 7.10 it has been replaced by SAP NWA. SAP Computing Center Management Systemfinally offers tools for the administration and monitoring of AS ABAP-based SAP systems. © Copyright. All rights reserved. 107 UNIT 4 Software Development in SAP Systems Lesson 1 Describing the Data Structure of an SAP System and Software Logistics 110 Lesson 2 Accessing and Editing ABAP Repository Objects 119 Lesson 3 Importing Transport Requests 133 Lesson 4 Introducing SAP NetWeaver Development Infrastructure (NWDI) and the Transport Process for 138 non-ABAP Applications Lesson 5 Describing SAP UI Technologies 147 UNIT OBJECTIVES ● Describe the data structure of the AS ABAP ● Explain the basics of software logistics for SAP systems based on AS ABAP ● Describe the three-system landscape recommended by SAP ● Describe the procedure for transports ● Name important tools in the ABAP Workbench ● Access ABAP Repository objects ● Write a simple ABAP program ● Explain the significance of the ABAP Dictionary ● Outline the two-level domain concept ● Import transport requests © Copyright. All rights reserved. 108 ● ● ● ● Explain the differences between the single import and the mass import of transport requests List the individual components of SAP NetWeaver Development Infrastructure (NWDI) Outline the integration of SAP NetWeaver Development Infrastructure in the enhanced Change and Transport System Gain an overview on SAP UI Technologies © Copyright. All rights reserved. 109 Unit 4 Lesson 1 Describing the Data Structure of an SAP System and Software Logistics LESSON OVERVIEW This lesson presents the data structure of an SAP system based on AS ABAP. You learn the effects of this data structure when developing separate objects and adjusting objects from SAP. The lesson also explains why changes between various SAP systems must be recorded and transported. Business Example As an ABAP developer in an SAP system, you have extensive change authorizations. Therefore, an understanding of the data structure and the development and transport process between SAP systems is fundamental to your work. LESSON OBJECTIVES After completing this lesson, you will be able to: ● Describe the data structure of the AS ABAP ● Explain the basics of software logistics for SAP systems based on AS ABAP ● Describe the three-system landscape recommended by SAP ● Describe the procedure for transports Data Structure of SAP Systems An SAP system has a specific data structure. Alongside the business settings (customizing) that are only relevant to specific clients of an SAP system, every SAP system also always contains cross-application settings (customizing) and development objects (repository objects). Hint: In this lesson, the termSAP systemalways refers to an SAP system based on AS ABAP. In SAP systems, you need to differentiate between these data-structure-related terms: ● Client-dependent user master records ● Client-dependent master data and-transaction data ● Client-dependent customizing ● Client-independent customizing © Copyright. All rights reserved. 110 Lesson: Describing the Data Structure of an SAP System and Software Logistics ● Client-independent repository objects A client is a unit within an SAP system that is self-contained in terms of business, organization, and data. A client is characterized by the fact that it has its own business data environment, its own master data, transaction data, and user data. This data of a client is known as client-dependent data. As a rule, client-dependent data is interdependent. For example, when you enter business application data, the system checks this data against the customizing settings for the client and reject this data if it is inconsistent. If you prepare an SAP system (during implementation) for the production use, the system will make the customizing for every client to be used in the future. You use customizing settings to define the customer's organizational structures, such as distribution channels and company codes, and to set parameters for SAP transactions so that they reflect customerspecific processes. Aside from the client-dependent customizing, there are also settings you only have to make once, and they are then valid for all clients within the related SAP system. These client-independent customizing settings include the public holiday calendar and settings for the system change option, for example. The repository is the totality of all the objects you can access using the ABAP Workbench. The repository is also client-independent. It contains all dictionary objects (tables, data elements, domains), and also all ABAP programs, menus, and screens. Because of the repository's client-independent nature, any repository objects developed or changed in any one client are used in exactly the same form in every client in that SAP system. Repository objects are grouped together to form packages. Packages are containers for semantically linked development objects (programs, tables, and so on). Packages belong uniquely to a certain software component. The ABAP Repository contains packages from all software components. Figure 62: Data Structure of an SAP System © Copyright. All rights reserved. 111 Unit 4: Software Development in SAP Systems The Three-System Landscape There are several reasons for setting up a three-system landscape. First, continuous maintenance is required for all SAP systems. Either SAP or the customers trigger such maintenance. Corresponding changes of program code or customizing data might be mission-critical and should be tested beforehand. Second, a revision requires detailed logging of transport requests. Thirdly, ABAP repository objects work across clients. In other words, changes made in one client immediately affect all other clients of the same SAP system after activation. That is why you should never develop or change customizing settings directly in the production system. Client settings should prevent such changes. This is why we recommend that you use a three-system landscape. You can operate several SAP systems with one SAP license, although you may only use one of these SAP systems as a production system. Each of these three SAP systems contains a working client and other clients as required. These three working clients should all have the same name to facilitate the consistency of customizing settings. In practice, the development client, test client, and production client sometimes have different names, however. This is not relevant for SAP software logistics. A three-system landscape facilitates the following recommended process: ● You can carry out the required customizing for the SAP standard processes in the development system. You can also develop your own programs or modify existing ones in the development system. ● ● You then transfer to the quality assurance system (also called test system for short) the customizing settings you made as well as all changes to the repository (developments, corrections, and modifications if needed). In the test system, you can check without impacting the production operation. All objects and settings imported into the test system can be tested and then transferred into one or more production systems. © Copyright. All rights reserved. 112 Lesson: Describing the Data Structure of an SAP System and Software Logistics Figure 63: Three-System Landscape in the ABAP Environment The SAP systems in a system landscape must have unique, three-character descriptions, for example, DEV (development), QAS (quality assurance), and PRD (production). These abbreviations, which also occur in other courses, are used internationally in the SAP environment. The SAP system ID (or SID) always begins with a letter, and it may contain letters and digits. SIDs always consist of three characters. Some SIDs are reserved by SAP. For instance, you cannot use the SIDSAP to install an SAP system. You can find more information in the installation guide for the related SAP system type you want to install. Transports in the ABAP Environment In a multisystem landscape, you use transport requests to transfer changes for repository objects (or newly created objects) and customer-defined customizing settings from one SAP system into another. For these transports, you use transport requests. The Transport Organizer (transactionSE09) logs and transports changes to repository objects and to client-independent customizing as workbench requests. The system logs and transports changes to the client-dependent customizing analogously as customizing requests. Both request types are also combined under the name transport requests. Note: The Transport Organizer (transactionSE09) assigns a number to the transport request (in the <SID>K9<nnnnn> format, so for example, DEVK900123. A transport request should contain related objects. Thus a transport request enables the transport and administration of development objects. Related transport requests in turn are compiled into projects, so a project groups one or more transport requests. © Copyright. All rights reserved. 113 Unit 4: Software Development in SAP Systems Figure 64: Development and Transport - The Team The development project leader creates a project and activates it to record transport requests. Then the leader creates the smallest number of transport requests possible for this project and then assigns the developers to the transport requests. The development project leader is also responsible for the later release of the transport requests once the relevant development is completed. The development project leader assigns the developer to one or more transport requests. The developers make developments for their transport requests, which in turn are assigned to a project. This may concern creating or changing repository objects or customizing settings. The developers work in the development system. The testers are responsible for the technical acceptance. This technical acceptance is done in the quality assurance system. The quality assurance system is a copy of the production system so that tests are possible with realistic data and realistic process flows. The transport administrators are responsible for setting up a transport concept. They carry out imports for the transport requests in a structured manner. Rarely, they have to deviate from the defined transport concept to deal with special cases. Note: These four roles are not necessarily four different groups of people. Thus, in a smaller environment, the development project leader, and the developer may be the same person. However, the developer and the tester should not be the same person. Also developers and transport administrators should be different people. The Transport Organizer automatically creates a task for this transport request for every employee to whom the transport request is assigned. If a developer assigns a newly created or changed repository object to the transport request, the creation or the changes to this repository object are recorded in the task of that person. © Copyright. All rights reserved. 114 Lesson: Describing the Data Structure of an SAP System and Software Logistics Transport Requests Workbench requests are transport requests for transporting client-independent customizing and repository objects. Here is an example of the flow for repository objects. The flow for client-independent customizing is the same as that for customizing requests with one difference that the changes are entered here in workbench requests. Customizing requests are transport requests for transporting from client-dependent customizing. The Transport Organizer creates a task for every developer to whom the transport request is assigned. If the developers assign a repository object to the transport request, the system enters the repository object specifically to the task of the developers. Once the development project is complete from the point of view of the developers, they release their task. This action transfers the objects in the task specifically to the transport request. Once the developers all release their task, the development project leader can release the transport request thus starting the export. So a transport request combines repository objects that are processed within a development project. Figure 65: Project, Transport Requests, Tasks If developers edit a repository object and include it in a transport request, then only those developers who are assigned to this transport request can edit the object. Only developers involved with the same transport request are permitted to develop or maintain development objects up to the release of the transport request. These developers can only display the related objects. Every developer who is involved with the transport request and who edits the object receives a corresponding entry in the object list of their task. In this way, it is possible to determine later which developer actually edited the object. © Copyright. All rights reserved. 115 Unit 4: Software Development in SAP Systems Upon release of the transport request, the system cancels the object blocks. After completing this step, other developers can again edit the objects (and the system then blocks them accordingly). You can also make changes to customizing data in the transport requests, but the system only blocks the tables relevant for customizing during the actual accessing by the enqueue work process. For customizing, there is no object block. The Transport Organizer also creates the versions of the repository objects, allowing comparisons of and access to earlier versions of repository objects. This way, you can display and retrieve older versions of repository objects. The system generates a new version upon release of a transport request. Handling Transport Requests Figure 66: Transport Request, Development, Release The development project leader creates a transport request and assigns it to the development project. All developers involved with the transport request get a task in the transport request. To this task, the developers assign objects on which they are working. Once the developers are finished with their parts of the work, they release their tasks to the transport request. Once all the developers release their tasks, the development project leader can release the transport request. Releasing the transport request cancels any object blocks on repository objects for the transport request. Also the system compiles into one version all repository objects available the transport request and saves it in the database of the development system. If it involves a transportable customizing request or workbench request, the system exports the objects contained to the transport directory. Actions upon Development Completion: Export and Import Once the development project is complete from the point of view of the developers, they release the related task. This action transfers the objects in the task to the transport request. Once all developers have released their task, the development project leader can release the © Copyright. All rights reserved. 116 Lesson: Describing the Data Structure of an SAP System and Software Logistics transport request. So a transport request combines customizing objects or repository objects that are created or changed within a development project. Transport requests may be transportable or local. The Transport Organizer classifies automatically based on the objects contained in the transport request and the configured transport landscape. The system triggers the export only for transportable transport requests after the release. Export means that the system copies the objects of the transport request from the database of the development system into a file for a file system. The transport of transport requests is divided into Export and Import phases: The objects of the transport request are exported from the development system and then imported to the target system, such as to the quality assurance system and the production system. ● ● Export: Once a transportable transport request is released, the customizing objects and repository objects arecopied copied from the source database to a central transport directory at the operating system level. The system records these steps in transport log of the transport request. Import: Import into the target system is in general not automatic, but is triggered by the transport administrator in the Transport Management System (TMS). The customizing objects and repository objects are then copied from the central transport directory at the file system level into the target system database. The import logs can then be checked. Note: Technically, when exporting the transport request, the system copies the data from the database of the development system into the central transport directory. For the import, the transport request that is stored in the central transport directory is copied to the database of target system. Figure 67: Transports in a Three-System Landscape © Copyright. All rights reserved. 117 Unit 4: Software Development in SAP Systems The central transport directory is physically in a file system where all SAP systems that belong to the system landscape must have read and write access. Using the profile parameter DIR_TRANS, each SAP system determines the location of the transport directory to be used. The default location for the transport directory is /usr/sap/trans. But you can change the storage location as needed. You can use several local transport directories instead of a central transport directory only as an exception. This approach makes the transport action a bit more difficult, but might be useful in rare cases for security or network reasons. Related Information ● ● For more, very detailed information on this topic, attend the training course ADM325 Software Logistics for SAP S/4HANA and SAP Business Suite . You can find more information about enhancements and how to deal with modifications in the training course BC425 –Enhancements and Modifications . LESSON SUMMARY You should now be able to: ● Describe the data structure of the AS ABAP ● Explain the basics of software logistics for SAP systems based on AS ABAP ● Describe the three-system landscape recommended by SAP ● Describe the procedure for transports © Copyright. All rights reserved. 118 Unit 4 Lesson 2 Accessing and Editing ABAP Repository Objects LESSON OVERVIEW The ABAP Workbench is the SAP system's integrated software development environment. It supports, among other things, the development, testing, and administration of applications written in ABAP. This lesson introduces various ABAP Workbench tools and the connections between them. In this lesson, we introduce the ABAP programming language. You learn how you to navigate the source code shipped by SAP. You also learn how to write your own short ABAP program. Following that, the meaning of the ABAP Dictionary is explained. Business Example As an ABAP developer, you want to familiarize yourself with the most important ABAP Workbench tools and create your first ABAP program. Display table definitions as well. LESSON OBJECTIVES After completing this lesson, you will be able to: ● Name important tools in the ABAP Workbench ● Access ABAP Repository objects ● Write a simple ABAP program ● Explain the significance of the ABAP Dictionary ● Outline the two-level domain concept Changing and Adjusting the Data Structure You can change the SAP software based on AS ABAP by using customizing functions, or you can create and edit objects in the ABAP repository. The SAP software is standard business software, which you adjust according to the enterprise-specific needs at the implementation. Such adaptations are called customizing and include client-specific settings and cross-client settings. In SAP systems based on AS ABAP, there is a special Implementation Guide: The SAP Reference IMG (call via transactionSPRO). After an upgrade of the SAP system, you may need to adjust customizing to a minor extent. Changes to repository objects are not required to use an SAP system. But you can create or change individual objects as needed. Changes or enhancements to the repository are possible in various ways: ● Customer developments © Copyright. All rights reserved. 119 Unit 4: Software Development in SAP Systems ● Customer enhancements ● Modifications Figure 68: Adjustments to the ABAP Repository Enhancement of the repository through customer developments. In the SAP system, you can create separate repository objects such as tables, programs, or transactions. All development you do on the customer side happens in the customer namespace, in other words, all object names you created as a customer from a preset namespace that typically starts with the letters Y or Z. This applies to ABAP programs, tables, and so on. Also SAP offers you the option to assign separate and globally unique individual namespaces. Such a customer namespace could be, for example, /<companyname>/. Adjusting the repository by customer enhancements: For such a change, you add customerdefined objects to the repository. At predefined parts of the source code, the user exits (also called customer exit), you can add separate objects to the standard SAP system. There is also another modern method for the customer-specific enhancement of the standard: Business Add-Ins (BAdIs). Other techniques useenhancements and enhancement points. Modifications to the standard SAP system: Changes to SAP objects, such as programs and table definitions, are called modifications. The repository delivered by SAP is not only enhanced, but changed. During the next release, change, or when you apply SAP Support Packages, you need to check these modifications against the new repository. This modification adjustment takes time, although using the Modification Assistant speeds up the process substantially. Software Development Cycle You can plan and carry out the entire ABAP software development cycle in the SAP system. © Copyright. All rights reserved. 120 Lesson: Accessing and Editing ABAP Repository Objects Figure 69: Software Development Cycle ABAP Workbench from SAP is a programming environment for developing enterprise-wide business solutions. SAP supports the entire software development cycle. There are tools for modeling, for ABAP programming, for defining data structures and table structures and for developing graphical user interfaces. An extensive array of tools for testing, optimizing, and maintaining software, as well as supporting development in large teams, are also available. In the concept phase of a project, you enter the results of your analyses into the SAP data model. Then the models are converted into tables and programs. You can develop individual program components like the user interface, ABAP code, and so on, in any time-related sequence by using the development tools especially intended for the respective function. You only need to combine the different elements into a single application when you want to run it. Program tests and transport to the production system conclude the development cycle. Complementary to the tools, SAP delivers a library of predefined business and general software components, which you can just use in your own developments. The ABAP Language ABAP is the programming language of SAP. Most business applications in an SAP system are written in ABAP. An ABAP program consists of individual statements. Every statement begins with a keyword and ends with a period. For example: REPORT first program. WRITE 'My first ABAP program!'. This piece of code contains two statements, one on each line. The keywords are REPORT and WRITE. The program issues a list. In this case, the list contains the line My first ABAP program!. © Copyright. All rights reserved. 121 Unit 4: Software Development in SAP Systems Figure 70: The ABAP Programming Language The figureThe ABAP Programming Language shows an excerpt from an ABAP program. You can use special commands or keywords in ABAP programs to create selection screens (keywordPARAMETERS), to print lists (keywordWRITE), or to access table content (for example, using the keywordSELECT). The ABAP commandCALL SCREEN calls a screen (consisting of a screen image and its flow logic) defined in the Screen Painter. ABAP generally uses Open SQL commands to access the database Open SQL consists of a set of ABAP statements that execute operations on the central database of the SAP system. Open SQL is used in an identical way for all supported database platforms for SAP systems based on AS ABAP. This means that the programs developed are independent of the type of database used. Some characteristics of the ABAP programming language are: ● Multilingual capability (text elements, such as list headers or input field texts are stored separately for each supported language) ● Simple and effective development of graphical user interfaces ● Object-oriented programming (ABAP Objects) ● Platform independence (using Open SQL and the database interface) ● Efficient access to data structures (tables, data elements, and so on) The ABAP Workbench and its Tools In AS ABAP, you use the ABAP Workbench to write application programs. The ABAP Workbench is a graphical programming environment, where you can use programming tools, © Copyright. All rights reserved. 122 Lesson: Accessing and Editing ABAP Repository Objects pushbuttons, the context menu (secondary mouse button) or the forward navigation (doubleclick object names). An ABAP application is, for example a transaction or a program. In SAP Easy Access, you can find the ABAP Workbench tools at Tools→ ABAP Workbench→ Development. You can access a range of tools, including ● ● ● ● ABAP Editor (transactionsSE38 or SE80) to write ABAP programs. ABAP Dictionary (transactionSE11) to define and describe tables, data elements, lock objects, and so on. Screen Painter (transactionSE51, in the subdirectoryInterface) to create interactive user interfaces Function Builder (transactionSE37) to create and manage function modules (these are independent modules of ABAP code with defined input interfaces and output interfaces) Figure 71: Some ABAP Workbench Tools The individual Workbench tools combine to form an integrated system. If, for example, you are working with program objects in the ABAP Editor, then the Editor recognizes objects created using other tools. When you double-click an object, the system calls the relevant tool to edit an object. Then you can edit this object. When working in the Workbench, you see the following development objects and packages: ● ● Development objects are objects that you can edit using the ABAP Workbench, such as programs, transactions or screens. A package contains logically related development objects, for example, all objects for a specific application © Copyright. All rights reserved. 123 Unit 4: Software Development in SAP Systems The Object Navigator from SAP (transaction SE80) enables you to organize development processes in the integrated environment of the ABAP Workbench. This means you can access repository objects and the related development tools in a simple and uniform manner. Accessing ABAP Source Code SAP delivers the source code for all ABAP programs. You can view the code and use it, for example, as a template for your own programs. In any application, you can chooseSystem→ Status and double-click to navigate to the relevant ABAP Workbench tool. The Workbench displays the selected object in the appropriate tool (provided you have the necessary access rights to do this). Figure 72: Navigating to the Source Code ABAP Program Creation Using the ABAP Editor You can use the ABAP Editor (transactionSE38 or link in the Object Navigator, transaction SE80) to create and edit programs. ABAP programs are stored in the SAP system as entries in database tables. When you want to create a new program, you enter both a program title and attributes for the program. These attributes include program type (such as Executable program), status (for example,Test program), and application component. Each repository object is assigned to a package. Once you have performed these activities, you can write your own program in the ABAP Editor. The Editor provides a range of functions, including a syntax check and an option for ABAP keyword capitalization. You can also display syntax help for an ABAP keyword by positioning the cursor on the keyword and pressing the F1 key. It is therefore advisable to develop ABAP programs with the ABAP Editor alone. From the Editor, you can navigate to other tools in the development environment such as the ABAP Dictionary, the Screen Painter, or the Menu Painter, by double-clicking Repository objects in the coding. If you create or edit a program (or a development object) and then save it, it is always stored in the repository as an inactive version. This makes it possible to continue developing without © Copyright. All rights reserved. 124 Lesson: Accessing and Editing ABAP Repository Objects changing the active system. As long as you have not activated the inactive version you are currently working in, the most recent ACTIVE version of the object is always called. To make a Repository object available throughout the system, you must activate it. This creates an active version of the program that is then used if, for example, a user wants to execute your program. You can execute your program in the ABAP Editor using Direct processing (F8). This executes the inactive version for test purposes. Hint: You can find an extensive collection of example programs for testing by using transaction codeABAPDOCU. Figure 73: ABAP Editor and ABAP Documentation Eclipse for ABAP The open Eclipse platform offers a first-class user experience, powerful platform capabilities, and a broad and vibrant ecosystem that can be regularly improved and enhanced. © Copyright. All rights reserved. 125 Unit 4: Software Development in SAP Systems Figure 74: SAP and Eclipse SAP plays an active role in the Eclipse Foundation as a strategic member. Many of the designtime, development, and administration tools already use the Eclipse platform. These include SAP NetWeaver Visual Composer, SAP NetWeaver Developer Studio for Java development, Sybase Unwired Platform, and SAP HANA Studio. The ABAP development tools for SAP NetWeaver (also known as ABAP in Eclipse or ADT) are the latest addition to the family. ABAP Development Tools The ABAP development tools are designed to increase developer productivity significantly by using the tried-and-trusted user friendliness, speed and flexibility of the Eclipse platform. ADT combines powerful AS ABAP functions from SAP such as Application Lifecycle Management, server-based development, complete integration, and effective tests and tools for troubleshooting with the powerful Eclipse UI. The modern and for many people familiar Eclipse UI is also offered on the ABAP platform. © Copyright. All rights reserved. 126 Lesson: Accessing and Editing ABAP Repository Objects Figure 75: Architecture of the ABAP Development Tools in Eclipse Features of the ABAP Development Tools ABAP development tools offer the following functions: ● A completely new ABAP development experience on the Eclipse platform. ● An open platform for developing new ABAP-based tools. ● A series of open, language- and platform-independent APIs that developers can use to build new user-defined tools for the ABAP environment. ADT is closely linked to SAP HANA Studio, SAP UI5 tools and JAVA. ABAP development tools use objects in the SAP repository in exactly the same way as the available ABAP Workbench tools. The Eclipse Workbench This term refers to the workbench desktop development environment in Eclipse. The Eclipse workbench is used to edit objects, manage views and organize the developer’s work area. Every workbench window contains one or more perspectives. Perspectives contain views and editors. At any given time, there can be more than one workbench window on the desktop For example, you can have the ABAP development tools and SAP HANA Studio open at the same time. The Online Development Model Developers who use ADT remain logged on to the SAP system while they work on various repository objects. In other words, development is still server-based, objects are only saved on the backend. Apart from a small read-only cache to increase performance and reduce server load, no objects are saved on the client. © Copyright. All rights reserved. 127 Unit 4: Software Development in SAP Systems If you edit an ABAP repository object in Eclipse, an enqueue lock is set for this object on the client and the latest version is called from the backend. If you activate or save the object, all changes are saved directly in the SAP system. There is no complex check-out and check-in mechanism, and no need to create local copies of objects. Other services, such as the syntax check, search and where-used functions, run on the backend. As all repository objects are called from the backend, and there is no client-side ABAP runtime environment, there is no support for offline development. Before you start developing in ADT, you must create an ABAP project. An ABAP project always represents a system connection. It acts as the mediator between an SAP system and the front-end Eclipse-based IDE client, and it offers a framework for creating, editing, and checking development objects. An ABAP project is always a genuine system logon and also offers a user-specific view of all ABAP development objects of the SAP system. The repository contains all ABAP development objects, such as programs, function modules, and definitions of database tables. It contains the SAP standard development and customers’ custom developments. The terms repository object and development object are often used as synonyms. Figure 76: ABAP Editor and ABAP in Eclipse A selection of ABAP repository objects you can work with in ADT: ● ABAP programs ● ABAP dictionary objects, such as database table definitions and data types ● Screens ● Web Dynpro components ● Function groups and function modules ● ABAP classes and interfaces Various tools for creating, editing, and displaying ABAP repository objects are available in ADT. Some of these tools are native Eclipse objects, but some objects are also displayed and edited in the SAP GUI tool. Eclipse and SAP GUI Editor © Copyright. All rights reserved. 128 Lesson: Accessing and Editing ABAP Repository Objects ABAP development tools integrate two different types of tools for ABAP development Eclipse-based tools and SAP GUI-based tools. Eclipse-based tools seamlessly integrate into the Eclipse environment. They have the same look and feel, and the same navigation functions. The SAP GUI is installed locally together with the Eclipse-based client. In the widest sense, SAP GUI-based tools are the tools and services of the traditional ABAP Workbench. Typical examples include the Package Builder tools, the ABAP dictionary, and the tools for maintaining text elements for ABAP programs. If you try to open a development object in the Project Explorer view, an Eclipse-based editor opens - provided one exists. If it does not, an SAP GUI-based tool opens in the Editor area. All additional objects that require an SAP GUI-based tool are opened in separate tab pages in the Editor area. With GUI-based tools, you have full access to the functionality of the traditional ABAP Workbench. You can, for example, start all applications by entering a transaction code. Note: Objects are transported in the usual way with the help of the Transport Organizer (SE09) and Transport Management System STMS). ( Hint: For more about ABAP development with Eclipse, see the ABAP programming curriculum: BC404, ABAP Development in Eclipse. The ABAP Dictionary The ABAP Dictionary is a central component of the ABAP Workbench. It contains both business and technical definitions and descriptions of SAP data. The ABAP runtime environment (such as the ABAP Interpreter and Dynpro processor) frequently accesses the information in the ABAP Dictionary. The ABAP Dictionary enables all the data definitions used in the SAP system to be centrally described and managed. It is an integrated and active dictionary, which means the ABAP Dictionary is completely integrated in the SAP development and runtime environment. The dictionary information is created only once, but is available throughout the SAP system at all times. The ABAP Dictionary (transactionSE11) automatically provides all the information that has been created or modified, ensuring that runtime objects are up-to-date and data is consistent and secure. The tasks of the ABAP Dictionary can be subdivided into: ● Database object definitions (tables, views, and so on) ● Type definitions (structures, table types, and so on) ● Services definitions (F1 help, F4 help, lock objects, and so on) Tables, views, lock objects, and domains are important object types in the ABAP Dictionary: ● The definition of tables in the ABAP Dictionary is database-independent. This table definition then serves as the basis for the creation of a table with the same structure in the underlying database. © Copyright. All rights reserved. 129 Unit 4: Software Development in SAP Systems ● ● ● Views are logical views of one or more tables. View structures are defined in the ABAP Dictionary. This structure is then the basis for the creation of a view on the database. Lock objects coordinate attempts by several users to access the same dataset. Function modules are generated from the lock object definition in the ABAP Dictionary; you can then use these function modules in application programs. You can use domains to group fields that have similar technical or business purposes. A domain defines the value range for all table fields and structure components that refer to that domain. The documentation (F1 help) and the input help (also called F4 help) for a field on an input screen are provided by the ABAP Dictionary. Figure 77: Significance of the ABAP Dictionary Integration of the ABAP Dictionary in the program flow is based on the interpretative method of the AS ABAP runtime environment. Instead of working with the original of an ABAP program, the ABAP processor interprets a runtime object generated from the program text before its first execution. If time stamp comparison reveals that runtime objects are no longer consistent with the current status of the ABAP Dictionary, they are automatically generated again before execution. The ABAP Dictionary also allows you to manage, in the SAP system, database tables relevant to the SAP system. Detailed, product-typical database knowledge is therefore not needed in application development. The ABAP Dictionary transfers the definitions to the database level. The interaction between the ABAP Dictionary on one side and the development environment or runtime environment on the other is shown in the figure “Significance of the ABAP Dictionary”. © Copyright. All rights reserved. 130 Lesson: Accessing and Editing ABAP Repository Objects Hint: Every database system also contains a dictionary. This dictionary is not the dictionary referred to in this lesson. Table Definition and the Two-Level Domain Concept The definition of tables in the ABAP Dictionary is database-independent. When you activate the table, a physical table definition is created in the database based on the table definition stored in the ABAP Dictionary. The table definition in the ABAP Dictionary is converted into a definition for the database used. A table is a two-dimensional matrix consisting of columns (fields) and rows (entries). It has a name and attributes, such as the table type. Every table in the ABAP Dictionary has a primary key. This is a combination of columns that uniquely identifies every row in the table. Primary key values therefore cannot exist twice in a table. A field (that is, a column in a table) has a name and attributes, for example, it may be a primary key field. A field is not an independent object; it depends on the table and can only be maintained within that table. You can use domains and data elements to define table fields: ● ● The domain is used to technically define the table field. The field length, field type, output properties, and possible value restrictions are defined in the domain using fixed values. Data elements are used to describe the semantic attributes of a field in the context of the table. These attributes are only significant within the table, but not generally (as technical attributes are). In the data element, you can, for example, define a short description of the table field that is displayed on the screen when you call the F1 help. You can also specify in the data element the text that is displayed on input fields that refer to the data element (field label, for example, Destination Airport). The two-level domain concept (consisting of the data element level and the domain level) allows technical field attributes to be defined and maintained at the domain level. A domain can pass its field attributes on to any number of fields, and you only need to explicitly change the domain itself, but not the individual fields, when modifying the field attributes thus described. Basing fields on the same domain ensures that field values can be compared safely and without conversion. Tables, data elements, and domains are managed centrally in the ABAP Dictionary. Hint: If you want to check where in the SAP system a particular data definition (data element, domain, table, or similar) is used, then you can look in the Where-used list in transactionSE11 for that data definition. © Copyright. All rights reserved. 131 Unit 4: Software Development in SAP Systems Figure 78: Table Definition and Domain Concept The graphic uses table SPFLI from the flight data model as an example. Flights (for example, Lufthansa flight XY from Frankfurt to Tokyo) are maintained centrally in this table. The table contains fields for the departure airportAIRPFROM) ( and the destination airportAIRPTO). ( Because departure and destination airports are different things in a business context, two data elements,S_FROMAIRP and S_TOAIRP, have been defined. However, because both columns contain the names of airports, both data elements refer to the same domain, S_AIRPID, which has the technical type CHAR, with the length 3. Related Information More information on the ABAP Workbench is provided in the leading courses for ABAPWorkbench (starting with coursesBC400 - ABAP Workbench Basicsand BC430 – ABAP Dictionary) as well as in the SAP Library for SAP NetWeaver 7.0 in the area SAP Library→ SAP NetWeaver Library→ Key Areas of SAP NetWeaver→ Key Areas of the Application Platform→ ABAP Technology→ ABAP Workbench (BC-DWB). LESSON SUMMARY You should now be able to: ● Name important tools in the ABAP Workbench ● Access ABAP Repository objects ● Write a simple ABAP program ● Explain the significance of the ABAP Dictionary ● Outline the two-level domain concept © Copyright. All rights reserved. 132 Unit 4 Lesson 3 Importing Transport Requests LESSON OVERVIEW As an SAP administrator, you are responsible for importing transport requests. You therefore need detailed knowledge about the import process, the available tools and the possible import options. Business Example The changes that developers make in the development system must be transported to the quality system for testing, and once the tests are successful, they must then be transported to the production system. Performing transports is the responsibility of the (transport) administrator. LESSON OBJECTIVES After completing this lesson, you will be able to: ● ● Import transport requests Explain the differences between the single import and the mass import of transport requests Transport Requests and Tasks Workbench and Customizing requests can both be created with the Transport Organizer (transactionSE09 or SE10). In a transport request, the development project manager assigns developers. For each developer, there is therefore initially one task that is assigned to the transport request. After the individual tasks have been released by the developer, the development project manager can release the transport request. Depending on the objects in the transport request, the type of transport request, and the configuration of the transport landscape, releasing of the transport request leads to the export of the transport request. After successful export, the transport request can be imported into the target systems. For the transport request, you can differentiate between a number of terms: ● ● The termtransport transport requestis request the neutral, impartial term. A change request is often used as a synonym for the term transport request. It is used to transport changes; objects can of course be transported without being changed, for example newly created objects. Hint: In the context ofIT Infrastructure Library (ITIL) Change Management ,a change request (request for change) is a document that needs to be approved before a change can be applied to a system. © Copyright. All rights reserved. 133 Unit 4: Software Development in SAP Systems ● ● ● A Workbench requestis request a transport request in which either repository objects or clientindependent customizing is transported. A Customizing requestis request a transport request in which client-dependent objects are transported; that is, client-dependent customizing, master and movement or transaction data; of these three, it is usually only client-dependent customizing that is actually transported. A consolidation transportis transport a transport request that is transported to the consolidation system (usually the quality assurance system). Import The transport administrator usually starts the import into the subsequent SAP systems manually, using the Transport Management System in the corresponding SAP system, transactionSTMS. In the subsequent SAP system, you can, in transaction STMS, see which transport requests are awaiting import into the SAP system. From a technical point of view, in a three-system landscape, the transport request is flagged for import into the subsequent SAP system (quality assurance system) when it is exported from the development system. You can find this transport request flag for import into the subsequent SAP system in the Transport Management system (transactionSTMS) by choosingOverview→ Import. There, you see the import queue for the SAP systems. To display details about the import queues, choose Import Queue→ Display. To import transport requests into the target system, you have various methods in the TMS import queue. The most important methods are the import of all transport requestsand the import of individual transport requests . The methods can be executed online or in the background. Figure 79: Import © Copyright. All rights reserved. 134 Lesson: Importing Transport Requests When you import single transport requests, you select one or more individual transport requests in the import queue of the SAP systems and then import them. When you import all transport requests in the import queue, all transport requests are imported. Note: Particularly in the production system, you usually select the transport requests of a specific project, rather than importing all the transport requests in the import queue. In both cases, the objects are first imported by order of priority and then in the sequence of the transport requests in the import queue. For example, a table has a higher priority than a program, because the program could be dependent of the table. The sequence of transport requests in the import queue of the quality assurance system is the sequence of the export from the development system. The sequence in the import queue of the production system, on the other hand, is the sequence of the import into the production system may be sorted differently to that of the quality assurance system the quality assurance system. Therefore, the import queue of the production system may be sorted differently to that in the quality assurance system. This is correct, because this reflects the sequence of the import into the quality assurance system and thus functional acceptance in the quality assurance system. In the SAP system, the transport administrator starts imports in transaction STMS by going to the import queue (O verview → Imports), selecting the SAP system to which the request is to be imported, and choosingImport Queue→ Display. The transport administrator starts the import by choosing eitherImport All Requestsor Import Request. Technically, the programtp tp is used at operating system level for the export and import. tp is part of the kernel of the SAP system. During import, always the data files that were generated during export and stored in the central transport directory are used. © Copyright. All rights reserved. 135 Unit 4: Software Development in SAP Systems Checking Transports Figure 80: Checking Transports During transport, the executed transport steps are logged in the various transport phases. To check the transports, you can use the Transport OrganizerSE09): ( On the right-hand side of the Transport Organizer screen, the transports are displayed. By choosing theTransports pushbutton, you see a hierarchical display of the released transport requests and their transport steps, which are arranged according to the target systems. The success of failure of the individual transport steps is indicated by the color coding and the return code. If transports contained errors, you are informed of the cause of the error in the transport log. By double-clicking a transport step, you display its transport log. All import steps are logged during the import performed by the transport administrator in transactionSTMS. You can display this directly here or in the Transport Organizer. To obtain further information on the import, you can access the tp system log for the relevant SAP system in transactionSTMS by choosing Overview→ Imports (or by choosing theImport Overview) pushbutton. To do this, in the import overview, select the SAP system you want to check and in the import queue, display the tp system log by choosing Goto → tp System Log. From here, you can perform additional error analysis using additional log files. Alternatively, you can also display the extended view in the import queue Edit→ ( Display More). In this view, you can see the return code in column RC, and can double-click it to go directly to the detailed log. © Copyright. All rights reserved. 136 Lesson: Importing Transport Requests LESSON SUMMARY You should now be able to: ● ● Import transport requests Explain the differences between the single import and the mass import of transport requests © Copyright. All rights reserved. 137 Unit 4 Lesson 4 Introducing SAP NetWeaver Development Infrastructure (NWDI) and the Transport Process for non-ABAP Applications LESSON OVERVIEW In contrast to the AS ABAP environment, in which a central development is carried out (all developers are registered on the same SAP system), for Java development, typically a decentralized development philosophy is used. This lesson first of all provides an overview of the steps that development has to make to execute a Java application. Following that, typical problems that arise in a team-oriented development in the Java environment are discussed. These problems should largely be avoided with the SAP NetWeaver Development Infrastructure (NWDI), by transferring known and approved concepts from the AS ABAP world into the AS Java environment. The lesson ends with a section about the enhanced Change and Transport System, which can be used to transport changes to Java applications to follow-on systems. Business Example Your company uses SAP systems that are based on the SAP NetWeaver technology platform and plans to develop its own Java-based applications. As a member of the SAP system administration team, you want to have an overview of the development infrastructure and the transport process provided by SAP for this purpose. LESSON OBJECTIVES After completing this lesson, you will be able to: ● ● List the individual components of SAP NetWeaver Development Infrastructure (NWDI) Outline the integration of SAP NetWeaver Development Infrastructure in the enhanced Change and Transport System The Java Programming Language Java is an object-oriented programming language, similar to C++ or C#. However, Java is not fully object-oriented: the basic data types (int, Boolean, and so on) are not objects. Java makes it possible to write classes that can be executed in various runtime environments. In this way, it is possible, for example, to run applets in web browsers, which support Java. Java possesses an extensive class library. This provides programmers with a uniform, operating system-independent interface (application programming interface, API). With the help of Remote Method Invocation (RMI) it is also possible to call up objects on other computers. Source codes written in Java are first of all translated by the Java compiler javacinto an intermediary code that is independent of architecture, the byte code. A class file is created from every source file .java ( file). This byte code cannot be executed directly, and is either © Copyright. All rights reserved. 138 Lesson: Introducing SAP NetWeaver Development Infrastructure (NWDI) and the Transport Process for non-ABAP Applications interpreted by a virtual machine or is compiled and executed at runtime in native processor code (viaHotSpottechnology). The virtual machine must have been developed for every supported platform, if necessary, separately. To execute a Java program, a runtime environmentJava ( Runtime Environment, JRE) is required. The JRE consists of the Java Virtual Machine, the standard Java interfaces, and other components, which are required to execute Java applications and applets. The Java Virtual Machine is responsible for the independence of the Java EE platform from the hardware and the operating system. Hint: Java EE stands for Java Platform, Enterprise Edition. This is a set of rules that must be fulfilled by applications if they wish to be regarded as Java EE compliant and if they are to be executed on a Java EE Server (which must also comply with these rules). If a developer wants to write and (locally) test a custom-developed program, they generally require a development environment and a runtime environment. Differences Between ABAP and Java Development in the SAP Environment Due to the different development philosophy between ABAP and Java, it is relatively difficult to compare the development processes with each other on both sides. Figure 81: Different Development Philosophies In the ABAP environment, the developers log on to the central development system (for example, the development system for SAP CRM applications). In this development system, ABAP Workbench is used as the integrated ABAP development environment. The developers only have the SAP GUI installed on their PCs. The central development system is the runtime © Copyright. All rights reserved. 139 Unit 4: Software Development in SAP Systems environment for the first test of the written applications (also in context with the programs of other developers). In the Java environment by comparison, the developers are used to a decentralized development. Here, every developer not only has the development environment, but also a local runtime environment on their PC and can therefore develop and test locally, independent of all other colleagues. Not until development completion (or at other specified points in time) are the applications of the individual developers combined in a central system. After this general comparison, the following sections will deal with the development of Java applications in the SAP environment in more detail. SAP NetWeaver Developer Studio SAP NetWeaver Developer Studio is SAP's own environment for developing multi-level Javabased applications. The development environment is based on the open-source product Eclipse, whose open plug-in architecture provides a suitable platform that can be enhanced with special functions. Eclipse offers all the necessary tools for the development of Java programs. For Java EE projects, however, additional functions are needed in the SAP environment (for example for integration with the application server). These are not contained in Eclipse. Figure 82: Structure of SAP NetWeaver Developer Studio SAP NetWeaver Developer Studio provides a range of tools for all aspects of application development, a few of which are listed below as examples: ● ● ● Web Service Tools can be used to develop web interfaces Java EE Tools are tools for creating Java EE applications, such as those from Enterprise Java Beans Data access is supported by Java Dictionary Tools or other Persistence Tools The particularity of these development tools lies in their seamless integration into the SAP infrastructure. All created development object can be stored and managed in this way in a central repository, the Design Time Repository (DTR), in which an automated build process is implemented with Component Build Service (CBS), assigned to Change Management and then distributed using a defined software logistics process. © Copyright. All rights reserved. 140 Lesson: Introducing SAP NetWeaver Development Infrastructure (NWDI) and the Transport Process for non-ABAP Applications Architecture of SAP NetWeaver Development Infrastructure (NWDI) The figure“Overview of SAP NetWeaver Development Infrastructure (NWDI)” shows the architecture of SAP NetWeaver Development Infrastructure with the enhanced Change and Transport System (enhanced CTS or CTS+). Figure 83: Overview of SAP NetWeaver Development Infrastructure (NWDI) SAP NetWeaver Developer Studio provides access to the SAP NetWeaver Development Infrastructure (NWDI). The SAP NWDI is composed of a local development environment (IDE) on the PCs of the developers and server-side services that provide the development team with a single, consistent development environment, and support software development throughout the entire life cycle of a product. On the side of the central infrastructure, you can find (among others) the Design Time Repository, the Component Build Service, and the Name Serveras part of theSystem Landscape Directory. The Design Time Repository (DTR) enables a versioning of the source code management and therefore the shared development of software in teams as well as the transport and replication of sources. The Component Build Service (CBS) is used for the central build of the source texts. The operation for the developers is integrated into SAP NetWeaver Developer Studio. For the build process, the CBS communicates automatically with the Design Time Repository. For further processing, the CBS communicates with the system logic of the Change Management Service. It provides the following core functions: ● Build on demand ● Central storage of build results and build tools © Copyright. All rights reserved. 141 Unit 4: Software Development in SAP Systems ● Activation concept The Change Management Service (CMS) is used to centrally manage the Java development landscape and transports over the entire software life cycle. It can be used to configure development landscape and transport software changes. The functions of the CMS are closely linked with the DTR, the CBS, and the System Landscape Directory (SLD). As an administrator tool, the CMS incorporates these components and links the individual parts into one unit, with which even distributed development projects can be realized. The CMS can be connected to the Change and Transport System (CTS) of the AS ABAP so that import to follow-on systems (such as the quality assurance system or production system) can be carried out with the help of the CTS. Hint: As of Enhancement Package 1 for SAP NetWeaver 7.0, SAP provides the CM Services (Change Management Services). Thanks to the close integration between the CM Services and the mechanism of the enhanced Change and Transport System (CTS+), you can, in this scenario, manage your development configuration together with your transport landscape using the central CTS system. The Change and Transport System (CTS) is used for the transport of changes into subsequent systems. As of a specific SP Stack for SAP NetWeaver 7.0, the CTS is able to transport non-ABAP changes (such as Java applications) as well. Hint: The Change and Transport System (CTS) contains tools for exporting transport requests (Transport Organizer– transactionSE09) and tools for defining the landscape as well as importing transport requestsTransport ( Management System – transactionSTMS). Software development worldwide requires a conflict-free method for creating names for software objects. Without such a method, different software teams may use the same names by chance for software objects with different uses. If the software objects are then combined in the same runtime environment, this could even deactivate applications because of a simple name conflict. To avoid name conflicts, the System Landscape Directory (SLD) contains a name reservation service Name ( Server), which enables globally unique names to be reserved. The following list summarizes the components of SAP NWDI and their characteristics properties: Components of the SAP NetWeaver Development Infrastructure ● Design Time Repository (DTR) - ● Central source code management and versioning Component Build Service (CBS) - Build on-demand - Central storage of build results and build tools © Copyright. All rights reserved. 142 Lesson: Introducing SAP NetWeaver Development Infrastructure (NWDI) and the Transport Process for non-ABAP Applications - ● Change Management Service (CMS) - ● Imports to follow-on systems (quality assurance system, production system) System Landscape Directory (SLD) - ● Central management of the transport landscape Change and Transport System (CTS) - ● Activation concept Overview of SAP systems, installed products, and software versions (releases, SAP support packages) Name Service - To avoid naming conflicts Comparison of Development Tools for AS ABAP and AS Java To develop and execute applications, regardless of the selected programming language, you require at least an editor, a compiler (or interpreter) and a runtime environment. In addition to this you require a transport mechanism (which may consist of a simple “Copy & Paste” process) if the applications are to run on other computers at a later stage. Especially for developments in which several developers are participating, a source code administration and versioning system is also desirable. All of these requirements are met in the AS ABAP area. The Object Navigator (transaction SE80) is available as an editor (as entry point). ABAP is an interpreted language. The ABAP Interpreter is a component part of every ABAP work process. The ABAP kernel (the application server) therefore acts generally as the interpreter and runtime environment. The ABAP Transport Management Systemis available for transports between the development environment and the production environment, the ABAP Workbenchprovides source code versioning in the corresponding development system. The Java Software Development Kit (for example JDK 1.8 for AS Java 7.50) includes a compiler (javac) and a runtime environment (the Java Virtual Machine, Java VM). However, there is no actual editor, source code administration system, or transport mechanism. These areas are also not specified exactly in the Java standard (Java SE Standard and Java EE Standard). The Java developers are therefore required to use commercially available tools (for example for editors) or to develop their own tools and processes (for example for transport mechanisms). This is where SAP and the SAP NetWeaver Development Infrastructure (NWDI) comes in. SAP NWDI provides an editor, a source code administration system and a transport mechanism. Table 5: Comparison Between ABAP Development and Java Development (with SAP NetWeaver Development Infrastructure) AS ABAP AS Java Editor Object Navigator (SE80), Eclipse SAP NetWeaver Developer Studio Compiler / Interpreter Kernel (instance) Component Build Service (CBS) Runtime environment Kernel (instance) Kernel (instance) © Copyright. All rights reserved. 143 Unit 4: Software Development in SAP Systems Source code management Versioning in the development Design Time Repository (DTR) and versioning system Transport mechanism – landscape definition Transport Management System (STMS) Transport mechanism – ex- Transport Organizer (SE09) port Transport mechanism – import Change Management Service (CMS) SAP NetWeaver Developer Studio Transport Management System S ( TMS) SAP NetWeaver Developer Studio is used as an editor, the Design Time Repository (DTR) acts as a central source code administration and versioning system and the Transport Management Service (TMS) of the AS ABAP is used for transport from the development environment to other systems. In addition to these components, the Component Build Service (CBS) enables central building. These components have already been discussed in detail previously. Enhanced CTS – Transport of Non-ABAP Objects The existing tools for ABAP and Java transports had their limitations. For example, there was no automatic synchronization for mixed applications (such as parts in an SAP ECC system, other associated parts in an SAP NetWeaver Portal system). To transport the individual parts of an application, different tools were required. In addition, there was no central control of the transport in the SAP NetWeaver Portal environment. With some Support Package Stack of SAP NetWeaver 7.0, the ABAP Change and Transport System (CTS) was enhanced, so that it can now transport non-ABAP objects. This enhancement makes it possible to synchronize ABAP and Java transports. Furthermore, SAP NetWeaver Portal or native SAP HANA development objects content can be transported in this way. © Copyright. All rights reserved. 144 Lesson: Introducing SAP NetWeaver Development Infrastructure (NWDI) and the Transport Process for non-ABAP Applications Figure 84: Enhanced CTS Provides a Central Transport Tool for the Entire Business Process Platform The enhanced CTS offers the option to transport objects created in languages other than ABAP through the ABAP Change and Transport System. The aim is to support transport for all workbenches and applications through a single, central transport tool (CTS). The tools for creating applications and content are not touched. Options for attaching applications or content to a CTS transport requests are integrated in the various workbenches. The degree of integration differs for the different workbenches. The purpose of the enhanced CTS is to simplify the work of the administrator responsible for imports by offering a uniform transport tool. The administrator can then start the imports for different backends using a single tool. Deployment tools are called automatically. It is easy to monitor what has already been imported, and whether the import was successful. The queues in CTS provide an overview of what needs to be imported. A prerequisite for existing transports of non-ABAP objects using the enhanced CTS is that for defining the transport landscape, an AS ABAP-based SAP system (for example an SAP Solution Manager ABAP system) is needed. Furthermore, dependent on the target system, an AS Java-based SAP system with a CTSDeploy Web Service may be required to transport Java applications, for example. Note: For more information on the enhanced CTS, see SAP Note 1003674 – Enhancement for non-ABAP systems in CTS. SAP provides a close integration into CTS for some SAP applications. This means that nonABAP objects can be attached to transport requests directly from the SAP application. Examples of closely integrated applications are: ● SAP HANA © Copyright. All rights reserved. 145 Unit 4: Software Development in SAP Systems ● SAP NetWeaver Development Infrastructure (NWDI) ● Lifecycle Management Console (LCM) of SAP BusinessObjects Business Intelligence (BI) ● SAP NetWeaver Portal ● Process Integration (PI) You can import these objects to the target systems together with ABAP development objects. Deployment is performed automatically. Note: Note that in some scenarios, additional manual steps may need to be performed to add Java objects to the transport requests. You may also need to perform additional steps after deployment for some object types. The enhanced functionality of the CTS simplifies many transport scenarios in a heterogeneous SAP system landscape. The use of the CTS is optional (not mandatory). However, the benefits make it worth considering. Note: The use of SAP NWDI is not invalidated by this scenario, as SAP NWDI is the recommended environment for a Java-based development. To standardize transports to the production system, you should however consider using SAP NWDI in combination with the CTS. For more information, see the online documentation for SAP NetWeaver AS for ABAP 7.51 innovation package(Application Help), areaSAP NetWeaver Library: Function-Oriented View→ Solution Life Cycle Management→ Software Logistics→ Change and Transport System→ Change and Transport System - Overview → Transporting Non-ABAP Objects in Change and Transport System. Here, in areaMore informationyou may find links to further documentation on transporting objects of the individual applications. LESSON SUMMARY You should now be able to: ● ● List the individual components of SAP NetWeaver Development Infrastructure (NWDI) Outline the integration of SAP NetWeaver Development Infrastructure in the enhanced Change and Transport System © Copyright. All rights reserved. 146 Unit 4 Lesson 5 Describing SAP UI Technologies LESSON OBJECTIVES After completing this lesson, you will be able to: ● Gain an overview on SAP UI Technologies SAP UI Technologies Figure 85: SAP User Interface (UI) Technology Timeline The user interface (UI)is the visual and functional interface users use to interact with computer programs. In its history, SAP has developed many interface technologies. The two oldest are the list and thedynpro, which were both conceived inR/2 in 1979. Together with the selection screen, these were the UI technologies of the first shipmentR/3 of in 1992. With the BusinessHTMLframework, theInternet Application Components (IAC)with AS ABAP 3.1Iof R/3 were, in 1998, the first HTML-based UI technology. Today, BusinessHTMLis scarcely known as a programming framework, and is instead known as the technology behind theInternet Transaction Server (ITS). The Enjoy Controlsthat appeared in the same year withAS ABAP 4.6A, are, embedded indynpros, living up to their name to this day. In 2002, Business Server Pages (BSP) took over the task of programmable web interfaces inAS ABAP 6.10. In 2004, the firstAS Javawas released in version 6.20 and included the Java Server Pages (JSP) developed in 1999 bySun. In 2009, Oracle transferred these to © Copyright. All rights reserved. 147 Unit 4: Software Development in SAP Systems maintenance. In 2004, the SAP’s first own Java-based UI technology was introduced in AS Java 6.40 in the form ofWeb Dynpro Java (WDJ). The success ofWeb Dynpro continued in 2006 in AS ABAP 7.00 as Web Dynpro ABAP (WDA)and reached its peak in 2009 in AS ABAP 7.01 in the Floorplan Manager (FPM) . In Customer Relationship Management (CRM) 2007 the (CRM) Web UI Framework (WebUIF) in AS ABAP 7.00 based on the BSPs was created in parallel in 2008. It offers a similar structure to Web Dynpro ABAPand is used almost exclusively in CRM. The solutionindependent breakthrough was achieved by the BSPs in 2013 with their ability to serve as a container forSAP UI Development Toolkit for HTML5 (SAPUI5) . Since 2013, therefore, it has been possible to useAS ABAP 7.31 or higher as a Web server for HTML5-based Web pages. Figure 86: List and Selection Screen Although the (ABAP) list and selection screen are the oldest interface technologies in AS ABAP, they are still used today. Their general popularity relates not to the functionality or appearance but rather to the ease with which programs can be created here. A simple WRITE statement in an ABAP program is sufficient to obtain output in the list. For a selection screen, a simplePARAMETERS statement is also sufficient to obtain an input field. It can of course be far more complicated, but the complexity of other UI technologies is never reached – but then nor are their possibilities. Lists and selection screens are usually programmed reports in (program type 1). The associated transactions areSA38 for execution andSE38 or SE80 for programming. In all other program types, the creation of lists and selection screens is possible, but is rarely used in practice. The output itself requires SAP GUI. The appearance of lists and selection screens no longer meets the expectations placed on a modern UI. Time has simply left its mark. Nevertheless, there are still areas in which reports consisting of selection screen and output list can shine: 1. Background processing 2. Storage of table content in storage systems 3. Introduction to ABAP programming © Copyright. All rights reserved. 148 Lesson: Describing SAP UI Technologies Thanks to the simplicity of the programming, lists, and selection screens are often used as an introduction to ABAP programming. However, the option of (digitally) printing lists is far more relevant in practice. In addition to the regular backup of database content, copies in the form of lists are created in document storage systems for archiving purposes. These lists are often created for the evaluation of mass data overnight or at the weekend during mass processing. The data is delimited via the selection screens. The sheer number of programs with lists and selection screens means that these UI technologies will be around for a long time – even if just as a short dump following an error in the SAP GUI. Figure 87: Dynpro and Enjoy Controls The dynpro interface technology is just as old as the list, but has been adapted to today’s UI technology requirements through theEnjoy Controls. Dynpro itself is a dynamic program relates to the flexible program flow that it allows. There are various UI elements and an editor, called theGraphical Screen Painter, but compared to modern UI technologies, the possibilities are very limited. Thedynpros have survived by offering a framework for Enjoy Controls. In contrast to the proceduraldynpros, the object-orientedEnjoy Controlsprovide many options for user interaction. There are various controls for representing screens, trees, tables, and more. The best-knownEnjoy Control is ABAP List Viewer (ALV), which is the successor to the list for end users. This table cannot only be personalized in many places, charts can also be displayed, and the table content can be downloaded. Dynpros and the embeddedEnjoy Controlscan be created inreports, function groups, and module pools, the latter having been developed especially for dynpro processing. The associated programming tools such as Class Builder(SE24) are integrated inSE80. Module poolsare started using transactions created especially for this purpose. The output itself requires SAP GUI. Almost all transactions in anAS ABAP are based ondynpros. It is the technology for when applications are to run in the SAP GUI. © Copyright. All rights reserved. 149 Unit 4: Software Development in SAP Systems Figure 88: Java Server Pages (JSP) and Web Dynpro Java (WDJ) Java Server Page (JSP) was the first UI technology that was used across the board by SAP but was not developed by SAP. As a Web UI technology, a JSP consists of an HTML Web page with embedded Java coding. As a result, a dynamic Web page structure is possible with many variants but also few limits. To obtain clearly structure interfaces as with ABAP in the form of dynpros, Web Dynpro Javawas launched by SAP in the same year. Web Dynpro Java (WDJ)defines a clear architecture consisting of model (data processing), view (interface definition) andcontroller(program logic). Thus the tasks within an application are distributed over different areas. The Web Dynpro Componentforms the frame around the different areas. With Java as the programming language, the entire application is objectoriented. The key feature of theWeb Dynpro interface is the use of Asynchronous JavaScript and XML (AJAX) , which allows an HTML page to be changed without it being completely reloaded. The user has the impression of using a local application. JSPs and WDJ are called as Web pages via a URL using HTTP(S). Therefore a browser is all that is needed to use the applications. For a better link with SAP GUI applications, use SAP Business Client. SAP NetWeaver Developer Studio (NWDS)based onEclipse serves as the development environment. © Copyright. All rights reserved. 150 Lesson: Describing SAP UI Technologies Figure 89: Web Dynpro ABAP (WDA) and Floorplan Manager (FPM) Following the success ofWeb Dynpro Java, the principle was also applied for ABAP. The concept of theModel View Controller (MVC)was largely retained, as was the Web Dynpro Componentas the frame for all components. The most important difference is the use of ABAP instead of Java. At first glance, it is not apparent whether an application is implemented inWeb Dynpro ABAPor Java. Thanks to the integration ofWeb Dynpro as a transactional technology inAS ABAP there are whole new possibilities for accessing data and functions, as compared to those offered by AS Java. In contrast to previous UI technologies,Web Dynpro ABAP (WDA)is still being enhanced. The best example of this is theFloorplan Manager (FPM) , which defines further architecture details such asApplication Building Blocks (ABB). With FPM, it is possible to use Customizing, in other words settings, rather than programming to generate or change applications. The relationships can be complex, but offer many opportunities for customers to make adjustments. As with WDJ, WDA and FPM are called via a URL using HTTP(S). Therefore the recommendation to useSAP Business Clientalso applies here. However, transaction SE80 or the ABAP Development Tools (ADT) based onEclipse are used as the development environment. © Copyright. All rights reserved. 151 Unit 4: Software Development in SAP Systems Figure 90: SAP UI Development Toolkit for HTML5 The latest UI technology from SAP is theS AP UI Development Toolkit for HTML5 (SAPUI5) . After the JSPs, SAPUI5 is therefore the second Web UI technology used across the board at SAP that was not solely developed by SAP. It is based on HTML5 with JavaScriptas the programming language. This combination is popular in the World Wide Web (WWW)for generating modern, flexible and “pleasant” interfaces. “Pleasant” here also means the use of touchscreens for interaction, and the option of literally touching the interfaces. For this reason, the termuser interface (UI)is replaced by the termuser experience (UX) . Strictly speaking, SAPUI5 is a collection of program libraries based on the open-source library jQuery. With this open-source approach, SAP offers not only SAPUI5, which is adapted for SAP systems, but also the freely usable OpenUI5. The functional scope is practically identical, with SAPUI5 clearly recommended for use with SAP systems. SAP Fioriis the main area of use for SAPUI5. In principle, SAPUI5 is nothing more than a Web page that is called via a URL using HTTP(S). However, a HTML5-enabled browser is required, which all current browsers are. As before, SAP Business Clientis recommended particularly for use in S AP Fiori. The development environment isSAP Web IDE (Integrated Development Environment), which is based on Eclipse Orion. LESSON SUMMARY You should now be able to: ● Gain an overview on SAP UI Technologies © Copyright. All rights reserved. 152 Unit 4 Learning Assessment 1. Which data can be stored in a client? Choose the correct answer. X A Client-independent customizing, user data, and application data X B Customizing objects and repository objects X C Client-dependent customizing, user data, and application data X D Only user data that was entered in this client 2. At the end of the development project, the tasks and transport requests must be released so that they can be exported. Who releases what here? Choose the correct answers. X A Developers release their tasks. X B The development project leader releases the entire transport request. X C The system automatically releases the transport request once all tasks are released. 3. Which tools are included in the ABAP Workbench Choose the correct answers. X A Object Navigator X B SAP Reference IMG X C Function Builder X D Screen Painter © Copyright. All rights reserved. 153 Unit 4: Learning Assessment 4. What is the purpose of a domain in the context of the ABAP Dictionary? Choose the correct answers. X A For defining the technical attributes of a field. X B For including a foreign key dependency. X C For defining the semantic attributes of a field. X D For entering data in a table. 5. Which tool is used to manage imports of transport requests into subsequent systems (such as the production system)? Choose the correct answer. X A Transport Organizer (transactionSE09) X B Transport Management System (transactionSTMS) X C Object Navigator (transactionSE80) 6. Which of the following services are elements of SAP NetWeaver Development Infrastructure (NWDI)? Choose the correct answers. X A Design Time Repository (DTR) X B Object Development Tool (ODT) X C Component Build Service (CBS) X D Change Management Service (CMS) X E Central Make Tool (CMT) 7. You are running an SAP system based on AS ABAP 7.00. Which UI technologies can you use within this SAP system? Choose the correct answers. X A (ABAP) Dynrpo X B SAPUI5 X C Web Dynpro ABAP X D Java Server Pages © Copyright. All rights reserved. 154 Unit 4 Learning Assessment - Answers 1. Which data can be stored in a client? Choose the correct answer. X A Client-independent customizing, user data, and application data X B Customizing objects and repository objects X C Client-dependent customizing, user data, and application data X D Only user data that was entered in this client You are correct: A client contains of client-dependent customizing, user data, and application data. 2. At the end of the development project, the tasks and transport requests must be released so that they can be exported. Who releases what here? Choose the correct answers. X A Developers release their tasks. X B The development project leader releases the entire transport request. X C The system automatically releases the transport request once all tasks are released. You are correct. First, all developers release their own tasks. Then the development project leader can release the entire transport request. The release of the transport request is not performed automatically. 3. Which tools are included in the ABAP Workbench Choose the correct answers. X A Object Navigator X B SAP Reference IMG X C Function Builder X D Screen Painter You are correct.Object Navigator, Function Builderand Screen Painter are part of the ABAP Workbench.SAP Reference IMG, however, is a customizing tool. © Copyright. All rights reserved. 155 Unit 4: Learning Assessment - Answers 4. What is the purpose of a domain in the context of the ABAP Dictionary? Choose the correct answers. X A For defining the technical attributes of a field. X B For including a foreign key dependency. X C For defining the semantic attributes of a field. X D For entering data in a table. You are correct. You use domainsfor defining the technical attributes of fields in a table. The semantic attributes of a field are defined in the data element. 5. Which tool is used to manage imports of transport requests into subsequent systems (such as the production system)? Choose the correct answer. X A Transport Organizer (transactionSE09) X B Transport Management System (transactionSTMS) X C Object Navigator (transactionSE80) You are correct. The import of transport requests is performed with the help of the Transport Management System (TMS). TheTransport Organizeris used to create and release transport requests, theObject Navigatorcan be used to create / change repository objects. 6. Which of the following services are elements of SAP NetWeaver Development Infrastructure (NWDI)? Choose the correct answers. X A Design Time Repository (DTR) X B Object Development Tool (ODT) X C Component Build Service (CBS) X D Change Management Service (CMS) X E Central Make Tool (CMT) You are correct.SAP NetWeaver Development Infrastructure(NWDI) includes theDesign Time Repositoryfor versioned source code management, the Component Build Servicefor the central Build based on the component model and the Change Management Servicefor the transport of Java objects to follow up systems. Central Make Tool and Object Development Tool are imaginary names, Java EE applications are developed using the SAP NetWeaver Developer Studio, based on Eclipse. © Copyright. All rights reserved. 156 Unit 4: Learning Assessment - Answers 7. You are running an SAP system based on AS ABAP 7.00. Which UI technologies can you use within this SAP system? Choose the correct answers. X A (ABAP) Dynrpo X B SAPUI5 X C Web Dynpro ABAP X D Java Server Pages You are correct.(ABAP) Dynprocan be used in any release of AS ABAP. Web Dynpro ABAP is available as of AS ABAP 7.00.SAP UI Development Toolkit for HTML(SAPUI5) requires at least SAP_BASIS 7.31 and therefore at least AS ABAP 7.03, however. Java Server Pagescan be executed on an AS Java. © Copyright. All rights reserved. 157 UNIT 5 Communication and Integration Technologies Lesson 1 Describing Remote Function Calls and BAPIs 159 Lesson 2 Explaining Cross-System Business Processes 166 Lesson 3 Explaining HTTP Based Communication 169 Lesson 4 Describing Web Services 172 Lesson 5 Describing SAP Gateway 177 UNIT OBJECTIVES ● List various interface technologies used by SAP systems ● Describe the process for a Remote Function Call ● Explain the significance and use of business objects and their BAPIs ● Make a Remote Function Call ● Give an example for cross-system business processes ● Explain the ideas behind the ALE concept ● Explain the basics of HTTP based communication with AS ABAP based SAP systems ● Explain the basic idea of Web services ● Describe how to use SAP Gateway ● Test SAP Gateway services © Copyright. All rights reserved. 158 Unit 5 Lesson 1 Describing Remote Function Calls and BAPIs LESSON OVERVIEW This lesson provides an overview of the interface technologies available to you in the SAP system, while focusing on the significance of RFCs and BAPIs. Business Example You want to integrate existing applications with SAP applications. Standard interfaces are of particular interest here. LESSON OBJECTIVES After completing this lesson, you will be able to: ● List various interface technologies used by SAP systems ● Describe the process for a Remote Function Call ● Explain the significance and use of business objects and their BAPIs ● Make a Remote Function Call Overview of Interfaces SAP systems have interfaces at different communication levels. These interfaces range from highly technical connection options, for example, using the TCP/IP protocol or CPI-C, to highly specialized interfaces designed for business objects, such as BAPIs or the IDoc interface used in the ALE environment. All higher interfaces, that is, those that access business objects or processes, use the same technology, the Remote Function Call (RFC). © Copyright. All rights reserved. 159 Unit 5: Communication and Integration Technologies Figure 91: Interfaces Technologies Used in SAP Systems SAP systems use the following interface technologies that are listed in the figure “Interfaces Technologies Used in SAP Systems” : ● ALE: Application Link Enabling ● BAPI: Business Application Programming Interface ● CPI-C: Common Program Interface Communication ● EDI: Electronic Data Interchange ● HTTP(S): HyperText Transfer Protocol ● LU 6.2: Logical Unit Type 6.2 ● RFC: Remote Function Call ● OLE: Object Linking and Embedding ● SMTP: Simple Mail Transfer Protocol ● SOAP: Simple Object Access Protocol ● TCP/IP: Transmission Control Protocol / Internet Protocol ● OData: Open Data Protocol ● XML: Extensible Markup Language Remote Function Call The Remote Function Call interface is an SAP interface protocol based on CPI-C and TCP/IP. It simplifies the programming of communication processes between different SAP systems. RFCs enable you to call and execute predefined functions in a remote SAP system – or within © Copyright. All rights reserved. 160 Lesson: Describing Remote Function Calls and BAPIs the same SAP system. RFCs manage the communication process, parameter transfer, and error handling. RFC describes an interface, not the programming language in which the function runs. You can also use RFCs to call functions in non-SAP systems. The procedure for RFC communication between two SAP systems is that the calling SAP system uses an RFC definition in the SAP system called to access a specific function. Figure 92: RFC Connection Possibilities If you want to start external programs remotely, you need an RFC interface outside the SAP system. For example, a simple Dynamic Link Library (DLL). Every RFC interface is bidirectional, so external programs can also use RFC to access functions in SAP systems. Note: All function modules (including those that are remote-enabled) are created, together with their import and export parameters, using the Function Builder. You can call the Function Builder from theSAP Easy Accessmenu by navigating to Tools→ ABAP Workbench→ Development→ Function Builder, or by using transaction codeSE37. To call an RFC module from an SAP system, you need to know the import and export parameters (defined in the Function Builder), and there must be a technical connection between the two systems. This connection is called an RFC connectionor RFC connection anRFC RFC destination. You can manage your RFC connections from theSAP Easy Accessmenu by navigating to Tools→ Administration→ Administration→ Network→ RFC Destinations, or by using transactionSM59. © Copyright. All rights reserved. 161 Unit 5: Communication and Integration Technologies Figure 93: Remote Function Call in Detail In the figure“Remote Function Call in Detail” , you can see, on the left side, the calling system, in which an RFC destination namedDEST has been created. An RFC destination in transaction SM59 should not be confused with an SAP system, since an RFC connection can only point to one specific client in an SAP system. These are also referred to as connections between logical systems; this term is used, above all, in the ALE environment. This means that you can have at least as many RFC connections between two systems as there are clients in the target system. Because you can specify a logon user for the destination in each RFC connection, you can also access clients in the target system several times, for example, with a different logon user each time. If you need a bidirectional RFC connection between two systems, that is, the system called can also execute RFC modules in the calling system, then you need to set up an equivalent second RFC connection in the system called. When defining RFC destinations in AS ABAP-based SAP systems: ● ● RFC connections are always directed toone particular client if their destination is an AS ABAP-based SAP system RFC connections can be accessed fromall clients of an SAP system (provided the user has the required authorizations) In ABAP, you use RFCs to call a function module in another system as follows: CALL FUNCTION <Name> DESTINATION <Destination to Target> EXPORTING ... IMPORTING ... © Copyright. All rights reserved. 162 Lesson: Describing Remote Function Calls and BAPIs The function to be executed in the target system needs to be specified. The name of the <destination to target> must refer to one of the RFC connections available. When you are creating an RFC connection, you can specify logon data for the target system; if you do not do this, you need to enter logon parameters when you start the RFC. EXPORTING and IMPORTING are used to pass parameters to the target function and to receive the returned parameters. The function called in the target system is executed using the user ID that has been entered for the connection. Note: You can also create RFC connections for which the user ID of the user making the call is used in the target system. That means different users can use the same connection in the target system. This procedure is called Trusted RFC. It is, of course, a prerequisite that identical users are created in the source and target systems. Trusted RFC is covered in the course ADM960 – Security in SAP System Environments. The RFC has become the most important interface in the SAP environment. Some special RFC modules, which follow certain conventions, are known as BAPIs (Business Application Programming Interfaces). BOR and BAPIs A Business Application Programming Interface (BAPI) is a standardized programming interface that facilitates internal and external access to business processes and data in SAP systems. BAPIs are defined in the Business Object Repository as methods of SAP business objects and enable an object-oriented view of business data in an SAP system. Functions that can be called using BAPIs are normally implemented and stored in the ABAP Workbench Function Builder as RFC-enabled function modules. You can display an overview of available BAPIs in the BOR, for example, by activating the Business Object Repository pushbutton in the Business Object Builder Tools→ ( ABAP Workbench→ Development→ Business Object Builder), transactionSWO1. You can access the BOR directly using transaction codeBAPI. © Copyright. All rights reserved. 163 Unit 5: Communication and Integration Technologies Figure 94: BOR and BAPIs BAPIs, which represent methods for business objects in an SAP system, are used in a variety of contexts. Possible Uses for BAPIs ● To link business processes across system boundaries (for example, when using ALE) ● Used by SAP to integrate various solutions in the framework of SAP Business Suite ● To connect an SAP system to the Internet ● Used in conjunction with SAP Business Workflow ● To connect to external programs Note: BAPIs are created and tested in exactly the same way as other function modules, using the Function Builder, transactionSE37, and are then defined as BAPIs in the BOR. Related Information For information about additional interfaces, go to the following address: https:// support.sap.com/connectors. © Copyright. All rights reserved. 164 Lesson: Describing Remote Function Calls and BAPIs LESSON SUMMARY You should now be able to: ● List various interface technologies used by SAP systems ● Describe the process for a Remote Function Call ● Explain the significance and use of business objects and their BAPIs ● Make a Remote Function Call © Copyright. All rights reserved. 165 Unit 5 Lesson 2 Explaining Cross-System Business Processes LESSON OVERVIEW This lesson explains the fundamentals of the Application Link Enabling (ALE) concept. Business Example Your company wants to implement the E-Commerce functions of SAP CRM to sell goods to end customers over the Internet. LESSON OBJECTIVES After completing this lesson, you will be able to: ● Give an example for cross-system business processes ● Explain the ideas behind the ALE concept The Significance of Cross-System Business Processes Let's start by defining cross-system business processes, using common situations as examples. For example, it may be the case that within a company, the human resources system is separate from the rest of the business software system. Obviously, the systems cannot be completely separate, since the accounting system needs the employees' wage data. In this situation, you need cross-system business processes to exchange the relevant data. Cross-system business processes are used, for example, if two companies collaborate closely and send joint orders to a vendor. The companies' business IT systems need to communicate with each other to consolidate the quantities to be ordered. In this case, the business process does not just cross system boundaries, but also company boundaries. An additional example is the transfer of a limited quantity of specific data, for example, the electronic transfer of account statement data from a bank to a company. The developments of the past in the area of cross-system business processes indicate that the importance of these processes will continue to grow rapidly. Application Link Enabling (ALE) Application Link Enabling (ALE) is a means of creating and operating distributed applications. The basic concept of ALE is to ensure the operation of a distributed, yet integrated system landscape. This involves business-controlled message exchange using consistent data across loosely linked application systems. The applications are integrated through synchronous and asynchronous communication, not through a central database. Systems that use ALE to exchange data can be located at the same company, or they may belong to different companies. One of the characteristics of ALE is that different systems are linked in business terms through secure and consistent data transfer. © Copyright. All rights reserved. 166 Lesson: Explaining Cross-System Business Processes Figure 95: Business Process Distribution Using ALE You could also describe ALE as being composed of the elements: who exchanges what data when, with whom, and by what means. Implementing ALE therefore requires that you clarify the following points in detail: 1. Identify the business process and the objects involved. 2. Identify the information to be transmitted. 3. Specify the format for the data to be transferred. 4. Decide on the transfer technology to be used. 5. Decide on the transfer type. 6. Specify the destination of the data transfer. The following table contains an example for implementing ALE: Table 6: Data Synchronization in the Business Process – Example Process E-Commerce for consumers who use SAP CRM Identify the information to Order data from the SAP CRM server system, which is to be be transmitted passed to an SAP ECC system Format of the data IDoc format Transfer technology by RFC Transfer type asynchronously, every 60 seconds Purpose Provide goods and services for sale in the Internet © Copyright. All rights reserved. 167 Unit 5: Communication and Integration Technologies The data is often identified within the SAP system using a business object and its Business Application Programming Interfaces (BAPIs). A BAPI is a method of a business object, for example, the material master record. A permissible method could be creating or changing the material master data. BAPIs normally enable you to edit all data belonging to the object. The IDoc format describes the structure of intermediate documents. There are various kinds of IDoc formats for different types of data to be exchanged. Alternatively, you can use ALE to transfer data in an agreed XML format. You can select your preferred data transfer technology within the constraints imposed by the system. For example, you can transfer data by Remote Function Call (RFC) or using HTTP or HTTPS. There are two basic types of transfer: synchronous and asynchronous. Synchronous transfer means that the data is transferred at the time of creation or change. In contrast, you can start asynchronous transfers at intervals of your choice. There are very few restrictions on the systems that can be linked. The systems involved must have the technical capability to receive the communications (RFC-enabled, HTTP-enabled) and interpret the format transferred (IDoc, XML). SAP systems of different releases can be linked using ALE. Related Information ● BIT300 and BIT350 are more advanced training courses on ALE. LESSON SUMMARY You should now be able to: ● Give an example for cross-system business processes ● Explain the ideas behind the ALE concept © Copyright. All rights reserved. 168 Unit 5 Lesson 3 Explaining HTTP Based Communication LESSON OBJECTIVES After completing this lesson, you will be able to: ● Explain the basics of HTTP based communication with AS ABAP based SAP systems Introduction into HTTP Based Communication The Hypertext Transfer Protocol (HTTP) is an application protocol for distributed, collaborative, and hypermedia information systems. HTTP is the foundation of data communication for the World-Wide Web. Hypertext is structured text that uses logical links (hyperlinks) between nodes containing text. HTTP is the protocol to exchange or transfer hypertext. AS ABAP-based SAP systems can process HTTP requests (and other protocols) directly from the internet or to send HTTP client requests to the internet. To achieve this, the SAP Kernel has been extended with the Internet Communication Manager (ICM) process. Example for a System Landscape for HTTP Based Communication The figure“Example for a System Landscape”shows an example of a system landscape in which Web Browsers from the internet and intranet are connected with an SAP system based on AS ABAP (which in this case is connected to other SAP and non-SAP systems). Figure 96: Example for a System Landscape Important features are: © Copyright. All rights reserved. 169 Unit 5: Communication and Integration Technologies ● Support for standard Web protocols such as HTTP, HTTPS, WebDAV, SOAP, and SMTP ● Display of standard Web formats such as HTML, XML, OData and XSLT ● Complete integration into the SAP environment (development environment, user administration, authorization concept, system monitoring, and communication protocols) The AS ABAP can act both as aWeb server(server server role) and as aWeb client (client role). In this lesson, we will discuss the server role, in which the AS ABAP can accept and process HTTP requests from any web client (such as a web browser) and send back an HTTP response. Work processes of the AS ABAP can directly generate Web-compatible content in a way that can be forwarded to a browser using the ICM. One way of creating content of this type is to use applications with Business Server Pages (BSPs) that were developed in the SAP system using a tool of transactionSE80, the Web Application Builder for BSPs. Other options are to use applications that are based on: ● Web Dynpro for ABAPtechnology ● SAPUI5 (which in turn is based onHTML5) Internet Communication Framework (ICF) Within a work process, the Internet Communication Framework (ICF) provides the environment for handling HTTP requests. The ICF is the bridge between the C kernel of the SAP system and the application program created in ABAP. The ICF provides a way for different systems to communicate with each other over the internet/intranet using standard protocols (such as HTTP and SMTP). As of AS ABAP 7.40, the ABAP library for REST-based services Representational ( State Transfer– a programming paradigm for Web applications) is part of AS ABAP-based SAP systems. Therefore, as of AS ABAP 7.40, no additional programming libraries (for AS ABAP) are required from SAP. However, for the HTTPS protocol, certain configuration steps need to be performed (see SAP Note 510007 – Setting Up SSL on Application Server ABAP ). Your system platform only must be configured to be internet capable. This scenario allows for the most flexible setup of the overall communication requirements. The ICF allows a response to a request to be generated using an application. An HTTP request is sent from a client (such as a Web Browser) to the server. It is then forwarded to an application by the ICF. Here, data is collected and sent back to the client as a response by the ICF. The response data is then displayed in the browser. The task of ICF services is to link a particular URL with an HTTP request handler. An ICF service therefore creates a connection between a URL to which an HTTP request is sent and development objects that process this request (see the following figure). © Copyright. All rights reserved. 170 Lesson: Explaining HTTP Based Communication Figure 97: Concept of the Internet Communication Framework ICF services can beactive or inactive, which is indicated by different colors in transaction SICF. Active services are displayed in black. If you try to call an inactive service, the system will display a message stating that access to this page is blocked. Activated ICF services are a security risk since they can be accessed directly using HTTP(S) or SMTP from the intranet or internet (depending on your network configuration). You should therefore restrict access using suitable measures, such as by activating only the required ICF services and assigning the relevant authorizations to users. Note: More information on HTTP-based communication with AS ABAP-based SAP systems are provided in class ADM103 – System Administration II for SAP S/ 4HANA and SAP Business Suite . LESSON SUMMARY You should now be able to: ● Explain the basics of HTTP based communication with AS ABAP based SAP systems © Copyright. All rights reserved. 171 Unit 5 Lesson 4 Describing Web Services LESSON OVERVIEW A Web service is a standardized way of integrating web-based applications using the open standard XML over an Internet Protocol backbone. This lesson first explains some basic terms in the context of Web services. Then it explains the basic steps to create a Web service from an existing function module. Business Example Your company is running a heterogeneous system landscape using different technologies. They want to use Web services for data exchange between these different technologies. As a developer, you want to know how you can create Web services from existing function modules in your AS ABAP based SAP system. LESSON OBJECTIVES After completing this lesson, you will be able to: ● Explain the basic idea of Web services Introduction to Web Services A web service is an independent, modular, and self-describing application function or service. Based on XML standards, these application functions can be described, made available, located, transformed, or called using standard Internet protocols. Each web service therefore encapsulates a function, which is used, for example, to forward a price query to a provider, check the availability of an item in a retail system, locate a telephone number, or run credit card checks, convert currencies, or execute payroll functions. The following figure shows the web service paradigm: © Copyright. All rights reserved. 172 Lesson: Describing Web Services Figure 98: Web Service Paradigm A service provider provides access to a service. If a service is a web service, the service provider has a corresponding XML-based description that is a Web Services Description Language (WSDL) document. Any programming language can be used to implement the web service. In a client/server relationship, the service provider can be regarded as the server. When publishing a service, the service provider transmits information about itself and a description of the service it offers to the Service Registry (SR). A Service Registry is a type of yellow pages for web services. It provides, among other things, information about calling the web service. The Service Registry therefore provides only a description of the web service. This description forms an abstraction layer, independent of the corresponding implementation. The web service itself is hosted by the service provider. A web service user is referred to as a service requester. A service requester can, for example, be someone who locates a web service using a web browser and then uses the service. In most cases, however, the service requester is an application that accesses the web service. The application can also bind to the service dynamically if required, that is, the application can dynamically create a web service client proxy at runtime and use this proxy to access the web service. The application obtains the necessary information for accessing the web service from the service description. This information is then stored in the SR. However, if the application knows the provider and the call details, it can use the web service without having to access the SR. In a client/server relationship, the service requester is the application client. Standards for Web Service web services can exist in any implementation. Therefore, a standardized description is required if web services are to be called from any application. The WSDL best meets this demand. However, a web services description in WSDL alone is not sufficient. To find the right business partner and corresponding service quotation, you need a company registry to help you to find the required service. © Copyright. All rights reserved. 173 Unit 5: Communication and Integration Technologies The web service provider must also be able to make its offer publicly available as easily as possible. TheUniversal Description, Discovery and Integration(UDDI) offers a solution. For more information, seehttp://uddi.xml.org. The following list explains some standards that are used with web services: ● ● ● UDDI Registry (Universal Description, Discovery and Integration) : With its UDDI Registry and UDDI specification, UDDI provides the necessary tools for making services public. The specification provides a detailed description of how to locate and register services. The UDDI Registry contains a list of registered web services in WSDL format. The UDDI Registry does not store documents or specifications, but only references them. SOAP (originallySimple ( Simple Object Access Protocol): To call web services based on Internet technologies, a suitable protocol definition is needed. SOAP has created a simple standard that allows web services to be accessed in decentralized, distributed landscapes. SOAP specifies a package of XML documents for transport via Internet protocols such HTTP(S), SMTP, or FTP. SOAP defines a so-called envelope. In this envelope, you will find the actual XML-based message with a header and a body, as well as further information about how the message should be processed. WSDL (Web Service Description Language) : WSDL is an XML-based description language for web services. The WSDL Service definition includes the description of distributed systems and provides instructions for automating data exchange between applications. The Web Service Description Language is used to describe web services or electronic services in XML format. A service is defined as a collection of endpoints (ports) and the messages they work with. By using WSDL, a service provider can describe the requirements and features of their web service so that a potential customer understands them and interacts properly with the service. Creation of a Web Service Using the Inside-Out Approach and Synchronous Communication There are two different development approaches for developing ABAP Web Services: InsideOut and Outside-In. ● ● With the Inside-Out approach, independent function modules that have been implemented as RFC-enabled function modules, as function groups, or as BAPIs are provided as a web service. The web service can be used across the entire Internet using standard protocols and can easily be added to any development environment. In the Outside-In approach, development of Service Interfaces starts in a platformindependent format, mostly XML. With the Enterprise Services Builder, SAP offers a tool, that supports the platform-independent development of Service Interfaces. Connected application systems can read these interfaces. Using the ABAP Proxy technology, a developer can create an ABAP Object, that consists of one or more ABAP Methods. Since development begins outside the application system, this approach is called Outside-In. This lesson focuses on the Inside-Out approach. The figure“Creation of a Web Service”explains how to create a web service from an existing function module (such asZ_BAPI_FLIGHT_GETDETAIL): © Copyright. All rights reserved. 174 Lesson: Describing Web Services Figure 99: Creation of a Web Service This consists of the following three main steps: ● ● ● Step 1: ABAP Implementation: As a starting point, you need a function module (such as Z_BAPI_FLIGHT_GETDETAIL in the figure above). Among others, this function module consists of import and an export parameters (interfaces). These interfaces need to be used to make use of the functionality that this function module offers. Step 2: Create Web Interface – ABAP to XML : For use with web services, the input and output interfaces need to be provided in XML. The mapping of the ABAP structures (such as parameters) to XML will be done with the help of a generator which can be called from the Function Builder(transactionSE37) which in turn is part of the ABAP Workbench. As a result, you get the Service definition for the function module. Among others, this Service definition consists of an (abstract) WSDL and a first configuration. Step 3: Configuration in transaction SOAMANAGER : With the help of transaction SOAMANAGER, all necessary configurations are finally performed. This includes the creation of a concrete WSDL according to the WSDL 1.1. definition and the creation of a Service in transactionSICF so that the web service can then be called. Tools For developing web services at SAP, some tools are needed: ● ● ● For the implementationof the functionalities on the provider side and the call of these functionalities on the consumer side, you need the ABAP Workbench for the development. For the configurationof the web service on the provider side and on the consumer side, SAP offers transactionSOAMANAGER. For testing web services SAP offers theWeb Service Navigator(WSNavigator) , which is a web service client, implemented in Java. © Copyright. All rights reserved. 175 Unit 5: Communication and Integration Technologies For developing web services, SAP offers the transaction SOAMANAGER in the SAP back-end, which allows you to configure web services based on the Proxy technology. You can use SOAMANAGER for the complete configuration of service provider and consumer proxies for a local system. Figure 100: SOAMANAGER – Initial Screen The Service Administrationtab (see figure“SOAMANAGER – Initial Screen” ) offers functionality to set up configuration to support business processes with web services. This functionality is intended for business administrators who manage business processes across systems in a system landscape. Additional Information For more information on ABAP web services, see SAP training class BC416ABAP – Web Services and the online documentation forS AP NetWeaver AS for ABAP 7.51 innovation package(function-oriented view), for example: area SAP NetWeaver Library: FunctionOriented View→ Application Server ABAP→ Application Development on AS ABAP → ABAP Development Tools – Eclipse→ SAP – ABAP Web Services. LESSON SUMMARY You should now be able to: ● Explain the basic idea of Web services © Copyright. All rights reserved. 176 Unit 5 Lesson 5 Describing SAP Gateway LESSON OVERVIEW This lesson provides you with an overview of SAP Gateway and the use of the OData protocol at SAP. Business Example Your company wants to use applications that are running in the browser or on mobile devices. As part of the project team, you want to know how you can access SAP system data from mobile devices via open standards such as OData. LESSON OBJECTIVES After completing this lesson, you will be able to: ● Describe how to use SAP Gateway ● Test SAP Gateway services SAP Gateway and OData Figure 101: SAP Gateway Architecture SAP Gateway is located between SAP (back-end) systems and the outside world, thus making data from the SAP systems available externally. Outside world means any software outside the SAP back-end system landscape. This is usually a client-based application that consumes a gateway service and interacts directly with the end user. Applications in the browser are a common example. © Copyright. All rights reserved. 177 Unit 5: Communication and Integration Technologies However, it is also possible for a gateway service to be used by a server-based application to forward information to one or more clients. Typical examples here are mobile applications that have a secure connection to information via the SAP Mobile Platform(SMP) or are informed about new information in the form of a workflow. Hint: Up to the end of 2014, SAP Gateway was called SAP NetWeaver Gateway. SAP Gateway is used to exchange data via OData. SAP Gateway must not be confused with the Kernel’s RFC gateway process – that process is still used for communications via RFC. Figure 102: Open Data (OData) Protocol SAP Gateway uses the Open Data (OData) protocol for communications between applications and the SAP system. OData has been developed by Microsoft and is an extension of the Atom Publishing and Atom Syndication Standards, which in turn are based on XML (Extensible Markup Language) and HTTP(S) (HyperText Transfer Protocol (Secure)). With this extension, OData provides database like access to server-side resources. In this context, OData is also called ODBC for the Web. Note: Open Database Connectivity (ODBC) is a widespread database access method. In practice, JSON is usually used today rather than the combination of Atom and XML. This requires far less meta information, which hugely reduces the amount of data to be transferred. Atom and XML, on the other hand, are often during development precisely because of the detailed meta information. OData can be freely used without any licenses or contracts. OData is also extensible. This enables SAP to add additional information from the ABAP Data Dictionary to the OData data types. © Copyright. All rights reserved. 178 Lesson: Describing SAP Gateway Figure 103: Gateway Service Document The starting point for consuming an OData or gateway services is the call of the URL of the service document in the browser. The service document is the highest-level description of a gateway service. It shows the basic information about the available data. From here, it is possible to call further information on the service and of course the data itself by adding URL parameters. Hint: In the example shown in the figure“Gateway Service Document” , adding ProductSet to the URL causes a set of products to display. © Copyright. All rights reserved. 179 Unit 5: Communication and Integration Technologies SAP Gateway Usage Figure 104: SAP Gateway Components Before AS ABAP 7.40, SAP Gatewayconsisted of individual add-ons that provide the OData functionality. These can be divided into the following areas: OData runtime Provides the OData and thus gateway service externally via the URL. Design time and service provider runtime Contains the development environment and programs for processing the requests to the service. The OData runtime consists of theGateway Core (GW_CORE)and the Information Worker Foundation (IW_FND)a nd thus contains the service registration as well as the runtime. The central add-onBusiness Enablement Provisioning (IW_BEP) of the design time and service provider runtime contains the tools for service implementation. Other addons can also be installed, for example: ● Business Workflow (IW_PGW) ● Generic Interaction Layer (IW_GIL) ● Service Provider Infrastructure (IW_SPI) As of AS ABAP 7.40, GW_CORE, IW_FND, IW_BEP, and IW_HDB (SAP HANA Database) have been merged in software component SAP_GWFND (Gateway Foundation) . This offers everything needed for the OData runtime and implementation. The additional add-ons that are still possible are grouped together in data model consumption and generators. As of AS ABAP 7.51, in addition IW_PGW has been merged into software component SAP_GWFND. This offers general Workflow functionality via SAP Gateway especially used in the area of SAP Fiori. In addition, all other SAP Gateway add-ons are deprecated and should be uninstalled. Either the functions are now part of software component SAP_GWFNDor they are no longer supported. © Copyright. All rights reserved. 180 Lesson: Describing SAP Gateway Figure 105: Options for Using SAP Gateway There are three possible deployment options for SAP Gateway (see the figure above): ● Hub deployment with development in Back-End Server ● Hub deployment with development in Front-End Server ● Embedded deployment A Gateway hubis an AS ABAP in which at least the OData runtime is installed. This Gateway hubcan be set up in ademilitarized zone(DMZ), a security area between the local company network and the Internet. Note: For more information about deployment options, see the document SAP Fiori Deployment Options and System Landscape Recommendations which is available from the blogSAP Fiori Deployment Options and Recommendations (https:// blogs.sap.com/2018/02/16/sap-fiori-deployment-options-andrecommendations). The design and service provider runtime defines the system in which development and processing of the gateway services are carried out. As many companies already use SAP systems and data is to be provided from different systems, this can also be done in the gateway hub. The SAP systems are then accessed via RFC. Two separate ABAP classes are required to generate a gateway service: ● Model Provider Class (MPC) ● Data Provider Class (DPC) The Model Provider Class supplies the consumer with a complete description of the gateway service, the Data Provider Class represents the implementation of this business logic. The © Copyright. All rights reserved. 181 Unit 5: Communication and Integration Technologies connection between these two classes is created through the configuration of a Technical Service or Technical Model. All this is implemented in the design and service provider runtime. In the OData runtime, the gateway service is generated by entering the Technical Service in the Service Catalog. This entry can then be used by a browser as the service name. Figure 106: Gateway Service Management Gateway Service Management (transaction /IWFND/MAINT_SERVICE) provides a list of all the OData services registered in the system. The complete administration of the gateway services is performed here. The transaction is divided into three areas (see figure “Gateway Service Management”): ● Service Catalog(service name, description, and many other settings) ● ICF Nodes (maintenance of the ICF services and testing of the service) ● System Aliases (maintenance of the connection to the back-end) © Copyright. All rights reserved. 182 Lesson: Describing SAP Gateway Figure 107: Gateway Client SAP Gateway Client (transaction/IWFND/GW_CLIENT) enables all functions of a gateway service to be tested. For read access, you merely need to enter and execute the request URI. For a request to create, change or delete, further settings are needed, for example a valid HTTP request body. All settings can be saved in the form of test cases. In addition to these two transactions, there are a few more relating to SAP Gateway. All transactions are linked with each other by buttons or menu options. You can therefore go directly from service administration to the gateway client or from the gateway client to the service administration. Figure 108: Electronic Medical Record (Application Example) © Copyright. All rights reserved. 183 Unit 5: Communication and Integration Technologies You can use any programming language to consume a gateway service, provided this language enables HTTP(S) communication and the parsing of an XML document. Most modern languages automatically offer this. A list of popular languages and detailed documentation with predefined libraries is available http://www.odata.org. at Hint: The Electronic Medical Records (EMR) (see figure “Electronic Medical Record (Application Example)”) was one of the first applications that used S AP Gateway. LESSON SUMMARY You should now be able to: ● Describe how to use SAP Gateway ● Test SAP Gateway services © Copyright. All rights reserved. 184 Unit 5 Learning Assessment 1. Which interfaces or communication options are supported by SAP systems? Choose the correct answers. X A HTTP (HyperText Transfer Protocol) X B SMTP (Simple Mail Transfer Protocol) X C RFC (Remote Function Call) X D BAPIs (Business Application Programming Interfaces) X E XDTP (Extended Data Transfer Protocol) X F STP (SAP Transfer Protocol) 2. What can BAPIs be used for? Choose the correct answers. X A Request data from an SAP system X B Pass data to an SAP system X C Transfer SAP screen images to third-party applications (such as Microsoft Word) X D Access business processes in SAP systems 3. You access BAPIs in SAP systems using an RFC interface. Determine whether this statement is true or false. X True X False © Copyright. All rights reserved. 185 Unit 5: Learning Assessment 4. What is the purpose of Application Link Enabling (ALE)? Choose the correct answers. X A To provide a platform for the development of SAP based applications. X B To exchange application data between collaborating companies, using certain formats and technologies. X C To communicate between different production systems of your system landscape. X D To transport software changes from the development system to the production system. 5. Which SAP technologies /applicationsare supported by the Internet Communication Manager (ICM) process? Choose the correct answers. X A SAPUI5 X B ABAP Dynpro X C Web Dynpro for ABAP X D Business Server Pages (BSP) 6. Which tool is used for the configuration of the Web Service on the provider side? Choose the correct answer. X A ABAP Workbench X B SOAMANAGER X C Web Service Navigator 7. For which protocol plays SAP Gateway (software component SAP_GWFND) the role of the communication interface? Choose the correct answer. X A DIAG X B SMTP X C OData X D RFC © Copyright. All rights reserved. 186 Unit 5 Learning Assessment - Answers 1. Which interfaces or communication options are supported by SAP systems? Choose the correct answers. X A HTTP (HyperText Transfer Protocol) X B SMTP (Simple Mail Transfer Protocol) X C RFC (Remote Function Call) X D BAPIs (Business Application Programming Interfaces) X E XDTP (Extended Data Transfer Protocol) X F STP (SAP Transfer Protocol) You are correct. From an SAP system, you can communicate with other systems using, for example, HTTP, SMTP, RFC, or BAPIs. XDTP and STP do not exist. 2. What can BAPIs be used for? Choose the correct answers. X A Request data from an SAP system X B Pass data to an SAP system X C Transfer SAP screen images to third-party applications (such as Microsoft Word) X D Access business processes in SAP systems You are correct. You can use BAPIs to access business processes in an SAP system and to request and transfer data between SAP systems. GUI functions cannot be transferred to third-party products. 3. You access BAPIs in SAP systems using an RFC interface. Determine whether this statement is true or false. X True X False You are correct. BAPIs are nothing other than special, remote-enabled function modules. They can therefore also be addressed using RFCs. © Copyright. All rights reserved. 187 Unit 5: Learning Assessment - Answers 4. What is the purpose of Application Link Enabling (ALE)? Choose the correct answers. X A To provide a platform for the development of SAP based applications. X B To exchange application data between collaborating companies, using certain formats and technologies. X C To communicate between different production systems of your system landscape. X D To transport software changes from the development system to the production system. ALE is a very powerful method of exchanging client-specific data (such as application data) between different systems. These systems may be located within the same company, or they may be distributed between several companies. The data is transferred by RFC in a previously defined format. The transfer type may be synchronous or asynchronous. 5. Which SAP technologies /applicationsare supported by the Internet Communication Manager (ICM) process? Choose the correct answers. X A SAPUI5 X B ABAP Dynpro X C Web Dynpro for ABAP X D Business Server Pages (BSP) You are correct. The ICM supportsSAPUI5 applications as well asWeb Dynpro for ABAP applications andBusiness Server Pages(BSPs). ClassicalABAP Dynprosare processed by the ABAP dispatcher, however. 6. Which tool is used for the configuration of the Web Service on the provider side? Choose the correct answer. X A ABAP Workbench X B SOAMANAGER X C Web Service Navigator You are correct. SAP offers transactionSOAMANAGER for the configuration of the web service on the provider side and on the consumer side. The ABAP Workbenchis used for the implementationof the functionalities on the provider side and the call of these functionalities on the consumer side, theWeb Service Navigatorcan be used for testing web services. © Copyright. All rights reserved. 188 Unit 5: Learning Assessment - Answers 7. For which protocol plays SAP Gateway (software component SAP_GWFND) the role of the communication interface? Choose the correct answer. X A DIAG X B SMTP X C OData X D RFC You are correct, SAP Gateway is the communication interface for the Open Data (OData) protocol in an AS ABAP.DIAG requests are processed by the ABAP dispatcher, SMTP requests are processed by the ICM but they do not use SAP Gateway. RFC requests are processed by the gateway process of the SAP Kernel which has not to be mixed with SAP Gateway (software componentS AP_GWFND). © Copyright. All rights reserved. 189 UNIT 6 Application Lifecycle Management Lesson 1 Describing Application Lifecycle Management 191 Lesson 2 Implementing Business Processes and Installing SAP Systems 197 Lesson 3 Describing Business Process Operations 207 Lesson 4 Maintaining SAP systems 211 UNIT OBJECTIVES ● ● Outline the concept of Application Lifecycle Management Explain the importance of the SAP Solution Manager system and the System Landscape Directory in Application Lifecycle Management ● Describe aspects of the technical implementation of SAP systems and business processes ● List the tools in the SAP Solution Manager system for Business Process Operations ● List tools for maintaining SAP systems © Copyright. All rights reserved. 190 Unit 6 Lesson 1 Describing Application Lifecycle Management LESSON OVERVIEW This lesson provides an introduction to application lifecycle management in SAP systems. We begin by discussing the individual steps in the lifecycle of an application. We then examine two of the tools that support you in managing this lifecycle: the System Landscape Directory (SLD) and the SAP Solution Manager system. Business Example Your company plans to implement new business processes. As the project manager, you want to know how you can use SAP tools to simplify lifecycle management for your SAP applications. LESSON OBJECTIVES After completing this lesson, you will be able to: ● ● Outline the concept of Application Lifecycle Management Explain the importance of the SAP Solution Manager system and the System Landscape Directory in Application Lifecycle Management What Is Application Lifecycle Management? Software, like any other product, has a certain lifecycle. A software product's lifecycle is the time span between its conception and market launch (in the company) and its removal from the market. Software lives as long as it is still in use and continues to be a profitable product on the market. Planning a software lifecycle is a task for a company's strategy management. In the SAP environment, the focus is more on the applications (that is, the business processes) than the individual SAP systems involved. Therefore, Application Lifecycle Management (ALM) is a top priority for SAP. ALM is an ongoing process for managing the entire life span of an application through active control, development, and maintenance. In contrast, Software Lifecycle Management contains tools and processes to install, maintain, or upgrade a specific SAP system, which is needed for certain applications and business processes. Due to the increasing complexity of solution landscapes, every business has integration needs specific to its mission-critical applications. The more integrated and more complex the software applications and solutions are in the customer landscape, the greater the need for an end-to-end approach to lifecycle management. Application Lifecycle Management guarantees extensive support to cover the entire life cycle of IT applications, from design to decommissioning. © Copyright. All rights reserved. 191 Unit 6: Application Lifecycle Management Figure 109: Phases in Application Lifecycle Management The IT Infrastructure Library (ITIL) forms a set of predefined, standardized processes, functions, and roles for the lifecycle of typical IT services (IT service management (ITSM)) that typically occur in every IT infrastructure at larger companies. They involve suggested best practices that can be adapted to the specific needs of a company. In line with the six phases of application management defined under ITIL, the lifecycle also has six phases: ● ● ● ● The most important task in the requirements phase is to evaluate scenarios and the corresponding business processes and to check whether they can be realized in the project. In the design phase, an implementation project manager oversees and directs the deployment of new products, services, or projects for an organization. The project manager creates a blueprint for the project, defines the milestone, and creates the work breakdown structure. In the build & test phase, the changes are implemented first. These changes might be a solution extension with custom development activities, Customizing changes, or integration of a partner or third party application. Developers perform tests of the functions, while quality assurance prepares functional tests and tests of user acceptance for the next phase. The list of relevant business processes determines which tests are covered. Therefore, the build & test phase involves all relevant kinds of tests, including the following: - Regression tests - Integration tests - Scenario tests - User acceptance tests - Performance tests The objective of the deployment phase is to transition from the preproduction environment to live operations. In this phase, support structures are created for end users © Copyright. All rights reserved. 192 Lesson: Describing Application Lifecycle Management that are available not only during the critical period after going live, but also in the long term. ● ● The longest phase in the lifecycle is the operate phase, in which the end users work with the product. In this phase, any errors that occur are fixed by SAP developers in the form of error corrections. During the operate phase, it may become apparent (through an analysis of compliance with service level agreements, for example) that optimizations are needed. In the optimize phase, you carry out the activities that are required to improve the results. This can also result in new requirements. Importance of the SAP Solution Manager System in Software Lifecycle Management The SAP Solution Manager system supports customers at the start of the project (to implement an SAP application), during functional and technical implementation, during running operation, and during the optimization of their system landscapes. The SAP Solution Manager system also makes it possible to communicate with SAP and its partners at any time and therefore enhances the extensive on-site service. The SAP Solution Manager Launchpad is the central starting point for all functions for administrative tasks in the SAP Solution Manager system. SAP Fiori apps are also available for various applications. The different areas in the SAP Solution Manager Launchpad cover the different aspects of Application Lifecycle Management and enable access to role-specific functions. The structure of the launchpad depends on the user’s respective role: You have access to relevant messages, alerts, reports, and documents for which your role is authorized. Figure 110: User Experience Monitoring The figure“User Experience Monitoring”shows the SAPUI5-based app for User Experience Monitoring as an example. This app is the central starting point for the administrator for monitoring the availability of the systems and performance of the connections from the end user perspective in real time. © Copyright. All rights reserved. 193 Unit 6: Application Lifecycle Management Figure 111: SAP Solution Manager as Link to the SAP Support Infrastructure SAP Solution Manager System gives you the benefits of a number of additional functions, such as implementation support, as well as monitoring functions and IT Service Management and its functions for reporting incidents. SAP Solution Manager 7.2 also supports SAP S/ 4HANA and hybrid solutions. SAP Solution Manager links the customer’s support organization (Customer Center of Expertise – CCoE) with the SAP Support Portal. This enables workflows that use both platforms. In IT Service Management, for example, you can forward the incidents from end users directly to SAP Support. The interaction between the SAP Solution Manager system, which has direct access to the customer landscape, and the SAP Support backbone to the SAP Global Support organization offers a platform for professional service and support processes. In turn, these processes enable the delivery of proactive services that are custom-tailored to the CCoE’s specific needs and requirements. This structure helps to improve the reliability and performance of the customer’s business processes, reducing the total cost of ownership and providing a better return on investment. SAP System Landscape Directory and the Landscape Management Database The complexity of modern software landscapes and the dependencies between individual software components and applications make support for landscape planning, monitoring and maintenance, as well as for implementation and upgrades, absolutely indispensable. A description of the system landscape is needed for various SAP Solution Manager applications, such as monitoring and alerting, as well as for calculating updates and upgrades with the Maintenance Planner. The SAP Solution Manager system collects and saves detailed information on the system landscape, for example: ● ● Information about the technical system Details of technical systems that are often used for communication with other systems, such as host names, ports, and clients. © Copyright. All rights reserved. 194 Lesson: Describing Application Lifecycle Management Landscape descriptions are based largely on data that is provided automatically: on the SAP software catalog and the information that the technical systems send automatically via the System Landscape Directory (SLD). The landscape data is often completed manually, based on human decisions. ● ● The System Landscape Directory (SLD) is the central directory for SAP system landscape information that is relevant for software lifecycle management. It contains a description of the current SAP system landscape (that is, which software components are installed on which SAP systems) and a repository of the software components that could theoretically be installed (for example, the software components developed by SAP). As this data is automatically updated, the SLD provides current SAP system landscape information with minimal administrative effort. This makes the SLD the central information provider for SAP (and non-SAP) tools that require this data. The Landscape Management Database (LMDB) in the SAP Solution Manager system lets you centrally display, edit, and create information about technical systems, hosts, and logical component groups. The LMDB collects information about the technical system, including its installed product instances and software component versions. Technical system information is needed for monitoring, for example. Figure 112: Areas of the System Landscape Directory More Information Additional information on SAP Solution Manager is available in the SAP Community Network under the quick linkhttps://www.sap.com/community/topic/solution-manager.htmland under the quick link/solutionmanagerin the SAP Support Portal. © Copyright. All rights reserved. 195 Unit 6: Application Lifecycle Management Specific information on the System Landscape Directory is available in corresponding WIKI System Landscape Directory (SLD) – Overviewon the SAP Community Networkin (https:// wiki.scn.sap.com/wiki/display/SL/System+Landscape+Directory+%28SLD%29++Overview). SAP training courseSM100 – SAP Solution Manager Configuration for Operations describes the different activities, functions, and features that belong to the Operationsarea in SAP Solution Manager and provides information about the basic configuration of SAP Solution Manager. LESSON SUMMARY You should now be able to: ● ● Outline the concept of Application Lifecycle Management Explain the importance of the SAP Solution Manager system and the System Landscape Directory in Application Lifecycle Management © Copyright. All rights reserved. 196 Unit 6 Lesson 2 Implementing Business Processes and Installing SAP Systems LESSON OVERVIEW SAP Software Lifecycle Management can be broken down into different parts: Implementation and installation, operation and monitoring, and maintenance and upgrades. This lesson covers theimplementation and installationphase of an SAP application. The lesson begins with some important considerations that need to be addressed before the actual installation of an SAP system. You then learn about the available installation tools and documentation. Business Example As part of its upgrade to SAP enhancement package 8 for SAP ERP 6.0, your company wants to install additional SAP systems. As a member of the project team, you want to find out about the concepts and tools available for implementing SAP applications. LESSON OBJECTIVES After completing this lesson, you will be able to: ● Describe aspects of the technical implementation of SAP systems and business processes The Role of the SAP Solution Manager System in the Implementation of SAP Business Processes The SAP Solution Manager system gives you central access to tools, methods, documents, and other data that you need to implement SAP business processes. You can make good use of the implementation content, which is delivered with the SAP Solution Manager system and updated regularly, by adapting it for use in your company-specific context. Processes of the SAP Solution Manager System The SAP Solution Manager system provides comprehensive tools for the implementation of business processes (characterized by the lifecycle phases Requirements, Design, and Build & Test in application lifecycle management). These tools include the following: ● Solution Documentation ● Test Management ● Custom Code Management The solution documentation process supports you with the automatic evaluation of business processes in the SAP Solution Manager system. It thus helps you to optimize your business processes. You can analyze the actively used business processes and the use of new applications, for example. The wizard for the solution documentation performs a structurespecific analysis of the business processes, which helps you to prepare for upgrade projects and to evaluate new functions and customer developments. © Copyright. All rights reserved. 197 Unit 6: Application Lifecycle Management Figure 113: Documentation of Business Processes Test management helps you determine the testing scope needed for cross-system business processes, manage the tests centrally, and carry out the tests. Test management involves the phasestest scope identification, test planning, test execution, and change deployment. SAP standard software is developed, comprehensively tested, and documented according to proven standards. The individual applications are integrated with one another. Customers can develop their own applications to enhance the SAP standard software. These custom developments meet special requirements or offer functions that the SAP standard software does not provide yet. However, custom developments do not always meet the quality standards of SAP standard software, they are often not documented sufficiently, and there is no overview for making the number or use of custom developments transparent. The SAP Solution Manager system provides a process that enables you to structure, coordinate, and optimize your custom developments, starting with the current situation. The custom code management process is the central starting point for accessing all the functions you need to generate a comprehensive overview of custom developments. In turn, this enables you to continuously optimize their quantity and quality, as well as the implementation methods, and even the impact of changes on the SAP objects used. Integration between the SAP Solution Manager system and the project management functions of SAP Portfolio and Project Management (SAP PPM) make it possible for you to manage project times, project resources, and status values, for example. SAP Activate With SAP Activate, SAP provides an innovation implementation framework that accelerates the implementation of SAP S/4HANA during the entire customer lifecycle. It features directly executable digitized business and technology processes, guided configuration, and a nextgeneration methodology. This SAP Activate methodology provides an end-to-end approach for any SAP S/4HANA implementation type: cloud, on-premise, hybrid, or mobile. It is scalable and flexible enough for small implementations, but also robust enough for major projects. © Copyright. All rights reserved. 198 Lesson: Implementing Business Processes and Installing SAP Systems ● ● SAP Best Practices packages offer deployable digitized business and technology processes that have been optimized for SAP S/4HANA. They enable you to benefit from SAP’s knowledge and experience with standard processes and concentrate on your innovations. Guided configuration is the content lifecycle management tool for configuring and testing the selectedSAP Best Practices. The SAP Activate methodology consists of the following four phases: 1. Prepare — Initial planning and project preparation 2. Explore — Determine the extent to which your business requirements can be met SAP by Best Practices, conduct solution design workshops, and document and prioritize requirements and open items 3. Realize — Iterative development and testing of the entire solution landscape, based on the requirements and documents from theExplore phase 4. Deploy — Transition to the production environment The project team generates documents and results in each of these phases, which serve as templates for the subsequent phases. Figure 114: SAP Activate - Implementation Methodology for SAP S/4HANA The implementation contents consist of structures for scenarios, processes, and configurations that are predefined for SAP S/4HANA applications. In addition, implementation-relevant utilities are provided in the form of general documentation, preconfigurations, and test cases. After the implementation project is complete, the implemented business scenarios and processes, along with the corresponding SAP system information, is transferred to a customer-specific store (production branch). It is available here for operations and can be used in theOperate phase (and for business process monitoring). © Copyright. All rights reserved. 199 Unit 6: Application Lifecycle Management Note: A branch represents a version of the solution documentation that contains both the processes and the involved systems. Installation Considerations Before you begin with the actual installation of one or more SAP systems, you should first consider several fundamental questions regarding the SAP system architecture. Some of these questions are listed in the figure “SAP Systems Installation Questions” . Figure 115: SAP Systems Installation Questions These questions are discussed in more detail in the remaining part of this lesson. Figure 116: Installation Considerations © Copyright. All rights reserved. 200 Lesson: Implementing Business Processes and Installing SAP Systems Sizing To get an initial idea of what hardware is necessary to operate the SAP system, estimate the hardware requirements of your SAP system (sizing). This includes the required network bandwidth, physical memory, CPU size, and I/O capacity. The size of the hardware and database is influenced by business considerations as well as technical aspects (i.e. the number of users, the applications used, and the data volume caused by these applications on the network). SAP provides its own tool for the initial assessment of the required hardware: Quick the Sizer. Based on questions on the expected number of users, applications, and so on, Quick Sizer determines an SAPS value (SAP Application Performance Standard) which the hardware partner can use to determine a hardware configuration for the SAP system. Hint: For more information about sizing, go to https://www.sap.com/about/ benchmark/sizing.quick-sizer.html. There is also a link directly to theQuick Sizer (tab Quick Sizer). Note that sizing is an ongoing process. You may have to adjust the sizing whenever additional users access the SAP system or new applications are deployed. Supported Platforms The Product Availability Matrix (PAM) provides technical information and release planning information for the individual SAP products and their versions. Using PAM, you can find information about the availability of SAP component releases (product versions), the end of their respective maintenance periods, upgrade paths, and technical release information (such as database platforms, operating systems, and supported languages). Hint: To access the Product Availability Matrix, go to the SAP Support Portal and choose quick link/pam. Load Balancing In SAP systems that have multiple application servers and large numbers of users, the question of how best to distribute the users among the application servers of the SAP system frequently arises. The SAP system provides various mechanisms for load balancing: ● ● ● When logging on with the SAP GUI, the (ABAP) Message Server can distribute individual users to the various application servers when they log on to the SAP system. Since this distribution takes place at the time of the SAP system logon and cannot be changed before logging out, it is known aslogon load balancing . Once a user is logged on to a specific application server under the SAP GUI protocol, the ABAP dispatcher takes care of balancing the individual work processes. HTTP requests received via the Internet Communication Manager (ICM) of an application server are – if the ICM cannot answer the request itself from the cache – forwarded by the © Copyright. All rights reserved. 201 Unit 6: Application Lifecycle Management ICM to the responsible ABAP dispatcher (or a Java server node). In other words, the ICM distributes HTTP requests within an application server to the ABAP (or Java) runtime environment. ● Finally, the SAP Web Dispatcher (or a non-SAP, commercial web switch) – in the demilitarized zone (DMZ) before the SAP system – distributes incoming HTTP requests to the individual application servers of the SAP system according to specified rules. Figure 117: Load Balancing in the SAP System (in an AS ABAP-Based SAP System) High Availability In many cases – especially in the area of intercompany processes – the availability of production systems is crucially important. SAP provides a proven, scalable, multi-tier architecture. The individual elements of this architecture can be protected either by horizontal scalability – that is, the use of multiple components that tolerate the failure of individual components – or by cluster and switchover solutions. All SAP hardware partners provide proven solutions that, together with other hardware and software products, ensure high availability for SAP applications. The following figure emphasizes the single points of failure (SPOF) for an SAP system based on AS ABAP. These are: ● ABAP message server (or Java message server in systems based on AS Java) ● ABAP or Java enqueue (work) process ● Database ● SAP Web Dispatcher (if used) © Copyright. All rights reserved. 202 Lesson: Implementing Business Processes and Installing SAP Systems Figure 118: High Availability – Single Points of Failure in SAP Systems Installation Tools and Utilities Once all architectural considerations have been completed, preparations for the actual installation of the SAP systems (or SAP systems) can begin. We recommend acquainting yourself with the documentation before doing so. Special SAP tools are available for the actual installation and basic configuration. Documentation The figure“Documentation Types”lists different types of documentation that are required for the installation, configuration, and operation of SAP systems. Figure 119: Documentation Types Once you have determined the scenarios that you want to implement and you know your performance requirements (such as the expected number of users or data throughput), you © Copyright. All rights reserved. 203 Unit 6: Application Lifecycle Management can use the Master Guide to get an idea of which building blocks (SAP systems with usage types, for example, or independent engines) you need. You can then use this information to plan the mapping of these building blocks to your SAP system landscape. The Master Guide (for example, Master Guide – SAP ERP 6.0) contains information about the SAP system landscape you need for the scenario you want to implement (such as Procurement and Logistics Execution), along with the required system landscape. Note: In addition to the master guide for the product, there may be another master guide for an SAP Enhancement Package, which provides additional information. Once you have worked your way through the Master Guide, you will know which usage types you should install on which hosts and which SAP system in the SAP system landscape. We recommend working through the Master Guide before you begin the installation. In SAP Enhancement Package 5 for SAP ERP 6.0 and later, there is another guide for technical planning of the implementation of the SAP Business Suite landscape. This guide contains essential information about: ● Building blocks for SAP system landscapes ● Planning the SAP system landscape ● Distribution scenarios and example implementations Hint: The guide is available for example on SAP Help Portal for SAP SCM https:// ( help.sap.com/viewer/p/SAP_SUPPLY_CHAIN_MANAGEMENT ) in area Administration→ Planning Guide – SAP Business Suite Landscape Implementation (<Language>) . You also need the installation guide for the SAP system itself (such as Installation Guide – SAP Enhancement Package 8 for SAP ERP 6.0 – Java and ABAP). The installation guides contain planning information about the software units to be installed (such as settings that need to be made before the actual installation). Hint: For SAP NetWeaver, this documentation is available also at https:// help.sap.com/viewer/nwguidefinder. For the actual work with the installed SAP system, SAP provides documentation for the respective releases. Installation Tools The technical installation of an SAP system is performed with the tool Software Provisioning Manager (SWPM). Depending on which scenario is used, a configuration wizard may also be available to simplify and speed up the configuration. © Copyright. All rights reserved. 204 Lesson: Implementing Business Processes and Installing SAP Systems Note: Software Provisioning Manager 1.0 is the successor to product-specific and release-specific installation tools, such as SAPinst. This tool is part of the Software Logistics Toolset and contains the latest SAPinst version with software provisioning services various products and versions and for all platforms. For more information about the Software Logistics Toolset, go to SAP Support Portal on pagehttps://support.sap.com/en/tools/software-logistics-tools.html (or its successor). Figure 120: SAP Software Provisioning Manager (SWPM) The SWPM installation tool checks the required system prerequisites (Prerequisites Check) and performs the installation. Depending on which usage types are to be installed, a wizard may guide you through the installation process. After you have answered all the questions about the installation, SWPM installs the desired SAP system. The tool also executes the first configuration steps. Addendum: SAP Rapid Deployment Solutions Every department at a modern company wants software that is easy to implement. To cut the costs of the conventional development and implementation process, SAP provides a variety of best practices that can be used instantly. These SAP Rapid Deployment Solutions contain standard software that you integrate in your existing IT landscape and can still be adapted flexibly according to your company’s future requirements. These solutions were designed for customers who attach great importance to the rapid implementation of new software solutions – whether to streamline key business processes or to benefit quickly from the latest SAP innovations. © Copyright. All rights reserved. 205 Unit 6: Application Lifecycle Management Note: More information on SAP Rapid Deployment Solutions and about SAP Best Practices is available in SAP Best Practices Explorerhttps://rapid.sap.com/bp). ( Additional Information Additional information on the topics covered in this lesson is available SAP on Help Portal (http://help.sap.com) andSAP Support Portal(http://support.sap.com) under the following links: ● https://www.sap.com/about/benchmark/sizing.htmlon the subject of sizing ● https://support.sap.com/pam for supported hardware and software versions ● https://help.sap.com/viewer/nwguidefinderfor SAP NetWeaver ● https://support.sap.com/en/tools/software-logistics-tools.htmlfor information about the Software Logistics Toolset The training courseACT100 – SAP Activate Methodologyintroduces theSAP Activate framework and the methods that are needed for the efficient, successful implementation of software solutions in the SAP S/4HANA framework. In addition, in training course E2E600 – SAP Solution Manager 7.2 for SAP S/4HANA Implementations , you can learn how SAP Solution Manager 7.2 helps your business to transition to SAP S/4HANA. LESSON SUMMARY You should now be able to: ● Describe aspects of the technical implementation of SAP systems and business processes © Copyright. All rights reserved. 206 Unit 6 Lesson 3 Describing Business Process Operations LESSON OVERVIEW This lesson introduces the tools that the SAP Solution Manager system provides for your business process operations. LESSON OBJECTIVES After completing this lesson, you will be able to: ● List the tools in the SAP Solution Manager system for Business Process Operations Tools in the SAP Solution Manager System for Business Process Operations The SAP Solution Manager system provides comprehensive functions and tools for the regular operation of business processes (characterized by the Deploy, Operate, and Optimize phases in Application Lifecycle Management). These tools include Tools in the SAP Solution Manager System for Operations (Selection) ● Monitoring Business Processes and Interfaces ● Root Cause Analysis ● Delivery of SAP Services ● Gateway to the SAP Support infrastructure Business process and interface monitoringin the SAP Solution Manager system enables you to identify and solve potential problems before critical situations occur. This helps you to avoid expensive downtimes of systems and business processes while minimizing the risk of data inconsistencies. Graphical illustrations give you an overview of entire business processes. You collect application-specific KPIs automatically. Today’s distributed, multi-technology customer solutions give users multichannel access through various devices and client applications. To analyze the root cause of an incident in such cases, a systematic, top-down approach is required. This approach can be managed using tools that enable the most efficient analysis possible and implement SAP’s proven methods. The objective of root cause analysis is either to solve a given problem completely or, in cases where that is not possible, to localize the problem and find a short-term countermeasure (workaround) to restore service operations as quickly as possible and with minimal interruption for end users. The tools for root cause analysis are designed to minimize the resources required in every step of the solution process. In addition, the infrastructure of the root cause analysis is open for the integration of new SAP technologies, SAP applications, and third-party software. The service delivery enables you to use the different services from SAP for supporting your live operations. You can send a service request to SAP, create your own services locally and edit the requirements accordingly, or accept or reject a service suggested by SAP. The © Copyright. All rights reserved. 207 Unit 6: Application Lifecycle Management session details let you save your own context information for the sessions, assign service sessions directly to projects, and display documents, among other features. The SAP Solution Manager system also serves as the gateway to SAP Active Global Support (SAP AGS) and the SAP Support infrastructure. In turn, SAP AGS can collaborate with many other SAP organizations (such as Development and SAP Consulting) to give customers the right assistance at the right time. Application Example: Application Operations Application Operations in the SAP Solution Manager system includes all the functions for the central monitoring, alerting, analysis, and administration of SAP solutions. The components for application operations offer the following functions: ● ● ● ● ● System and application monitoring : You can monitor the status of complex landscapes and manage alerts with the end-to-end monitoring and alerting infrastructure. An example for system monitoring is shown in the figure below. Technical analyses and dashboards : Interactive, technical analysis functions enable you to run analyses for a wide range of aspects in multiple solutions. The dashboards for application operations give you a quick overview of the availability and performance of the systems you manage. Data volume management : You can monitor the data volume in your system landscape and reduce overall operating costs by reducing the size of your databases and the monthly data growth. Technical administration and guided procedures : Technical administration enables the efficient planning, implementation, execution, and analysis of your daily operating activities. Root cause analysis and exception management : You can analyze the root cause of a message and apply a top-down approach to develop solutions for distributed, multitechnology systems. © Copyright. All rights reserved. 208 Lesson: Describing Business Process Operations Figure 121: Application Example: Graphical System Monitoring Application Example: IT Service Management With IT Service Management, the SAP Solution Manager system provides a central message management and processing instance. It makes it possible for you to contact all the parties involved in a message. This could be all users of your company’s system landscape or solutions, such as employees, customers, consultants, or support staff. The integration between Application Lifecycle Management (ALM) and the SAP Solution Manager system lets you integrate the features of IT Service Management with ALM, as shown in the figure“SAP IT Service Management on the SAP Solution Manager System – Integrated IT Support Processes” . Figure 122: SAP IT Service Management on the SAP Solution Manager System – Integrated IT Support Processes © Copyright. All rights reserved. 209 Unit 6: Application Lifecycle Management When a defined threshold value is exceeded in monitoring, for example, an incident can be generated. The tools of the SAP Solution Manager system (such as root cause analysis) can then be used to fix the incident. Note: Many processes of the SAP Solution Manager system, such as Incident Management, Service Request Management, Problem Management, Change Request Management, and Service Level Management, have been externally certified and are compliant with the IT Infrastructure Library (ITIL) processes. LESSON SUMMARY You should now be able to: ● List the tools in the SAP Solution Manager system for Business Process Operations © Copyright. All rights reserved. 210 Unit 6 Lesson 4 Maintaining SAP systems LESSON OVERVIEW Once SAP systems have been installed and are in productive use, they have to be maintained at regular intervals as part of software lifecycle management. This lesson provides first an overview of the different types of maintenance for SAP systems, followed by an examination of the tools provided by SAP for this purpose. Business Example Your company plans to implement SAP software. As a member of the project team, you want to find out which part of the SAP software can be maintained with the help of which tools. LESSON OBJECTIVES After completing this lesson, you will be able to: ● List tools for maintaining SAP systems Overview One important element of SAP Software Lifecycle Management is the maintenance and updates of SAP systems. A number of different terms are used in the SAP context, depending on the type of maintenance involved. They are delimited from one another – together with the names of the tools used – in the figure “Overview of SAP System Maintenance” . © Copyright. All rights reserved. 211 Unit 6: Application Lifecycle Management Figure 123: Overview of SAP System Maintenance The individual types of changes to the repository and the tools provided for making them are described in detail in the following. This lesson does not cover changes to the runtime environment. Note: Note that maintenance often requires downtime of the SAP system or parts of the system. This downtime must be coordinated between system administrators and the user departments – for example, neither end user jobs should be active in the system during this downtime, nor should data transfers from other systems take place. Software Logistics SAP provides the Change and Transport System (CTS) for software logistics (the transport of changes from the development system to a test system and then to a production system). You can use it to transport both ABAP and non-ABAP applications. ABAP CTS checks and controls changes to Customizing and to repository data made using Implementation Guides (IMG) or the ABAP Workbench. It records changes in transport requests and transports them to downstream systems after they are released. These transports are logged so that it is easy to trace which changes were imported to which SAP systems. The main areas of the CTS are the Transport Organizer(transactionSE09) and the Transport Management System(transactionSTMS). SAP NetWeaver Development Infrastructure (NWDI) and other non-ABAP development environments (for developing SAP NetWeaver Portal content, for example) can be integrated with the CTS. © Copyright. All rights reserved. 212 Lesson: Maintaining SAP systems Hint: For an overview of possible scenarios, along with additional information, go to the SAP Community Network and refer to the document Resources on CTS+ (https://wiki.scn.sap.com/wiki/pages/viewpage.action?pageId=448469096) which can be reached from the SAP Community Software Logistics Wiki (https://wiki.scn.sap.com/wiki/display/SL by choosing Change and Transport System→ Enhanced Change & Transport System (CTS-PLS) ). Note: SAP NetWeaver Development Infrastructure (NWDI), which can be used to develop Java applications, enables the central management and control of source texts in the Design Time Repository, as well as the central administration of the archives for a development project in the Component Build Service. The entire software lifecycle can be managed and controlled using the Change Management Service (CMS), which enables integration with the ABAP-based Change and Transport System. The integrated SAP NetWeaver Developer Studio development environment supports the creation and local building of components. Figure 124: Change and Transport System In addition to the Change and Transport System, the SAP Solution Manager system offers Change Request Management) , which enables central change tracking, supporting customers in making their system landscapes consistent and transparent. This process makes it possible for you to manage your projects end-to-end in the SAP Solution Manager system: from change management and project planning to resource © Copyright. All rights reserved. 213 Unit 6: Application Lifecycle Management management and cost control and from the physical transport of changes from the development environment into the production environment. SAP Note Corrections There are many different reasons for SAP Notes. SAP Notes can provide information of any kind for customers and partners of SAP. However, they often also contain solutions for known problems with an SAP system. SAP Security Notes contain SAP recommendations for strengthening the security of SAP systems. Note: For more information aboutS AP Security Notes, go to the SAP Support Portal at https://support.sap.com/en/my-support/knowledge-base/security-notesnews.html When talking about SAP Notes in this lesson, we refer only to those SAP Notes that contain a solution for an error in the source code of an ABAP program supplied by SAP. These SAP Notes describe how to remove these errors in the SAP system by changing the source code. Always read an SAP Note carefully before you implement it. The SAP Note can contain prerequisites, interactions, and references to preprocessing and postprocessing activities, such as making changes to a table, that you must consider when you implement it. By implementing an SAP Note, you can remove the error it refers to. Implementing an SAP Note manually leads to high costs and is susceptible to errors, because necessary preparations may be overlooked or the person implementing the SAP Note may not realize that the SAP Note is not valid for his or her release. The SAP Note Assistant (transactionSNOTE) is a tool from SAP that enables the automatic implementation of SAP Notes. Automatic implementation of corrections contributes to enhanced quality, because it reduces errors due to manual implementation. © Copyright. All rights reserved. 214 Lesson: Maintaining SAP systems Figure 125: SAP Note Assistant Hint: The SAP Note Assistant cannot implement all error corrections. Note: The SAP Solution Manager system includes the system recommendations app, which helps you manage the SAP Notes that have not yet been implemented or installed in the systems you manage. You can start this app from the SAP Solution Manager Launchpad (transactionSM_WORKCENTER, Change Managementarea). SAP Support Package Stacks Whereas error corrections using SAP Notes are only available for ABAP-based software components and only affect individual programs or development objects, Support Packages always contain a large quantity of error corrections for a specific software component (at a specific release level). SAP Support Packages are available for ABAP- and Java-based software components. The increasing variety of components in a product version makes it necessary to improve the transparency of Support Packages and patches that are implemented and to set clear guidelines regarding recommended or allowed combinations. For this purpose, a new SAP Support Package stack is usually put together for most product versions every three to six months. These stacks contain the current best combination of SAP Support Package versions for the individual software components. This reduces the theoretical range of SAP Support Package combinations to those combinations that are useful in practice. SAP Support © Copyright. All rights reserved. 215 Unit 6: Application Lifecycle Management Package stacks represent combinations of SAP Support Packages stipulated by SAP for the respective product version, and we recommend that you regularly import these. Hint: Special Support Package stacks for the latest product versions are sometimes distributed as Feature Packages, which can also contain new features in addition to error corrections and legal changes. This makes it possible to deploy innovations quickly. The tools used to import the SAP Support Packages depend on the type of SAP Support Package involved. SAP Support Packages for AS ABAP-based software components, for example, can be imported using the Support Package Manager (transaction SPAM). SAP Support Packages for AS Java-based software components are imported using the Software Update Manager (SUM). Note: SAP offers a large number of add-ons to supplement a standard SAP system. They can involve industry solutions, plug-ins, or even customer-specific development projects. To enable the installation and maintenance of these addons directly from the SAP system, the SAP Add-on Installation Tool (transaction code SAINT) was developed. Figure 126: Tools for Importing Support Packages © Copyright. All rights reserved. 216 Lesson: Maintaining SAP systems Hint: Concerning Java-based SAP systems, the Software Update Manager is the successor to the Java Support Package Manager (JSPM). For details, see SAP Note 1589311 – Replacements of outdated tools via SL Toolset . SAP Support Packages are available on the SAP Support Portal. Note: To download SAP Support Package stacks for SAP systems based on SAP NetWeaver 7.0 (and higher), the Maintenance Optimizer in SAP Solution Manager or its successor, the Maintenance Planner, is required. For more information, visit the SAP Community Network under http:// wiki.scn.sap.com/wiki/display/SM/Maintenance+Tools%3A+Maintenance +Planner+and+Maintenance+Optimizer . The Maintenance Planner is available in the SAP Support Portal underhttps://apps.support.sap.com/sap/support/mp/ index.html SAP Enhancement Packages SAP provides a concept for enhancing applications in the SAP Business Suite. This concept is called SAP enhancement packages. The delivery technology for SAP enhancement packages enables SAP to supply new developments and application enhancements to SAP systems, such as your existing SAP ECC 6.0 systems. As a result, you can use the new developments provided by SAP in your own time and according to your specific business process requirements. The new developments and enhancements only become active after you have decided to use these new products, have installed the related technical components, and have activated the relevant business functions in your AS ABAP-based SAP ECC system. Those business processes for which you do not activate any business functions remain unchanged. SAP enhancement packages were shipped for the first time with SAP ERP 6.0 and the concept has been since expanded to all components of the SAP Business Suite, such as SAP CRM systems, and so on. The characteristics of SAP enhancement packages are listed in the figure “The Concept of SAP Enhancement Packages (Example for SAP ECC)” (based on SAP enhancement package 8 for SAP ERP 6.0): © Copyright. All rights reserved. 217 Unit 6: Application Lifecycle Management Figure 127: The Concept of SAP Enhancement Packages (Example for SAP ECC) Hint: For additional information about SAP enhancement packages in the SAP ERP 6.0 environment, go tohttps://www.sap.com/products/enterprise-managementerp.html. Note: SAP Enhancement Package 8 for SAP ERP 6.0 is based on SAP NetWeaver AS 7.50 and is therefore only available as a Unicode version. Accordingly, a Unicodebased system is required as the starting point for importing this enhancement package. As a result, you may have to perform a Unicode conversion before you import the enhancement package. Upgrade An upgrade is the change from an older software version to a newer version. This involves replacing all the repository objects supplied by SAP (programs, table definitions, and so on) and the runtime environment. Hint: In contrast, an update generally involves activities for maintenance or expansion of a system, such as installing an enhancement package, installing add-ons, or importing Support Package stacks. There are many different reasons to upgrade SAP systems, but they can be divided roughly into three areas. This is why we also differentiate between three different upgrade procedures: © Copyright. All rights reserved. 218 Lesson: Maintaining SAP systems ● ● ● Technical upgradesfocus upgrades solely on the required future compatibility of the existing SAP application and no reducing risks. Functional upgradesinvolve upgrades limited functional enhancements and reduce the total cost of ownership (TCO), in which SAP modifications are returned to the standard version, for example. Strategic upgradesalso upgrades include intra-enterprise structural change and implementing new strategic business processes as part of an SAP upgrade's project scope. Depending on the type of upgrade, the associated upgrade project also has varying degrees of scope. SAP offers you tailored upgrade services, tools, and content that offer effective support for the major challenges involved in deciding on an upgrade and during the planning and execution of an upgrade project. From a technical perspective, the upgrade is performed by the Software Update Manager (SUM). Note: The Software Update Manager integrates the tools SAPUp (for ABAP-based systems) and SAPJup (for Java-based systems). For details, see SAP Note 1589311 – Replacements of outdated tools via SL Toolset . Figure 128: Software Update Manager The SAP Solution Manager system supports the preparation, structuring, and execution of upgrade projects. It provides a portfolio of procedures, tools, and services that simplify the upgrading of SAP systems. In addition to this, the SAP Solution Manager system also © Copyright. All rights reserved. 219 Unit 6: Application Lifecycle Management provides documentation options for all project-related information, configuration support, and test management, among other things. Hint: For more information on upgrades, see the SAP Support Portal: https:// support.sap.com/en/release-upgrade-maintenance/upgrade-information.html . Migrating to SAP S/4HANA Once you have decided to implement SAP S/4HANA, your exact path to SAP S/4HANA depends on various factors. One of these factors is your current system landscape: For example, you might already be using SAP Business Suite on SAP HANA, you might be a new SAP customer, or you could already have a complex, organically grown SAP landscape that you want to simplify and transform. These three scenarios are shown in the figure “Migrating to SAP S/4HANA”. Figure 129: Migrating to SAP S/4HANA ● ● ● In the new implementation scenario, you are installing a new SAP S/4HANA system and migrating the data that you previously managed in a non-SAP solution. In the system conversion scenario, you already use SAP Business Suite on SAP HANA or on a different database and you are converting your existing SAP System to an SAP S/ 4HANA system. Finally, in the landscape transformation scenario, the requirements are more complex. You may want to use SAP S/4HANA as your central financials system, for example, or move © Copyright. All rights reserved. 220 Lesson: Maintaining SAP systems other selected applications to SAP S/4HANA. Or you might want to simplify your system landscape by consolidating different business systems in a new SAP S/4HANA system. Software Logistics Toolset You use the software logistics tools and processes to manage the system landscape in all phases of the lifecycle. In addition to the initial implementation of an application, the tools support ongoing system optimization and adaptation to changed requirements, as well as the implementation of new features. Until the end of 2010, SAP application projects were shipped together with release-specific software logistics (SL) tools. To provide the latest software logistics tools for releases of SAP application products, an independent delivery channel for the software logistics tools was established in 2011 under the name Software Logistics Toolset (SL Toolset). They enable customers to benefit from regular improvements to the SL tools. Current, downward compatible software logistics tools help to achieve a standard user experience across all supported product releases and reduce total operating costs. For more information about these tools, see https://support.sap.com/en/tools/softwarelogistics-tools.html. More Information More information on the topics covered in this lesson is available SAP on Support Portal (http://support.sap.com), under the following links: ● ● ● Quick link /notes for the SAP Notesdatabase Link https://support.sap.com/en/my-support/knowledge-base/security-notesnews.html for SAP Notesthat strengthen the security of the SAP systems Link https://support.sap.com/en/tools/software-logistics-tools.htmlfor the Software Logistics Toolset In addition to this, selected topics from this lesson are also covered in the following additional courses: ● ADM100: System Administration I for SAP S/4HANA and SAP Business Suite ● ADM800: AS Java – Administration ● ADM328: SAP S/4HANA Conversion and SAP System Upgrade LESSON SUMMARY You should now be able to: ● List tools for maintaining SAP systems © Copyright. All rights reserved. 221 Unit 6 Learning Assessment 1. Which SAP tools support you in your application lifecycle management tasks? Choose the correct answers. X A SAP Solution Manager X B Transaction S_LIFECYCLE in any AS ABAP-based SAP system X C System Landscape Directory (SLD) X D SAP Advanced Landscape Optimizer (SAP ALO) X E SAP Landscape Planning Tool - Version 1 (LPT1) 2. Which of the following statements about load balancing in SAP systems are correct? Choose the correct answers. X A The Internet Communication Manager (ICM) distributes HTTP requests to all available application servers on your SAP system. X B The ABAP Message Server can distribute requests to all available application servers during logon with the SAP GUI. X C The ABAP dispatcher distributes user requests to the work processes of the present application server. X D The SAP Web Dispatcher can distribute HTTP requests to different application servers of an SAP system in succession. 3. Which tools does the SAP Solution Manager system provide for the operation of business processes? Choose the correct answers. X A Root Cause Analysis X B IT Service Management X C Quick Sizer © Copyright. All rights reserved. 222 Unit 6: Learning Assessment 4. Which statements about SAP Support Packages and SAP enhancement packages are correct? Choose the correct answers. X A SAP Support Packages contain error corrections and legal changes. X B Importing SAP Support Packages is a purely voluntary measure. X C SAP enhancement packages are cumulative. X D SAP enhancement packages can add new functions to the SAP system. © Copyright. All rights reserved. 223 Unit 6 Learning Assessment - Answers 1. Which SAP tools support you in your application lifecycle management tasks? Choose the correct answers. X A SAP Solution Manager X B Transaction S_LIFECYCLE in any AS ABAP-based SAP system X C System Landscape Directory (SLD) X D SAP Advanced Landscape Optimizer (SAP ALO) X E SAP Landscape Planning Tool - Version 1 (LPT1) SAP Solution Managera nd the System Landscape Directoryare important tools in the application lifecycle management context. The other terms are made-up names; transactionS_LIFECYCLE is also fictitious. 2. Which of the following statements about load balancing in SAP systems are correct? Choose the correct answers. X A The Internet Communication Manager (ICM) distributes HTTP requests to all available application servers on your SAP system. X B The ABAP Message Server can distribute requests to all available application servers during logon with the SAP GUI. X C The ABAP dispatcher distributes user requests to the work processes of the present application server. X D The SAP Web Dispatcher can distribute HTTP requests to different application servers of an SAP system in succession. The Internet Communication Manager(ICM) of an application server instance can only forward HTTP requests to the processes in its own application servers. If load balancing is desired for HTTP requests, theSAP Web Dispatchercan be installed on a computer in the demilitarized zone (DMZ) and be connected to one ore more SAP system(s). © Copyright. All rights reserved. 224 Unit 6: Learning Assessment - Answers 3. Which tools does the SAP Solution Manager system provide for the operation of business processes? Choose the correct answers. X A Root Cause Analysis X B IT Service Management X C Quick Sizer Root Cause Analysis and IT Service Management are tools provided by the SAP Solution Manager system. The Quick Sizer tool is available outside the SAP system. 4. Which statements about SAP Support Packages and SAP enhancement packages are correct? Choose the correct answers. X A SAP Support Packages contain error corrections and legal changes. X B Importing SAP Support Packages is a purely voluntary measure. X C SAP enhancement packages are cumulative. X D SAP enhancement packages can add new functions to the SAP system. SAP Support Packages contain error corrections and legal changes. SAP recommends importing SAP Support Packages in the form of Support Package stacks. Imports of SAP Support Packages are not entirely voluntary, due to the need to implement legal changes in the SAP system. SAP enhancement packages can change business processes and may add new functions to the SAP system. © Copyright. All rights reserved. 225 UNIT 7 SAP Portfolio Overview Lesson 1 Explaining the Role of SAP NetWeaver 227 Lesson 2 Describing the SAP Software Portfolio 232 Lesson 3 Describing the SAP Release Strategy 259 UNIT OBJECTIVES ● Explain the basic concept of SAP NetWeaver ● Describe the central role played by the SAP NetWeaver Application Server ● List the key components of the SAP solutions ● Describe the SAP software delivery process © Copyright. All rights reserved. 226 Unit 7 Lesson 1 Explaining the Role of SAP NetWeaver LESSON OVERVIEW This lesson explains the central role of the SAP NetWeaver Application Server in SAP NetWeaver. Business Example You want to find out more about SAP NetWeaver and the role that the SAP NetWeaver Application Server (SAP NetWeaver AS) plays in SAP NetWeaver. LESSON OBJECTIVES After completing this lesson, you will be able to: ● Explain the basic concept of SAP NetWeaver ● Describe the central role played by the SAP NetWeaver Application Server SAP NetWeaver The SAP NetWeaver technology platform is a reliable, secure, scalable foundation for running business applications like the SAP S/4HANA and SAP Business Suite and ensures that large companies can execute success-critical business processes. As the technical foundation for a service-oriented architecture, SAP NetWeaver provides a comprehensive set of middleware functions in a modular software environment that aims to reduce IT complexity and boost enterprise flexibility across heterogeneous IT landscapes. With standardized lifecycle management, identity management, secure communications, and end-to-end monitoring, SAP NetWeaver offers IT companies the lowest operating costs and best enterprise availability for SAP applications in heterogeneous IT landscapes. SAP NetWeaver gives customers flexible options for integrating and enhancing the business processes that involve applications from SAP, certified SAP partners, and custom applications, by providing predefined content and services that can be implemented quickly, thanks to model-based tools. Support for business process management enables you to check mission-critical business processes for efficiency, integrity, and security. Users can also use SAP NetWeaver to define business roles, thus ensuring consistent processes in the entire enterprise network. SAP NetWeaver integrates and connects people, information, and business processes across technologies and organizational boundaries. As a result, companies can respond to changes quickly. With SAP NetWeaver, a company’s decisive business processes become reliable, secure, and scalable. Furthermore, SAP NetWeaver enables companies to maximize the benefits from the current software and systems. Non-uniform integration technologies are consolidated and predefined business content is provided thus reducing the amount of manual work required. SAP NetWeaver builds on industry standard technology and can be enhanced with common development tools. © Copyright. All rights reserved. 227 Unit 7: SAP Portfolio Overview IT Practices and IT Scenarios Figure 130: SAP NetWeaver: Technology Map SAP NetWeaver enables you to implement IT processes in a range of solution methods, called IT practices. For each practice, SAP NetWeaver supports a range of important IT activities, which can be performed using the integrated components of the platform. The focus here is not on system and technological components but on the IT and business goals of the company. IT practices enable you to reach your company's goals in individual and manageable projects, that is, sequentially and according to their importance. IT practices refer to, for example, the increase of user productivity through improved, cross-company collaboration, personalized access to applications and data and optimized knowledge management. IT practices show how SAP NetWeaver can be used to solve certain IT problems by means ofIT scenarios. scenarios For each IT practice, SAP NetWeaver supplies corresponding IT scenarios, which serve as implementation guides. © Copyright. All rights reserved. 228 Lesson: Explaining the Role of SAP NetWeaver Layers and Uses of SAP NetWeaver Figure 131: SAP NetWeaver: Uses SAP Enterprise Portal Combines important information and applications and offers role-based, enterprise-wide views that enable you to extract the full value from your information resources. With its collaboration functions, SAP NetWeaver enables communication and collaboration in the portal. In turn, this enables SAP NetWeaver to bring the members of project groups together independently of time or geographic location. Users can access virtual rooms where they can process and organize documents, applications, and ideas together. With its knowledge management functions, the SAP NetWeaver Portal provides a central, role-specific starting point for unstructured information from a wide range of data sources. This unstructured information can be saved in different formats, such as text documents, presentations, or HTML files. Web Dynpro Web Dynpro (WD) is a technology for creating web-based applications for SAP systems. There are Java and ABAP versions of Web Dynpro. Web Dynpro for ABAP is particularly important for new developments. Web Dynpro for ABAP integrates seamlessly in existing SAP systems. You can also use the classic ALV grid (ALV=ABAP List Viewer) and wizards to generate often-used coding excerpts. SAPUI5 The SAP UI Development Toolkit for HTML5 (SAPUI5) is a user interface technology that enables you to set up and modify client applications. The SAPUI5 runtime is a client-side HTML5 rendering library that provides a set of standard and enhancement controls, along with a lightweight programming model. You can enhance these controls and © Copyright. All rights reserved. 229 Unit 7: SAP Portfolio Overview develop your own custom controls. SAPUI5 provides comprehensive functions for creating and enhancing state-of-the-art user interfaces. SAP Process Orchestration Provides an SOA-based technology that supports process-oriented integration in the extended value chain. The Integration Broker sends integration knowledge in the form of predefined integration scenarios. It also provides a set of integrated tools for creating and managing all integration-relevant information. It provides tools that let you adapt, execute, and monitor business processes based on consistent, end-to-end process models. SAP Business Warehouse Enables you to integrate data from your entire company and convert it into practical, contemporary enterprise information to promote sound decision-making. AS ABAP The SAP NetWeaver Application Server ABAP offers a full development infrastructure that enables the development, distribution, and execution of robust, platformindependent, scalable web services and enterprise applications. ABAP is a programming language created by SAP for the development of enterprise applications. AS Java Support for Java Platform, Enterprise Edition for the development of Java-based enterprise applications. SAP Lifecycle Management SAP Lifecycle Management supports design, development, deployment, and change management of the entire solution and thus meets the requirements in the security, design and modeling, testing and systems environment management areas. SAP Gateway SAP Gateway is located between SAP systems and the outside world, thus making data from the SAP systems available externally. SAP Gateway uses the Open Data (OData) protocol for communications between applications and the SAP system. OData is developed by Microsoft and is an extension of the Atom Publishing and Atom Syndication Standards, which in turn are based on XML (Extensible Markup Language) and HTTP(S) (Hypertext Transfer Protocol (Secure)). With this extension, OData provides database like access to server-side resources. SAP Fiori SAP Fiori lets you link people with processes, because SAP Fiori provides a pleasant, consistent, coherent view. SAP Fiori runs on a wide variety of devices, to get work done quickly and efficiently. As a key component of the SAP user experience (UX) strategy, the new version of SAP Fiori has been enhanced to offer additional business areas and a wider spectrum of roles, to capture the full benefits of a simple, modern user experience. It focuses on creating an exciting user experience, to make it faster and easier for people to process complete core business tasks for HR, finances, manufacturing, procurement, sales, and supply chain across multiple devices – desktops, tablet PCs, and smartphones. SAP HANA or AnyDB © Copyright. All rights reserved. 230 Lesson: Explaining the Role of SAP NetWeaver SAP NetWeaver Application Server supports a number of different databases and operating systems – particularly the SAP HANA database for fast, real-time access to large datasets. Related Information ● http://www.sap.com/netweaver ● SAP Community ● SAP NetWeaver at a Glancein the SAP Community, quick link /docs/DOC-8287 LESSON SUMMARY You should now be able to: ● Explain the basic concept of SAP NetWeaver ● Describe the central role played by the SAP NetWeaver Application Server © Copyright. All rights reserved. 231 Unit 7 Lesson 2 Describing the SAP Software Portfolio LESSON OVERVIEW This unit provides an introduction to the structure of SAP software solutions, with the SAP Business Suite at its core. Business Example Your company plans to implement SAP software. You, as a member of the project team, need an overview of the entire SAP portfolio. LESSON OBJECTIVES After completing this lesson, you will be able to: ● List the key components of the SAP solutions SAP Strategy at a Glance As the market leader for enterprise software, SAP SE helps companies of every size and in every industry to run their businesses profitably, adapt continuously, and grow sustainable. From back office to boardroom, from warehouse to shelves, from desktop to mobile device – SAP helps people and organizations collaborate more efficiently and use business information more effectively. The SAP business goal is to generate direct value for organizations and individuals worldwide. SAP plans to expand its solution portfolio with innovations for everyone who needs information technology every day, at work and in their day-to-day lives, while ensuring the maximum possible consistency of data, processes, and applications. SAP concentrates on the key areas shown in the figure “SAP Market Categories”. © Copyright. All rights reserved. 232 Lesson: Describing the SAP Software Portfolio Figure 132: SAP Market Categories The growth strategy of SAP concentrates on expanding our product portfolio in five market categories: Applications, analytics, mobile solutions, databases and technology, and cloud solutions. SAP is at the leading edge of structural change in the IT sector, which is seeing a shift in demand from hardware to software innovations. Trends in the areas of big data, cloud computing, mobile solutions, and social networks open up enormous market opportunities for SAP. Together with its partner ecosystem, SAP helps its customers to improve their business experiences significantly by deploying new technologies. Companies in all market categories benefit from the in-memory technology of the SAP HANA platform. The objective of the growth strategy is to expand SAP’s leading position as market leader in the existing market categories of applications, analytics, and mobile solutions and assume a leading position in new categories such as cloud solutions and databases and technology. Note: You can use the filter functions at the SAP Newsroom: http://www.newssap.com, to find the latest press releases on a wide variety of topics involving SAP and its products. Applications SAP solutions let you design efficient, lean business processes. This helps you cut operating costs, gain access to current, complete information, and respond quickly to changing market conditions. You can improve collaboration and communication in your entire network of suppliers, partners, subsidiaries, and customers and make your customers’ needs more transparent. You drive the growth of your company – using tools that let you respond flexibly and make competent decisions. For an overview of the solutions available from SAP, see: https://www.sap.com/products/technology-platforms/enterprise-app-integration.html . © Copyright. All rights reserved. 233 Unit 7: SAP Portfolio Overview Analytics The analytics solutions from SAP give you real-time access to all important information and can process huge amounts of data very quickly (keyword: big data). data As a result, you always have all the facts on the table and can make well-founded decisions. Note: The pagehttps://www.sap.com/products/analytics.html contains a great deal of additional information about business analytics. SAP also offers many other interesting tools for the analysis and presentation of enterprise KPIs, particularly since its acquisition ofBusinessObjects. BusinessObjects For more details, see:https:// www.sap.com/products/analytics/business-intelligence-bi.html Mobile SAP software provides mobile access to business data and applications at any time and any place. SAP Afaria enables secure mobile access from any device to any operating system. With its acquisition of Sybase, SAP has made decisive progress in the area of mobile apps. For more information about these solutions, see: https://www.sap.com/trends/mobiletechnology.html. Database No matter what challenges you face, (whether large datasets, real-time analytics, or extreme transaction processing,) the comprehensive portfolio of database solutions can support you in managing mission-critical data with scalability and unparalleled performance. The database management systems have been designed to work seamlessly with SAP, third party, and custom applications, enabling you to make better decisions and improve your operating efficiency. The new SAP Real-Time Data Platform is a comprehensive portfolio of independent applications, including specialized databases for various use cases. SAP now has numerous database technologies in its portfolio, not only for running conventional SAP systems with the SAP MaxDB and SAP Adaptive Server Enterprise (SAP ASE) databases and the new database technology used by SAP HANA, but also special database solutions such as SAP IQ and the SAP Replication Server. For an overview of these solutions, see:https://www.sap.com/products/technology-platforms/databasemanagement-system.html#allsoftwaresolutions . For more information about SAP MaxDB, see: https://www.sap.com/community. Cloud Whether you want to implement new applications or expand your IT infrastructure: With SAP cloud solutions, you only pay for what you really need – and can adapt your company to new requirements flexibly, at any time. Visithttps://cloudplatform.sap.com/index.htmlfor more information about products that help you make certain processes and functions available on demand. One example is the Business execution (BizX) from SAP SuccessFactors. For details, seehttps://www.successfactors.com/en_us.html. No matter what size your company has, you can combine leading industry cloud-based applications with the world’s largest business community, to make contacts, and collaborate in a global network of partners. With the Ariba Network, you can contact your business partners – anywhere and any time – for smarter procurement, faster sales, and more efficient, effective cash management than ever before. Companies around the world trust the Ariba Network to make B2B commerce more effective and more profitable. © Copyright. All rights reserved. 234 Lesson: Describing the SAP Software Portfolio Visit https://www.ariba.com to find more information about the new solutions that SAP can offer since its acquisition of Ariba. Something for Companies of All Sizes SAP offers a vast range of products for companies of all sizes. SAP has scalable products, ensuring that they can be adjusted to any size and adaptable to the continuously changing processes of a company. The figure“Different Sizes – Different Products” shows the offers available to small and midsize (SME) business customers. Figure 133: Different Sizes – Different Products SAP Business One SAP Business One is a comprehensive, integrated ERP application with an interface similar to Windows, which has been developed specifically for small and midsize companies. It distinguishes itself by simple navigation and expansion options, innovative Drag&Relate functions, and integration with Microsoft Word and Excel. The software enables you to uniformly manage the most important business areas such as sales, distribution, and finances with one single, integrated application. This enables SAP Business One to provide an up-to-date overview of your company’s most important data at any time. This information helps you meet customer requirements even quicker, an important prerequisite for profitable growth. SAP Business One is the ideal solution for small companies with up to 100 employees that are looking for an affordable system that covers their core processes (such as finance, sales, customer service, and operations), thus ensuring successful and profitable operations. The solution can be used as local software or hosted by a partner – usually with an implementation time of less than two months. SAP Business One is sold exclusively through a global partner network of currently 1,150 certified and experienced partners. They offer 24hour support, which also covers the more than 550 enhancements from independent software providers. SAP Business One is currently being used by more than 20,000 customers in over 40 countries. © Copyright. All rights reserved. 235 Unit 7: SAP Portfolio Overview Hint: For more information, see:https://www.sap.com/uk/products/erp/smallbusiness-erp.html. SAP Business ByDesign SAP Business ByDesign is SAP's latest solution for small and midsize companies with between 100 and 500 employees, which want to use an on-demand solution to improve their core processes and at the same time benefit from lower entry and operating costs. It is aimed, in particular, at midmarket companies that are not yet using any integrated business software. The solution combines the advantages of an integrated, end-to-end application with the low risk potential and the low total operating costs of an on-demand solution. An on-demand solution that distinguishes itself through integrated service and support, adaptability and more user friendliness and also guarantees transparency and the observation of legal requirements - all this on the basis of an Enterprise SOA by design. SAP Business ByDesign the most complete, fully integrated on-demand solution. More than a pure niche solution, it supports the requirements of midsize companies in all areas such as effective management of finances, human resources, projects, production as well as supplier and customer relationship management as well as regional and local legal requirements and compliance management as core design principles. It was not developed with the traditional categories of business applications, customer relationship management, or others. Instead, it has been developed for business processes in the entire company, with user interfaces that are customized to the user roles. SAP Business ByDesign offers end-to-end processes for the work center of the future. Hint: For more information, seehttps://www.sap.com/products/erp/midsizecompanies.html. SAP Business All-in-One All software has to be adapted to the specific company. A midsize company with few employees and comparatively stable processes can use preconfigured SAP systems. SAP Business All-in-One is the brand name for vertical (industry-specific or country-specific) applications that are based on the technology of SAP NetWeaver and were developed in conjunction with SAP's partners. SAP Business All-in-One is the ideal solution for small and midsize companies (up to 2,500 employees) with very industry-specific requirements who have several divisions and a mature IT infrastructure. The software package allows the use of the key functions Enterprise Resource Planning (ERP), Customer Relationship Management (CRM), and Business Intelligence. You can also use the best practices of the industry leaders – and all at a reasonable fixed price, on a platform that grows with your business. The solution can be used as local software or hosted by a partner and is based on a variety of SAP products (with a focus on SAP ERP, SAP CRM, and the SAP BusinessObjects portfolio). It provides an industry-specific function portfolio based on SAP Best Practices. SAP Business All-in-One is affordable and can be planned and thanks to preconfigured business scenarios and implementation accelerators it can be implemented swiftly (8 to 16 weeks). © Copyright. All rights reserved. 236 Lesson: Describing the SAP Software Portfolio More than 13,000 small and midsize businesses in more than 50 countries currently use SAP Business All-in-One. They can rest assured that SAP, as one of the world’s leading vendors of enterprise software, will be on the market for a long time to come. More than 1,000 SAP partners worldwide offer local support for the implementation and customizing of SAP Business All-in-One. As a result, you can get expert assistance no matter where you are. Hint: For more information, seehttp://www.sap.com/germany/solution/sme/ software/erp/all-in-one/index.html . Profile of the SAP Solution for SMEs The following table shows a comparison of the SAP offerings for small and midsize companies: Table 7: SAP Offerings for Small and Midsize Enterprises SAP Business One Overview SAP Business ByDesign SAP Business All-inOne A single, integrated ap- A single, integrated A comprehensive, inteplication for managing software solution, deliv- grated industry solution your whole business ered as a “software as a to boost the performservice” (SaaS) ance of a business across the board Best suited for Have grown out of their companies software suite, which that... focuses only on accounting, and have to replace several non-integrated applications Have to replace specific solutions, manual processes, and spreadsheets Have grown out of specific solutions, legacy or custom applications, or their current ERP software Have current solutions, but ones that may not meet industry-specific requirements or support cross-border transactions Are facing increasing complexity of their business processes and need systems that can be adapted to growth plans Company size Up to 100 100-500 Availability Available in 40 countries, 20 languages Available in the U.S., Available in 50 counGermany, France, Great tries Britain, China and India IT staff and skills Limited or outsourced IT resources Limited or outsourced IT resources © Copyright. All rights reserved. Up to 2,500 In-house IT staff 237 Unit 7: SAP Portfolio Overview SAP Business One SAP Business ByDesign SAP Business All-inOne Operating model On premise or hosted by partner On demand On premise or hosted by partner Implementation time Approx. 6-8 weeks Approx. 4-8 weeks Approx. 8-16 weeks SAP Business Suite The SAP Business Suite is an extended family of business applications that enables companies to manage their entire value chains. The included business applications provide users with consistent results throughout the entire company network and give your company the flexibility it needs in today's dynamic market situations. The application consists of a number of different products that support cross-company processes. The SAP software portfolio is constantly extended, optimized, and tailored to the needs of the market and of customers. SAP has therefore, for example, developed many industry-specific applications over the years. The topic of integrating different business systems (even from different vendors and across company boundaries) has become increasingly important recently. Products for small to midsize businesses have also been added to SAP's family of software solutions. The SAP Business Suite, a complete business software package that is unique worldwide, plays a central role. Many companies are already profiting from the comprehensive and flexible business applications with highly evolved functions: complete integration, industrytypical functions, unlimited scalability and smooth collaboration via the internet. The SAP Business Suite provides: SAP Business Suite: Functional Scope ● ● An extensive spectrum of business solutions A technological infrastructure that combines openness and flexibility with maturity and stability ● Interfaces for integrating non-SAP products ● Components that can adapt to the individual needs of a company ● Numerous industry-specific functions The figure“SAP Business Suite powered by SAP HANA” illustrates the key components of the SAP Business Suite: © Copyright. All rights reserved. 238 Lesson: Describing the SAP Software Portfolio Figure 134: SAP Business Suite powered by SAP HANA The components that comprise the SAP Business Suite are described in the following sections. Core Applications The core applications of the SAP Business Suite comprise of various business applications that support all basic business processes at a company. They are summarized as follows: SAP ERP This solution is a market-leading solution for optimizing business processes in your enterprise and optimizing your IT landscape by reducing IT complexity, increasing adaptability, and delivering greater IT value at a lower price than other Enterprise Resource Planning (ERP) solutions. The application supports business-critical, integrated business processes for financials, human capital management, asset management, sales and distribution, purchasing and other important business functions. SAP ERP also supports industry-specific processes, because it includes industry-specific business functions that can be selectively activated via the Switch Framework and keep the application core stable, while helping maximize performance. SAP Customer Relationship Management (SAP CRM) This solution offers marketing, sales, and customer service employees a comprehensive platform for complete customer intelligence, which can be used to effectively manage customers and customer-related processes. SAP CRM permits customer interaction via multiple channels, including smartphones, the Internet and social media, and also offers a dedicated communication infrastructure that can be used to connect up all users at any time, any place. SAP Supply Chain Management (SAP SCM) This solution enables enterprises to adapt their supply chain processes in line with a constantly changing competitive environment. SAP SCM converts conventional supply © Copyright. All rights reserved. 239 Unit 7: SAP Portfolio Overview changes from linear, sequential processes into configurable, and open supply networks in which customer-oriented, demand-driven companies identify the dynamics of supply and demand more intelligently and quickly in a globally distributed environment and can respond to these. SAP Supplier Relationship Management (SAP SRM) This solution provides a procurement platform that helps organizations in all industries improve their centralized sourcing and contract management and enables them to interact with suppliers through multiple channels. SAP SRM accelerates and optimizes the complete, end-to-end procurement process by supporting integrated processes and ensuring contract compliance, which leads to viable savings. SAP Product Lifecycle Management (SAP PLM) This solution helps enterprises to manage, track and control all product-related information, both during the product and asset life cycle and in the extended supply chain. SAP PLM promotes creativity and frees the product innovation process from organizational restrictions. Industry Solutions SAP serves the requirements of specific business processes in many industries by supplementing the basic business processes that apply to all major companies. Support for these industry-specific processes is provided as part of SAP ERP or as a separate industry application (such as SAP Dealer Business Management or SAP Reinsurance Management) that is integrated with the other solutions of the SAP Business Suite. The architecture and the business functions of the industry applications are the result of SAP’s profound understanding of the industry-specific requirements and the resulting business processes. SAP industry portfolios are continually expanded through the addition of new applications that meet the highly specialized business demands of the customers in the target markets. The following list outlines the industry portfolio: ● Automotive industry ● Banks ● Construction industry, engineering, construction and operations ● Mining ● Chemicals industry ● Service industry ● Healthcare ● Wholesale ● Retail ● High tech and electronics ● Universities and research institutions ● Internal and external security ● Consumer goods ● Life sciences © Copyright. All rights reserved. 240 Lesson: Describing the SAP Software Portfolio ● Aerospace ● Mechanical engineering ● Media ● Metal, wood, and paper industry ● Public sector ● Oil and gas industry ● Sports and entertainment ● Telecommunications ● Transportation and logistics ● Insurance ● Utilities industry Add-Ons Add-ons contain applications that provide specialized business processes that are typically used in many industries. They offer short break-even times, are attractive for specialized business users, and offer high process flexibility. Examples of add-ons include manufacturing applications, SAP solutions for auto ID and serialization of products, and applications for mobile business. SAP NetWeaver The SAP NetWeaver technology platform is a reliable, secure, scalable foundation for running enterprise applications such as SAP Business Suite and SAP BusinessObjects, to ensure that large companies can run their mission-critical business processes. As the technical foundation for a service-oriented architecture, SAP NetWeaver provides several comprehensive middleware functions in a modular software environment that aims to reduce IT complexity and boost enterprise flexibility across heterogeneous IT landscapes. SAP NetWeaver offers IT companies the lowest operating costs and the best business availability for SAP applications in heterogeneous IT landscapes through standardized lifecycle management, identity management, secure communication, and comprehensive monitoring. Enhancement Packages Enhancement packages for trouble-free innovation: SAP uses a proven method for the smooth implement of innovations for SAP Business Suite and SAP NetWeaver. They come in the form of enhancement packages, which contain collections of new or improved business functions and which companies can apply in a modular structure, on their own schedule. The strategy of enhancement packages – offering companies the benefits of ongoing innovation combined with the stability of the core software – was introduced with the SAP ERP solution in 2006 and has proven itself in many enhancement packages since then. Enhancement packages now make permanent innovation possible in all core applications of the SAP Business Suite. SAP plans to continue offering enhancement packages for the core applications, minimizing the need for companies to get involved in expensive upgrade projects. SAP HANA Analyze extensive datasets in seconds – for instant enterprise insights, faster reaction times, and a decisive market advantage. In-memory computing by SAP is based on a new generation of hardware and software and enables your company to act in real time on all matters. You © Copyright. All rights reserved. 241 Unit 7: SAP Portfolio Overview can seize new opportunities without delay, promote innovations, and streamline your workflows. SAP HANA unifies several innovative approaches in a single product. Fundamentals of SAP HANA In-memory computing In-memory computing means that you have large amounts of data, in particular, available quickly – several orders of magnitude faster than comparable access from magnetic hard drives or even RAID arrays of solid-state disks. In-memory is faster. Column-based data store enables data compression With its column-based data store (compared to row-based storage in conventional database systems), significant compression factors for data retention can be possible. In turn, special read accesses speed up data access greatly. Where do calculations take place? While classically designed applications have to spend valuable CPU time sorting and aggregating datasets, this part of the work can be carried out during the data access (in the (SAP HANA) database) with a very low effort – with properly optimized programs. New applications SAP HANA not only makes it possible to build faster interactive applications; it also makes scenarios possible that would be practically unachievable otherwise, due to their access times and computing times. Success stories are available here: http:// www.saphana.com. SAP Business Suite on SAP HANA With the SAP Business Suite on SAP HANAhttp://www.suiteonhana.com) ( SAP provides software that not only captures the benefits of the new technical features in SAP HANA; many components have also already been optimized for use on SAP HANA. Note: The important thing is that SAP HANA is a true game-changer in the analysis of large data sets, for example, for business process analytics. During the transaction-based use of an SAP system in conventional operation (that is, NOT new applications; see the previous list), an SAP ERP system (for example) running on a classic database can also achieve outstanding response times, with only a small portion of them caused by database access. Therefore, SAP HANA’s true value appears when you want to analyze huge amounts of data in real time or use new applications. SAP HANA is a business data platform that processes transactions and analytics at the same time on any data type, with built-in advanced analytics and multi-model data processing engines that can be leveraged to develop next-generation applications for the intelligent enterprise. Transform Database Management: Simplify operations using a single copy of enterprise data and a secure modern data platform. Beginning with SAP NetWeaver 7.4, SAP NetWeaver is optimized for SAP HANA. While it also continues to support all previous databases, SAP NetWeaver has been optimized to support SAP HANA. AS ABAP has been optimized for SAP HANA and is the foundation for the SAP Business Suite Powered by SAP HANA and SAP Business Information Warehouse Powered by © Copyright. All rights reserved. 242 Lesson: Describing the SAP Software Portfolio SAP HANA. As such, it also plays an important role in the SAP HANA Enterprise Cloud solution. In addition, AS Java-based SAP systems also run on SAP HANA, such as AS Java, SAP Enterprise Portal, SAP BPM, and SAP Process Integration. With the SAP technology platform now focused on SAP HANA, SAP NetWeaver and its applications like SAP Business Warehouse (SAP BW), SAP Gateway, and SAP Enterprise Portal play an important role in the transformation of existing customer landscapes. SAP NetWeaver serves as the foundation for the SAP Business Suite, as well as an integration platform, with its usage types like SAP Enterprise Portal, SAP BW, SAP Business Process Management (SAP BPM) and SAP Process Integration. SAP NetWeaver also simplifies the development of modern, browser-based, and mobile applications, thanks to its integrated UI Development Toolkit for HTML5 (SAP’s adaptation of the HTML5 standard, also called SAPUI5) and SAP Gateway features. SAP Business Suite for SAP HANA (SAP S/4HANA) Figure 135: SAP Business Suite for SAP HANA (SAP S/4HANA) Following the trend toward digitalization requires a paradigm shift in data processing. SAP S/ 4HANA as a digital core can help companies in the cloud and on premise. SAP S/4HANA is the abbreviation for SAP Business Suite for SAP HANA. It is the leading wave of SAP innovation for customers, similar to the transition from SAP R/2 to SAP R/3. SAP S/4HANA is the next generation of the SAP Business Suite, launched in 2015. SAP S/ 4HANA is a holistic approach for both cloud and on-premise. SAP S/4HANA is the next-generation business suite. It is a new product that was built entirely on the SAP HANA platform and designed with SAP Fiori user experience (UX). SAP S/4HANA provides massive simplification (adaptation, data model, user experience, decisions, and processes) and innovations (Internet of Things, Big Data, enterprise networks, and mobile). SAP S/4HANA is the standard solution for new customers and for new installations among existing customers. The on-premise edition of SAP S/4HANA is already available for customers in all industries and all regions. It replaces and enhances the earlier SAP Business Suite Powered by SAP HANA. © Copyright. All rights reserved. 243 Unit 7: SAP Portfolio Overview SAP S/4HANA consists of a cloud and an on-premise edition. SAP HANA and column-based data tables are the backbone of digital core. The in-memory technology of SAP HANA follows a different approach: data is stored in columns, rendering indexes and aggregates superfluous. For goods movements, this means one can book only primary information with maximum scalability while avoiding database locks. Related secondary information such as aggregates and key performance indicators are determined on the fly. The in-memory technology is the most important feature of this system. This principle forms the basis of the digital core SAP S/4HANA. This way, companies can achieve immediate added value in logistics, for instance, with optimized net working capital, reduced buffer inventories, and real-time information about inventory balance and material flow. SAP HANA brings a revolutionary and end-to-end IT infrastructure to our customers, as well as a paradigm shift in data processing. Individual departments profit from this, as they can take charge of the evaluation, simulation, and visualization of widely ramified information themselves directly on the digital core’s individual posting lines in real time. They can also adjust and implement new business models and processes quickly and flexibly with the new evaluation, simulation, and prediction features, enabling them to shape the transformation of their company themselves. The key function of the digital core is to create a functioning digitalization-friendly IT environment. All its applications are interconnected, making it possible to access and use detailed data from anywhere within the company in real time without information loss. Together, digital core SAP S/4HANA and SAP HANA open the doors to sustainable end-toend business transformations. Customized products through digital core: SAP S/4HANA as a digital core is the SAP technical and conceptual answer to the global digitalization trend. It began over twenty years ago with online banking, quickly followed by digitalized pictures and movies, a taxi company with no taxis, and a hotel supplier with no buildings. All these offers have one thing in common, they are fully built on the individual customer’s desires. From sports shoes in the color of your choice to customized designs on your motorcycle, increasingly more customers desire and expect products that meet their individual wishes. Business is distancing itself from B2B and B2B2C towards C2B – Consumer to Business. Customers with their preferences and demands are increasingly dominating the market. And whoever can best meet the customer’s demands – the individual demands –, will come out on top. SAP S/4HANA as a digital core for business processes allows you to better tailor your products to individual customers. The resulting mass of data can be easily displayed, processed on the fly, and used for simulations and predictions to make informed decisions. Hint: For more information, seehttps://www.sap.com/products/s4hana-erp.html. © Copyright. All rights reserved. 244 Lesson: Describing the SAP Software Portfolio Intelligent Enterprise Suite (IES) Figure 136: Intelligent Enterprise Suite (IES) With the mass adoption of cloud, Big Data and mobile technologies over the last 20 years, SAP's customers are generating an overwhelming volume of data. But most of them are unable to leverage this data effectively. As data becomes the new 'oil', most companies are simply building up larger reserves without a clear path for how to cash in this new asset. To make sense of all the noise, draw meaningful insights from their data, and dynamically allocate resources, SAP's customers must become intelligent enterprises. Intelligent enterprises operate with visibility, focus, and agility to achieve game-changing outcomes. They do more with less, and empower employees through process automation. They deliver a best-in-class customer experience, by proactively responding to customer expectations. They invent new business models, and revenue streams. SAP is committed to helping every customer become a best-run business. SAP's strategy is to deliver the intelligent enterprise for the customers, so they can achieve their desired outcomes, and make the world run better. For enterprises to become intelligent enterprises, they must invest in three key areas of technology: ● ● ● An Intelligent Suite, bringing intelligence into the applications used to manage customers, supply chains, networks, employees, and core business processes A Digital Platform to manage data from any source (1st party or 3rd party), in any format (structured or unstructured), and support the development, integration, and extension of business applications Intelligent Technologies to apply intelligence to data and processes, through innovations such as Machine Learning, advanced analytics, and IoT © Copyright. All rights reserved. 245 Unit 7: SAP Portfolio Overview SAP will provide an intelligent suite of integrated applications, including SAP S/4HANA Cloud, SAP C/4HANA, SAP SuccessFactors, SAP Ariba, SAP Concur, SAP Fieldglass, and solutions for digital supply chain and manufacturing. These applications will come with out-of-the-box integration. They will offer a best-in-class user experience, that is consistent across the entire suite. They will be easy to extend, allowing customers and partners to customize solutions quickly. And we will embed intelligence into these applications, to make processes and workflows smarter. ● SAP Ariba ● SAP SuccessFactors ● SAP Fieldglass ● SAP Concur ● SAP Hybris ● SAP C/4HANA ● SAP Cloud Platform ● SAP Leonardo ● SAP BW/4HANA SAP Ariba Digitally transform your business to collaborate efficiently and safely with suppliers and trading partners anytime, anywhere on Ariba Network. SAP Ariba's cloud-based solutions make it easier to collaborate and compete. SAP Ariba is how companies connect to get business done, using our market-leading solutions for digital commerce and Ariba Network. We help buyers and suppliers from more than 3.3 million companies, operating in more than 190 countries, discover new opportunities, collaborate on transactions, and grow their relationships. Now you can manage the entire purchasing process, while controlling spending, finding new sources of savings, and building a healthy supply chain. Build stronger relationships through automation, network connections, and data-driven insights: With SAP Ariba’s spend management solutions and Ariba Network, you can consolidate and control all your spend, end to end, on a single, integrated platform in the cloud. Make better buying decisions with analysis and insights into company-wide spending. Engage in real-time supplier collaboration to negotiate savings on direct and indirect materials using our strategic sourcing suite. Make sure those savings are realized with contract management software that accelerates the contract lifecycle and strengthens compliance. Handle supplier information, lifecycle, performance, and risk all in one place with the market’s most comprehensive supplier management portfolio. Provide your employees a simple shopping experience so they can buy what they need – while you maintain control – using procurement software capabilities like guided buying. Then, improve transparency for both you and your suppliers by digitizing and automating invoices and payments using financial supply chain solutions that facilitate working capital management and boost free cash flow. SAP Ariba provides several solutions: © Copyright. All rights reserved. 246 Lesson: Describing the SAP Software Portfolio ● ● ● ● ● ● ● ● ● Supplier Management: SAP Ariba provides the only end-to-end solution portfolio that lets you manage supplier information, lifecycle, performance, and risk all in one place. Strategic Sourcing: Discover qualified suppliers, speed up your sourcing cycles, and create the most competitive, best-value agreements for sustainable savings with all your sourcing needs. Solutions for Direct Spend: Connect the people, partners, processes, and information needed to manage all design-to-deliver activities in a simple, smart, and open way. Procurement: Ensure compliance and control while providing users a delightful buying experience, with innovative capabilities like guided buying and spot buy. Financial Supply Chain: Transform your payables from liabilities into strategic assets to boost free cash flow, free up working capital, and deliver more bottom-line value. Platform Solutions: Maximize the value of your SAP Ariba solutions with integration wizards, extensions, and templates – without burdening your IT resources. Integration Solutions: Unify your apps, data, processes and devices on a single platform to deliver more value to your enterprise. Services for Buyers: Before and after deployment, SAP Ariba provides support for change management, adoption, connectivity, and much more. Selling and Fulfillment: Strengthen and sharpen your e-commerce capabilities to become the preferred, easy-to-find vendor of purchase-ready buyers around the world. For more information seehttps://www.ariba.com/solutions/solutions-overview. SAP Success Factors SAP SuccessFactors: HCM in the cloud SAP SuccessFactors is a global provider of cloud-based human resource software and fully integrated human capital management (HCM) systems. It covers everything from core HR, payroll, and people analytics to the four pillars of talent management: recruiting, learning and development, compensation, and performance management. SAP SuccessFactors has more than 100 million active users in 60 industries more than 200 countries and territories – and our services are translated into 42 languages. SAP SuccessFactors helps companies of all sizes improve employee engagement, productivity, and team performance. How do you win the talent war, keep employees fully engaged, and transform your workforce for the future? SAP SuccessFactors is the integrated, cloud-based HR software that helps you unleash the full potential of your people – and drive results right across your business. Core HR for the entire workforce: Use the diversity of today’s global workforce to your advantage – and build value-based relationships with all types of workers, from permanent employees to contractors. ● ● Core HR and Payroll: Integrate disparate employment data in a single human resource information system (HRIS). Easily manage global benefits and payroll, improve employee self-service, automate HR processes, and ensure compliance. Time and Attendance Management: Automate labor, time, and attendance management. Our solutions can help you streamline everything from time tracking to accruals – and offer insights into areas like labor costs, time theft, and absence trends. © Copyright. All rights reserved. 247 Unit 7: SAP Portfolio Overview ● ● ● ● ● ● Recruiting and Onboarding: Hire the right people and help them succeed from day one. Our recruiting and onboarding solutions can help you conduct AI-based talent acquisition, improve the candidate and onboarding experience, and more. Learning and Development: Offer your workforce personalized training and development. Deliver cognitive coaching, microlearning, skill gap analysis, and re-skilling – and take advantage of learning analytics and succession planning. Performance and Compensation: Improve employee performance management and keep your entire workforce satisfied and motivated. Our software can help you evaluate staff, access compensation benchmarking data, manage incentives, and more. HR Analytics and Workforce Planning: Make better decisions about hiring, diversity, turnover, performance, and more. Our embedded people analytics and data-driven workforce planning tools deliver real-time insights via intuitive dashboards. Workplace Transformation: Manage a diverse workforce made up of in-office employees, contractors, contingent and gig workers, and remote staff – and make the shift from a hierarchical to a collaborative, team-based work environment. Technology and Digital HR: Harness the latest digital technologies – AI and machine learning, robotics, natural language processing, VR and gamification, new productivity tools and apps, and more – in a secure cloud environment. For more information seehttps://www.successfactors.com. SAP Fieldglass SAP Fieldglass Powers Your Flexible Workforce: SAP Fieldglass is a cloud-based, open external workforce management and services procurement platform that helps organizations find, engage and manage all types of flexible resources – from temporary staff to Statement of Work-based consultants to freelance workers and more. External Workforce Management Solutions for the Enterprise: The SAP Fieldglass Vendor Management Solution (VMS) automates the entire process of finding, procuring and managing external talent. Our platform helps companies reduce costs, enforce compliance, improve worker and supplier quality, and increase program efficiencies. SAP Fieldglass Flex for Midsize Companies: SAP Fieldglass Flex is an external workforce management solution designed to help midsize companies easily source and better manage temporary labor. Companies can procure contractors quickly, streamline processes, reduce spend and enforce compliance. SAP Fieldglass solutions are: ● ● ● External Talent Management: External Talent Management automates the entire process of procuring and managing flexible labor, from requisition through invoice and payment. Services Procurement: Services Procurement simplifies how external service providers are engaged, ensuring greater compliance, and quality cost savings. Live Insights: SAP Fieldglass Live Insights provides workforce insights on demand and helps organizations gain a deeper understanding of their external workforce. For more information seehttps://www.fieldglass.com/solutions. © Copyright. All rights reserved. 248 Lesson: Describing the SAP Software Portfolio SAP Concur SAP Concur is providing travel and expense management services to businesses: Simplify expense, travel, and invoice management for greater visibility. SAP Concur Solutions are: ● ● ● Expense: Automated, fast and accurate expense reporting helps you improve productivity, compliance and control over spend. Invoice: Simplify and accelerate the entire accounts payable process, from invoice capture to payment. Travel: Let employees book travel their way and also stay in compliance with company travel and expense policy. Automate expenses from receipt to reimbursement: Automating the expense management process—and eliminating the errors, paper and procedures that go with it—frees up your employees and gives you more control over compliance and costs. Users can quickly take a picture of receipts, submit expense reports from any mobile device, and keep productivity on track. It’s the expense management software that your company needs to streamline business travel expense processing and business expense tracking. Proactively manage spend with AP automation: Accounts payable may not seem like a profit center, but when you automate the invoice process, you get control over what’s going out the door. You can see spending before it’s spent, catch duplicate invoices, and save time with mobile approvals, invoice tracking and faster payments. It’s how you make AP systems more like AR systems. Capture and manage invisible bookings: No matter how tightly managed your travel program is, there are always exceptions. Now you can get visibility into travel plans and business travel expenses, no matter where it happens. And with your travel policy built into your solution, you can capture business travel expenses, improve compliance, and control your costs. Business travel made easy with the Concur travel management software. With all your data in one place, you can get more done: Our dynamic ecosystem connects you with more than 150 of the apps, partners, suppliers and products your employees are already using. All your spending data is automatically integrated to deliver the experience your employees expect and the full visibility you need into all dimensions of spend, so you can spot new ways to save. For more information seehttps://www.concur.com . SAP Hybris Hybris is an ecommerce platform which allows its consumers to sell in both B2B and B2C markets effectively. It is an enterprise-level ecommerce software suite that offers B2C and B2B store functionality. Currently, more than 2,500 stores use the hybris platform, boasting more than 20 million product SKUs and over 500,000 orders each day. Hybris has been a dominant enterprise platform mainly in the European market. The Hybris Commerce Suite has tools for the web and mobile projects targeting B2C and B2B market including powerful search and merchandising, master data management (MDM) / PIM, order management and web content management. © Copyright. All rights reserved. 249 Unit 7: SAP Portfolio Overview Advantages of SAP Hybris are: ● One Platform for B2C and B2B Users ● Supporting Business Internationalization ● Flexibility ● Short Time to Market SAP Hybris Commerce Cloud Platform: Architecture and Technology: Robust, modular and built on open standards, SAP Hybris Commerce Cloud platform is designed to provide the best foundation for your business’s commerce needs. Built to handle high traffic and order volumes, it’s there when you need it. Combining the flexibility of bespoke platform development with the cost-effectiveness of a packaged application, it saves you development and maintenance costs while improving efficiency. The solutions of SAP Hybris are: ● ● ● ● ● ● Commerce: Give your customers a consistent and meaningful experience – across every channel, every time. Marketing: Understand your customers and respond to their behavior in real-time to give them what they want, when they want it. Billing : Deliver a better customer payment experience, find new revenue streams and streamline your quote-to-cash process. Sales: Sell effectively to the right people, anywhere, at any time. Service: Keep customers coming back for more with customer service that drives true engagement. Customer Data Cloud: Turn unknown online visitors into known, loyal customers to build trusted digital relationships. SAP C/4HANA SAP Hybris is now SAP C/4HANA! SAP fulfilled its ambition to disrupt the marketplace for customer relationship management (CRM) with the formal introduction of a new suite of applications, SAP C/4HANA, to help businesses serve and retain customers. SAP also announced the SAP HANA Data Management Suite, the industry’s first comprehensive data management solution that enables companies to turn data sprawl into business value. SAP C/4HANA is an integrated offering designed to modernize the sales-only focus of legacy CRM solutions. Following the completed acquisitions of market leaders Hybris, Gigya and CallidusCloud, SAP now ties together solutions to support all front-office functions, such as consumer data protection, marketing, commerce, sales and customer service. Building on the company’s reputation as an end-to-end business solutions provider, the new SAP C/4HANA suite will offer full integration with SAP’s business applications portfolio, led by its market-leading ERP suite, SAP S/4HANA. The combination of assets features new machine learning capabilities from SAP Leonardo, a set of intelligent technologies the company introduced last year, as well as the new SAP HANA Data Management Suite, which enables companies to gain visibility and control of their highly distributed data. The company’s overall strategy, focused on helping businesses run as intelligent enterprises, highlights the demand for a balanced approach to automation in the workplace. © Copyright. All rights reserved. 250 Lesson: Describing the SAP Software Portfolio The SAP C/4HANA portfolio includes SAP Marketing Cloud, SAP Commerce Cloud, SAP Service Cloud, SAP Customer Data Cloud (including the acquired Gigya solutions) and SAP Sales Cloud (including the acquired CallidusCloud solutions). Additionally, SAP Sales Cloud unites the SAP Hybris Revenue Cloud solution and SAP Hybris Cloud for Customer (comprised of SAP Hybris Sales Cloud and SAP Hybris Service Cloud solutions). The products of SAP C/4HANA are: ● ● ● ● ● ● ● Products for Commerce: Become a true omni-channel business and drive digital transformation with SAP Commerce Cloud, delivering contextual customer experiences and unifying customer processes across all digital and physical touchpoints. Products for Marketing: SAP Marketing Cloud - This contextual marketing solution uses real-time insights to help you develop a deeper understanding of your customers – and then deliver them highly individualized experiences across all channels. Products for Sales: SAP Sales Cloud is our easy-to-use cloud sales application. Going well beyond the traditional CRM approach, it maximizes sales productivity by making great use of real-time analytics, email and notes integration, collaborative and social selling, sales performance management and much more. Products for Service: Our cloud-based customer service and field service software makes it easy to offer a consistent experience across all channels, access complete and contextual customer information, and gain real-time insight into call center performance and field service management. Products for Billing: Monetize your digital transformation. SAP Hybris Billing offers full transaction transparency, supporting local and international accounting needs from small businesses to large enterprises. It is available for both B2C and B2B scenarios as either separate billing and invoicing solution components or a full, end-to-end solution. Products for Customer Data Management: Build trusted digital relationships with your customers and grow your audience by turning unknown online visitors into known, loyal customers. Increase consumer engagement, trust and loyalty and protect your business. Cross-functional Solutions: SAP Hybris Profile, SAP Signature Management by DocuSign, add-on for SAP Hybris solutions. For more information seehttps://cx.sap.com . SAP Cloud Platform What is SAP Cloud Platform? SAP Cloud Platform is an open platform-as-a-service (PaaS) that delivers in-memory capabilities, core platform services, and unique microservices for building and extending intelligent, mobile-enabled cloud applications. The platform is designed to accelerate digital transformation by helping you quickly, easily, and economically develop the exact application you need – without investing in on-premise infrastructure. Based on open standards, SAP Cloud Platform offers complete flexibility and control over your choice of clouds, frameworks, and applications. What makes SAP Cloud Platform different? ● ● Open Enterprise PaaS: Leverage a singular, open enterprise platform-as-a-service to meet every need. Explore ABAP, Kubernetes and Cloud Foundry environments. Digital Transformation: Accelerate digital transformation by rapidly deploying nextgeneration apps on SAP Cloud Platform, the foundation for SAP Leonardo. © Copyright. All rights reserved. 251 Unit 7: SAP Portfolio Overview ● ● ● ● Data Management & Analytics: Leverage data management and analytical services to build an intelligent enterprise. Deliver real-time data insights and deliver data to support any app or analysis. Integration & Orchestration: Securely integrate and seamlessly orchestrate business processes, decisions and data between cloud and on-premise applications in real-time. Solution Extensibility: Exploit the intelligent enterprise by leveraging SAP Cloud Platform extensibility to unlock solution flexibility and innovation for your line-of-business applications. Digital Experience: Create delightful user experiences across digital touchpoints and streamline user experience design and development, collaboration, mobility and user interaction. SAP HANA Cloud connector connects between on-demand applications in SAP HANA Cloud Platform and existing on-premise systems. The Cloud connector runs as on-premise agent in a secured network and acts as a reverse invoke proxy between the on-premise network and SAP HANA Cloud Platform. Due to its reverse invoke support, the configuration is not required in the on-premise firewall to allow external access from the cloud to internal systems. The Cloud connector provides control over: ● ● On-premise systems and resources (HTTP or RFC) that shall be accessible by cloud applications. Cloud applications that shall make use of the Cloud connector. Compared to the approach of opening ports in the firewall and using reverse proxies in the DMZ to establish access to on-premise systems, the Cloud connector has the following advantages: ● ● ● ● In order to establish connectivity from SAP HANA Cloud Platform to an on-premise system, the firewall of the on-premise network does not require to open an inbound port. The Cloud connector supports HTTP and RFC protocols as of now. For example, the RFC protocol supports native access to ABAP systems by invoking function modules. The Cloud connector can be used to connect on-premise database, or BI tools to SAP HANA databases in the cloud in both direction The Cloud connector is easy to install and configure, that is, it comes with a low TCO and fits well to cloud scenarios. SAP provides standard support for it. For more information seehttps://cloudplatform.sap.com. SAP Leonardo SAP Leonardo Internet of Things (IoT) is a brand for a family of innovative products in the area of IoT, Machine Learning, Analytics, Blockchain etc technologies. SAP Leonardo Internet of Things (IoT) is one of the capabilities of SAP Leonardo, and includes Internet of Things (IoT) solutions that enables companies to realize the digital transformation of existing end-to-end business processes and to evolve new business models to run digitally. It combines a solid IoT foundation, a range of IoT applications and standards-based IoT edge computing as main building blocks with a jump-start program in the form of a pre-packaged consultative offering to: © Copyright. All rights reserved. 252 Lesson: Describing the SAP Software Portfolio ● Significantly improve existing business processes ● Develop new business processes ● Find new business models ● Establish new work environments The evolution of connectivity, big data management, analytics, and cloud technology is enabling us to converge operational and information technologies to make machines smarter and drive the end-to-end digital transformation. Initially, IoT applications were limited for operational activities on shop floor and data was not leveraged for enterprise use. With the evolution of Industry 4.0 and industrial Internet, customers are looking to leverage this big data and develop responsive and intelligent applications for line-of-business and industryspecific end-to-end processes. Now SAP wants to give customers a simple way to embrace all of these emerging technologies to solve specific business problems. So instead of just helping customers embrace IoT with a cloud system and a set of templates, SAP has expanded Leonardo to the whole spectrum of enterprise problems. SAP Leonardo is the worlds only digital innovation system, which combines Design Thinking services, Machine learning, Big Data, IOT, Data Intelligence, Block Chain and Analytics to run the enterprise smarter, smoother and completely digital. ● ● Design thinking services- Enables users to build future digital enterprise Machine learning- provides the computers the ability to learn without being explicitly programmed ● Big Data- Manage vast amounts of data ● IOT (Internet of Things)- Internet of computing devices embedded in everyday objects ● Block Chain- increase auditability and decrease fraud ● Data Intelligence & Data Analytics All the above technologies will be integrated to SAP Cloud Platform. Moreover SAP Leonardo is built on SAP HANA Database to support real time business. The world is transforming digital day to day. By combining all these technologies SAP Leonardo is going make any Enterprise of any industry run completely digital and powerful without any hassles. For more information seehttps://eaexplorer.hana.ondemand.com/and https:// eaexplorer.hana.ondemand.com/_item.html?id=13741#!/overview . SAP BW/4HANA SAP BW/4HANA is an evolution of SAP BW that is completely optimized and tailored to SAP HANA. The SAP BW/4HANA code can only run on SAP HANA as it is interwoven with SAP HANA engines and libraries. The ABAP part is several million lines of code smaller compared to BW-on-HANA. It is free of any burden to stay, e.g., within a certain, “common denominator scope” of SQL, like SQL92 or OpenSQL, but can go for any optimal combination with what the SAP HANA platform offers. The latter is especially important as it extends into the world of big data via SAP HANA VORA, an asset that will be heavily used by SAP BW/4HANA. So, what are SAP BW/4HANA’s major advantages: Simplicity: © Copyright. All rights reserved. 253 Unit 7: SAP Portfolio Overview Depending on how one counts, SAP BW offers 10 to 15 different object types (building blocks like infocubes, multiproviders) to build a data warehouse. In SAP BW/4HANA, there will be only 4 which are at least as expressive and powerful as the previous 15. SAP BW/4HANA’s building blocks are more versatile. Data models can now be built with less buildings blocks w/o compromising expressiveness. They will, therefore, be easier to maintain, thus more flexible and less error-prone. Existing models can be enhanced, adjusted and, thus, be kept alive during a longer period that goes beyond an initial scope. Another great asset of SAP BW/4HANA is that it knows what type of data sits in which table. From that information it can automatically derive which data needs to sit in the hot store (memory) and which data can be put into the warm store (disk or non-volatile RAM) to yield a more economic usage of the underlying hardware. This is unique to SAP BW/4HANA compared to handcrafted data warehouses that require also a handcrafted, i.e. specifically implemented data life-cycle management. Openness: SAP BW/4HANA – as SAP BW – offers a managed approach to data warehousing. This means that prefabricated templates (building blocks) are offered for building a data warehouse in a standardized way. The latter provides huge opportunities to optimize the resulting models for SAP HANA regarding performance, footprint, data life-cycle. In contrast to classic SAP BW, it is possible to deviate from this standard approach wherever needed and appropriate. On one hand, SAP BW/4HANA models and data can be exposed as SAP HANA views that can be accessed via standard SQL. SAP BW/4HANA’s security is thereby not compromised by part of those SAP HANA views. On the other hand, any type of SAP HANA table or view can be easily and directly incorporated into SAP BW/4HANA. It is thereby not necessary to replicate data. Both capabilities mean that SAP BW/4HANA combines with and complements any native SQL data warehousing approach. It can be regarded as a powerful suite of tools for architecting a data warehouse on SAP HANA with all the options to combine with other SQL-based tools. Modern UIs: SAP BW/4HANA will offer modern UIs for data modeling, admin, monitoring that run in SAP HANA Studio or a browser. In the midterm, SAP GUI will become obsolete in that respect. Similarly, SAP’s Digital Boardroom, SAP BusinessObjects Cloud, Lumira, Analysis for Office and Design Studio will be the perfect match as analytic clients on top of SAP BW/4HANA. High Performance: Excellent performance has been at the heart of SAP BW since the advent of SAP HANA. As elaborated above, SAP BW/4HANA will be free of any burdens and will leverage any optimal access to SAP HANA which will be especially interesting in the context of big data scenarios as SAP HANA VORA offers a highly optimized “bridge” between the worlds of SAP HANA (RDBMS) and Hadoop/SPARK (distributed processing on a file system). Most customers require to enhance and complement existing data warehouses with scenarios that address categories of data that go beyond traditional business process triggered (OLTP) data, namely machine generated data (IoT) and human sourced information (social networks). For more information seehttps://www.sap.com/germany/documents/ 2016/08/740d6709-877c-0010-82c7-eda71af511fa.html . © Copyright. All rights reserved. 254 Lesson: Describing the SAP Software Portfolio SAP S/4HANA Deployment Options Figure 137: SAP S/4HANA Deployment Options Depending on the customer needs, there are several deployment options for SAP S/4HANA. SAP Licensing Model SAP aims to offer software licenses that enable comprehensive solutions for business scenarios. As such, the applications supported by the core processes have been grouped in solution portfolios that serve the needs of customers from 24 industries. Every application within a portfolio is clearly linked with one or more business scenarios in the appropriate industry solution map provided by SAP. © Copyright. All rights reserved. 255 Unit 7: SAP Portfolio Overview Figure 138: SAP Licensing Model The structure of the SAP licensing model is intended to maximize the inherent business benefits of SAP software by providing package licenses and named user licenses. Both are required to license SAP software. SAP software solutions enable efficiency and innovation by automating your business and management processes, which allows you to quickly realize value from your investment. Our portfolio of software solutions includes offerings in the following market categories: ● Applications ● Analytics ● Cloud ● Mobile ● Database and technology Package Licenses Package licenses entitle you to deploy and use the precise set of SAP software functionality you need to support your company’s processes and address its business requirements. The price of a package license is based on a key business metric that reflects its intended use. SAP has developed these metrics in close collaboration with customers to align the metrics with a business’s real-world requirements. Additionally, the licensed level of such metrics reflects the required capacity of the licensed software package, such as number of orders processed, number of contracts tracked, or gross written premiums. As your business grows and your software requirements change, you can adjust your licenses accordingly. Named User Licenses © Copyright. All rights reserved. 256 Lesson: Describing the SAP Software Portfolio A named user license authorizes an individual to access licensed SAP software functionality and is mandatory for most individuals accessing that functionality. A named user is an employee of your organization, one of its affiliates, or one of its business partners who is authorized to access the licensed SAP software. The tasks and roles of the individual determine both the requirements and level of the named user license. Named user licenses are priced per user. One major benefit of SAP named user licenses is that they can be valid for multiple package licenses. This means that even if your employees handle complex business processes that require the use of a wide range of SAP software functionality, you require only one named user license per employee. How your employees work with an SAP solution will vary depending on their tasks and roles within your organization. To reflect this, SAP offers different categories of named user licenses. A few examples include: ● ● ● SAP Professionalnamed user license for users fulfilling operational-related roles supported by the software, such as employees in your finance or HR departments SAP Developernamed user license for users accessing the development tools to make modifications or add-ons to the licensed software SAP Employeenamed user license for users accessing self-services such as time, expenses, and performance evaluations The key point is that the level of rights to the licensed SAP software functionality that your employees require determines the named user categories that need to be licensed. Business never stands still, so you want to be sure that your SAP solution can scale in line with your business’s growing needs. The modular structure of SAP software licenses allows you to license and pay for only the functionality and number of users that you require at any given time. This means that you can start with the packages and named user licenses your organization needs today and add more users and functionality as your needs change. The vast majority of SAP software licenses are perpetual licenses. A perpetual license entitles you to use your licensed SAP software for an unlimited period of time. You pay for the license when you license the software. The perpetual license model consists of two mandatory components: package licenses and named user licenses (as described previously). As part of its software offering, SAP gives you the option of either licensing a third-party database directly from SAP or contracting with a third-party database provider such as Microsoft, Oracle Corporation, or IBM. If you are licensing the third-party database directly from SAP, we will include that database with your licensed SAP software for use only with the SAP software. This specific use restriction is referred to as a runtime license. If you prefer to license directly with the database vendor, then your contract with SAP is an interface contract. SAP also offers its own databases including the SAP HANA database, SAP Sybase Adaptive Server Enterprise (SAP Sybase ASE) database, and SAP MaxDB database licenses. In addition to securing your SAP software license, you want to maximize the business value of your SAP solution today and deploy new and improved functionality that can benefit your business in the future. SAP offers comprehensive maintenance and support services designed specifically to meet these requirements. These maintenance and support services are available for licensed SAP software. An SAP support contract entitles you to access the SAP support infrastructure and to receive software corrections, patches, fixes, and new releases of the software licensed. SAP support provides you with the following: © Copyright. All rights reserved. 257 Unit 7: SAP Portfolio Overview ● ● ● ● Continuous improvement and innovation of your software through enhancement and support packages A global support infrastructure supplying streamlined support for implementation, deployment, and improvement of the SAP software via the SAP Solution Manager application management solution Support that includes a 24x7 advisory channel, quality checks, and software analysis Methodologies, blueprint tools, and education plus participation in various communities promoted by SAP To learn more about SAP support services, please visit the SAP Support Portal at support.sap.com. For details on licensing see the SAP Licensing Guide at SAP Support Portal. Related Information More information is available on the following SAP websites: All sites are free to access, although some of them require (free) registration. ● SAP worldwide homepage,http://www.sap.com ● SAP Help Portal,http://help.sap.com ● SAP Support Portal,https://support.sap.com ● SAP Info,http://www.sap.info ● SAP Insider Online,http://www.sapinsideronline.com LESSON SUMMARY You should now be able to: ● List the key components of the SAP solutions © Copyright. All rights reserved. 258 Unit 7 Lesson 3 Describing the SAP Release Strategy LESSON OVERVIEW This lesson explains what phases your SAP solution runs through over time until the next upgrade to a higher release as well as what maintenance duration is guaranteed for SAP products. Business Example You want up-to-date information about the availability of releases of SAP solutions, in order to make a good decision with regard to the purchase or upgrade of an SAP solution. LESSON OBJECTIVES After completing this lesson, you will be able to: ● Describe the SAP software delivery process The SAP Maintenance Strategy In some cases, a beta shipment phase is offered before the restricted shipment phase (before the release-to-customer date). Beta shipments may only be used for test purposes. They are not available for production use. New software releases are only available to a restricted number of customers whose increase is controlled. Therelease to customerdate marks the start of the restricted shipment phase. During the restricted shipment phase, the new software release passes through a standardized process, the SAP Early Adopter Care Services. Characteristics of the SAP Early Adopter Care Services process are: ● ● ● ● ● ● SAP Early Adopter Care Services is the name for the market introduction process of new products or new releases of SAP software. The software can be used for a production implementation. During the SAP Early Adopter Care Services, the software is only available for a limited circle of customers; customers apply to SAP to participate in an SAP Early Adopter Care Service. The SAP Early Adopter Care Services serves to take customer requests into consideration before the respective SAP software is generally available. SAP Early Adopter Care Services participants have direct contact with SAP Development and receive support in implementing the SAP software. An SAP Early Adopter Care Service usually takes several months. © Copyright. All rights reserved. 259 Unit 7: SAP Portfolio Overview Note: For more information about SAP Early Adopter Care Services, see the SAP Early Adopter Care Services. After the successful conclusion of the SAP Early Adopter Care Services program, the unrestricted shipment phase of an SAP release starts on the default release date. After the default release date, all customers can request the new software without restrictions. The respective latest, generally available version of SAP software is called default the release. When SAP customers order software from SAP, they are usually given the current default release. Your maintenance agreement includes SAP Support Packages, which are provided by SAP via the SAP Support Portal. SAP Support Packages solve (component-dependent) problems that can result when using the SAP software. SAP provides these SAP Support Packages at certain intervals. Figure 139: SAP Maintenance Strategy We distinguish the following three phases of maintenance: Mainstream maintenance Mainstream maintenance starts from the “release-to-customer”, where the software is released to certain customers, only, that take part in the ramp up program. It covers the restricted shipment and unrestricted shipment phases. Extended maintenance Customers can extend the support period, in which corrections or legal changes are taken into account, for an increased maintenance fee. The support scope provided during the entire extended maintenance period is identical to that under mainstream maintenance. SAP publishes information about the availability and scope of extended maintenance well in advance. Customer-specific maintenance From a certain point in time during the lifecycle of a release, this release is no longer adjusted to meet external requirements. Such requirements are, for example, the © Copyright. All rights reserved. 260 Lesson: Describing the SAP Release Strategy implementation of legal changes or the support of new technologies. The time in question is marked by the end of extended maintenance or the end of mainstream maintenance, if no extended maintenance is offered. Customer-specific maintenance starts at this point in time. A release is added to customer-specific support automatically. No additional contract has to be requested. During this phase, customers receive support services similar to those in the mainstream maintenance phase, with some restrictions. For example, SAP does not provide any new Support Packages to cover legal changes and technology updates are limited. Problem-solving is customer-specific. Therefore, customers are billed for the correction of problems that SAP has not identified yet. Note: For additional information about the maintenance strategy, see the SAP Support Portal with the maintenance link. SAP Note52505 deals specifically with the particularities of customer-specific maintenance. SAP offers upgrade paths for SAP releases and the corresponding content releases and provides access to upgrade methods for the current release. Normally, customers can upgrade directly from one release to any subsequent SAP release, as long as the releases are in the mainstream maintenance phase. To enable smooth upgrades, SAP offers sufficient overlap between consecutive releases, to ensure that the time customers have to upgrade from one release to the next is at least one year for SAP releases. For content releases, this overlap is at least six months. This ensures that customers have sufficient time windows to upgrade from one release to the next. Note: For more information about upgrades, see S AP Support Portal, quick link / upgrade. History of Selected Software Components This section describes the history of selected software components. The figure“Development of Basis and Enterprise Functions” shows the development history of: ● ● The SAP Basis technology S ( AP Basis→ SAP Web AS→ SAP NetWeaver AS The core business function S ( AP R/3→ SAP R/3 Enterprise→ SAP ECC→ SAP S/ 4HANA) © Copyright. All rights reserved. 261 Unit 7: SAP Portfolio Overview Figure 140: Development of Basis and Enterprise Functions Back in the days when SAP basically offered two products (SAP R/2 and SAP R/3), the development of the (technical) basis was closely linked to application development. The release names of the SAP Basis corresponded to the SAP R/3 version, for example, SAP Basis 4.0B was the technical basis for SAP R/3 4.0B Around the turn of the millennium, the SAP portfolio grew significantly and new products were created that required more frequent changes and enhancements of the SAP Basis than SAP R/3. This marks the transition from the classical SAP Basis (last version: SAP Basis 4.6D) to SAP NetWeaver Application Server (SAP NetWeaver AS). New internet technologies (Internet Communication Manager from SAP NetWeaver AS 6.10 onwards) and the supplementing of the classical ABAP environment with Java/JEE (from SAP NetWeaver AS 6.20 onwards) were important milestones. SAP NetWeaver AS 6.40 forms the technical basis (application platform) of SAP NetWeaver 2004. SAP NetWeaver offers extensive capabilities (such as Business Warehouse), all of which build on the application platform. As of SAP NetWeaver 7.0 (previously SAP NetWeaver 2004s), the names and releases were adapted further, which means SAP NetWeaver 7.0 is now based on SAP NetWeaver Application Server (SAP NetWeaver AS). While Releases 7.10, 7.11, and 7.20 of SAP NetWeaver AS are only intended for specific uses (such as SAP NetWeaver Process Integration (PI) and SAP NetWeaver Composition Environment (CE)), SAP NetWeaver 7.0, 7.01, 7.02, 7.03, 7.3, 7.31, 7.4, and 7.5 represent a full delivery of the SAP NetWeaver technology stack. 7.50, 7.51, 7.52, and 7.53 are used for SAP S/4HANA and SAP Front End Server. As mentioned above, the technical basis and application development used to be linked in SAP R/3(up R/3 to SAP R/3 4.6C). © Copyright. All rights reserved. 262 Lesson: Describing the SAP Release Strategy With SAP R/3 Enterprise(4.7), Enterprise which is based on SAP NetWeaver AS 6.20, the concept of SAP R/3 enterprise extensions was introduced. A central application (previously: solution) of the SAP Business Suite is SAP ERP for Enterprise Resource Planning. The central component of SAP ERPSAP is ERP Central Component(SAP ECC). SAP ECC 5.0 can thus be considered the technical successor to SAP Component R/3 Enterprise and is based on an SAP NetWeaver AS 6.40. At the time of creating this documentation, the current version is SAP ERP 6.0 Enhancement Package 8, which also includes an SAP ECC 6.08 and other components, which operate on the basis of SAP NetWeaver AS 7.50. Functional enhancements for the different components are made available through enhancement packages. SAP NetWeaver AS 7.10, 7.11, 7.20, 7.30, and 7.51 are not used as the technical basis for an SAP ECC system. Other SAP NetWeaver component, such as SAP NetWeaver Process Integration (PI) and SAP NetWeaver Composition Environment (CE), are available with SAP NetWeaver AS 7.10, 7.11, and 7.20. 7.30 is used e.g. for SAP BW. 7.50, 7.51, 7.52, and 7.53 are used for SAP S/4HANA and SAP Front End Server. ● SAP Support Portal, quick links - /releasestrategy - /maintenance - /upgrade LESSON SUMMARY You should now be able to: ● Describe the SAP software delivery process © Copyright. All rights reserved. 263 Unit 7 Learning Assessment 1. What is SAP NetWeaver? Choose the correct answer. X A The technology platform for running business applications such as SAP S/4HANA and SAP Business Suite. X B A dedicated SAP system for example for analyzing huge amounts of data. X C An interface for exchanging data with non-SAP systems. 2. Which product has been built entirely new on the SAP HANA platform and designed with SAP Fiori user experience? Choose the correct answer. X A SAP Business Suite on SAP HANA X B SAP NetWeaver X C SAP Business Suite for SAP HANA (SAP S/4HANA) X D SAP ERP 3. Which phases of maintenance exist for SAP products? Choose the correct answers. X A Mainstream Maintenance X B Standard Maintenance X C Extended Maintenance X D Customer-Specific Maintenance © Copyright. All rights reserved. 264 Unit 7 Learning Assessment - Answers 1. What is SAP NetWeaver? Choose the correct answer. X A The technology platform for running business applications such as SAP S/4HANA and SAP Business Suite. X B A dedicated SAP system for example for analyzing huge amounts of data. X C An interface for exchanging data with non-SAP systems. You are correct. SAP NetWeaver is the technology platform for running business applications. Technically, this platform comprises different SAP systems such as SAP Business Warehouse which can be used to analyze huge amounts of data. 2. Which product has been built entirely new on the SAP HANA platform and designed with SAP Fiori user experience? Choose the correct answer. X A SAP Business Suite on SAP HANA X B SAP NetWeaver X C SAP Business Suite for SAP HANA (SAP S/4HANA) X D SAP ERP You are correct. SAP S/4HANA is the next generation of the SAP Business Suite. It has been built entirely new on the SAP HANA platform and designed with SAP Fiori user experience. SAP Business Suite on SAP HANA means that you run classical SAP applications (such as SAP ERP) on the SAP HANA database. © Copyright. All rights reserved. 265 Unit 7: Learning Assessment - Answers 3. Which phases of maintenance exist for SAP products? Choose the correct answers. X A Mainstream Maintenance X B Standard Maintenance X C Extended Maintenance X D Customer-Specific Maintenance You are correct. SAP distinguishes between mainstream maintenance, extended maintenance and customer-specific maintenance. © Copyright. All rights reserved. 266 UNIT 8 SAP Support Portal and SAP Community Lesson 1 Describing SAP Support Portal 268 Lesson 2 Describing the SAP Community 272 UNIT OBJECTIVES ● List some of the services provided on the SAP Support Portal ● List some of the services of the SAP Community © Copyright. All rights reserved. 267 Unit 8 Lesson 1 Describing SAP Support Portal LESSON OVERVIEW This lesson introduces you to the central point of entry for all SAP services, the SAP Support Portal. A few services that are particularly relevant to the SAP Business Suite are presented as examples. Business Example The SAP system administrator has established that there is a problem in an SAP system and is looking for a solution. LESSON OBJECTIVES After completing this lesson, you will be able to: ● List some of the services provided on the SAP Support Portal Target Group of the SAP Support Portal The Web site, underhttp://www.sap.com (alternatively:https://go.sap.com) provides information about all SAP solutions and about SAP as a company. This Web site is open to the general public. The SAP Support Portalhttps://support.sap.com is intended specifically for SAP customers and SAP partners. The SAP Support Portal gives you access to a wide range of services, specific information, and further offers. Hint: The new SAP Support Portal (support.sap.com) replaces the former SAP Service Marketplace (SMP) (service.sap.com). Logging On, Personalizing, and Navigating To access the features of the SAP Support Portal, you need a valid user ID and password. These users are called SAP Support Portal users (formerly known as OSS, SAPNet, or SAP Service Marketplace users) or S users, since user IDs usually start with the letter “S”. Every company should have a contact person who can create additional users (S users) for employees and assign them the necessary authorizations. Access to the SAP Support Portal free of charge for SAP customers (aside from the cost of internet access). Once you have logged on to the SAP Support Portal, you have a range of topics to choose from. You can personalize your home page – that is, build your own pages with topics you select personally. © Copyright. All rights reserved. 268 Lesson: Describing SAP Support Portal Hint: Personal data, such as e-mail and phone number, enable notification services and are important when you want to create an incident (ticket) for SAP. You should also change the initial password for your own security. You can display and change this data and other information, such as newsletter settings, under https://launchpad.support.sap.com/#/user/profile(assuming you have the necessary authorization). Once you have logged on to the SAP Support Portal, you have a range of topics to choose from. You can personalize your home page, that is, set up your own pages with topics that are of particular interest to you. Quick links let you access specific areas of the SAP Support Portal quickly. To call up a quick link, simply add it to the web address, preceded by /a (for example:https:// support.sap.com/notes). After logging on to the SAP Support Portal, you can access a selection ofQuick Linksdirectly. Important Services Provided on the SAP Support Portal Figure 141: The SAP Support Portal at https://support.sap.com This section describes several functions of the SAP Support Portal. It emphasizes services that are relevant for administering and managing SAP systems. Administering users As an SAP Service Marketplace user with the appropriate authorizations, you can request and administer additional SAP Support Portal users at https://support.sap.com/user- © Copyright. All rights reserved. 269 Unit 8: SAP Support Portal and SAP Community admin. SAP Service Marketplace users are also subject to an authorization concept. You can, for example, deny the authorization needed for creating SAP incidents. Developer key A developer needs a developer key to be able to create or change objects in an SAP system. You can request this key using the Quick Link/sscr (SAP Software Change Registration). Changes to SAP objects (such as ABAP programs delivered by SAP) are called modifications and require an object key, which you can also request /sscr. at SAP Notes database You can access the comprehensive SAP Notes database using the Quick Link /notes. You can access specific SAP Notes either by entering the Note number directly, or using search criteria (such as the name of a transaction or an error code). SAP Note Assistant All AS ABAP-based SAP systems have contained the SAP Note Assistant for many years now. It is a tool (transactionSNOTE) that can automatically import corrections to ABAP code from SAP Notes into SAP systems. See the link https://support.sap.com/kbincidents/notes/assistant.htmlfor more details on how to use the SAP Note Assistant. Corrections and incidents SAP regularly provides corrections for known problems (for example, as SAP Support Packages, kernel patches, or database patches). You can download them under / patches. We recommend that you keep your correction status as up-to-date as possible. In 2003, SAP's Support Package strategy for some product versions was enhanced to include Support Package stacks (SP stacks). This strategy supports the actual way in which most customers import SAP Support Packages, making it possible to improve quality and service and reduce ongoing operating costs. Information on Support Package stacks can be found at/sp-stacks. It may happen that an error occurs for which there is no relevant SAP Note or correction available. In this case, you can report an incident for SAP under /incident. This incident report is then processed by SAP Support. Access to your SAP system and to other services If an SAP employee needs access to the customer system to solve a problem, you can reach this connection in the SAP ONE Support Launchpad with the function Remote Connections. This access is also needed for other services, such as EarlyWatch (/earlywatch: SAP experts proactively analyze your SAP systems to ensure the best possible performance and availability). The service cataloghttps://support.sap.com/support-programs( services/services.html) lists and describes the services offered by SAP Support. Software requirements Which software requirements (operating system release or database release) does a specific SAP solution have? You can find the answer in the Product Availability Matrix (PAM), quick link –/pam. Information on the latest products You can get an overview of the current release strategy from SAP here: https:// support.sap.com/release-upgrade-maintenance/release-strategy.html . © Copyright. All rights reserved. 270 Lesson: Describing SAP Support Portal Related Information For more information about the SAP Support Portal, visit the SAP Support Portal under: https://support.sap.com/support-programs-services/about.html. For information about using the SAP Support Portal, see: http://service.sap.com/ssp. LESSON SUMMARY You should now be able to: ● List some of the services provided on the SAP Support Portal © Copyright. All rights reserved. 271 Unit 8 Lesson 2 Describing the SAP Community LESSON OVERVIEW This lesson introduces you to the SAP Community and the offers that can be found there. Business Example As a user of SAP software, you are interested in information on current developments and trends, for example. The SAP Community is a source of information that is available on the Internet. LESSON OBJECTIVES After completing this lesson, you will be able to: ● List some of the services of the SAP Community Introduction SAP customers can access a wide variety of information on the Internet. The following websites are provided as examples: ● Online documentation underhttp://help.sap.com ● The SAP Support Portal underhttps://support.sap.com ● ● The SAP Info (http://www.sap.info) and SAP InsiderOnline http:/ ( / www.sapinsideronline.com) information portals The SAP Community underhttps://www.sap.com/community The SAP Community The SAP Community is a social network that promotes and maintains the exchange of ideas and collaboration among SAP customers, partners, employees, and experts. Its members use the extensive possibilities to master business requirements more easily. © Copyright. All rights reserved. 272 Lesson: Describing the SAP Community Figure 142: SAP Community – Initial Screen In short, it provides an excellent meeting point for SAP experts. Registered members of the SAP Community can access information from many different subject areas. To visit the SAP Community, you can use the following URL: https://www.sap.com/ community Services in the SAP Community Why should you join the SAP Community, what are the advantages and offers? The function of the SAP Community can be summarized in the figure “SAP Community – Services”. Figure 143: SAP Community – Services © Copyright. All rights reserved. 273 Unit 8: SAP Support Portal and SAP Community A selection of functions provided in SAP Community follows: ● ● ● Search all of SAP function: When you use the search in the SAP Community, you not only search the many contents of the SAP Community, but also the SAP Notes ( http:// support.sap.com/notes ), the SAP Help Portal ( http://help.sap.com ), and many other SAP pages. Discussions (forum) : Every member of the community can ask questions here. On average, a question asked in the discussion forum is answered within 20 minutes. millions of forum entries were made in the period from 2003 to 2017. Of course, you can also search the discussion forum. SAP wiki : SAP wiki is a web site that SAP Community members maintain for a wide variety of SAP topics. It contains step-by-step instructions for many processes, along with a great deal of other useful information, in a clear, orderly structure. Hint: You can see an overview of all the topics on the following page: wiki.scn.sap.com/wiki/display/WHP/Home ● ● http:// Events and webinars : This area provides an overview of all events (such as SAP TechEd, SAPPHIRE, and more), as well as available webinars. Download zone : In the downloads section, you can get free downloads and trial versions such as SAP NetWeaver Application Server or the SAP NetWeaver Composition Environment, as well as useful tools for the application server such as Eclipse Memory Analyzer. The SAP Community is a valuable addition to the existing online information sources of SAP. If you need help using the SAP Community, see: http://scn.sap.com/community/support . LESSON SUMMARY You should now be able to: ● List some of the services of the SAP Community © Copyright. All rights reserved. 274 Unit 8 Learning Assessment 1. Who is SAP Support Portal tailored for? Choose the correct answers. X A Everyone who is interested in SAP X B Only SAP employees X C SAP partners X D SAP customers X E SAP competitors 2. You can download developer keys from the SAP Community. Determine whether this statement is true or false. X True X False © Copyright. All rights reserved. 275 Unit 8 Learning Assessment - Answers 1. Who is SAP Support Portal tailored for? Choose the correct answers. X A Everyone who is interested in SAP X B Only SAP employees X C SAP partners X D SAP customers X E SAP competitors The SAP Support Portal is tailored for SAP customers and SAP partners. 2. You can download developer keys from the SAP Community. Determine whether this statement is true or false. X True X False You apply for developer keys using the SAP Support Portal , not in SAP Community . © Copyright. All rights reserved. 276