Anda di halaman 1dari 173

SAP50 4.

0B Basis-Technology

Preface
Copyright Level 1 Target Audience Course Goals Course Content

Basis System and the System Environment


Objectives R/3 Integration Diagram R/3 in the Business Framework Business Framework Components R/3 as an Open System Client / Server - Scalability of the R/3 System Client / Server Principles R/3 System Client / Server Configurations Three-Tier Hierarchy R/3 Basis Middleware R/3 Basis System Overview System Platforms for the R/3 System Basis System - Summary

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

Workload-Balancing R/3 Printer Services R/3 Instance Summary

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

Administration and Remote Services


Administration - Objectives Security Aspects in the R/3 System The Authorization Concept The Profile Generator System Administration System Administration: Terminations R/3 Computing Center Management System New Monitoring Architecture R/3 Service & Support: Virtual Infrastructure SAP Remote Services R/3 Online Service System (OSS) Administration - 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

SAP50 Basis-Technology Release: 4.0B Material no.: 50025021 November 1998

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

Unit 1 Unit 2 Unit 3 Unit 4

Basis System and the System Environment Navigation System Kernel Interfaces

Unit 5 Unit 6 Unit 7

ABAP Dictionary ABAP W orkbench Administration and Remote Services

Exercises Solutions Appendices


R

SAP AG

Basis System and the System Environment


The Integration Model Business Framework Architecture Openness and Scalability The Client / Server Concept The R/3 Basis Components

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

R/3 Integration Diagram


Extensive business functions
Logistics
SD Sales & Distribution MM M aterials M gm t

Accounting
FI Financial Accounting CO Controlling TR Treasury

PP Production Planning

QM Quality M gm t PM Plant M aintenance HR Human Resources. .

R/3 Basis

PS Project System

WF W orkflow IS Industry Solutions

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.

R/3 in the Business Fram ework


Extensive business administration functions R/3 as a family of separate, integrated components
... ... ... HR 4.0 HR 4.0 ... ...

...

FI 4.0 ... ... ... LO 4.0 ... ...


...

Employee Employee SelfSelfService Service

Business Business Inform ation Inform ation W arehouse W arehouse


Internet Internet Applications Applications

Core 3.1 Core 3.1


CompleComplem entary m entary Software Software Add-on Add-on DevelopDevelopm ent m ent

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.

Business Fram ework Components


Extensive business administration functions R/3 as a family of separate, integrated components W orking with business administration components: BC, BO, BAPIs
e.g. Order, employee, applicant e.g. Human Resources e.g. Display order, change employee address

Business Com ponents

ALE
BAP II BAP

BOBO BO BO
BAPI BAPI

BO BO
BAPI BAPI

B API

B API

B API

Client Client components components

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.

R/3 as an Open System


Extensive business administration functions R/3 as a family of separate, integrated components W orking with business administration components: BC, BO, BAPIs Integration of external applications via open interfaces

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

Client / Server - Scalability of the R/3 System


Extensive business administration functions R/3 as a family of separate, integrated components W orking with business administration components: BC, BO, BAPIs Integration of external applications via open interfaces Flexibility, scalability and performance using client / server architecture

Presentation

Application ... Scalability ...

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)

Client / Server Principles


Client Hardwareoriented view
LAN / W AN

Server

Client
Process 1

Requirement for a service

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).

R/3 System Client / Server Configurations


Central system Presentation
Presentation processes

Two-tier config.

Three-tier config.

Application
Application processes

Database

Flow of:

Database, application, presentation processes

Database, application processes

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

X terminals, NC term inals


SAP AG

W orkstations, PCs, laptops

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 Basis Middleware


MM M aterials PP M aterials PP Mgm t Mg Pro duction mt ductio n Productio Production Plannin g n Plann ing QM Quality Quality M gmt Mgm tPM PlantPM M ainPlant M ain ten ance tenan ce HR Hu HR man H uman R esources R esources QM QM MM MM SD Sales & Sales & D istribution Distribution SD SD FI Fin ancial F inan cial Accou nting Acco unting FI FI CO Con trolling Co ntrollin g CO CO

R/3 R/3
IS Indu stry Ind ustry Solutions Solution s IS IS

AM Asset Mgm t A sset Mg mt

AM

