Beruflich Dokumente
Kultur Dokumente
0B Basis-Technology
Preface
Copyright Level 1 Target Audience Course Goals Course Content
Navigation
Objectives Logging On Clients in the R/3 System R/3 Menu Structure Screen Selecting Functions Field Help R/3 Online Help System Functions - Services System Functions - User Profile Favorites List Session Manager Summary
System Kernel
System Kernel - Objectives R/3 Presentation Interface Relational Database Management Systems R/3 Database Interface Processing User Requests Dialog Work Processes R/3 Application Services SAP Transactions and Screens LUW (Logical Unit of Work) Requesting a Lock SAP Lock Objects Writing Log Records Updating Log Records Removing Locks Background Processing
Interfaces
Interfaces - Objectives Communication: R/3 as an Open System R/3 Gateway Service Communication With CPI-C Remote Function Call RFC from R/3 System to R/3 System Business Objects and BAPIs R/3 System as an OLE Client R/3 System as an OLE Server Internet Architecture EDI Architecture Distribution of Business Processes with ALE Data Transfer Batch Input Interfaces - Summary
ABAP Dictionary
Objectives Modeling Models Data Modeler / SERM Conversion of the Model What is the ABAP Dictionary? Integration of the ABAP Dictionary Tables and Fields ABAP Example: Access to a Table Basic Objects of the ABAP Dictionary Two-Level Domain Concept What is a Foreign Key ? Example: Inserting a Data Record Tables and Structures Views R/3 Standard Function: Input Help Summary
ABAP Workbench
Unit Objectives Change Levels The Three-System Landscape Recommended by SAP Project Management in the Workbench Organizer Logical and Temporal Organization Closing a Project Writing an Application R/3 Repository and Repository Objects ABAP Workbench Tools Principles of ABAP ABAP Dialogs User Dialogs Database Dialogs ABAP Query / Reporting Testing and Tuning Summary
Exercises
Exercise for Unit: Navigation Exercise for Unit: System Kernel Exercise for Unit: Interfaces Exercise for Unit: ABAP Dictionary Exercise for Unit: ABAP Workbench Exercise for Unit: Administration
Solutions
Solutions for Unit: Navigation Solutions for Unit: System Kernel Solutions for Unit: Interfaces Solutions to Unit: ABAP Dictionary Solutions for Unit: ABAP Workbench Solutions for Unit: Administration
Appendix
The Java GUI R/3 System Architecture Worksheet for SAP50 / ABAP Dictionary Transactions for SAP50 Question 1 Question 2 Question 3 Question 4 Question 5 Question 6 Question 7 Question 8 Question 9 Question 10 Question 11 Question12 Question 13 Question 14 Question 15 Question 16 Question 17 Question 18 Question 19 Question 20 Question 21 Question 22 Question 23 Question 24 Question 25
SAP 50
Basis Technology
R
SAP AG
Copyright
Copyright 1998 SAP AG. All rights reserved. Neither this training manual nor any part thereof may be copied or reproduced in any form or by any means, or translated into another language, without the prior consent of SAP AG. The information contained in this document is subject to change and supplement without prior notice. All rights reserved.
SAP AG
Trademarks SAP and the SAP logo are registered trademarks of SAP AG. MS-DOS and EXCEL are registered trademarks of Microsoft. OS/2, CICS, MVS, ACF/VTAM, VSE, AIX, OS/400 and AS/400 are registered trademarks of IBM. X Window System is a registered trademark of MIT University. SINIX, UTM and BS2000 are registered trademarks of Siemens. UNIX is a registered trademark of AT&T. HP-UX is a registered trademark of Hewlett Packard. DECnet, DECstation, DECsystem, VAXstation and VMS are registered trademarks of DEC. Ethernet is a registered trademark of the Xerox Corporation. ORACLE SQL*net, SQL*+ PRO*C are registered trademarks of the ORACLE Corporation. INFORMIX-OnLine and INFORMIX-ESQL/C are registered trademarks of the INFORMIX Corporation.
Level 1
Level 1
SAP 20 2 days SAP R/3 Overview SAP 50 2 days Basis Technology SAP 60 1 day Business Solutions for the Internet SAP 70 1 day IDES Model Company SAP 80 2 days R/3 Service & Support SAP 81 1 day OSS Online Service System SAP 82 1 day Network Technology
R
Level 2
Applications
Level 3
Applications
Basis
Basis
SAP AG
Target Audience
Project team Consultants R/3 administrators R/3 developers
SAP AG
Notes to the user The training materials are not teach-yourself programs. They complement the course instructor's explanations. On the sheets, there is space for you to write down additional information.
Course Goals
This course will provide you with knowledge about the following topics: R/3 System architecture R/3 System navigation R/3 System interfaces R/3 System development environment R/3 System administration
SAP AG
Course Content
Introduction
Basis System and the System Environment Navigation System Kernel Interfaces
SAP AG
SAP AG
Objectives
Discuss the Business Framework model as the new strategic product architecture of the R/3 System. Specify the basic technological properties of the R/3 System, such as portability, openness and scalability. Define the client / software concept and its influence on the R/3 System software architecture. Outline the R/3 Basis components and their tasks for the whole system.
SAP AG
Accounting
FI Financial Accounting CO Controlling TR Treasury
PP Production Planning
R/3 Basis
PS Project System
Human Resources
Industry / Cross-Application
R
SAP AG
The R/3 System is based on an economic model that covers the following application areas: Financial accounting, controlling, asset management, materials management, production planning and production control, sales and distribution, quality management, plant maintenance, project management, service management, human resources, office communication, workflow functions, industry solutions, Open Information Warehouse. An outstanding feature of the components of the R/3 System is the combination of up-to-the-minute technology with comprehensive business functions. The high level of application integration ensures that all functions can be accessed directly throughout the system and, therefore, your company. When you install your R/3 System, the data is integrated using a common database. Processing business processes with the R/3 System is not restricted to individual application modules. All data and functions are closely connected to each other. This enables cross-application business processes to be carried out at smoothly as possible.
...
Internet
Intranet
SAP AG
The Business Framework is the new, strategic R/3 System product architecture. It works with business components, which are software modules that can be configured and provides enterprises with a moving business infrastructure. Therefore, enterprise software can react quickly to new business requirements and be changed or enhanced simply without interrupting the business process. Using the Business Framework technology, SAP provides its customers with a new platform to configure and connect business processes and information flows across all components of the Business Framework - and also across physically separated application components. Examples of types of business components are core components such as FI (Financial Accounting), LO (Logistics), HR (Human Resources) or industry components for the formation of specific applications for different sectors or Internet application components for Business-to-Business, Consumer-to-Business and Intranet applications. The advantages of the Business Framework Architecture (BFA) include the ability to easily change and configure dynamically business processes independently of usual releases, easy integration of Internet and Intranet components in their business processes, simple connection between R/3 and third-party software, customers own developments and evolutionary implementation of the latest technology without interrupting the business operation.
ALE
BAP II BAP
BOBO BO BO
BAPI BAPI
BO BO
BAPI BAPI
B API
B API
B API
SAP AG
The Business Framework graphic shows the R/3 System as a family of separate, integrated components. Components: Business Components (Human Resources, for example) Business Objects (Order, employee, applicant, for example) BAPI-Interfaces (create an order, change employee address, for example) Business components interact in the Business Framework over open Business Application Programming Interfaces (BAPIs). BAPIs also provide a stable, standardized interface to integrate external applications and components into the Business Framework. These interfaces are defined within the framework of the SAP initiative with customers, partners and leading standardization organizations. To distribute business information to in the Business Framework, there are stable technologies such as Application Link Enabling (ALE). ALE guarantees integration between the business components.
OLE
RFC
ED I
CPI-C
SAP AG
The R/3 System ensures portability by using industry standards for interfaces that allow the integration of applications, data and user interfaces. This is how the system is compatible with different operating systems, databases and networks. The R/3 System uses open system industry standards such as TCP/IP, EDI, OLE and Open Interfaces. TCP/IP: Network communication protocol EDI (Electronic Data Interchange): Process for the exchange of business data between different systems OLE (Object Linking and Embedding): Integrates PC applications with the R/3 System Open Interfaces: Such as optical archiving, barcoding devices, etc. As well as the industry standards used by SAP, the R/3 System also uses additional communication tools which allow integration beyond system borders: RFC: Remote Function Calls use CPI-C protocols (IBM's communication standard) to facilitate communication and processing of applications and tasks between R/3, R/2 and other systems. ALE: Application Link Enabling allows distributed processing autonomy and the integration of R/3, R/2 and other systems that are linked to each other.
A LE
R
Presentation
Database
R
SAP AG
The R/3 System has a modular software architecture that follows the software-oriented client / server principle. This architecture forms the basis of the many options available to customers for planning and operating their individual R/3 System installations. Central configurations are supported as well as distributed systems with numerous dedicated servers. This architecture allows you to separate application logic from the presentation and the database. This is the prerequisite for distributing load in client / server configurations as well as using the performance potential and various cost structures of present and future hardware generations. This architecture allows you to adjust the performance of the installed host service (scalability), for example, if load profiles have changed as a result of increasing user numbers or because additional components are used. Features and uses of the scalability of the R/3 System: Installation of additional servers with resource bottlenecks Parallel servers with homogeneous load and local program execution Buffer data and programs near to the processors Logon and load balancing (distribution of users to dedicated servers, load distribution with background processing)
Server
Client
Process 1
Server
Process 1
Provision of a service
SAP AG
Softwareoriented view
R
In SAP terminology, a software component provides a service (software-oriented view). This type of component can consist of a process or a group of processes and is then called a server for that service. Software components that use this service are called clients. At the same time, such clients can also be servers for specific services. A server often also means a computer (host) on which software components run that provide specific services (hardware-oriented view).
Two-tier config.
Three-tier config.
Application
Application processes
Database
Flow of:
Database processes
R
SAP AG
The fundamental services in a business application system are presentation services, application services and database services. In a central R/3 System configuration, all processing tasks are performed by one host. This corresponds with the classic mainframe processing, with X terminals instead of character-oriented terminals. Two-tier R/3 System configurations are usually implemented using special presentation servers that are responsible solely for formatting the graphical interface. Many R/3 System users use Windows PCs for example as presentation servers. An alternative two-tier configuration is to install powerful desktop systems and to use these for presentation and applications (two-tier client/server). This type of configuration is particularly useful for expensive applications (such as simulations) or for software developers. In a three-tier configuration, you use your own host for the three tiers. Using data from the database server, several different application servers can operate at the same time. To ensure that the load on individual servers is as even as possible and to achieve optimal performance, you can use special application servers for individual application areas such as sales planning, distribution or financial accounting (Logon-/ Load Balancing).
Three-Tier Hierarchy
Database server Database access Dialog processing Background processing Update / lock
Application server
Presentation server
Terminal server
SAP presentation
The R/3 System refers to all software components that are assigned to the same database. If you use the distribution options of the R/3 System according to the client / server principle, the R/3 components extend over a three-tier hierarchy. The database server is installed on a central host, that is, the database server processes run on this host. Several application servers can be connected to the database server. Application servers process the actual application logic. Several presentation servers can also be connected to each application server. These are also called frontends (workstation, PC). These individual computers process all presentation tasks. Users work interactively with the R/3 System using the user interface provided by the presentation services.
R/3 R/3
IS Indu stry Ind ustry Solutions Solution s IS IS
AM
PS Client / /Server Client Server ProPS ject Project System ABAP/4 System ABAP/4 W FF WF W
W orkflow W orkflow
Using the R/3 Basis System, the applications can run on different platforms with high performance and can be adapted to meet the individual user requirements. R/3 Basis software (also called middleware): Provides the runtime environment for the R/3 applications Takes care of optimally embedding the application in the system environment Defines a stable architecture framework for system enhancements Contains the tools for administering the whole system Allows resources and system components to be distributed Provides interfaces for decentral system parts and external products. Features of Basis technology are: The R/3 Basis System architecture particularly complies with the structure of client / server configurations Relational databases Graphical user interfaces
ABAP interpreter
SAP AG
To guarantee portability of the R/3 System applications, the system software interfaces are combined in their own level. Above this level, the functions of all R/3 System components are completely independent of the hardware and software environment. The flow control sits on top of the system interfaces. It controls services such as scheduling or memory administration that could partly be left to the surrounding operating system software, but which are executed within the R/3 System for reasons of portability and performance. The user interface provides the application presentation options. The communication interface defines the channels for exchanging information electronically, for transferring legacy data, for example, or for program-to-program communication according to the CPI-C protocol and for the standard exchange of application data using EDI (this will be explained later in the course). All application programs in the R/3 System are formulated in SAP's own ABAP programming language. The controlling components for the screen sequence are DYNPROS (= dynamic programs). The interaction between the screen and ABAP interpreters forms the technological basis of the R/3 System applications. Both interpreters use the overall view of the R/3 System data that is stored in the ABAP Dictionary.
Operating system s
W indows NT
OS/400
OS/390
Databases
W indows 3.1, Windows 95, Windows NT, OSF/Motif *, OS/2 Presentation Manager (PM), Macintosh *, Java ABAP, C, C++, HTML, Java
R
The R/3 System's open architecture means that it is extremely portable. The R/3 System is fully compatible with all important UNIX platforms and Windows NT (Microsoft) as well as with AS/400 and S/390 (IBM). You can also use database systems such as Informix Online, Oracle 7, ADABAS D from Software AG, IBM's DB2/6000 and Microsoft's SQL Server 6.0. The graphical user interface of the R/3 System (SAPGUI) is also compatible with desktop systems such as OS/2 PM, OSF/Motif, Macintosh and Windows.
Summ ary
The Business Framework concept works with the business components, that is, configurable software modules (Business Components). It provides companies with a flexible business infrastructure. The R/3 System has a modular architecture that follows the software-oriented client / server principle. This allows scalability of the R/3 System (distribution of application levels). The R/3 Basis software provides the runtime environment for the R/3 System applications and ensures that the applications are embedded optimally in the system environment.
SAP AG
Navigation
Logging onto the R/3 System User interfaces and choosing functions System functions and user defaults The Session Manager
SAP AG
Objectives
Define the essential features of the R/3 System. Specify the user interfaces and their components as well as the options for controlling the R/3 System functions. Discuss some of the basic functions of the R/3 System and configure your own settings.
SAP AG
Logging On
SAP AG
The R/3 System is a client system. With the client concept you can control several separate enterprises at the same time in one R/3 System. Each user session only accesses data on the client that you selected when you logged on. So that you can log onto the R/3 System, you must have a user master record created for you for the corresponding client. For reasons of access protection, you must enter a password when you log onto the R/3 System. The system does not display the password that you enter. The R/3 System is multilingual. The default language is EN (English). Enter DE if you want to display the user interface in German, for example.
FI Financial Accounting
Default clients
R/3 Basis
Client 100
TR Treasury
Client 200
PS Project System WF W orkflow IS Industry Solutions
Client xxx
R
SAP AG
A client is a self-contained organizational unit in the R/3 System. Clients have their own data environment and therefore their own user master and transaction data, assigned user master records and chart of accounts and specific Customizing parameters. Users of different clients coexist independently and isolated in the same R/3 System. Users can only see or process data in a client for which they have authorization. This isolation specification is fixed in the design of the R/3 tables, as well as at the level of the application tables and in the Customizing tables. (Customizing = Adjusting the R/3 System to users' individual requirements) Client 000 is defined as an SAP standard and must not be changed by customers. You can use this client as a template for additional clients that you want to create. Clients have a three digit name.
..
Accounts rec. rec.
... ...
2
Application level
3
Custom er Com pany code General data Address Control data Payment transactions
Task level
R
SAP AG
Once you have logged on, the system displays the R/3 main menu level. When you choose one of these menu options, the system displays a pull-down menu (1). From here you can choose the application levels. Menu options with arrows have cascading menus. If you choose a menu entry or choose a submenu, the system displays the applications in the application level (2). This lists the functions that you can call for each application (create a data record, for example). When you choose the required function, the system displays the initial screen (3) to edit the object for your application. You are now in a special SAP application called a transaction. The dynamic menu provides an alternative option to using menus to choose functions. You can display the dynamic menu by choosing Dynamic menu.
Screen
Title bar
Display Customer Line Item s: Initial Screen Line items Edit Goto Settings Environment System Help
Standard toolbar
Checkboxes
Pushbutton
List begins with Line items Totals
Radio button
13:10
R
Status bar
SAP AG
Title bar: The title bar displays the task in which you are currently working. Command field: You can choose a task directly by entering the corresponding transaction code in the command field. You can find the transaction code for a task by using the dynamic menu or by choosing System Status. Options: When you choose Options, you can change the R/3 System user interface to your individual requirements. Standard toolbar: In the standard toolbar you can find the icons that are frequently used for navigating within the system, as well as icons for saving data and calling the online help. If you place the cursor over on an icon for while, the system displays a flag with quick info text that explains the icon's function. Checkboxes: Checkboxes allow you to choose several items from a selection at the same time. Radio buttons: Radio buttons allow you to choose exactly one item from a selection. Status bar: The status bar displays information on the current status of the system, such as the R/3 System name, session number, client, application server on which you are working andf the PC time.
Selecting Functions
Using the menus
System
Create session End session User profile Services Utilities List Object services Own spool requests Own jobs Short message Status . . . Log off
Hold data Set data Delete data App. values O wn data Favourite maint.
/NSM50
SAP AG
You can select a function in the following ways: Using the mouse by choosing menu entries, or using the keyboard (Alt + access characters (underlined letters in the menus). By entering a transaction code in the command field: Each function in the R/3 System is assigned a transaction code. You can enter the transaction code for a transaction in the command field of any screen in the R/3 Systems (for example, to choose a function enter "/n" and then a four-digit transaction code /nsm50). You can determine the transaction code by choosing System Status. Additional input options: /n ends the current transaction /i deletes the current session /osa38 opens a new session and branches to the transaction specified. You can also access the command field using the keyboard, by choosing STRG+TAB. This takes you from one field group to another. Within a field group, you go to another by choosing TAB.
Field Help
Customer Change: Customer Edit Goto Extras Environment System Help
F1
F4
Com pany Code
Co. Code Company name City Frankfurt Rome Paris London Moskow New York Tokyo Sao Paulo Capetown Sydney
Curr. DEM XEU XEU GBP RUB USD JPY BRL ZAR AUD
...
Help Definition
1000 1111 1310 2000 2200 3000 5000 5061 5070 6500
IDES AG IDES I IDES F IDES UK IDES R IDES US IDES JP IDES BR IDES SA IDES A
Procedure
W hen creating a customer master record, the user decides whether he/she enters the account number of the customer or whether it should be determined by the system when the record is saved, depending on the type of number assignment specified.
SAP AG
You can choose the F1 key to display an explanation of fields, menus, functions and messages. You can also choose the F1 help to display technical information for that field. Here you can find, for example, the parameter ID to fill the field with default values. You can use F4 to display possible input values. Alternatively, you can choose the possible entries pushbutton located directly to the right of the field. If fields are filled with a question mark (?), the system can only continue to process the task once you have entered a permitted value in the field. Users can specify whether many fields in a task should be flagged as required fields or optional fields, or whether they should be suppressed (hidden).
Custom ers Postings Doc. Account Master records Periodic proc. Env. System
Help
BC CA FI HR LO
B AC
E xtended help R /3 library G lossary Release N otes Getting started Help on help
WORKING WITH R/3
R/3 Library BC CA - Basis - Cross-Application Components FI - Financial Accounting HR - Human Resources Mgmt LO - Logistics INFO - Information Glossary Help
4.0 B
IDES (DEMO SYSTEM) IMPLEMENTATION TOOLS RELEASE NOTES R/3 SERVICE & SUPPORT
BASIS FINANCIAL ACCOUNTING TREASURY CONTROLLING INVERSTMENT MANAGEMENT ENTERPRISE CONTROLLING LOGISTICS GENERAL MATERIALS MANAGEMENT CROSS-APPLICATION PLANT MAINTENANCE PROJECT SYSTEM QUALITY MANAGEMENT PRODUCTION PLANNING SALES & DISTRIBUTION PERSONNEL PLANNING & DEVELOPMENT PERSONNEL ADMINISTRATION & PAYROLL R
SAP AG
The R/3 System provides detailed online help. You can call this help from every screen in the system by choosing Help. From Release 4.0A, you can display the online help in HTML format. By choosing the menu option Help, you can:
call context-sensitive help (Extended help), access online documentation (R/3 library), find definitions of terms in the Glossary, query Release notes, get started with the R/3 System, choose help settings (modal (R/3) window or modeless window (ext. viewer)), see how you can use this help (Help on help).
Dynam ic m enu
Opens the company menu, favorites list and the transaction search help
Reporting Q uery O utput controller Ext. Table maint. Table maintenance Batch input Fast input Direct input CATT Jobs Q ueue SAP Service Appointment cal. O ffice
SAP AG
You can find the following options in the System menu option: Create/End session Create and delete additional sessions (up to 6). User profile Make user-specific settings Services Important service functions List E.g. search for specific character strings, download, print... Status Display various user and system data Log Close the user's SAP session (with confirmation). By choosing System Services you can also find the following functions: Reporting Start reports ABAP Query Start queries Output controller Manage user-specific spool / print requests Table display Call the table display / maintenance (Shortcut to SM30) Batch input Manage batch input sessions (transfer legacy data) Jobs Manage jobs in background processing SAP Service Log onto the SAP OSS System. Dynamic menu calls the company menu and also allows you to search for keywords.
Dynam ic m enu
Hold data Set data Delete data Application values O wn data Favourite maint.
SAP AG
The menu option User profile contains: Hold data, Set data, Delete data. These options allow you to hold data during a session and then set it the next time you call the application. Own data: Here you can set your address, defaults and user parameters in three additional templates. Fixed values include your choice of start menu, date and decimal format. You can only use a work area or an area menu as a start menu (see F1 help on the start menu). Using user-specific parameters you can predefine regularly used input fields. (To find the field parameter, position the cursor on the field to be filled. Choose F1 help and the technical information. This displays the internal field parameters that you use to predefine the field.)
Favorites List
Edit the Favorites List M enu Edit Favorites list Goto System Help
Company menu
+ + + + + + -
Office Logistics Accounting Human resources Info catalog Tools Favorites list Office Logistics Logistics Logistics Custom ers Inbox Environment Sales Sales Stock Order Order Stock/rqmts list Create Change Standard analyses Control Custom er Credit overview
R
Inventory management
SAP AG
Each user can define his or her favorites. Favorites are regularly used R/3 functions. You can display them by choosing System User profile Favorite maint. Or by choosing Dynamic menu from any screen. The system then displays the company menu, which was previously created using the Customizing functions and which displays all of the applications relevant for the customer in a tree structure. In this transaction (SES0), you can also maintain your favorites, that is, you can insert or delete them or arrange them in simple structures. Creating Favorites: To insert a transaction in your favorites list, use the mouse to select the transaction in the menu tree. Then choose the menu option to create a favorite. You can also create favorites directly by specifying a transaction code. When you use the Session Manager, the favorites you have chosen are displayed in the user view.
Financial accounting, Accounts receivable, Postings, Invoice Financial accounting, Accounts receivable, Postings, Credit m em o Inbox
User-specific folders
Create Custom er Credit Mem o: Header Data
Session list
SAP AG
The Session Manager is a user interface for controlling the R/3 System in its own window. You use the Session Manager to log onto one or several R/3 System. This enables users to manage sessions from within this user interface. Once you have logged onto the Session Manager, the system displays a tab that contains the components to control calls to transactions and reports centrally. Users can use the mouse to display two views: the SAP standard menu and the company menu. The SAP standard menu displays all of the business transactions supported by SAP, the company menu displays the transactions selected from the SAP standard menu and which are are relevant for a company. Note: The Session Manager runs on Windows 95 and Windows NT (from release 3.51) and is available from SAP R/3 Release 3.0 D.
Summ ary
Navigating within the R/3 System Using entries in the System menu such as creating user profiles, reporting, table maintenance, flow control, list functions.
SAP AG
System Kernel
Presentation interface Database interface Dialog processing SAP transaction concept Asynchronous update and the lock concept Background processing Spooling R/3 instance
SAP AG
Objectives
Discuss the components of the R/3 System application server and analyze how a dialog request is processed. Outline the basic techniques for processing R/3 transactions. Define the instance concept and the basic structure of an R/3 System and its components.
SAP AG
W orkstation // PC W orkstation PC
SAPGUI process
SAPGUI process
LAN / W AN network
Application
SAP AG
The presentation interface SAPGUI (GUI = Graphical User Interface) implements the platform-specific input and output functions of the R/3 System. The SAPGUI is available for several platforms and provides the same functions for each. If you have learned to use the R/3 System on one platform, with the exception of a few small platform-specific GUI attributes, you can use the system on another platform exactly the same as before. Together with the frontend processes of the window management software, the SAPGUI implements in this way the graphical control elements of the R/3 System. The R/3 presentation software therefore implements the graphical user interface using the functions provided by the presentation environment. The flow of data between the presentation level and the application level does not consist of prepared screens, but rather logical, compact information using control elements and user input. The data set to be transferred for each screen change is generally between 1 and 2 kB. You can also connect application servers over WANs.
Name
Tom Smith
Tel. no.
030 1188
Address
Schubertstr. 76 Berlin Mozartstr. 45 Munich
PC
1000 60944 13802
Dept.. . .
EDV Finance Vehicles ...
Boss . . .
142 132 65
SAP AG
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. SQL (Structured Query Language) is responsible for data organization, access and manipulation. Different manufacturers produce RDBMS products. These products are not fully compatible. Relational database management systems distinguish themselves by their logical simplicity. All data as well as the relationships between this data is stored in two-dimensional tables. The definition of the data, tables and table relationships takes place in the database catalog (the data dictionary) of the database system. The ISO standard 9075 SQL (Structured Query Language) is used to query and manipulate data in relational database systems.
DB interface
Data OPEN-SQL
local buffer
Database
App. data
EXEC SQL. SELECT ... END EXEC.
SAP AG
Within the ABAP programming language, you can use SAP OPEN SQL to access data in the database regardless of your database management system. The R/3 database interface converts Open SQL statements from the ABAP statements into corresponding database statements. This means that the application programs that are written in ABAP do not depend on the database used. When interpreting Open SQL statements, the R/3 database interface checks the syntax of these statements and ensures that the local SAP buffers in the shared memory of the application server are utilized optimally. Data that is frequently required by the applications is stored in these buffers so that the system does not have to access the database to read this data. In particular, all technical data for such as ABAP programs, screens and ABAP Dictionary information, as well as business administration parameters such as the number interval supply, usually remain unchanged in a running system and are therefore suitable for buffering. The same applies to transaction data which is generally accessed as read-only.
SAPGUI
SAPGUI
SAPGUI
SAPGUI
Com munication
Application Dispatcher
W ork process
W ork process
W ork process
Buffer
Database
SAP AG
DB processes
DB
The central process of the R/3 application level is the SAP dispatcher as a control instance. Together with the operating system, the SAP dispatcher controls the resources for the R/3 applications. The main tasks of the dispatcher include distributing load to the work processes, connecting to the presentation level and organizing communication. User screen input is received by the SAP presentation program SAPGUI, converted into its own format and then sent to the dispatcher. The processing requests are then saved by the dispatcher in request queues and processed. The dispatcher distributes the requests one after the other to the available work processes. Data is actually processed in the work process. There is no fixed assignment of work processes to users. Once the data has been processed, the processing result from the work process is sent via the dispatcher back to the SAPGUI. The SAPGUI interprets this data and generates the output screen for the user. When the R/3 System is initialized, the dispatcher executes amongst others the following actions: it reads the system profile parameters, generates roll areas, starts work processes and logs onto the message server (this service will be explained later).
Request q ueues
Screen processor ABAP processor Database interface
W ork process 1
Task handler
Work process n
...
Roll in Roll out
Roll area
Buffer access
Application buffer
Shared memory
Roll file
User context
R
SAP AG
The main components of an R/3 application server are: Dispatcher as a central control instance Dispatcher queues for incoming requests Configurable number of work processes for processing ABAP programs Commonly used buffers in the shared memory. The task handler coordinates activity within a dialog work process. It activates the screen processor or the ABAP processor (which control the screen flow logic and process ABAP statements respectively) and executes the roll-in and the roll-out of the user context. The memory management system differentiates between main memory areas that are available exclusively to a work process, and memory areas that can be used by all work processes. The memory space used exclusively by a work process has two reserved areas for session-specific data that must be kept longer than the duration of a work step. These are called roll and paging areas. Paging areas play a less important role from Release 3.0. The roll area contains data that is automatically made available to the process at the start of a dialog step (rolled-in) and that is saved at the end of the dialog step (rolled-out). The roll area also contains data that characterizes users (user context), such as their authorizations, administration information and additional data for the ABAP and dialog processor. This data was already collected in the dialog steps that were already executed. There are also additional memory areas for all processes in the shared memory for the factory calendar, screen, table and program buffers.
M
Disp.
Background
11 10 9 8 7 6 5 4
SAP dispatcher
Spool S
12
1 2 3
R/2
G
R
R/3
SAP AG
The R/3 runtime system is a group of parallel, cooperative processes. On each application server, these processes include the dispatcher as well as a number of work processes that depend on the resources. Special work processes may be installed for dialog processing, update, dialog free background processing and spooling. As well as these work process types (dialog processing (D), update (V), lock management (E), background processing (B), spool (S)), the R/3 runtime system provides two additional services for internal and external communication: The message server (M) communicates between the distributed dispatchers within the R/3 System and is therefore the prerequisite for scalability with several application servers that are processing in parallel. The gateway server (also called the CPI-C handler) allows communication between R/3, R/2 and external application systems.
Time
PBO
Screen 100
PAI
PBO
Screen 200
PAI
PBO
Screen 300
PAI
SAP transaction
SAP AG
User chooses
Save / Exit
R
Transactions are processing units that are grouped in functions which execute consistent, database changes that are can be permitted for business administration. Typical examples are credit and debit postings, that are only useful together, or creating an order and reserving the material concerned. Accordingly, an SAP transaction is implemented as a series of consistent, connected dialog steps. A user dialog step is represented by a screen (or a dynpro, which is a dynamic program = template and flow logic). SAP transactions are not necessarily executed within one single dialog work process. Instead, different dialog work processes can process the individual dialog steps in a transaction. You can also use asynchronous update for processing the dialog part of the transaction and the corresponding database update in different work processes and even on different hosts. In an R/3 System, a dialog step starts by processing the data entered by the user (PAI: Process After Input) and by processing and sending the next screen template (PBO: Process Before Output); the system then receives the next screen processed by the user and once again analyzes and processes the input data on this screen. Dialog steps for the user and the system do not therefore take place at the same time. For the system, both halves of the dialog steps are called PBO and PAI.
Save"
COM MIT W ORK SAP LUW 1 Start of transaction New SAP LUW 2 Start update End update
SAP LUW 1 t
The transaction concept, in as far as it has been previously explained, corresponds to the term Logical Unit of Work (LUW) As current database systems do not support transaction flows for all processes, you should differentiate between the elementary processing layers (LUWs) in the R/3 System and in the database system (from now on referred to as: SAP-LUW / DB-LUW). A DB-LUW is fully executed, or not at all. It ensures that the database is consistent. This means that the data are logically correct before and after the LUW. The same applies for DB-LUW and SAP-LUW. The start of an SAP transaction is also the start of an SAP-LUW. SAP-LUWs are completed by a "COMMIT WORK" statement in the ABAP coding or by the end of the asynchronous update (second part of the SAPLUW). Within an SAP-LUW, each dialog step is executed by a work process, as described previously and therefore corresponds to a DB-LUW. Database updates occur within a DB-LUW. The technique predominantly used within SAP-LUWs is asynchronous update. This means that user change requests are collected temporarily and at the end of the dialog phase (that is, in the second part of the SAPLUW,) the database is updated in separate update work processes. Like any other dialog step, this update takes place in one of its own DB-LUWs to achieve data consistency. The following slides explain asynchronous update.
Requesting a Lock
Dialog server Dispatcher Enqueue server Dispatcher
...
...
E-W P
V-W P
b)
SAP AG
The lock mechanisms present in the current relational database systems are not generally sufficient to handle business data objects (such as sales orders) that may affect several tables in the database. The R/3 System has lock management function that is executed by the enqueue work process. This prevents several applications from accessing the same objects. The enqueue work process manages the locks using a lock table (b) stored in the server's main memory (where the enqueue work process runs). If a lock is requested (a), the system checks whether or not this lock clashes with existing entries in the lock table. If this is the case, the lock request would be rejected. In this way the application program can warn users in advance that the operation requested is not currently available. As the screen dialog and enqueue work processes are not located in the same application server, these two work processes communicate over the message server. This R/3 System service will be explained later in the course.
Activate
So that the system can execute lock requests, you must first define a lock object in the ABAP Dictionary. The lock object contains tables whose entries are to be locked. A lock object consists of a primary table. You can also have additional secondary tables using foreign key relationships (the name of a user-defined lock object must begin with "EY" or "EZ"). For a lock object, you can specify the lock mode ("S" read lock, "E" write lock). A write lock (mode "E") can only be set if no other user in the data record has set a lock. The same user can remove a lock from mode "E" or "S" within a call sequence of programs (call chain). If a lock object is activated, the system generates an ENQUEUE and a DEQUEUE function module. The function modules are called ENQUEUE_<object_name> and DEQUEUE_<object_name>. Locks set by an application program are either reset by the application program itself, or using a special update program (second part of the SAP-LUW).
...
D-WP
Message server
...
E-W P
V-W P
VBLOG
SAP AG
DB
Dialog work processes can cause direct changes to the database via the database interface, for example, using statements to the database server (regardless of whether or not the database is on the same host). With asynchronous update, processing the ABAP language element CALL FUNCTION '...' IN UPDATE TASK of the change request is designated as a log record in "intermediate table" VBLOG (c). This system table saves the user change requests that occurred within an SAP transaction. The log record contains the names of the update routines to be triggered as well as all data necessary to make the changes to the database. If the user cancels a transaction during the dialog phase, or the transaction terminates for other reasons, then the header entry in the VBLOG table may not be completed. The changes are not written to the database. Updating log records can be subdivided into V1 and V2 update components. Primary, time-critical processes are stored in V1 components; secondary processes that are less time-critical are stored in V2 components.
...
D-WP
...
Save: COM MIT W ORK
E-W P
V-W P
d)
Message server
e)
f)
VBLOG
SAP AG
DB
The update itself is triggered by the ABAP statement COMMIT WORK specified in the last dialog step (d) of an SAP transaction. The locks set by the application program using the enqueue work process are passed onto the update task. In the second part of the SAP-LUW, the update work processes take over copying (e) the log records from the VBLOG table and updating the change requests buffered there in the corresponding application tables in the R/3 database (f). Errors cannot be corrected during the update by interactive contact with the user. Instead, the system terminates processing of the current update components. In the case of errors in the primary V1 components, the database changes that have already been made are reset. The log record is given an error ID and is not deleted from the VBLOG table. Subsequent V2 updates are not executed either. If a V2 component is terminated, only the database changes that have been made by this component are reset. The log record is given an error ID and is not deleted. The system continues updating the remainder of the secondary components. Users are automatically notified by express mail if an update (V1 or V2) is terminated. The system can evaluate and handle the incorrect update that terminated (see Administration" unit).
g) ... D-WP
Message server
...
E-W P
V-W P
h)
SAP AG
At the end of the SAP-LUW, the update task removes the locks (g). Locks are also removed from the lock tables if an update is unsuccessful (h). If an update is terminated, log records can be updated later in the VBLOG table, depending on the problem. This method is generally used by terminated V2 components. You should not use it for terminated V1 components. SAP recommends that you process the transaction again (OSS note 16083). If the database breaks down whilst it is being updated, the VBLOG log records that have not yet been updated (these have status "INIT") are automatically updated when the database is later restarted. You can use profile parameters to control this R/3 System function.
Background Processing
Background processing server Dispatcher
3 3 D-WP 3 3
Batch scheduler
B-WP
...
2 2 4 4
11 10 9 8 7 6 5 4
3 D-WP 3 1 1
Schedule jobs
...
12
1 2 3
Job
Job1
...
...
R
Scheduling table
SAP AG
Background processes for background processing (and not in dialog mode) are defined for periodic tasks such as reorganization or automatically transferring data from a legacy system into the R/3 System. This type of processes is handled in the system analogous to online processing. Background processing is scheduled in the form of jobs. Each job consists of one or more steps (ABAP reports or external programs), that are processed sequentially. You can also set priorities (from "C" to "A") so that certain jobs are handled first. Job processing is not generally triggered immediately (immediate start). Instead you specify a start date when you schedule the job. It may also be necessary to start jobs periodically. If, for example, there are any system control jobs that are repeated on a fixed cycle. The batch scheduler is responsible for automatically triggering the job at the specified time. The batch scheduler is an ABAP program that searches for jobs to be executed in the scheduling table and then ensures that they are executed.
W orkload Balancing
Dialog and background processing server 1
D-WP D-WP B-WP B-WP B-WP Name Job1 Job2 Job3 Job4 Job5 Job6 Job7 Class C C A C C B C Server 1 Server 2 Targ. Server Start time Server 1 23:00 23:00 23:00 23:00 23:00 23:00 23:00
Scheduling table
R
Workload balancing is used for background processing. This supports installations with several background servers as well as installations with several batch work processes on one server. Unless otherwise specified, a background process that has become free executes the next background request (job) that occurs in the system. All jobs that specify the target server are taken up by the background processing server batch schedulers and started on the allocated servers. The remaining jobs that do not specify the target server are then distributed according to the load on the background processing server. Job processing also takes the priority of a job into account. Jobs belonging to class "A" have the highest priority and are therefore processed first. (Sequence: Priority A with target server specified before priority A without specifying the target server; priority B with the target server specified before priority B without specifying the target server and so on).
S-W P
SAP AG
Spooling refers to the buffered transfer of data to output devices such as printers, fax devices and so on. In distributed systems, networked administration is necessary for this output. The R/3 System spool mechanism can supply print requests to printers and external spoolers both within a local network as well as over WANs. On each host concerned, the spool mechanism cooperates with the local spool system. Spool requests are generated in dialog mode or during background processing and are then set in the spool database with details on the printer and the print format. The data itself is stored in the TemSe (TEMporary SEquential object). When data is to be printed, a print request is generated for a spool request. This print request is processed by a spool work process. Once the spool work process has formatted the data for output, it returns the print request to the operating system spool system. The operating system spooler takes over the queue management and ensures that the required data is passed on to the output device.
R/3 Instance
Instance (a)
Dispatcher
Instance (b)
Dispatcher
...
D-WP
D-WP
...
D-WP
B-WP
. . . D-WP
V-W P
E-W P
B-WP
S-W P
SAP AG
An instance is an administrative unit that combines R/3 System components provifing one or more services. The services provided by an instance are started or stopped at the same time. You use a common instance profile to set parameters of all the components of an instance are. A central R/3 System consists of a single instance that provides all the necessary R/3 System services. Each instance has its own SAP buffer area. The example displays setting up an additional dialog server (a) and a background processing server (b). These instances that provide specific services generally run on their own hosts but can also be accommodated on the same host. The message server provides the application servers with a central message service for internal communication (update trigger, request and remove locks, trigger background requests, for example). The dispatchers for the individual application servers communicate via the message server that is installed once in each R/3 System (it is configured in the R/3 System profile files). Even presentation servers can log onto an application server via the message server. This means that you can use the message server performance database for automatic load distribution (logon balancing).
Summ ary
The database interface converts the SAP OPEN SQL from ABAP into the SQL of the database software used. Flow control consists of the dispatcher and the work processes that process user requests. The presentation interface is implemented using the SAPGUI. A dialog request is sent from the presentation server SAPGUI to the application server dispatcher and then processed by a dialog work process.
SAP AG
Interfaces
General communication CPI-C communication RFC Business Objects and BAPIs OLE Internet architecture EDI ALE Data Transfer into the R/3 System
SAP AG
Objectives
Define the R/3 System as an open system. Recognize the principle communication mechanisms in an R/3 System. Discuss the options the R/3 System provides when you transfer legacy data.
SAP AG
OLE Automation
Presentation layer / session layer
RFC
LU6.2 (R/2)
TCP/IP (R/3)
Ethernet
Ethernet
Token ring
...
X.25
...
R
Physical layer
SAP AG
The R/3 System is an open system. It supports a variety of network communication protocols. Information can be exchanged between R/3 Systems and other R/3, R2 or non-SAP systems over the network. Network communication can be divided into seven different layers. Each layer provides the layer above with functions whilst building on the services from the layers below. Handling communication is always easier at the upper layers. SAP supports the TCP/IP (Transmission Control Protocol/Internet Protocol) and SNA LU6.2 (System Network Architecture; Logical Unit 6.2) protocols. Communication within the R/3 System takes place in the standard protocol TCP/IP. LU6.2 was developed by IBM and is used to communicate wuth mainframe-based R/2 Systems. R/3 application programming supports CPI-C (Common Programming Interface Communication), RFC (Remote Function Call) and OLE Automation (Object Linking and Embedding) as communication interfaces. You can find detailed information on communication in the online documentation. You can also get an Interface Adviser knowledge CD from SAP, which explains the options for communication in the R/3 System using examples.
Token ring
Connection layer
LU6.2 DB3
SAP AG
The CPI-C protocol connects protocol types LU6.2 and TCP/IP. You can therefore use CPI-C to connect mainframes (R/2 Systems) and client server systems (R/3 Systems). The SAP gateway (CPI-C handler) is a group of processes that allow communication between R/2 Systems, R/3 Systems and external applications based on the CPI-C protocol. The gateway can run together with an R/3 application and / or an R/3 database server, either on shared hardware or separately on its own. Whereas short messages are exchanged between the application servers via the message server in an R/3 System, larger datasets (application data) flow through the SAP gateway. This means that the communication partner may be part of the same system, of a different R/3 or R/2 System, or part of an external program. In the R/3 System, the SAP gateway processes communicate with clients based on the TCP/IP protocol. LU6.2 (from IBM) is used for mainframes.
CM INIT CM ALLOC
Data exchange CM SEND CM RCV CM SEND ... Remove connection CM DEAL CM RCV
R
SAP AG
The R/3 System supports the CPI-C starter set as an elementary program-to-program communication method. It is used for communication between R/2 Systems (before Version 5.0D) or external (mainframe) applications, for which you cannot or do not want to use protocol types that are easier to use. ABAP contains six communication commands: COMMUNICATION INIT - specify communication parameters COMMUNICATION ALLOCATE - structure communication COMMUNICATION ACCEPT - accept communication COMMUNICATION SEND - send data COMMUNICATION RECEIVE - receive data COMMUNICATION DEALLOCATE - end communication. Once connection has been made, there is a program for sending the data. At this point, the other program must be ready to receive the data. Senders and recipients may change. At the end of the data transfer, the connection is removed. As well as configuring the sending buffer, you can evaluate extensive return codes. For CPI-C communication with external programs, in addition to the CPIC Advanced Function Calls (for converting ASCII to EBCDIC, for example,) SAP also delivers functions in the form of C libraries (to set up a connect string, for example). Connection-related parameters are not components of the communication program. You maintain table TXCOM using Transaction SM54. External systems require a side info file.
External system
SAP AG
R/2 System
Remote Function Call (RFC) is a communications interface that is based on CPI-C, but which has more functions and is easier for application programmers to use. You can use R/3 and R/2 Systems as well as external applications as RFC communication partners. RFC is the protocol for calling special subroutines over the network. These subroutines are labeled function modules. Function modules are comparable with C functions or PASCAL procedures. They have a defined interface via which data, tables and return codes can be exchanged. Function modules are managed in the R/3 System in their own function library, called the Function Builder. The Function Builder (Transaction SE37) provides application programmers with a useful environment for programming, documenting and testing function modules that can be called locally as well as remotely. The R/3 System generates the additional coding required for remote calls (RFC Stub) automatically. The technical requirements for RFC are the same as for CPI-C. You maintain the parameters for RFC connections using Transaction SM59. The R/3 System is also delivered with an RFC-SDK (Software Development Kit) that uses extensive C libraries to allow external programs connecting to the R/3 System.
Called system
... CALL
SAP AG
Function module remote calls across system borders are only different to local remote calls in that a special parameter (Destination) specifies the destination host on which the program is to be executed. There are three types of RFC call: Synchronous RFC call: the calling program stops until the function module has been processed in the destination system and any results have been returned to the caller. Only then does the calling program continue processing. Asynchronous RFC call: The calling program runs parallel to and independently of function module processing in the destination system. Programmers are responsible for handling result processing. In addition, the destination system must also be available at the time of the RFC call. Transactional RFC call: Several function modules can be grouped into one transaction. They are processed once only in the destination system within an LUW, and in the sequence in which they were called. In the case of an error, the calling system receives a confirmation that you can assess using Transaction SM58. In the case of transactional RFC, the destination system does not have to be available at the time of the RFC call. In addition, you can configure the frequency and intervals of individual queries.
BAPI BAPI
SAP AG
Business objects form the basis for communicating at high and user-friendly network layers. They allow the R/3 System to become Internet-enabled or enable desktop programs to be connected, for example. SAP uses business objects with the aim of integrating objects at a business level rather than on a purely technical level. Business objects Form the basis of well-defined communication between client / server systems. Are business-oriented: there are objects such as "Customer", "Order" or "Offer", for example. Provide business functions (methods). For a "Customer" object, for example, there are "Create customer" and "View customer" methods. These names enable clear and therefore error-free programming. Are managed centrally in the R/3 System in the Business Object Repository (BOR). BAPIs (Business Application Programming Interfaces) are functional interfaces. They use the business methods from the business objects. BAPIs may be addresses within or external to the R/3 System.
188 188
SAP AG
OLE (Object Linking and Embedding) is an object-oriented way for inter-program communication. You can connect desktop applications to the R/3 System for programs that provide OLE2 automation (Word, Excel, for example). In this way users can use the R/3 System without having to sacrifice their usual desktop environment. If the R/3 System is acting as an OLE client, then the user calls the desktop program from the ABAP application. OLE commands are transferred from the ABAP coding as RFCs via the SAPGUI to the PC. The SAPGUI maps RFC calls to OLE commands for the PC application. The desktop program's OLE functions are specified in the R/3 System in the type information. This information contains a description of the methods, attributes and parameters. Type information is language-independent. ABAP contains five special OLE commands CREATE OBJECT, CALL METHOD, GET/SET PROPERTY and FREE OBJECT with which you can access the desktop functions.
188
R/3
SAP
RFC
Function modules
PC program
automation server
RFC API
Data Business objects BAPIs
R
SAP AG
When the R/3 System is used as an OLE server, its functions can be called from a desktop application. This sends OLE commands to the SAP Automation server. The server converts these commands into RFC calls and sends them to the R/3 System. This triggers function modules or BAPIs from business objects in the R/3 System. Once these have been processed, their data is then sent via the SAP Automation Server back to the desktop program. As regards programming, users can use the R/3 System function modules. Programming is object-oriented, for example in Visual Basic or Visual C++. The business objects that are managed centrally in the R/3 System in the Business Object Repository can be called from the desktop level using Visual Basic for example. This means that all of the business functions implemented in the Repository are available to external applications. Both function modules and business objects are located within the R/3 System. Users must therefore first log onto the R/&3 System. This logon may be automated.
Internet Architecture
Browser
WGate
HTTP server
W eb host
AGate
Client
ITS ITS
SAP AG
The Internet is a global network of computer networks. It is a standardized platform for exchanging data between individuals and organizations. Business-to-business and consumer-to-business scenarios have developed during the furious development phase of the Internet over the last few years, so that it may be useful to connect companies to the Internet. The R/3 System has been Internet-enables since Release 3.1G. The Internet Transaction Server (IST) forms the main component of the Internet architecture. It is made up of two program components: Application Gate (A gate) and Web Gate (W gate). With regard to the R/3 System, the A gate behaves like a normal dialog user, since the protocol between the A gate and the R/3 System corresponds to the SAPGUI protocol. The A gate includes the data sent by the R/3 System to HTML templates and sends them over W gate to the HTTP server. From there they are displayed via the Internet in the customer's Web browser. Customers are provided Web transactions which are a section of the Internet Application Components (IAC) provided by SAP. These are easy to handle and do not require any training to use them. Web transactions are mapped to R/3 transactions, which select and change the data in the R/3 System. You can format the appearance of the Web transaction as you would any Internet page.
EDI Architecture
Docum ents EDI messages
Idoc type
SAP documents
Control record
Ext. application
EDI subsystem
Idoc interface
R/3 application
SAP AG
EDI stands for Electronic Data Interchange and describes the electronic exchange of structured business data between different applications. EDI architecture consists of: EDI-enabled applications: They allow business transactions to be processed automatically. The IDOC interface: This was conceived as an open interface and consists of the intermediate documents and the corresponding function modules. The EDI subsystem: This converts the intermediate documents into EDI messages and inverse. SAP does not supply this element of the EDI architecture. The main component of the IDoc interface is the IDoc type. An IDoc is an SAP standard that specifies the structure and format of the data to be transferred electronically. It was developed with the standards EDIFACT and ANSI X12 in mind. IDocs are identified uniquely using a control record. The data records form the centerpiece of the application. The status records log the status of an IDoc on its way from the application to the trading partner and vice versa.
Head office
Shipping, inventory m anagement Program planning, central purchasing
Shipping
MRP, CRP, SFC, inventory m anagem ent
Business unit
Plant
W arehouse
R
SAP AG
For technical, organizational and business reasons, it may be useful to decouple application systems, with the aim of installing and operating them decentrally. The ALE concept (Application Link Enabling) allows you to set up and operate distributed SAP applications. ALE comprises business controlled message exchange with consistent data retention across loosely linked systems. The applications are integrated through sycnronous and asynchronous communication, not through a central database. To set up a distributed yet integrated system, the customer specifies in a logical model which applications run on which systems and how the applications exchange data. Data is exchanged using IDocs (intermediate documents) from the EDI interface. EDI supports the exchange of messages between the R/3 Systems of different companies, whereas ALE allows information to be exchanged within a company.
Data Transfer
Legacy system
R/3 System
Sequential files
SAP AG
SAPinterfaces / checks
SAP data
R
When you transfer data from one R/3 System to another, or from a legacy system into an R/3 System, you must ensure the integrity of the data that is transferred. Since the system uses the same transactions to transfer data into the R/3 System as a dialog user, the legacy data is subjected to the same checks and controls as data that was entered manually. This ensures the integrity of the data. The methods used to transfer legacy data are known as "batch input" methods. For many areas in the R/3 System, SAP provides standardized legacy data transfer methods. These methods use batch input, call transaction and direct input programming techniques. The SAP standard methods are controlled using the Data Transfer Workbench (Transaction SXDA). If no SAP standard transfer method is available, you can program transfers using batch input or call transaction.
Batch Input
BATCH INPUT:
Sequential file
CALL TRANSACTION:
Sequential file
DIRECT INPUT:
Sequential file
BDC table
BDC table
Queue file
CALL TRANSACTION Batch input function Batch input function Application function Application function Application function Application function
SAPtransfer program
SAP database
SAP database
With batch input, transfer data is buffered as a BDC table (Batch Data Communication) in a queue file (batch input session). In the next step, the system processes this session, that is, the data is transferred to the application transaction within the batch input environment and therefore entered in the database. The R/3 System enables you to record a transaction in dialog mode. You can use this recording to generate a batch input session and a transfer program. Alternatively to batch input, you can also call the transaction directly (Call Transaction), after a data record is taken from the sequential file and placed in the BDC table. The read and write process for the queue file does not apply here. The batch input and call transaction methods access application transactions within the R/3 System. The data is therefore subjected to the same consistency checks before it is transferred as data in the dialog mode. Direct input programs execute the consistency checks and update the data in the database, without having to access the application transactions. Direct input methods are used in a few SAP standard transfer methods such as transferring bills of material and documents). These processes are only programmed by SAP developers.
Summ ary
The R/3 System provides several communications interfaces. CPI-C and RFC are standard interfaces. OLE is used to connect W indows programs to the desktop level. EDI and ALE allow business data to be exchanged across system borders. Business objects provide business functions and are managed centrally in the BOR. R/3 is Internet-enabled. Batch input refers to methods to transfer legacy data into the R/3 System.
SAP AG
ABAP Dictionary
Modeling in the R/3 System The objects of the ABAP Dictionary Tables and foreign keys The two-level domain concept Views Search help functions
SAP AG
Objectives
Become familiar with some of the modeling tools of the R/3 System (Data Modeler / EPCs). Become familiar with the main tasks of the ABAP Dictionary as an instrument for managing R/3 meta information (data descriptions). Become familiar with the uses of tables, foreign keys, data elements, domains and views.
SAP AG
Modeling
Real world
Modeling object
R
SAP AG
Why do we need models? A person or a group can only cope with a limited level of complexity. Models permit you to reduce the complexity of a system to its essential components. You can then build new and more complete systems and solve more demanding problems. Modeling is based on a segment of the real world that is significant for business-oriented operations.
Models
W arehouse stock Plant M aterial Purchase requisition Purchase order
Objects
Models
Processes
Create m aterial m aster
Data
Table
Navigation Navigation 11027 M aterial
SERM
Transaction
11003 Plant 11006 Plant m aterial
R
EPC
SAP AG
The SAP application model documents the business-oriented relationships and processes in the R/3 applications. It thus ensures a greater transparency of the application software: The structures of business-oriented objects and the business processes are described precisely and represented graphically from the company's point of view. The complexity of the integration can easily be understood. Because of its clear structure, the model shows who can implement what, when and with what objects within a company. Dynamic aspects of the buisness-oriented information system are represented in the process model. This representation describes the time dependencies of functions. The triggering mechanism for a function is called an event. An event determines the flow logic of event-controlled process chains (EPCs). In addition to representing the time-dependent sequence of functions, the input and output functions as well as the organizational units used for executing the function can also be described. Data models are created to formally map the data needed within the business-oriented processes in a global functional context. The SAP data model represents the information objects that are relevant for the company and their relationship to each other from the business-oriented point of view in the form of a Structured Entity Relationship Model (SERM). An entity type maps objects of the real world that have a business-oriented significance and a corresponding object in the R/3 System.
Si
pl
ifi
ed
re
pr
es
11027 Material
en
ta
tio
!
R
...
SAP AG
Cardinality
Entity type
SAP-SERM provides rules and construction principles that are required to represent the businessoriented objects, their semantics and the SAP-specific information in a model (SAP Enterprise Data Model EDM). Entity types represent object types of the real world that have a SAP-specific meaning and a corresponding object in the R/3 System. The relationships between the entity types are classified by type and cardinality. Data models can be represented both as text and graphically from within the ABAP Development Workbench. The section of the data model displayed can be changed dynamically. The user can define the required section of the data model individually. The Data Modeler is a development tool with which data models can be created according to the Structured Entity Relationship Model (SERM). It supports the user both when modeling and when mapping the created model on the ABAP Dictionary. Data models can be structured hierarchically to any depth in the Data Modeler. They can be expanded and compressed in the graphic display, which greatly simplifies work with large models. The graphic editor permits you to design data models as on a drawing board.
User View
SAP EDM
Table 1 Table 2 Table X
Physical DB tables
DB
SAP AG
The SAP EDM (Enterprise Data Model) is a stable reference point for both business-oriented reality and the particular RDBMS. Despite the close relationship between the SAP data model and ABAP Dictionary, it could be necessary to distribute entity types on several tables of the ABAP Dictionary or to combine several entity types in a table for technical reasons. In this case views that define the relationship between the entity types of the data model and the tables of the ABAP Dictionary are defined in the ABAP Dictionary. Developers can display the version of entity types by selecting views and use them for programming at the level of business-oriented objects. A view is the logical view on one or more tables. The data of a view is not physically stored, but is derived from one or more tables. For example, if a table contains a large number of fields, but only a few of them should be read, you can restrict access to the required data by defining a view on the corresponding table fields. You can therefore access specific data by defining a view.
ABAP Dictionary
Description of data
DB
SAP AG
The ABAP Dictionary is used to create and manage data definitions. It permits you to describe all the data used in the system centrally and without redundancies. All the data created in the ABAP Dictionary is available throughout the entire system. Modifications take effect immediately in all the relevant system components due to the activation mechanism. The R/3 Repository Information System enables you to use the Dictionary to answer a number of questions. (The R/3 Repository Information System is described in the next chapter.)
Screen Painter
ABAP Dictionary
ABAP
Program
Selection screens
SAP AG
Screen
The ABAP Dictionary is an integrated and active Dictionary, that is it is completely integrated in the development environment. The Dictionary information is created only once, but is available throughout the entire system at all times. The active ABAP Dictionary automatically provides all the information that was created or modified, thus ensuring current runtime objects, data consistency and data security. The link of the ABAP Dictionary to the program flow is based on the interpretative method of the R/3 runtime environment. Instead of working with the original of an ABAP program, the ABAP processor interprets a runtime object generated from the program text prior to its first execution. Runtime objects are automatically generated again before execution if it is found that the time stamp differs from the ABAP Dictionary. All the information that is critical to performance is stored in the runtime objects (programs, masks, etc.). System functions ensure that this information is always up-to-date at the time of execution.
Row
. . .
. . .
. . .
. . .
. . .
. . .
Primary key
SAP AG
Function fields
A table is a two-dimensional matrix. It has a name and attributes, such as the table type. A field has a name and attributes. For example it can be a primary key field. A table has at least a primary key field, which uniquely identifies a row in this table. The ABAP Dictionary describes the logical structure of the objects of the application development and their representation in structures of the underlying relational database. It provides a logical view on the application data and the organization of this data using the underlying database system.
TABLES: SPFLI. ... SELECT * FROM SPFLI. ... W RITE: / SPFLI-CARRID, SPFLI-CONNID. ... ENDSELECT.
SPFLI
DB
SAP AG
There is a direct link between the ABAP Dictionary and the ABAP Workbench. Only the required tables must be defined in an ABAP program (TABLES: <tabname>). Main storage is thus reserved for one record of the table to be read, and all the fields of this "table working area" are correctly initialized. All the information that is important for the runtime environment, such as the field length and field type, are obtained from the ABAP Dictionary. In the above example, the "SELECT" command is used to read table "SPFLI", which is defined in the ABAP Dictionary. The command shown here reads all the records from the database table one after the other in a loop. The "WRITE" instruction outputs the record of the table row "SPFLI" currently being accessed on the screen.
Table
Field
SAP AG
The basic objects for defining data in the ABAP Dictionary are tables, domains and data elements. The domain is used for the technical definition (e.g. field type, field length) and the data element for the semantic definition (e.g. short text) of a table field. The field is not an independent object; it depends on the table and can only be maintained within a table. The data element assumes that a domain exists. The domain can be defined without references to other Dictionary objects. It contains information about the value range, such as the value table, the external format and fixed values (technical attribute, for example CHAR, length 4). The data element and domain are the objects of the two-level domain concept in the R/3 System.
Domain S_PRICE
SAP AG
For example, table fields FORCURAM (table SBOOK) and PRICE (table SFLIGHT) have the same domain S_PRICE. The difference is that field FORCURAM uses data element S_F_CUR_PR and field PRICE uses data element S_PRICE. Both fields use the same domain because both fields FORCURAM and PRICE are currency fields and therefore have the same technical attributes. The two-level domain concept permits you to define and maintain technical field attributes at domain level. A domain can pass its field attributes on to any number of fields, whereby only the domain, but not the individual fields, must be explicitly changed when the field attributes thus described are modified. The data element describes the semantic attributes of a field in context with the table. These are attributes that are only of importance at that location and not globally (such as the technical attributes).
Table T1
Field1 Field2
Primary key
Table T2
Field3 Field4
Primary key
SAP AG
Relationships between tables can be defined in the ABAP Dictionary. These relationships are called foreign key and must be defined explicitly at field level. Foreign keys are primarily used to ensure data consistency. Data that was entered must be checked against existing data to ensure that the data is not inconsistent, for example if you assign a printer that does not exist. A combination of fields of a table is called the foreign key if this field combination is part of the primary key of another table. A foreign key creates a link between two tables T1 and T2 when table T2 refers to the primary key of table T1. In T2, the foreign key fields are assigned to the primary key fields of T1. Table T1 to be checked is called the check table and table T2 is called the foreign key table. They are also called the dependent table (foreign key table) and the referenced table (check table). If a foreign key is defined between two tables, a record of the foreign key table refers to a record of the check table. Since a record is identified by its key, it is sufficient to refer to the primary key of the check table in the foreign key definition for the foreign key field.
Insertion allowed ?
SPFLI (Foreign key table) CARRID CONNID CITYFROM CITYTO ........ ... ........ ... ........... ........... LH 0400 LH LH LH ... 0402 0410 2402 ...
Primary key
Primary key
SAP AG
Field 'CARRID' was defined as the foreign key field in table SPFLI. The corresponding check table is table SCARR with the primary key field 'CARRID'. When a data record is entered in table SPFLI, the values for field 'CARRID' are checked against all existing carriers in table SCARR. Question: May you insert the above data record in table SPFLI?
Table
Field 1 Field 2 Field 3 Field 4
SAP AG
A transparent table is automatically created on the database when it is activated in the ABAP Dictionary. The database-independent description of the table in the ABAP Dictionary is converted into the language of the database system used. The database table has the same name as the table in the ABAP Dictionary. The fields also have the same name on the database and in the ABAP Dictionary. The data types in the ABAP Dictionary are converted to the corresponding data types of the database system. Since Release 3.0, the order of the fields in the ABAP Dictionary may differ from the order of the fields on the database. This permits you to insert new fields without having to convert the table with a physical reorganization. New fields are inserted by changing the database catalog (ALTER TABLE). A new field is appended to the database table, whatever position the new field has in the ABAP Dictionary.
Views
Table 1
Join
Table 3 Table 1
Projection
User view 1
Selection ABAPDictionary
R
SAP AG
The usual method in the relational model of providing problem-oriented data views in the form of views can also be used in the R/3 System. In the ABAP Dictionary, views can be defined as virtual tables, that is they do not actually contain data, but represent data of other tables of the ABAP Dictionary in a suitable form as a table. The SAP view supports the relational operators JOIN, PROJECTION, and SELECTION. The join defines how the base tables used in the view are linked. (Tables 1 to 3) The projection defines those columns of the base tables that should be included in the view (fields of the table that are marked in bold). The selection condition of a view provides the rows that should appear in the view table. You can read the required records of the view with the corresponding ABAP programming commands.
LH
Departure city Frankfurt Frankfurt Frankfurt ... Arrival city New York New York Berlin ...
...
SAP AG
The input help (F4 help) is a standard function of the R/3 System. It allows the user to display a list of possible values for a screen field. A value can be directly copied to an input field by selecting it from the list. The fields having an input help are visualized in the R/3 System with a combo box to the right of the field. This combo box appears when the cursor is in the corresponding screen field. The help can be started either by clicking on this box or with function key F4. If the number of possible entries in a field is very large, the input help allows the user to restrict the number of values displayed by defining further restrictions. The input help provides additional information in the display for fields where no corresponding entries are expected. Since the input help is a standard function, it should look and behave the same throughout the entire R/3 System. The ABAP Workbench therefore provides simple tools for assigning a standardized input help to a screen field. The input help of a field can usually be precisely defined based on its semantics. For this reason, the input help of a field is normally defined in the ABAP Dictionary.
Summ ary
The ABAP Dictionary is the instrument for managing metadata in the R/3 System. It therefore contains descriptions of the data: W hat tables and what fields and data types are there in R/3? W hat views are there in R/3? W hat foreign key relationships are there?
SAP AG
ABAP W orkbench
Change levels in the R/3 System The R/3 system landscape The W orkbench Organizer The software development cycle The R/3 Repository The ABAP Workbench ABAP Query Testing and optimizing
SAP AG
Unit Objectives
At the end of this unit you will be able to: Identify the change levels in the R/3 System Describe the structure of the system landscape, with development, test, and production systems Understand the use of change requests, tasks, and the W orkbench Organizer Identify the different tools in the ABAP W orkbench, and understand how they can be used to develop R/3 applications
SAP AG
Change Levels
Customer developm ent 3 Enhance ments 2 Customizing 1
Cust. Program
ABAP WB
Cust. exit 1 Cust. exit 2
M odification
SAP AG
There are four different ways in which you can adapt the R/3 System to meet your requirements: 1) Customizing: Here, you set system parameters using a special user interface. All of the possible settings have been allowed for and organized by SAP. Customizing is a mandatory part of setting up your system. 2) Enhancement concept: This allows you, the customer, to enhance SAP Repository objects without using modifications. 3) Customer development: The R/3 System contains a customer namespace, in which you can create your own Repository objects. 4) Modification: Modifications are changes to SAP Repository objects. When you upgrade your system, you must compare your versions of modified objects with the new SAP version.
SAND
TEST
CUST
QTST
TRNG
PROD
Development
Quality Assurance
Production
SAP AG
To ensure system consistency, SAP recommends you set up a system landscape consisting of three systems. These three systems include the "productive" clients (where development, Customizing and production occur) and any other clients desired (training, sandbox client and so on). A three-system landscape facilitates the following recommended process: Development of customer-specific programs as well as required Customizing takes place in the development system. All Customizing settings as well as changes (developments, corrections or modifications if required) to the Repository are transferred to the quality assurance system (or "test system" for short) to be checked there without influencing production. All objects and settings imported into the test system can then be transferred into one or more production systems. A three-system landscape also allows testing of upgrades and helps to minimize downtime during upgrades of the production system. The systems within a system landscape must have unique three-character names.
Project leader
Change request
Developer
Task
Task
When a new development project starts, the project leader creates a change request, and assigns the project team members to it. A change request is a container for all of the Repository objects that are created or changed during a development project. The Workbench Organizer assigns a project number to the change request (<sid>K9<nnnnn>, so for example, C11K900001). The Workbench Organizer then creates a task for each team member. Whenever a team member assigns a Repository object to the change request, it is entered in his or her task. At the end of the project, the task contains all of the objects that the team member has worked on. When they have finished with their part of the development project, each team member releases his or her task. This passes the objects from the task to the change request. Once all team members have released their tasks, the project leader can release the change request.
Create object Assign object to a development class Assign object to a change request Object autom atically assigned to a task
Developer
SAP AG
When you create or change a Repository object during a development project, you must assign it to a development class. Development classes are used to group objects that belong together logically or due to their content. All of the objects in a development class share a common transport path. You can create development classes using the ABAP Workbench (Repository browser SE80). Each development class has a contact person who is responsible for it. Development classes allow you to divide up your Repository objects logically and thus provide helpful orientation within the ABAP Workbench. Once you have assigned a Repository object to a development class, you must also assign it to a change request. In contrast to the logical and permanent assignment of repository objects to development classes, the assignment of repository objects to change requests is project-specific. Objects in different development classes (that is, from different areas) can be managed together in one project (change request). The Workbench Organizer automatically assigns objects to the relevant task within a change request.
Closing a Project
Create object Assign object to a development class Assign object to a change request Automatic assignment to a task
Import
Project leader
Export
TMS
SAP AG
While developers are working on objects in a change request, these objects are reserved exclusively for the developers. When the developers have finished their work, they release their tasks. The objects and their locks are passed from the task to the change request. The objects can still be changed by all project team members, since the Workbench Organizer creates additional tasks as required. When the project is complete, the project leader releases the change request. The locks on the objects in the change request are released. Change requests may be transportable or local. The Workbench Organizer classifies them automatically depending on their development class. The following steps are performed only after transportable change requests are released: As soon as the change request has been exported, a test import determines whether it is possible to import all of the objects into the target system The Repository objects are exported to a transport directory. The export and test import results are written to the transport log, which is then checked by the developers. Import into the target system is not automatic. It is triggered in the Transport Management System (TMS). After the import, you can check the import log.
W riting an Application
The ABAP W orkbench supports the entire software development cycle
Project m anagement - W orkflow model - Documentation - Prototyping
Repository Browser ABAP Dictionary
SAP solution
Modeling
Analysis/ design
Implementation
Test
Administration
R
SAP AG
The ABAP Workbench is the development environment in the R/3 System for client/server business solutions. It supports the entire software development cycle with tools for modeling, programming using ABAP, defining data and table structures, and for designing graphical user interfaces. It also contains tools for testing, tuning, and maintaining software, as well as supporting development in large teams. In the concept phase of a project, you enter the results of your analyses into the SAP data model. This enables you to turn your concepts into fields, tables, and other R/3 objects. You can then develop your program components in any sequence you choose - they do not have to be combined into a single application until you want to run it. The development cycle concludes with program tests and transport into the production system. As well as the ABAP Workbench, SAP also provides a library of business and utility software components, which you can easily incorporate in your own programs.
FI
HR
WM
Repository Objects
SD MM
MM M
Development classes
...
SAP AG
The objects that you create using the tools in the ABAP Workbench are called Repository objects. They are stored in a special part of the database in the R/3 System called the R/3 Repository. The R/3 Repository is divided into applications. Applications are divided into development classes. Repository objects are often made up of several subobjects that are themselves Repository objects. For example, an application program is a Repository object, and so are the screens, user interfaces, and text elements that it contains. Whenever you create a new Repository object, you must assign it to a development class. You can retrieve information about Repository objects (tables, fields, domains, and so on) using the R/3 Repository Information System. This consists of a series of programs, each of which provides a particular view of the R/3 Repository.
ABAP Dictionary
SAP AG
The tools in the ABAP Workbench allow you to create and change Repository objects. To change a Repository object, you can either start the relevant tool and enter the name of the object, or use forward navigation to open the relevant tool by double-clicking the name of the object you want to work with. The Repository Browser provides an overview of Repository objects. The ABAP Workbench contains tools that support the entire software development cycle. The ABAP Workbench allows you to easily create client/server applications without having to worry about communication or distribution problems.
Principles of ABAP
ABAP ...
Stores all metadata in the active ABAP Dictionary Supports business-relevant data types and operations Uses Open SQL, allowing you to access whichever database system you are using with the same set of statements Provides open programming interfaces such as Remote Function Call (RFC) and Object Linking and Embedding (OLE) Is event-driven Allows object-oriented programming
SAP AG
R
AB A
SAP has developed its Advanced Business Application Programming (ABAP) language to provide optimal conditions for application development. It supports structured programming, and contains control structures and modularization concepts. It allows prototype-based program development by allowing developers to write a preliminary version of the program and its user interface, and then to fill in the missing functions. ABAP is an interpretative language. You can easily generate and test intermediate versions of programs, which you can then adopt in your final version. ABAP is multilingual. Text such as titles, headers, and texts on screens are stored separately from the program code, allowing you to change and translate them without having to change the program itself. ABAP supports business-relevant data types and operations, including special date and time fields that you can use in calculations. The system performs necessary type conversions automatically. ABAP contains a subset of ANSI SQL called Open SQL. This allows you to read from and write to the database in your programs regardless of the underlying database system.
ABAP Dialogs
Selection screen List Screen
User dialogs
SELECT-OPTIONS .. SELECT ...
WRITE ...
Database dialogs
R
SAP AG
The three basic dialog forms in ABAP are screens, selection screens, and lists. You create selection screens and lists using ABAP statements in the ABAP Editor. Screens are static objects that you create graphically. You call them from ABAP programs, and they in turn call other ABAP modules from their flow logic (refer to SAP transaction processing in the System Kernel unit).
User Dialogs
PA_CARR
LH
Selection screen
User selection
LH pa_carr
Execute (F8)
SAP AG
You can define selection screens for ABAP programs. These allow the user to enter values that restrict the data selected from the database (in the example, the user has entered the airline 'LH'). In the program, you can process the data selected by the user and display the results, for example, in a list. Use the PARAMETERS statement to define a field in which the user can enter a single value. If the user enters a value and then chooses 'Execute', the value is placed in the internal data object pa_carr in the program. The system will only allow you to enter values that conform to the type of the data object.
Database Dialog
DATA wa_spfli LIKE sdyn_conn . ABAP Dictionary
...
SELECT SINGLE CARRID CONNID CITYFROM CITYTO FROM spfli INTO CORRESPONDING FIELDS OF wa_spfli WHERE carrid = LH AND connid = 0400.
wa_spfli
Table SPFLI
The system reads the fields CARRID CONNID of an entry in database table SPFLI and places the contents in the identically-named fields of the work area W A_SPFLI
R
SAP AG
The statement DATA wa_spfli like sdyn_conn declares an internal data object using a reference to an object in the ABAP Dictionary (the LIKE addition). We can now use this data object as a work are for the data that the ABAP program reads from the database. ABAP contains a set of statements called Open SQL. These statements are a subset of ANSI standard SQL, with certain SAP-specific enhancements. Open SQL is used to access the database. In the example, we are using the Open SQL statement SELECT. The SELECT statement reads certain columns of a line of the table SPFLI from the database and places the data into the identically-named fields of the work area wa_spfli. Tables that you access using Open SQL must be defined in the ABAP Dictionary.
Reporting Query
Report generator Report generator
M ethods for generating lists: M ethods for generating lists: Report: Statements in the ABAP programm ing language Report: Statements in the ABAP program ming language Query: Description of the desired result Query: Description of the desired result
SAP AG
ABAP Query allows you to define simple reports without having to program them in ABAP. Instead, the user only has to define how the list should appear (what information should be visible, and how it should be arranged). From this query, the system generates an ABAP report program that generates the list. Within a query, there are three different types of list: 1. Basic lists. These contain unsummarized data, exactly as it occurs in the database. You can sort it by any criteria and calculate totals and subtotals. 2. Statistics. These contain summarized data. 3. Ranked lists. These are special statistics. They too contain summarized data. ABAP Query does not access the database tables straight away. To protect access to the database, it uses an environment in which it can determine which users have access to which data. The main object in this environment is the functional area. Functional areas describe the tables and fields that a user may access. The report program assigned to a query is a normal ABAP report program. This means that you can use all of the tools and utilities available for normal ABAP programs. In particular, it allows you to create variants, and to execute queries in the background.
Hit list
Tables
Hierarchy
SAP AG
CATT stands for Computer Aided Test Tool. You can use this tool to test the quality of software. The SQL trace is implemented to analyze an application's database activity. The SQL trace is used to: Recognize unnecessary database accesses Specify which database tables are buffered Specify whether database read accesses can be optimized by creating or redefining indices. The runtime analysis provides information on the performance-relevant attributes of a particular transaction or report. The tool measures in detail how much CPU is consumed by the statements and operations.
Summ ary
Organized software development is ensured by the W orkbench Organizer, which is integrated in the ABAP W orkbench and linked to the transport system. The ABAP Workbench is the software development environment in the R/3 System. It contains a range of development tools that support the entire software development process.
SAP AG
SAP AG
Objectives
Describe the elementary aspects of security as well as a simple way to assign authorization. Define the tools used by system administrators and the functions for extended system monitoring. Discuss SAPs service and support
SAP AG
Network / Communication
Firewall (SAProuter)
Application
Application server
W EB browser
Internet
Database
R
SAP AG
R/3 System technology integrates various security mechanisms at several levels: Presentation: The SAPGUI software uses check totals to check for integrity each time the R/3 frontend is started. This also recognizes if there is a computer virus present. Network / Communication: A firewall and the SAP router protect the internal network. You can also use additional security mechanisms by integrating external security products such as SECUDE (or Kerberos). Application: The authorization concept prevents unauthorized access to data and transactions. Users must authenticate themselves with their user ID and password. The lock mechanism internal to the R/3 System also prevents users making changes to data at the same time. Internet: The R/3 System supports current Internet security standards, such as https for example. Database: Only database administrators can access data in the R/3 database from outside the R/3 System. The database manufacturer's security mechanism applies here. Passwords: Preconfigured users exist in clients 000 and 001 after the R/3 System has been installed. These default users, DDIC and SAP*, have comprehensive authorization. You should, therefore, change their initial passwords immediately. You can find additional information on the subject of security in the OSS Notes, the installation guide, R/3 online documentation or in the security guide.
Profile 1
Profile 2
SAP AG
The SAP authorization concept recognizes a series of different user authorizations. These are all managed centrally in the user master record for that user. The SAP authorization concept is object oriented. Several units to be protected (factory, cost center, supplier, for example) make up an authorization object. To create an authorization, you use exactly one authorization object. The authorization object is then filled with values and forms an authorization. Authorizations are not assigned to users directly, but in profiles. To keep maintenance to a minimum, you can combine authorizations in authorization profiles. These are then assigned to users and do not have to be individually maintained in the user master records. Changes to access authorizations in profiles become effective for all users who have the corresponding profile in their user master record. Composite profiles are an additional organization level, which combine several authorization profiles. They are defined for those users who have to work with several authorization profiles at the same time.
Open M aint.:
Changed
M aintained
open fields,
Standard Cross-Application Authorization Objects Standard Transaction code check at transaction start Standard Transaction code check at transaction start FD02
Transaktionscode
+ + + -
Standard Financial Accounting FI Standard Standard Standard Standard Standard Customer: Customer: Customer: Customer: Change authorization for specific fields Change authorization Account authorization Authorization for com pany codes
SAP AG
The Profile Generator was developed to facilitate maintaining authorizations and profiles. First define an activity group and then choose the transactions that belong to it. From the company menu, find all of the transactions that belong to the required task. Then assign users to the activity group. For reasons of security, users do not receive the authorization profile until you choose "Compare in user master record ". Additional people can perform the tasks "Assign user to activity group" and "Assign profile to user master record". Summary: Only required authorization objects are used. Authorization profiles and authorizations are generated automatically. You no longer require technical details - the system administrator uses transactions to choose authorizations from the company menu. This simplifies creating and administering authorization profiles.
System Administration
Display application server Manage user sessions SM51 SM04 AL08
SM50
SM66
Manage lock entries Manage update records Send system messages Manage transaction codes SM01
R
SM12 SM13
SM02
System log
SAP AG
SM21
The R/3 System provides system administrators with a number of powerful tools to perform their daily tasks. You can find the following functions in some of the transactions listed above: Server, user and work process overviews Manage locks and updates Create system messages Lock transaction codes Monitor and analyze the system log.
...
...
Insert
TERMINATION!
TERMINATION!
VBLOG
SAP AG
DB
If a dialog work process is terminated as it is written to the VBLOG (1), then there will be incomplete data in the VBLOG that cannot be updated. These entries can be automatically deleted the next time you start the system. The application tables themselves remain unchanged. An update termination (2) may be triggered for several reasons. Report "VBTST300" displays an example. If you execute this report using option "I" instead of the default "U", then an insert is transmitted to a table. If this insert is then repeated in the same table, this triggers the exception condition "Duplicate Key" in the coding because an entry already exists in the table under this key. If updates are terminated, the system sends an express mail to the user who triggered the update. Any further steps to be taken must be carried out by the system administrator. Transaction SM13 provides system administrators with analysis tools to handle terminated updates. Once the error that causes the termination has been corrected (for example, if you reorganize the table, increase the maximum extent number, correct the coding and so on,) the end user should then restart the update. In the case of terminates V2 updates, you can update these log records can be later. You must not, however, handle V1 updates in this way, otherwise this may create inconsistencies in the data.
Monitoring Performance control of the R/3 System, database and operating system Analysis of execeptional situations and alerts Control data transport between R/3 applications
R
SAP AG
With the Computing Center Management System (CCMS) you can monitor, control and configure an R/3 System. You can use the tools provided to analyze system load and determine the resource consumption by the various system components. The CCMS provides you with a series of graphical monitors and administration functions: Starting and stopping the R/3 Systems R/3 System monitoring and analysis Automatic reporting of system alerts Dynamic user distribution R/3 System configuration: Editing system profiles (not authorization profiles) Processing and controlling background jobs, scheduling database backups.
pswdf046_I41_46
OperatingSystem DatabaseClient R3Services
R3BasisSystem Buffers
Program SingleRecord
Monitoring Object
GenericKey
DirectoryUsed SpaceUsed
HitRatio
SAP AG
A new system monitoring structure is available from Release 4.0 using Transaction RZ20. This new structure allows centralized monitoring of many system parameters and includes the following: Links to existing analyses Open interfaces that can be used to incorporate other system monitoring tools (including non-SAP tools). Allows monitoring of other R/3 Systems provided an RFC connection with the other system is possible and configured. It is also possible to define your own monitors in the new infrastructure. These can be used to provide specific people with only those alerts they are interested in. All threshold values can be maintained using simple Customizing settings. These can be valid either for one monitoring attribute or for an entire class of monitoring attributes. How full are various directories on the operating system level is an example of a typical monitoring attribute. You can define the alert condition for a specific directory using an individual threshold value or the threshold value of the "percentage_used" group (for example, change from green to yellow when 95% full) The example above displays the "HitRatio" attribute of the "GenericKey" buffer monitoring object. This attribute is also used for other monitoring objects (program buffer, for example). The buffer content is below the specified threshold value triggering a red alert and propagating the red alert higher up in the hierarchy (dependent of its assigned priority).
SAP
Local
Headquarters
Software factory
Local support
Training Consulting Regional support Development support
Partners
Local Consulting Technology Regional System resellers Hardware Central
...
Implementation
R
SAP AG
How is the service and support organized? SAP International Subsidiaries (local) Training Consulting Local support Regional Service & Support Center (regional) Service and support for Europe, America, Asia and Australia Secondary processing of support requests (7 x 24h) Headquarters (central) Development Strategic service and support planning Coordination of service and support activities
Online Service System (OSS) Going Live Service, Early W atch Rem ote Consulting SAPNet
SAP AG
Online Service System (OSS): The OSS allows users to consult SAP's extensive database of notes if they have any questions or if any problems occur, before they create a problem message in the OSS. Going Live and Early Watch: The Going Live check occurs shortly before an R/3 System is used productively. This test checks once again that the system is able to meet the requirements set. An Early Watch session recognizes performance bottlenecks in an R/3 System and proposes suitable counter-measures. Remote Consulting: During a Remote Consulting session, SAP consultants are able to access the customer SAP system at a time specified by the customer, and attempt to analyze and solve the problem in the R/3 System from their work station. SAPNet: SAPNet displays current notices, documentation, a few tools (QuickSizer) and much more. You can also use the discussion forum to offer and search for information, which makes considerable competence and customer experience available to a wide range of users. Additional services: Remote upgrade and archiving, conversion, migration and Euro services.
Partner
Which functions can you use in the OSS? You can report problems in R/3 customer systems. You can search for notes in the OSS using keywords. You can display latest SAP information (HotNews) on hot packages or new OSS functions, for example. You can generate and release developer keys (from Release 3.0) for developers and also for SAP standard objects. You can import preliminary corrections directly using hot packages into an R/3 System. You can maintain customer OSS user data yourself (telephone and fax number, first name and surname) and submit new users. You can find the latest SAP training course overview. Using service connection you can allow an SAP employee to access a customer system to ensure that an error is corrected more quickly.
Summ ary
Overview of security measures R/3 System administration tools Profile Generator functions The CCMS system administration tool SAP service and support
SAP AG
Exercises
Note: There may not be sufficient time to work through all the exercises during the course. The exercises should be seen as supplementary examples that can be used, time permitting, during the course. Attendees can also use these exercises after the course, to consolidate what they have learned.
SAP AG
1. Logging on the system 1.1. Start the SAPgui and choose the appropriate R/3 System. Use the user name, client and initial password provided by your instructor. When logging on for the first time, a window appears in which you must enter a new password twice. 1.2. Call the system status. 1.3. What is the current system time (not identical to the frontend time!)? 1.4. Which R/3 Release (version) are you using? 2. Navigation 2.1. Open sessions (maximum number?) and then close them. (/o opens the session overview). 2.2. Minimize a session window and then restore the original window size and position. 2.3. Test the functions of the following commands: a) /i" b) /n" c) /nend" and d) /nex" 2.4. What are the corresponding transaction codes for the following menu paths? a) System Services Jobs Job overview b) Tools Administration Monitor System monitoring User overview 2.5. You are interested in transactions for accounts receivable accounting, for example. Display relevant transaction codes for this topic.
3. User defaults 3.1. Using the example of Transaction FD03 (displaying accounts receivable), set a user default for the field Company code. 3.2. The Administration menu (Transaction S002) should appear automatically when logging onto the system. Set this under your Festwerte???.. 3.3. Set a favorite of your choice (see dynamic menu). The favorite should consist of two folders, each with two applications (transactions).
Unit: System Kernel Topic: Recognize the structure of the R/3 training system using the instance overview.
Using the server / process overview Working with the job overview.
The R/3 System in which the participant is currently working is consists of how many instances? How are these configured?
1. System overview 1.1. The training system consists of which application servers? 1.2. On which of these servers are you working? 1.3. Which server provides lock management work process? 1.4. How many work processes of this type does the central instance provide? 1.5. (Optional difficult question!) On which instance is the message server running? 2. Background processing 2.1. Did the "Collector_for_Performance_Monitor" job run on this training day? 2.2. When did it last run?
The R/3 System can communicate with external systems, using the ABAP interface RFC. You use batch input methods to transfer legacy data into the R/3 System.
1. Communication using RFC. 1.1. Find function module RFC_READ_TABLE. 1.2. What does the module do? 1.3. Ensure that the function module is RFC-enabled. 1.4. Familiarize yourself with the function module interface and run a single test: the RFC target system is either 'NONE' or a system defined by the instructor. Query table = 'SFLIGHT' 1.5. Restrict the table selection to airline 'AA'. 2. Data transfer with batch input. 2.1. Which batch input sessions were generated today? 2.2. Are there any sessions that are still to be processed or incorrect? 2.3. What is the content of the sessions that are still to be processed? 2.4. (optional for experts)Record changing a customer's address. Generate a batch input session from the recording. Process the batch input session in the foreground.
R/3 System metadata is stored in the ABAP Dictionary. The ABAP Dictionary describes the tables, matchcodes, views, foreign key relationships and elements.
1. Modeling. 1.1. Navigate to the data model BC_TRAVEL. 1.2. Is there an entity type BC_MEAL in model BC_TRAVEL? 1.3. What type of relationship exists between the entity types BC_SFLIGHT and BC_BOOKING? 2. ABAP Dictionary. 2.1. Using which table is entity type BC_BOOKING implemented in the ABAP Dictionary? 2.2. Look at the table fields of this table. The primary key consists of which fields? 2.3. Are the following entries in this table conceivable (consistent)? 400 LH 0400 19980101 00000001 00000001 X. 60.5 KG .. 400 LH 0400 19980101 00000001 00000001 10.2 KG... 2.4. For the current week, are there any flight bookings for airline LH and connection number 0400?
1. The development environment function modules. 1.1. Navigate to the ABAP development environment in the R/3 System. 1.2. Branch to the "Function Builder". 1.3. Use the input field to view a list of all function modules that begin with "STRING". 1.4. View the documentation on function module STRING_REVERSE. 1.5. Execute this module using the test environment. You can use any character string you like to do this (do not use "otto"). 2. Where-used list in the R/3 Repository Information System 2.1. In which programs is function module STRING_REVERSE used? 2.2. Which programs are used to access table SBOOK?
1. System overview I 1.1. How many sessions have you opened? 1.2. How many sessions has one of your neighbors opened? 1.3. Try to delete one of your neighbor's sessions. Did it work? 2. System overview II 2.1. Are there currently any open locks? To which user are these locks assigned? 2.2. Were there any update terminations this week? 2.3. View the messages that concern you in the system log. 3. System overview III 3.1. What is the current average response time? This is an important value to describe system performance.
Solutions
SAP AG
1. Log on to the R/3 System 1.1. Log on to the R/3 System indicated by the instructor and change your password. 1.2. To display system status, choose System Status. 1.3. The current system time (application server time) is in the top right corner of the System: status screen under System time. 1.4. You can also find the R/3 Release (version number) in the System: status screen under SAP System data SAP Release. 2. Navigation 2.1. To create and end sessions, choose System Create session and System End Session (also possible by entering /i). Six sessions can be open simultaneously during one user terminal session. 2.2. To minimize and maximize a window, use the buttons located in the upper right-hand corner of the window frame. To move a window around, click the title bar and hold, then move the window around screen. You can also alter the shape of the window by selecting the window frame (at the corners) and holding then pulling the corners in any direction. 2.3. Test the functions of the following commands: a) /i ends a session b) /n ends the current transaction and you are returned to the calling menu. c) Use /nend to log off the system d) Use /nex to end the session immediately without any prompt.
2.4. What are the corresponding transactions for the following menu paths? a) SM37 (see System status under transaction) b) SM04 (see System status under transaction) 2.5. Go to the Dynamic menu. To activate the technical names, select the magnifying glass or choose Edit Technical name Technical name on. Place the cursor on Company menu and choose Edit Find. Enter customer in the Call trans. Code or choose menu text window that appears and start the find. The transactions found are displayed.
3. User profile 3.1. To set a user default for a field, you need the parameter ID of that field. To find the parameter ID, choose a transaction which displays this field. Then, select the field by placing the cursor over it and choose F1 Technical info Parameter ID for the required entry. For the Company code field, the parameter ID is BUK. Enter this ID in the user profile (System User profile Own data) along with a value of your choice under the Parameter tab. This setting will take affect the next time you log on to the system. 3.2. The start menu definition is found in the defaults: System User profile Own data Defaults. The StartMenu field is found under the Defaults tab. You must enter a special abbreviation for the corresponding start menu. To determine abbreviations for application level menus, go to an application level menu (choose Tools Administration and then call the system status). The last four characters under Program (GUI) is the abbreviation you must enter under defaults, as long as the first four characters are MENU. After logging off and logging back on, the Administration screen should start automatically. (A start menu can also be an area menu. For further information see the ABAP Workbench unit). 3.3. To maintain a favorites list, go to the dynamic menu. The company menu appears that was defined by Customizing. To create favorites, select specific applications (transactions) in the menu tree of the company menu, that are your favorites (those applications that you use daily). By selecting an application and then choosing, Favorites list Create favorites, you can add entries to your favorites lists. To sort your favorites into folders, you first need to create folders (special areas such as Admin, ABAP and so on): Favorites list Create folder. You can move favorites into folders later by choosing Favorites list Move favorites.
Unit: System Kernel Topic: Recognize the structure of the R/3 training system using the instance overview.
Using the server / process overview Working with the job overview.
The R/3 System in which the participant is currently working is consists of how many instances? How are these configured?
1. System overview I 1.1. Call the server overview: Tools Administration Monitor System monitoring Servers, or Transaction SM51. 1.2. In the status bar you can see the logical host name of the server on which you are working. You can also choose System Status under "Host name - Node name". 1.3. In the server overview, in the right column called "Type" you can see the work process type that is offered for each work process. 1.4. From the server overview, once you have selected the required server, you can branch to the process overview for this application server. You can also choose Tools Administration Monitor System monitoring Process overview, provided that you are working on the instance required. 1.5. There are several ways to establish this: Using Transaction AL11 you can view the R/3 System directory structure: 1) The ID for the MS appears in the instance path name for the central instance, such as "usr/sap/IT2/DVEBMGS/work " the working directory of the instance 2) Call report RSPFPAR using Transaction SA38 (Reporting). Find profile parameter "rdisp/mshost" from the list. 3) You can also use Transaction AL11 to check the default profile "DEFAULT.PFL". This profile is in the "Profile" directory in the R/3 System. 2. 2.1. Choose System Services Jobs Job overview, or use Transaction SM37. Enter Coll* in the Job name field and "*" in the User name field then choose Execute 2.2. Choose Edit Sort Chronological . After successful selection, displays jobs in one hour intervals (from 2.1).
Double-click latest job (Status "finished") to display the corresponding job log.
The R/3 System can communicate with external systems, using the ABAP interface RFC. You use batch input methods to transfer legacy data into the R/3 System.
1. Communication using RFC. 1.1. In Transaction SE37 (Tools ABAP Workbench Function Builder,) enter function module RFC_READ_TABLE. 1.2. Choose Interface to branch to the interface description of the module and choose Function module docu to view the documentation. 1.3. Ensure that you have selected "RFC supported" as the process type. 1.4. The documentation provides a description of the interface parameters. You can choose the single test on the initial screen of Transaction SE37. Once you have specified the RFC target system and the query table, you can start the test by choosing Execute or by choosing F8. In this exercise, you must first determine in table SFLIGHT the column name CARRID for the airline. To do this, use Transaction SE11. In the single test of function module RFC_READ_TABLE, you can use the parameter OPTIONS to define a WHERE requirement. Once you select the icon, you must enter the text CARRID='AA'. 2. 2.1. Batch input: The batch input transaction (SM35) can be called by choosing System Services Batch input Edit. 2.2. (see 2.1.) 2.3. You can select folder contents by placing the cursor on a folder and then choosing Folder. In the next dialog box, select Contents. The Log button displays any errors that occurred during folder processing (again, place the cursor on the corresponding folder before selecting Log. 2.4. Optional exercise: Choose Recording in Transaction SM35. Enter a name for the recording and then select Create (the piece of paper icon).
Using Transaction FD02 (accounts receivable transaction), you can practice changing a customer's address. Choose Transfer transaction and then Save. Using Create session in the recording screen, you can create a batch input session from the recording. The session is processed in the session overview of Transaction SM35 (deselect process in foreground).
R/3 System metadata is stored in the ABAP Dictionary. The ABAP Dictionary describes the tables, matchcodes, views, foreign key relationships and elements.
1. Modeling. 1.1. You access the Data Modeler by choosing Tools ABAP Workbench. Then choose Development Data Modeler. Enter BC_TRAVEL in the input field and choose Display. The system displays information on this model. Choose Graphics. This activates the Data Modeler (this takes a few seconds). 1.2. You can use the search and zoom function to navigate easily over the selected part of the whole model and to localize the required entity type. 1.3. The relationship type between the two entity types is displayed graphically using the arrow. The arrow joins the left side of target entity type BC_BOOKING. It has the identifier "H" for "Hierarchical relationship type". (The existence of BC_SBOOKING also depends strongly on BC_SFLIGHT.) 2. ABAP Dictionary. 2.1. You can now navigate using the ABAP Dictionary or answer the following questions from the modeling environment. By selecting the entity type BC_BOOKING and choosing Dictionary, followed by Table / View on the next screen you access the ABAP Dictionary. The table name is SBOOK. 2.2. The primary key consists of the fields MANDT, CARRID, CONNID, FLDATE, BOOKID and CUSTOMID. 2.3. These entries are not conceivable, since the primary key is unique. Both records consist of the same primary key share. Neither the database nor the ABAP Dictionary would permit such entries! 2.4. You can display the table contents for particular tables using the Data Browser (Transaction SE16 or choose Tools ABAP Workbench; Overview Data Browser).
1. The development environment function modules. 1.1. Tools ABAP Workbench (Transaction S001). 1.2. Choose Function Builder. 1.3. In the function module input field, enter STRING* and choose F4. 1.4. Select the name of the module you are looking for and choose Display and then Function module docu to display the documentation on this function module. 1.5. From the Function Builder initial screen, choose Single test to branch to the test environment. In the input field STRING you must now enter a character string. Once you have run the test (using F8) the character string should be displayed in reverse. 2. Where-used list in the Repository Information System 2.1. Navigate to the Repository Information System (Transaction SE84) by choosing Tools ABAP Workbench, Overview Infosystem. Expand the following tree structure: Programming Function Builder Function modules. Enter the function module on the selection screen and then execute the search (F8). Once the system displays the module, select it and then choose Where-used list. 2.2. You now proceed in exactly the same way as in the previous exercise. The path in the Repository Information System this time is ABAP Dictionary Basic objects Tables and so on.
1. System overview I 1.1. You can enter "/o" in the command line to view your sessions. The administration transaction for the sessions belonging to all users on an instance is Transaction SM04. Choose Tools Administration Monitor System monitoring Users. Double-click on the user. 1.2. In Transaction SM04, select the user name of your neighbor and double-click on it. Do you have authorization to do this? 1.3. If you do have authorization to display sessions belonging to your neighbor, try to delete one of these sessions. To do this, select the session and choose End session. 2. System overview II 2.1. Call the lock overview by choosing Tools Administration Monitor Lock entries, or by calling Transaction SM12. This also displays the assignment of locks to users. 2.2. Call the update overview by choosing Tools Administration Monitor Update, or by calling Transaction SM13. Make the appropriate selection. 2.3. Call the system log by choosing Tools Administration Monitor System log, or by calling Transaction SM21. Make the appropriate selection. 3. Call the stoplight monitor "Current Local Workload" by choosing Tools Administration Monitor Performance Alerts Local Current workload, or by calling Transaction AL05. Choose Monitor on to display current times. The average daily response time is in the left column.
Appendix
The Java GUI System architecture SAP transaction overview Questions and answers
SAP AG
HTTP server
Java
GUI server
Applet
ORB (orbix)
SAP AG
R/3
R/3 transaction
(in C++)
The Java GUI allows access to an R/3 System without requiring any additional enhancements or developments. The Java applet can be executed by any "virtual machine". The GUI looks exactly the same as in the SAP GUI and does not look like an Internet page. The HTTP and GUI servers must be running on the same host, since the Java applet may only communicate with the machine from which it was loaded. You should consider system security when you use this strategy: Use SSL to ensure that the Java applet really does come from the server to which you want to connect. Communication between the Java applet and the GUI server is secure because the components were developed with Orbix from IONA Technologies. Orbix is a complete implementation of the Common Object Request Broker Architecture (CORBA) from the Object Management Group (OMG). You can use Orbix to develop distributed applications that use object-oriented client/server technology. The GUI server will be available for Unix and Windows NT.
Presentation
hs2002
X terminal server
PC
External system
SAP AG
Fields
Fields
Fields
Unit 2) System status User profile -Defaults / parameters -Favorites System services -Reporting -ABAP Query -Spool requests -Table maintenance -Batch input monitor -Background processing Unit 3) Instance overview
Tools Administration monitoring (SM51) Monitor System System Status System User profile Own data (SU3) Favorite maint. (SES0) System Services Reporting (SA38) Query (SQ00) Output controller (SP01) Table maintenance (SM31) Batch input (SM35) Jobs (SM36 / SM37)
Unit 7) Administration Processes Instances Users Locks Asyn. update System log User administration OSS
Tools Administration (S002) Tools Administration Monitor System monitoring Process overview (SM50) Tools Administration Monitor System monitoring Server overview (SM51) Tools Administration Monitor System monitoring User overview (SM04) Tools Administration Monitor Lock entries (SM12) Tools Administration Monitor Update (SM13) Tools Administration SYSLOG (SM21) Tools Administration User maintenance Users (SU01) System Services SAP Service (OSS1)
Question
(1) W hich of the following statements are correct? The R/3 System has open interfaces to integrate external data and functions. The word openness refers to using standardized interfaces. The openness of the R/3 System refers to the ability to include application modules such as FI, CO, HR and so on in the global system. Business processes are processed in the R/3 System application modules. ALE was developed to integrate the data of different databases (for each application module) Data retention takes place for all applications in one of the databases common to the applications. (2) W hich of the following are R/3 interfaces for desktop applications:
SAP AG
Question
(3) How are cross-system business processes connected in the R/3 System ?
MAIL ALE DDE OLE
(4) Which of the following components belong to the R/3 development infrastructure and can also be used for customer-specific development?
ABAP Development Workbench R/3 memory m anagem ent R/3 Gateway R/3 Repository
R
SAP AG
Question
(1) W hich of the following statem ents are correct? A server is a host on which software components run that provide specific services. A server is a group of processes that provide specific services. Clients are processes that use a specific server service. (2) State the advantages of the client / server concept for the R/3 System :
SAP AG
Question
(1) W hich of the following statem ents are correct? A lot of data and runtime objects in the R/3 System can be buffered to optimize response times. You can optimize response times by saving costly database access. So that database capacity is not exhausted, master records are buffered in the R/3 System. Heterogeneous load on the application servers shortens the response times you can expect. You can also improve response times using parallel processing.
(2) W hich of the following statem ents are correct? Economic connectivity within the R/3 System applications can be modelled using Petri nets. EPC is a modelling method that m aps event-oriented process chains. Data modelling takes place using the SERM model. This represents the relationships between information objects.
SAP AG
Question
(1) Name the im portant components in the R/3 System Basis layer:
(2) W hy are tasks such as scheduling and mem ory m anagem ent in the R/3 System not left entirely to the operating system software? For reasons of portability (independent of manufacturer) For reasons of performance Few operating systems support memory management
SAP AG
Question
(1) W hich of the following statem ents are correct?
The middleware layer is situated between the database and the operating system layer in the database server. Middleware is a specially-developed retail application in the R/3 System. The middleware in the R/3 System is also a basis component. It embeds the application in the system environment. Middleware is the software layer between the R/3 System application level and the system software. It isolates the applications from the heterogeneous system interfaces. Middleware is a county in England.
SAP AG
Question
(1) W hich of the following is the standard network protocol for comm unication in the R/3 client / server system ? OLE SQL TCP/IP (2) W hich of the following statem ents are correct? You connect the R/3 System to an IBM m ainframe using the SNA protocol LU6.2. You access an R/3 System on an IBM mainframe using the TCP/IP network protocol. (3) W hy do you use the CPI-C Starter Set within the ABAP program m ing language?
SAP AG
Question
(4) W hich of the following statements are correct? RFC is a network protocol that can be classified in level 2-4 of the ISO-OSI network standard. RFC is a communication protocols standardized by IBM. RFC is an SAP-specific protocol to call function modules across all hosts. RFC functions are managed in their own special function libraries. Only R/3 Systems are possible as RFC communication partners. (5) W hy do you need the OLE concept in the R/3 System ?
SAP AG
Question
(1) W hich client / server configuration options are conceivable in a distributed R/3 System ?
(2) W hich of the following statem ents are correct? W ithin the client / server concept, you talk of the scalability of the database level of the R/3 System. Scalability refers above all to the distribution of the task level to several hosts. To relieve the load on an R/3 System (consisting of one host), the task level may be distributed. Moving the presentation level to the level within the R/3 System protects system resources.
R
SAP AG
Question
(1) W hich of the following statements are correct? ALE stands for Application Load Extracting. This is a process that sends application server data via RFC. ALE is used to disconnect application services. W ith ALE you no longer need to integrate business processes over system boundaries. You can use ALE to exchange messages between R/2 and R/3 Systems. ALE messages are exchanged via RFC or EDI. (2) Give examples of where you would use the ALE concept:
SAP AG
Question
(1) W hat is an SAP transaction?
(3) W hich of the following statem ents are correct? The following work processes are in the R/3 System: dialog W P, batch W P, enqueue W P, update W P, spool W P, message W P, gateway W P. There are five types of work processes in the R/3 System: 1) Dialog 2) Batch 3) Enqueue 4) Spool 5) Update. There are also Message-Server services to comm unicate within the R/3 System and Gateway-Server services to com municate with external systems. SAP transactions are processed by the dispatcher and work processes.
SAP AG
Question
(4) W hy do you need the dispatcher queue?
(5) W hich of the following statem ents are correct? The dispatcher is a central process within a distributed R/3 System. It only runs on the database host of the R/3 System . The dispatcher is the central process within the R/3 Basis flow control. It receives the requirements from the presentation level and distributes the work to the dialog work processes. Each user recevies exactly one dialog work process to occupy system resources optimally. This work process then processes the requests for that user. The dispatcher receives the incoming user requests via the frontend (PC, terminal) and then finds available online work processes that can process these requests. The dispatcher queue is used to catch requests that cannot be processed directly, if the work processes are occupied, for exam ple.
SAP AG
R
Question
(1) W hy is background processing required in the R/3 System?
A job consists of several steps. You schedule steps to run autom atically (usually during the night). A job consists of one or several steps. Each step contains an ABAP program or an external program call. The job scheduler automatically triggers a scheduled job. Each job is processed by one batch work process. W hen you process background jobs, this by-passes lock adm inistration to import changes to the database. Scheduled jobs are located in the scheduling table in the R/3 System database. You can only schedule specific ABAP programs as a job. Usual reports that generate lists cannot be processed in the background.
R
SAP AG
Question
(2) W hat are the advantages of the batch input process?
(3) W hich of the following statem ents are correct? The batch input process uses the consistency check of the online transaction logic to import data into the R/3 System. A batch input session consists of at least one transaction and its input, which is to be imported into the R/3 System. You can use a batch input session to simulate a user dialog in the R/3 System. For the batch input process, you use specially-developed ABAP programs with data integrity checks to import external data into the R/3 System.
R
SAP AG
Question
(1) W hat do you understand by desktop integration:
(2) W hich of the following statem ents are correct? You can address desktop applications from the R/3 System using RFC and OLE. You can even use OLE automation to query R/3 System services from an external application. The calling application program acts in this case as the OLE client. Using OLE you can extract data from the R/3 System and send it to a frontend device such as a PC. (It is currently not possible to send data the other way.)
SAP AG
Question
(1) W hen is the update process in the R/3 System used?
Each time data changes in the database. The update work process (V-W P) is only used for asynchronous update. W ith asynchronous update (implemented using the ABAP statement CALL FUNCTION IN UPDATE TASK) the update is executed following the dialog phase.
W ith synchronous update, the update takes place directly in the dialog part, therefore within the transaction that is running.
(2) Describe the flow of an SAP transaction that uses asynchronous update and the lock concept.
SAP AG
Question
(3) W hich of the following statem ents are correct?
To prevent concurrent access to the same data, there is an enqueue work process (E-W P) in the R/3 System. The enqueue work process uses the lock concept of the database system used to set locks.
Change transactions use the E-WP to set a lock at the start of the transaction. You can change data while the transaction is running. The lock is then released at the end of the transaction. You must release a lock again at the end of the transaction so that you prevent other users from working for as short a time as possible. To optimize performance, numerous change transactions that manipulate the transaction data are implemented without enqueue / dequeue objects. Concurrent write access to specific R/3 System objects must not be prevented in the R/3 System as this is dealt with by the database system.
SAP AG
Question
(1) W hat do you understand by logon balancing". (Difficult question) Tip: See Unit 1 - Client / Server
SAP AG
Question
(1) W hat are the tasks of the R/3 mem ory m anagem ent system ?
(2) W hich of the following statements are correct? You can improve response times by directly addressing the user contexts in the external roll area. The memory management system distributes the workload directly to the different application servers in a distributed R/3 System. From Release 3.0, the memory management system speeds up the exchange of contexts. The whole user context is now in the area that can be directly addressed.
SAP AG
Question
(1) W hich of the following statem ents are correct? To manage data from the R/3 application modules, the system uses several relational database systems in a heterogeneous environment. The system uses relational database systems to manage data in the R/3 System . This type of database system stores data and relationships in the form of two-dimensional tables. SQL is used to access data over a network. SQL is a database query language and stands for Structured Query Language. W hen you use dynamic SQL, the commands are not compiled until the application program is executed. It is therefore more flexible than statistical SQL. The R/3 System mainly uses statistical SQL as this saves memory space. (2) W hat is OPEN-SQL
SAP AG
Question
(3) W hich of the following statements are correct?
Buffering data in the R/3 System application servers can noticeably increase system performance. The R/3 database interface temporarily stores the application data in the relational database system to increase response times. The R/3 System does not generally buffer master records and transaction data, but rather R/3 system data that is frequently used for the applications. ABAP programs are not buffered in the R/3 System application buffers. It is not advantageous to place heterogeneous load on the buffers, since managing the buffer contents requires additional time because of the displacement mechanism. It is useful to distribute the individual R/3 System application modules to special servers to fill the buffers on these machines optimally (workload balancing).
(4) W hat advantage does OPEN SQL provide for ABAP developers?
SAP AG
Question
(1) W hich of the following statem ents are correct? CCMS is a tool for ABAP programming. CCMS is a tool to monitor the R/3 System. The CCMS is responsible for managing jobs as well as scheduling and m anaging batch input sessions. The CCMS monitors exceptional situations and alarm situations. An alarm situation would be triggered by a memory problem, for example. The CCMS can also recognize exceptional situations in the database. The system administrator must intervene if a critical alert occurs (red stoplights, for example). You can use the CCMS to correct any problems that occur, such as memory bottlenecks immediately and automatically, without any intervention from the system administrator. The CCMS displays many alarm situations using optical warning systems. These warning signals are triggrered when the preset threshold values are exceeded. (2) Summ arize the tasks of the CCMS:
SAP AG
Question
(1) W hich of the following statem ents are correct? Early W atch is a service that SAP provides for its customers to recognize problem situations in productive R/3 Systems. You should use this remote service if any problems occur. The Early W atch team connects itself to the customer system. Client 001 is used the analysis environment for this. The Early W atch team has unrestricted authorization in the customer system . There are sufficient security aspects that prevent the Early W atch team from changing the data in the customer system. This means that during the Early W atch session, connection to the customer system can only be initiated by the customer. The Early W atch service is available from 10:00 to 14:00, depending on the time zone. (2) Nam e the additional remote services provided by SAP:
SAP AG
Question
(1) W hy is the authorization concept required in the R/3 System ?
(2) W hich of the following statem ents are correct? The R/3 System uses the authorization concept for the database used to ensure access protection. Each task in the R/3 System is protected by an authorization. To call a task / transaction, a user must first be assigned the appropriate authorization in a confirmation field. The authorization concept is used as access protection from unauthorized access to specific transactions. This is a concept that is anchored in the R/3 System and which processes independently of the database. Authorizations are grouped together in profiles. These profiles are then included in the user master records. Each user is assigned a specific number of authorizations in his or her user m aster record.
R
SAP AG
Question
(1) W hich of the following statem ents are correct? The ABAP W orkbench is fully integrated into the R/3 System and cannot be used as an independent development environm ent. The ABAP Dictionary manages m etadata. The data itself is retained in the tables in the database. You use the Screen Painter to define screens (templates), and the Menu Painter to create menus. Both tools are used for online programming. You can access ABAP Dictionary objects directly from the ABAP programming. The individual development objects for dialog program s, for example, are displayed as hierarchical lists. To analyze ABAP programs, you can trace the program coding. This creates a runtime analysis. The Data Modeler enables you to map the models you created onto the ABAP Dictionary. (2) W hich of the following are ABAP W orkbench developm ent tools? ABAP Dictionary ABAP Editor Job Editor Repository Browser
SAP AG
Memory Manager