PS Client / /Server Client Server ProPS ject Project System ABAP/4 System ABAP/4 W FF WF W
W orkflow W orkflow

R/3 application ABAP Workbench

R/3 Basis (Middleware)


System Software
SAP AG
R

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

R/3 Basis System Overview


Applications
Programming interfaces
Benutzerschnittstelle Communication interface
R

Benutzerschnittstelle User interface

Screen interpreter ABAP Dictionary

ABAP interpreter

Flow control System interfaces System software and platforms

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.

System Platforms for the R/3 System


Hardware
UNIX Systems Bull IBM Digital SNI HP SUN AIX Reliant Digital UNIX UNIX (SINIX) HP-UX SOLARIS DB2 Common Server INFORM IX OnLine INFORM IX-OnLine ORACLE Bull/Zenith Compaq Data General ... Digital NCR HP (Intel) Sequent IBM (Intel) SNI IBM AS/400 IBM S/390

Operating system s

W indows NT

OS/400

OS/390

Databases

DB2 Common Server INFORMIX OnLine INFORMIX-OnLine ORACLE M S SQL Server

DB2 for AS/400

DB2 for OS/390

Dialog SAPGUI Languages

W indows 3.1, Windows 95, Windows NT, OSF/Motif *, OS/2 Presentation Manager (PM), Macintosh *, Java ABAP, C, C++, HTML, Java
R

* not supported with AS/400


SAP AG

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

Client Client User User Password Password Language Language

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.

Clients in the R/3 System

SD Sales & Distribution MM M aterials M gm t PP Production Planning

FI Financial Accounting

Client 000 Client 001 Client 066


CO Controlling

Default clients

QM Quality M gm t PM Plant Maintenance HR Human Resources

R/3 Basis

Client 100
TR Treasury

Client 200
PS Project System WF W orkflow IS Industry Solutions

Freely-selectable customer clients

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.

R/3 Menu Structure


Accounting Financial accounting

..
Accounts rec. rec.

M ain menu level


Accounts Receivable

... ... ...

... ...

Master records Create

... ... ...

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

Options Command field


Customer Company code Line item selection Open items Cleared items Parked items W ith vendor line items Selection criteria... Settings Line layout Totals variant Standard W ith work list

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

By entering a transaction code in the command field:

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

Customer Company code


SAP R/3 F1 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

Technical Info About F1 Help

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

Customer account number


Key via which the customer is clearly identified within the SAP system.

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).

R/3 Online Help


R /3

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

depending on R/3 Release Setting s Settings

4.0 B

W elcome to SAP Online Help.


Choose the application com ponent for which you need m ore information.

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

Copyright 1997 by SAP AG. All rights reserved

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).

System Functions - Services


System
Create session End session User profile Services Utilities List Object services Own spool requests Own jobs Short message Status . . . Log off

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.

System Functions - User Profile


System
Create session End session User profile Services Utilities List Object services Own spool requests Own jobs Short message Status . . . Log off

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

Sales/distribution Sales/distribution Sales/distribution Environment

Sales Info System Credit 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.

Session Manager - Company View


SAP Session Manager
Logon Overview T83/400/D T61/400/D T66/400/E Client 400, User Sm ith, Language E Office Logistics Accounting Hum an resources Info system s
M aterials m anagement Sales & distribution Production Production - process Plant maintenance Service m anagement Quality m anagement Logistics controlling Project m anagement Central functions M aster data Sales support Sales Shipping Transportation Billing Foreign trade Sales inform ation system Business partners Products Conditions Output Agreem ents Other Sold-to party Ship-to party Payer Bill-to party One-time custom ers Hierarchy nodes Other customers Custom er hierarchy Forwarding agent Sales employees Archiving

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

R/3 Presentation Interface


Presentation
X term inal X term inal X term inal X term inal X term inal X term inal

W orkstation // PC W orkstation PC

W indow manager SAPGUI process

X terminal X terminal server server

SAPGUI process

SAPGUI process

LAN / W AN network

SAPGUI process SAP Dispatcher


R

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.

Relational Database Management System s


Pers#
4710 4711 4712 ...

Name
Tom Smith

Tel. no.
030 1188

Address
Schubertstr. 76 Berlin Mozartstr. 45 Munich

PC
1000 60944 13802

Pers#Esch Dept.# 2453 Dirk 069


4710 007 Hans Kluge 4711 4712 ... ... 008 007 ...

0324 2533 W agnerstr. 22 Cologne . Dep.# .. 007 008 009 ...

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.

R/3 Database Interface


Application server Database server

ABAP interpreter SELECT * FROM ...

DB interface

Data OPEN-SQL

local buffer

Database

Native SQL DB data


DB

App. data
EXEC SQL. SELECT ... END EXEC.

Native SQL DB data


R

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.

Processing User Requests


Presentation

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).

Dialog W ork Processes


Frontend: SAPGUI LAN / W AN network Dispatcher
internalmemory

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

Factory calendar Screens ABAP programs Tables Dictionary objects...

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.

R/3 Application Services


M essage service V2 Dialog Update V
Disp. Disp. Disp.

M
Disp.

Background
11 10 9 8 7 6 5 4

SAP dispatcher
Spool S

Lock adm in. E Gateway service

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.

SAP Transactions and Screens

First user dialog step

Second user dialog step

Third user dialog step

Time

PBO

Screen 100

PAI

PBO

Screen 200

PAI

PBO

Screen 300

PAI

System dialog step

System dialog step

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.

LUW (Logical Unit of W ork)


Request lock Note changes CALL FUNCTION 'ENQUEUE_E...' CALL FUNCTION '...' EXPORTING IN UPDATE TASK Release lock

Save"

COM MIT W ORK SAP LUW 1 Start of transaction New SAP LUW 2 Start update End update

SAP LUW 1 t

First part of the SAP LUW 1


SAP AG

Second part of the SAP LUW 1

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

...

D-WP a) Call function 'ENQUEUE_E...'


Message M essage server

...

E-W P

V-W P

b)

Lock table in main m em ory

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.

SAP Lock Objects


ABAP Dictionary Lock object
ESFLIGHT

Activate

ABAP function module


ENQUEUE_ESFLIGHT
SAP AG

ABAP function module


DEQUEUE_ESFLIGHT
R

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).

W riting Log Records


Dialog - Server Dispatcher Enqueue server Dispatcher

...

D-WP
Message server

...

E-W P

V-W P

c) Call function ... in update task

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.

Updating Log Records


Dialog server Dispatcher Enqueue server Dispatcher

...

D-WP

...
Save: COM MIT W ORK

E-W P

V-W P

d)

Message server

e)

Second part of SAP-LUW

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).

Rem oving Locks


Dialog server Dispatcher Enqueue server Dispatcher

g) ... D-WP
Message server

...

E-W P

V-W P

h)

Lock table in Main m em ory

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

...

Dialog server Dispatcher

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

Dialog and background processing server 2


D-WP D-WP D-WP B-WP B-WP
SAP AG

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).

R/3 Printer Services


R/3 System R/3 application Spool Printer server Output processor saplpd LAN W AN Operating system spooler Print TemSe

Printer server Operating system spooler LAN W AN

S-W P

Operating system spooler

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

Central Instance (c)


Dispatcher
M essage server
R

. . . 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

Com munication: R/3 as an Open System


Application layer

OLE Automation
Presentation layer / session layer

RFC

CPI-C (SAP implementation)

Transport layer Network layer

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

R/3 Gateway Service


R/3 System R/2 System

TCP/IP DB1 SAP Gateway TCP/IP R/3 System

LU6.2 DB3

TCP/IP External applications DB2


R

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.

Com munication with CPI-C


Initiator Initiator Program 1
88M Hz

Connection Connection partner partner Program 2

CM INIT CM ALLOC

Structure connection CM ACCP

Data exchange CM SEND CM RCV CM SEND ... Remove connection CM DEAL CM RCV
R

CM RCV CM SEND CM RCV ...

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.

Rem ote Function Call


R/3 System
ABAP ABAP ABAP Program m Program m program

RFC interface CPI-C

CPI-C Programm Programm Programm Program RFC interface

CPI-C RFC interface

ABAP ABAP ABAP Program m Program m program

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.

RFC from R/3 System to R/3 System


88M Hz

Calling system ABAP coding

Called system

... CALL

RFC FUNCTION XY DESTINATION... EXPORTING... IMPORTING... ... FUNCTION XY. . . . ENDFUNCTION.


R

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.

Business Objects and BAPIs


BOR
BO BO BO BO BO BO
BAPI BAPI BAPI BAPI BAPI BAPI

BAPI BAPI

BOR: Business Object Repository BO: Business Objects

BAPI: Business API


Client Client program program

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.

R/3 System as an OLE Client

188 188

R/3 SAPGUI SAPGUI


ABAP ABAP program program PC PC program program OLE OLE server server
RFC

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.

R/3 System as an OLE Server

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

R/3 application R/3 application server server

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

DatenDatenData satz satz record

Steuersatz Steuersatz 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.

Distribution of Business Processes with ALE

Order entry, billing, accounting, inventory controlling

Head office
Shipping, inventory m anagement Program planning, central purchasing

Shipping
MRP, CRP, SFC, inventory m anagem ent

Business unit

Plant

W arehouse m anagem ent

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 AG

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

Define m at. type M aterial type is defined

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.

Data Modeler / SERM


Visualization and creation of data models as Structured Entity Relationship Models Support during modeling Support when mapping the created model to the ABAP Dictionary Hierarchical structuring of data models
...
11003 Plant 11001 Log. system

Si

pl

ifi

ed

re

pr

es

11027 Material

11006 Plant m aterial

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.

Conversion of the Model

User View

SAP EDM
Table 1 Table 2 Table X

Dictionary table definitions

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.

W hat is the ABAP Dictionary?


W hat data is used in R/3 ? How is this data linked ? W hat attributes does the data have ?

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.)

Integration of the ABAP Dictionary


ABAP
Tools of the developm ent environment

Screen Painter

These objects are directly influenced by the Dictionary:

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.

Tables and Fields


Table
Key 1 Key 2 Key n F1 F2 Fn

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.

ABAP Exam ple: Access to a Table


REPORT ZDEMO1.

TABLES: SPFLI. ... SELECT * FROM SPFLI. ... W RITE: / SPFLI-CARRID, SPFLI-CONNID. ... ENDSELECT.

SPFLI

Loop processing: Read out the entire SPFLI table

DB
SAP AG

("Full Table Scan")


R

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.

Basic Objects of the ABAP Dictionary

Table
Field

Semantic field attributes uses

Data element Domain


uses Technical field attributes
R

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.

Two-Level Domain Concept


Table SBOOK . . . FORCURAM .... Table SFLIGHT ... . . . PRICE ...

Data element S_F_CUR_PR

Data element S_PRICE

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).

W hat is a Foreign Key ?


Check table or value table

Table T1
Field1 Field2

Primary key

Table T2
Field3 Field4

Foreign key field Foreign key table

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.

Example: Inserting a Data Record


Foreign key relationship
SCARR (Check table) TZ 0400 ... ........... ... CARRID AA AC AF LH ...... SR UA Carrname American Airlines Air Canada Air France Lufthansa ..... Swissair United Airlines

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?

Tables and Structures


ABAP Dictionary logical table definition
Field 1 Field 2 Field 3 Field 4

ABAP Dictionary structure definition


Field 1 Field 2 Field 3 Field 4

Table
Field 1 Field 2 Field 3 Field 4

Database - physical definition of the table

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.

R/3 Standard Function: Input Help


Carrier
No. 0400 0402 2402 Flight maintenance Carrier Flight number LH
F4

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

R/3 Business applications (SAP standard)

M odification

R/3 Basis System Software


R

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.

The Three-System Landscape Recom mended by SAP

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 Management in the W orkbench Organizer

Project leader

Change request

Developer

Task

Task

Developer Task Developer


SAP AG
R

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.

Logical and Tem poral Organization


Development system

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

Object Lock Set Release


Release task Release change request

QAS/ Production system

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

Performance tools Debugger Test sequences W orkbench Organizer Version m anagement

SAP solution

Modeling

Screen Painter Menu Painter Function Builder ABAP Editor

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.

R/3 Repository and Repository Objects

FI

HR

WM

Repository Objects

SD MM

MM M

Function m odules Programs Data elements

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 W orkbench Tools


ABAP W orkbench
Repository Browser Dictionary ABAP Editor Function Builder Screen Painter Menu Painter

Screen Painter Menu Painter Repository Browser

ABAP Editor Function Builder

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 ...

CALL SCREEN ...

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)

REPORT BC400D_GETTING_STARTED. PARAMETERS pa_carr LIKE sdyn_conn-carrid.


R

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.

ABAP Query / Reporting


Data retrieval Report (ABAP) List

Reporting Query
Report generator Report generator

Functional area Functional area

List definition List definition (Query) (Query)

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.

Testing and Tuning


Quality and performance are essential to company-wide business software. The ABAP W orkbench has three tools for testing and tuning ABAP applications: CATT SQL Trace Runtime analysis
Runtime Analysis Overview Runtim e analysis Edit Goto Utilities System Help

Hit list

Tables

Group hit list

Hierarchy

Program: ZZTEST User: TESTUSER Runtim e in microseconds

ABAP Database R/3 System


50 %

4.124.023 314.050 1.904.109 100 %

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

Adm inistration and Remote Services


Principles of R/3 System security Profile Generator and user administration Administration functions Computing Center Management System SAP service and support

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

Security Aspects in the R/3 System


Presentation
Client (SAPGUI)

Network / Communication
Firewall (SAProuter)

Application
Application server

Firewall Firewall Internet transaction server (ITS) W EB server

Application Database server 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.

The Authorization Concept

User master record

Profile 1

Profile 2

Composite profile 1 Composite profile 2

Authorization profile x Authorization 1 Authorization 2 Authorization x


Authorization object x
R

Authorization object 1 Authorization object 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.

Profile Generator: Authorizations


Change Activity Group: Authorizations
Authorizations Edit Goto Utilities Environment System Help

Open M aint.:

Changed

M aintained

Org. levels... Status: Changed

0 Non-maintained org. levels,

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

Customer: Authorization for com pany codes 02 0001-9999

Activity Company code

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

Manage work processes


Administration functions

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.

System Administration: Terminations


Dialog server Dispatcher Enqueue server Dispatcher

...

...

Insert Inconsistent data in the DB?

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.

R/3 Com puting Center Management System


Control
System administration (Start, stop, reconfigure the system) Manage system profiles Background processing and job scheduling Dynamic load distribution Fine-tuning the system

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.

New Monitoring Architecture


Switch view: Current status < - > Open alerts
Basis Development ( Basic monitor ) Current status Display alerts Complete alerts Custom izing

View: Open alerts ( 30.03.1998 , 15:37:08 ), Visible level: Developer I41


Spool

Virtual m onitoring tree elem ent

pswdf046_I41_46
OperatingSystem DatabaseClient R3Services

Monitoring Summ ary

R3BasisSystem Buffers
Program SingleRecord

Monitoring Object

GenericKey

Propagation of highest alert

DirectoryUsed SpaceUsed

Monitoring attribute: Type perform ance


51 % < 60 % 15 min. mean value
R

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).

R/3 Service & Support: Virtual Infrastructure


R/3 customer

SAP
Local

Regional centers (7x24)


Service center

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

SAP Rem ote Services

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.

R/3 Online Service System (OSS)


Functions
Problem messages Notes Hot news Online corrections Service requirements SAP software change registration Training information User master record maintenace
SAP AG
R

SAP / branch Customer / CCC


OSS

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

Unit: Navigation Topic: Using the R/3 System


Navigating using the menu; calling transactions in R/3 Entering the user profile Configuring the favorites list Using the R/3 System; setting the user defaults

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?

Unit: Interfaces Topic: Communication and Data Transfer


RFC communication with external systems. Data transfer using batch input.

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.

Unit: ABAP Dictionary Topic: ABAP Dictionary Metadata


Modeling in the R/3 System. Tables and their components.

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?

Unit: ABAP Workbench Topic: The R/3 System Development Environment


Function modules as an ABAP programming modularization technique.

Which modularization techniques can be used within ABAP development?

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?

Unit: Administration Topic: Basic Administration Functions


Working with the user overview Finding open locks and update terminations. Finding warnings and errors in the system log. Displaying an alert monitor A system administrator's daily tasks.

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

Unit: Navigation Topic: Using the R/3 System


Navigating using the menus; calling transactions in R/3 Specifying user defaults Configuring the favorites list Using the R/3 System; user-specific defaults

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.

Unit: Interfaces Topic: Communication and Data Transfer


RFC communication with external systems. Data transfer using batch input.

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).

Unit: ABAP Dictionary Topic: ABAP Dictionary Metadata


Modeling in the R/3 System. Tables and their components.

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).

Unit: ABAP Workbench Topic: The R/3 System Development Environment


Function modules as an ABAP programming modularization technique.

Which modularization techniques can be used within ABAP development?

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.

Unit: Administration Topic: Basic Administration Functions


Working with the user overview Finding open locks and update terminations. Finding warnings and errors in the system log. Displaying an alert monitor A system administrator's daily tasks.

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

The Java GUI


SSL
W eb browser (virtual m achine) achine

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.

R/3 System Architecture


Application Database
88M Hz

Presentation

hs2002

hs2001 I45 hs2003

X terminal server

Instance nam e (SM51)

PC

External system
SAP AG

W orksheet for SAP50 / ABAP Dictionary

Entity types Table names Enter relationship types and cardinalities

Fields

Fields

Fields

Enter a cross for primary key fields


SAP AG

Navigation Help for Some SAP Transactions (SAP50)


Unit 1) Business Navigator
Tools Business Engineer Business Navigator; Component view / Process view (SB09) Business Framework Tools Business framework BAPI Browser (BAPI)

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 4) RFC dest. maint. OLE environment ALE environment


Tools Administration Administration Network RFC destinations (SM59) Tools Administration Development Programming environment OLE2 OLE demo (OLE) Tools Business framework ALE ...

Unit 5) ABAP Dictionary DATA Browser Data modeller


Tools ABAP-Workbench Tools ABAP-Workbench (SE16) Tools ABAP Workbench Modeller (SD11) ABAP Dictionary (SE11) Overview Data Browser Development Data

Unit 6) Workbench ABAP editor Function modules Repository Browser


Tools ABAP Workbench (S001) Tools ABAP Workbench Editor (SE38) Tools ABAP Workbench Function Builder (SE37) Tools ABAP Workbench Repository Browser (SE80) Repository info. sys. Tools ABAP Workbench Overview Information system (SE84) Workbench Organizer Tools ABAP Workbench Overview Workbench Organizer (SE09) Enhancements Tools ABAP Workbench Utilities Enhancements (CMOD)

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:

OAG ALE, LU6.2 OLE

SAP AG

The correct answers are: 1a, c, e 2c

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

The correct answers are: 3b 4a, d

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

The correct answers are: 1a, b, c 2: See slides

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

The correct answers are: 1a, b, e 2b, c

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

The correct answers are: 1: see slide 2a, b

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

The correct answers are: 1c, d

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

The correct answers are: 1c 2a 3: see documentation

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

The correct answers are: 4c, d 5: See documentation

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

The correct answers are: 1: see documentation 2b, c

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

The correct answers are: 1b, d, e 2: see documentation

Question
(1) W hat is an SAP transaction?

(2) W hat is an SAP LUW ?

(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

The correct answers are: 1: see documentation 2: see documentation 3b, c, d

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

The correct answers are: 4: see documentation 5b, d, e

Question
(1) W hy is background processing required in the R/3 System?

(2) W hich of the following statem ents are correct?

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

1: see documentation The correct answers are: 2b, c, e

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

The correct answers are: 2: see documentation 3a, c

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

The correct answers are: 1: see documentation 2a, b

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

The correct answers are: 1b, c, d 2: see documentation

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

The correct answers are: 3a, c, d

Question
(1) W hat do you understand by logon balancing". (Difficult question) Tip: See Unit 1 - Client / Server

SAP AG

The correct answers are: See documentation

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

The correct answers are: 1: see documentation 2a, c

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

The correct answers are: 1b, c, d, e 2: see documentation

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

The correct answers are: 3a, c, e, f 4: see documentation

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

The correct answers are: 1b, d, e, g 2: see documentation

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

The correct answers are: 1a, e 2: see documentation

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

The correct answers are: 1: see documentation 2c, d

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

Batch Input Editor Screen Painter Menu Painter


R

Memory Manager

The correct answers are: 1b, c, d, e, f 2a, b, d, f, g (read in columns)

Anda mungkin juga menyukai